diff --git a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml
index 9894284..dc42832 100644
--- a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml
+++ b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml
@@ -486,8 +486,57 @@
,CODE_NAME(AREA_CD) AS AREA_NAME
,MECHANICAL_TYPE
,OVERHAUL_ORDER
+ ,PAID_TYPE
+ ,RECEIPT_DATE
+ ,PART_NO
+ ,PART_NAME
+ ,SERIAL_NO
+ ,QUANTITY
+ ,CUSTOMER_REQUEST
+ ,EXCHANGE_RATE
+ ,A.APPR_STATUS
+ ,A.APPROVAL_OBJID
+ ,A.ROUTE_OBJID
FROM
CONTRACT_MGMT AS T
+ LEFT OUTER JOIN
+ (
+ SELECT
+ B.OBJID AS ROUTE_OBJID,
+ CASE B.STATUS
+ WHEN 'inProcess' THEN '결재중'
+ WHEN 'complete' THEN '결재완료'
+ WHEN 'reject' THEN '반려'
+ ELSE ''
+ END APPR_STATUS,
+ A.OBJID AS APPROVAL_OBJID,
+ A.TARGET_OBJID,
+ B.ROUTE_SEQ
+ FROM
+ APPROVAL A,
+ (
+ select
+ T1.*
+ from
+ (
+ select
+ TARGET_OBJID,
+ max(T.ROUTE_SEQ) as ROUTE_SEQ
+ from
+ ROUTE T
+ group by
+ T.TARGET_OBJID
+ ) T,
+ ROUTE T1
+ where
+ T.TARGET_OBJID = T1.TARGET_OBJID
+ and T.ROUTE_SEQ = T1.ROUTE_SEQ
+ ) B
+ WHERE
+ A.OBJID = B.APPROVAL_OBJID
+ AND TARGET_TYPE IN ('CONTRACT_ESTIMATE')
+ ) A
+ ON T.OBJID::numeric = A.TARGET_OBJID
)
@@ -519,21 +568,27 @@
AND product = #{product}
-
+
AND status_cd = #{status_cd}
-
-
+
AND result_cd = #{result_cd}
-
- AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') = ]]> TO_DATE(#{contract_start_date}, 'YYYY-MM-DD')
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') = ]]> TO_DATE(#{receipt_start_date}, 'YYYY-MM-DD')
-
- AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') TO_DATE(#{contract_end_date}, 'YYYY-MM-DD')
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') TO_DATE(#{receipt_end_date}, 'YYYY-MM-DD')
+
+
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') = ]]> TO_DATE(#{due_start_date}, 'YYYY-MM-DD')
+
+
+ AND TO_DATE(DUE_DATE,'YYYY-MM-DD') TO_DATE(#{due_end_date}, 'YYYY-MM-DD')
@@ -600,7 +655,46 @@
AND TO_DATE(TO_CHAR(TO_DATE(CONTRACT_DATE,'YYYY-MM-DD'),'YYYY-MM-DD'),'YYYY-MM') TO_DATE(SUBSTRING(#{contract_month} FROM 1 FOR 4) || '-' || SUBSTRING(#{contract_month} FROM 5 FOR 2), 'YYYY-MM')
-
+
+
+
+
+ AND APPR_STATUS = #{appr_status}
+
+
+
+ AND AREA_CD = #{area_cd}
+
+
+
+ AND PAID_TYPE = #{paid_type}
+
+
+
+ AND UPPER(PART_NO) LIKE UPPER('%${search_partNo}%')
+
+
+
+ AND UPPER(PART_NAME) LIKE UPPER('%${search_partName}%')
+
+
+
+ AND UPPER(SERIAL_NO) LIKE UPPER('%${search_serialNo}%')
+
+
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') = ]]> TO_DATE(#{receipt_start_date}, 'YYYY-MM-DD')
+
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') TO_DATE(#{receipt_end_date}, 'YYYY-MM-DD')
+
+
+
+ AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') = ]]> TO_DATE(#{due_start_date}, 'YYYY-MM-DD')
+
+
+ AND TO_DATE(DUE_DATE,'YYYY-MM-DD') TO_DATE(#{due_end_date}, 'YYYY-MM-DD')
+
ORDER BY REGDATE DESC
@@ -724,9 +818,193 @@
-
INSERT INTO CONTRACT_MGMT
+ (
+ OBJID
+ ,CATEGORY_CD
+ ,CUSTOMER_OBJID
+ ,PRODUCT
+ ,CUSTOMER_PROJECT_NAME
+ ,STATUS_CD
+ ,DUE_DATE
+ ,LOCATION
+ ,SETUP
+ ,FACILITY
+ ,FACILITY_QTY
+ ,FACILITY_TYPE
+ ,FACILITY_DEPTH
+ ,PRODUCTION_NO
+ ,BUS_CAL_CD
+ ,CATEGORY1_CD
+ ,CHG_USER_ID
+ ,PLAN_DATE
+ ,COMPLETE_DATE
+ ,RESULT_CD
+ ,PROJECT_NO
+ ,PM_USER_ID
+ ,CONTRACT_PRICE
+ ,CONTRACT_PRICE_CURRENCY
+ ,CONTRACT_CURRENCY
+ ,REGDATE
+ ,WRITER
+ ,CONTRACT_NO
+ ,CUSTOMER_EQUIP_NAME
+ ,REQ_DEL_DATE
+ ,CONTRACT_DEL_DATE
+ ,CONTRACT_COMPANY
+ ,CONTRACT_DATE
+ ,PO_NO
+ ,MANUFACTURE_PLANT
+ ,CONTRACT_RESULT
+ ,PROJECT_NAME
+ ,SPEC_USER_ID
+ ,SPEC_PLAN_DATE
+ ,SPEC_COMP_DATE
+ ,SPEC_RESULT_CD
+ ,EST_USER_ID
+ ,EST_PLAN_DATE
+ ,EST_COMP_DATE
+ ,EST_RESULT_CD
+ ,AREA_CD
+ ,TARGET_PROJECT_NO
+ ,TARGET_PROJECT_NO_DIRECT
+ ,CUSTOMER_PRODUCTION_NO
+ ,MECHANICAL_TYPE
+ ,OVERHAUL_ORDER
+ ,PAID_TYPE
+ ,RECEIPT_DATE
+ ,PART_NO
+ ,PART_NAME
+ ,SERIAL_NO
+ ,QUANTITY
+ ,CUSTOMER_REQUEST
+ ,EXCHANGE_RATE
+ )
+ VALUES
+ (
+ #{objId}
+ ,#{category_cd}
+ ,#{customer_objid}
+ ,#{product}
+ ,#{customer_project_name}
+ ,#{status_cd}
+ ,#{due_date}
+ ,#{location}
+ ,#{setup}
+ ,#{facility}
+ ,#{facility_qty}
+ ,#{facility_type}
+ ,#{facility_depth}
+ ,#{production_no}
+ ,#{bus_cal_cd}
+ ,#{category1_cd}
+ ,#{chg_user_id}
+ ,#{plan_date}
+ ,#{complete_date}
+ ,#{result_cd}
+ ,#{project_no}
+ ,#{pm_user_id}
+ ,#{contract_price}
+ ,#{contract_price_currency}
+ ,#{contract_currency}
+ ,NOW()
+ ,#{writer}
+ ,(SELECT TO_CHAR(NOW(),'yy')::VARCHAR ||'C-'||LPAD((SELECT NEXTVAL('contract_mgmt_seq'))::VARCHAR ,4,'0'))
+ ,#{customer_equip_name}
+ ,#{req_del_date}
+ ,#{contract_del_date}
+ ,#{contract_company}
+ ,#{contract_date}
+ ,#{po_no}
+ ,#{manufacture_plant}
+ ,#{contract_result}
+ ,#{project_name}
+ ,#{spec_user_id}
+ ,#{spec_plan_date}
+ ,#{spec_comp_date}
+ ,#{spec_result_cd}
+ ,#{est_user_id}
+ ,#{est_plan_date}
+ ,#{est_comp_date}
+ ,#{est_result_cd}
+ ,#{area_cd}
+ ,#{target_project_no}
+ ,#{target_project_no_direct}
+ ,#{customer_production_no}
+ ,#{mechanical_type}
+ ,#{overhaul_order}
+ ,#{paid_type}
+ ,#{receipt_date}
+ ,#{part_no}
+ ,#{part_name}
+ ,#{serial_no}
+ ,#{quantity}
+ ,#{customer_request}
+ ,#{exchange_rate}
+ )
+ ON CONFLICT (OBJID) DO
+ UPDATE
+ SET
+ CATEGORY_CD = #{category_cd}
+ ,CUSTOMER_OBJID = #{customer_objid}
+ ,PRODUCT = #{product}
+ ,CUSTOMER_PROJECT_NAME = #{customer_project_name}
+ ,STATUS_CD = #{status_cd}
+ ,DUE_DATE = #{due_date}
+ ,LOCATION = #{location}
+ ,SETUP = #{setup}
+ ,FACILITY = #{facility}
+ ,FACILITY_QTY = #{facility_qty}
+ ,FACILITY_TYPE = #{facility_type}
+ ,FACILITY_DEPTH = #{facility_depth}
+ ,PRODUCTION_NO = #{production_no}
+ ,BUS_CAL_CD = #{bus_cal_cd}
+ ,CATEGORY1_CD = #{category1_cd}
+ ,CHG_USER_ID = #{chg_user_id}
+ ,PLAN_DATE = #{plan_date}
+ ,COMPLETE_DATE = #{complete_date}
+ ,RESULT_CD = #{result_cd}
+ ,PROJECT_NO = #{project_no}
+ ,PM_USER_ID = #{pm_user_id}
+ ,CONTRACT_PRICE = #{contract_price}
+ ,CONTRACT_PRICE_CURRENCY = #{contract_price_currency}
+ ,CONTRACT_CURRENCY = #{contract_currency}
+ ,CUSTOMER_EQUIP_NAME = #{customer_equip_name}
+ ,REQ_DEL_DATE = #{req_del_date}
+ ,CONTRACT_DEL_DATE = #{contract_del_date}
+ ,CONTRACT_COMPANY = #{contract_company}
+ ,CONTRACT_DATE = #{contract_date}
+ ,PO_NO = #{po_no}
+ ,MANUFACTURE_PLANT = #{manufacture_plant}
+ ,CONTRACT_RESULT = #{contract_result}
+ ,PROJECT_NAME = #{project_name}
+ ,SPEC_USER_ID = #{spec_user_id}
+ ,SPEC_PLAN_DATE = #{spec_plan_date}
+ ,SPEC_COMP_DATE = #{spec_comp_date}
+ ,SPEC_RESULT_CD = #{spec_result_cd}
+ ,EST_USER_ID = #{est_user_id}
+ ,EST_PLAN_DATE = #{est_plan_date}
+ ,EST_COMP_DATE = #{est_comp_date}
+ ,EST_RESULT_CD = #{est_result_cd}
+ ,AREA_CD = #{area_cd}
+ ,TARGET_PROJECT_NO = #{target_project_no}
+ ,TARGET_PROJECT_NO_DIRECT= #{target_project_no_direct}
+ ,CUSTOMER_PRODUCTION_NO = #{customer_production_no}
+ ,MECHANICAL_TYPE = #{mechanical_type}
+ ,OVERHAUL_ORDER = #{overhaul_order}
+ ,PAID_TYPE = #{paid_type}
+ ,RECEIPT_DATE = #{receipt_date}
+ ,PART_NO = #{part_no}
+ ,PART_NAME = #{part_name}
+ ,SERIAL_NO = #{serial_no}
+ ,QUANTITY = #{quantity}
+ ,CUSTOMER_REQUEST = #{customer_request}
+ ,EXCHANGE_RATE = #{exchange_rate}
+
+
+
+ INSERT INTO CONTRACT_MGMT
(
OBJID
,CATEGORY_CD
@@ -1096,6 +1374,14 @@
,CUSTOMER_PRODUCTION_NO
,MECHANICAL_TYPE
,OVERHAUL_ORDER
+ ,PAID_TYPE
+ ,RECEIPT_DATE
+ ,PART_NO
+ ,PART_NAME
+ ,SERIAL_NO
+ ,QUANTITY
+ ,CUSTOMER_REQUEST
+ ,EXCHANGE_RATE
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt01' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT1
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt02' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT2
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt03' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT3
@@ -3376,5 +3662,218 @@ ORDER BY ASM.SUPPLY_NAME
-->
FROM END_COUNT E, PROJECT_STATS P, ING_COUNT I, DELAY_COUNT D, HOLD_COUNT H, NOPLAN_COUNT N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO ESTIMATE_TEMPLATE (
+ CONTRACT_OBJID,
+ TEMPLATE_TYPE,
+ EXECUTOR,
+ RECIPIENT,
+ ESTIMATE_NO,
+ CONTACT_PERSON,
+ GREETING_TEXT,
+ MODEL_NAME,
+ MODEL_CODE,
+ EXECUTOR_DATE,
+ NOTE1,
+ NOTE2,
+ NOTE3,
+ NOTE4,
+ WRITER,
+ REGDATE,
+ CHG_USER_ID,
+ CHGDATE
+ ) VALUES (
+ #{objId}::NUMERIC,
+ #{template_type},
+ #{executor},
+ #{recipient},
+ #{estimate_no},
+ #{contact_person},
+ #{greeting_text},
+ #{model_name},
+ #{model_code},
+ #{executor_date},
+ #{note1},
+ #{note2},
+ #{note3},
+ #{note4},
+ #{writer},
+ NOW(),
+ #{chg_user_id},
+ NOW()
+ )
+
+
+
+
+ UPDATE ESTIMATE_TEMPLATE
+ SET
+ EXECUTOR = #{executor},
+ RECIPIENT = #{recipient},
+ ESTIMATE_NO = #{estimate_no},
+ CONTACT_PERSON = #{contact_person},
+ GREETING_TEXT = #{greeting_text},
+ MODEL_NAME = #{model_name},
+ MODEL_CODE = #{model_code},
+ EXECUTOR_DATE = #{executor_date},
+ NOTE1 = #{note1},
+ NOTE2 = #{note2},
+ NOTE3 = #{note3},
+ NOTE4 = #{note4},
+ CHG_USER_ID = #{chg_user_id},
+ CHGDATE = NOW()
+ WHERE
+ CONTRACT_OBJID = #{objId}::NUMERIC
+ AND TEMPLATE_TYPE = #{template_type}
+
+
+
+
+ DELETE FROM ESTIMATE_TEMPLATE_ITEM
+ WHERE
+ TEMPLATE_OBJID IN (
+ SELECT OBJID
+ FROM ESTIMATE_TEMPLATE
+ WHERE CONTRACT_OBJID = #{objId}::NUMERIC
+ )
+
+
+
+
+ INSERT INTO ESTIMATE_TEMPLATE_ITEM (
+ TEMPLATE_OBJID,
+ SEQ,
+ CATEGORY,
+ DESCRIPTION,
+ SPECIFICATION,
+ QUANTITY,
+ UNIT,
+ UNIT_PRICE,
+ AMOUNT,
+ NOTE,
+ REMARK
+ )
+ SELECT
+ (SELECT OBJID FROM ESTIMATE_TEMPLATE WHERE CONTRACT_OBJID = #{objId}::NUMERIC AND TEMPLATE_TYPE = #{template_type}),
+ (json_array_elements(#{items_json}::json)->>'seq')::INTEGER,
+ json_array_elements(#{items_json}::json)->>'category',
+ json_array_elements(#{items_json}::json)->>'description',
+ json_array_elements(#{items_json}::json)->>'specification',
+ json_array_elements(#{items_json}::json)->>'quantity',
+ json_array_elements(#{items_json}::json)->>'unit',
+ (json_array_elements(#{items_json}::json)->>'unit_price')::NUMERIC,
+ (json_array_elements(#{items_json}::json)->>'amount')::NUMERIC,
+ json_array_elements(#{items_json}::json)->>'note',
+ json_array_elements(#{items_json}::json)->>'remark'
+
+
+
+
+ UPDATE ESTIMATE_TEMPLATE
+ SET
+ CATEGORIES_JSON = #{categories_json},
+ CHG_USER_ID = #{chg_user_id},
+ CHGDATE = NOW()
+ WHERE
+ CONTRACT_OBJID = #{objId}::NUMERIC
+ AND TEMPLATE_TYPE = #{template_type}
+
\ No newline at end of file