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