INSERT INTO AS_MNG ( OBJID ,AS_NO ,CUSTCD ,COMPANY_NAME ,PRODUCT_CODE ,YEAR ,RELEASE_DATE ,CAR_NUMBER ,PAID_FREE ,PHONE ,PLAN_DATE ,REC_TYPE ,PROBLEM_CONTENTS ,ACTION_CONTENTS ,START_DATE ,END_DATE ,PART_PRICE ,AS_COST ,PAYMENT_TYPE ,REQ_USER ,REQ_DATE ,AS_USER ,AS_DATE ,FREE_CONTENTS ,WRITER ,STATUS_CD ,WORKINGTIME ,WAGE ,REG_DATE ,PRICE1 ,PRICE2 ,PRICE3 ,TOTAL_PRICE ,WARRANTY_CODE ,MAINTENANCE ,SN_NO ) VALUES ( #{objId}::integer ,(SELECT 'AS-'||TO_CHAR(NOW(),'yyyy')::VARCHAR ||'-'||LPAD((SELECT nextval('seq_as_no'))::VARCHAR ,3,'0')) ,#{custcd} ,null ,#{product_code} ,#{year} ,#{release_date} ,#{car_number} ,#{paid_free} ,#{phone} ,#{plan_date} ,#{rec_type} ,#{problem_contents} ,#{action_contents} ,#{start_date} ,#{end_date} ,#{part_price} ,#{as_cost} ,#{payment_type} ,#{req_user} ,#{req_date} ,#{as_user} ,#{as_date} ,#{free_contents} ,#{writer} ,'0000100' ,#{workingtime} ,#{wage} ,now() ,#{price1} ,#{price2} ,#{price3} ,#{total_price} ,#{warranty_code} ,#{maintenance} ,#{sn_no} ) ON CONFLICT (OBJID) DO UPDATE SET CUSTCD=#{custcd} ,PRODUCT_CODE=#{product_code} ,YEAR=#{year} ,RELEASE_DATE=#{release_date} ,CAR_NUMBER=#{car_number} ,PAID_FREE=#{paid_free} ,PHONE=#{phone} ,PLAN_DATE=#{plan_date} ,REC_TYPE=#{rec_type} ,PROBLEM_CONTENTS=#{problem_contents} ,ACTION_CONTENTS=#{action_contents} ,START_DATE=#{start_date} ,END_DATE=#{end_date} ,PART_PRICE=#{part_price} ,AS_COST=#{as_cost} ,PAYMENT_TYPE=#{payment_type} ,REQ_DATE=#{req_date} ,AS_DATE=#{as_date} ,FREE_CONTENTS=#{free_contents} ,WORKINGTIME=#{workingtime} ,WAGE=#{wage} ,PRICE1=#{price1} ,PRICE2=#{price2} ,PRICE3=#{price3} ,TOTAL_PRICE=#{total_price} ,WARRANTY_CODE=#{warranty_code} ,MAINTENANCE=#{maintenance} ,SN_NO=#{sn_no} UPDATE AS_PART_MNG SET QTY=#{QTY} ,PRICE=#{PRICE} ,SUP_PRICE=#{SUP_PRICE} ,NOTE=#{NOTE} WHERE OBJID = #{OBJID}::numeric DELETE FROM AS_MNG WHERE OBJID=#{objId}::numeric ( SELECT OBJID, eo_no, eo_gubun, ecr_objid, product_1, product_2, eo_kind, title, request_code, period_code, unit, DEPLOY_DATE, TO_CHAR(REG_DATE,'YYYY-MM-DD') AS REG_DATE, EDIT_DATE, TO_CHAR(E.EDIT_DATE,'YYYY-MM-DD') AS EDIT_DATE_TITLE, WRITER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = E.WRITER) AS WRITER_TITLE, DEPLOY_WRITER, DEPLOY_DEPT, STATUS, CASE STATUS WHEN 'create' THEN '작성중' WHEN 'deploy' THEN '배포완료' WHEN 'approvalRequest' THEN '결재중' WHEN 'approvalComplete' THEN '결재완료' WHEN 'reject' THEN '반려' ELSE '' END STATUS_TITLE, contents, A.APPR_STATUS, A.ROUTE_OBJID, A.APPROVAL_OBJID FROM EO_MNG E 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 ('EO_MNG') ) A ON E.OBJID::numeric = A.TARGET_OBJID ) ( SELECT P.OBJID, P.PRODUCT_MGMT_OBJID, PMUD.PRODUCT_CODE, P.UPG_NO, P.PART_NO, P.PART_NAME, P.UNIT, (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.UNIT) AS UNIT_TITLE, P.QTY, P.SPEC, P.MATERIAL, P.WEIGHT, P.PART_TYPE, (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE, P.REMARK, P.ES_SPEC, P.MS_SPEC, P.CHANGE_OPTION, P.DESIGN_APPLY_POINT, (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.DESIGN_APPLY_POINT) AS DESIGN_APPLY_POINT_TITLE, P.MANAGEMENT_FLAG, P.REVISION, P.STATUS, P.REG_DATE, P.EDIT_DATE, P.WRITER, P.IS_LAST, P.EO, AF.SAVED_FILE_NAME, AF.REAL_FILE_NAME, REPLACE(AF.FILE_PATH, '\', '\\') AS FILE_PATH, AF_ECD.SAVED_FILE_NAME AS ECD_SAVED_FILE_NAME, AF_ECD.REAL_FILE_NAME AS ECD_REAL_FILE_NAME, REPLACE(AF_ECD.FILE_PATH, '\', '\\') AS ECD_FILE_PATH, CASE WHEN AF_ECD.SAVED_FILE_NAME IS NOT NULL THEN 'Y' ELSE 'N' END ECD_FLAG FROM PART_MNG P LEFT OUTER JOIN ( SELECT TARGET_OBJID, SAVED_FILE_NAME, REAL_FILE_NAME, FILE_PATH, DOC_TYPE FROM ATTACH_FILE_INFO WHERE 1 = 1 AND DOC_TYPE IN ('PART_SHAPE_IMG') AND UPPER(STATUS) = 'ACTIVE' ) AF ON P.OBJID::NUMERIC = AF.TARGET_OBJID LEFT OUTER JOIN ( SELECT TARGET_OBJID, SAVED_FILE_NAME, REAL_FILE_NAME, FILE_PATH, DOC_TYPE FROM ATTACH_FILE_INFO WHERE 1 = 1 AND DOC_TYPE IN ('ECD_DOC') AND UPPER(STATUS) = 'ACTIVE' ) AF_ECD ON P.OBJID::NUMERIC = AF_ECD.TARGET_OBJID LEFT OUTER JOIN( SELECT PMUD.* FROM( SELECT DISTINCT PMUD.PRODUCT_OBJID, (SELECT PRODUCT_CODE FROM PRODUCT_MGMT PM WHERE 1=1 AND PM.OBJID = PMUD.PRODUCT_OBJID) AS PRODUCT_CODE, (UPG_CODE ||'-'|| (SELECT PRODUCT_CODE FROM PRODUCT_MGMT PM WHERE 1=1 AND PM.OBJID = PMUD.PRODUCT_OBJID) ||'-'|| VC) AS UPG_NO FROM PRODUCT_MGMT_UPG_DETAIL PMUD WHERE 1=1 ) PMUD ) PMUD ON P.PRODUCT_MGMT_OBJID = PMUD.PRODUCT_OBJID::TEXT AND P.UPG_NO = PMUD.UPG_NO ) INSERT INTO AS_PART_MNG ( OBJID ,TARGET_OBJID ,PART_OBJID ,PRICE ) VALUES ( #{objId}::integer ,#{target_objid}::integer ,#{part_objid}::integer ,#{price}::varchar ) DELETE FROM CUSTOMER_SERVICE_MGMT WHERE OBJID = #{OBJID} INSERT INTO CUSTOMER_SERVICE_MGMT ( OBJID ,SERVICE_NO ,PRODUCT ,CONTRACT_OBJID ,CS_CATEGORY ,WARRANTY ,MANAGER_ID ,ACT_DATE ,CATEGORY_H ,CATEGORY_M ,CATEGORY_L ,TITLE ,BEFORE_CONTENTS ,AFTER_CONTENTS ,WRITER ,REGDATE ,STATUS ,TOTAL_SUP_PRICE ,TOTAL_WORK_DAY ,TOTAL_WORK_PERSON ,TOTAL_WORK_DAY_M ,TOTAL_LABOR_COST ,TOTAL_EXPENSES ) VALUES ( #{ objId } ,(SELECT 'CSM'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||LPAD((SELECT nextval('seq_as_no'))::VARCHAR ,4,'0')) ,(CASE WHEN #{product} = '' THEN NULL ELSE #{product} END) ,#{ contract_objid } ,#{ cs_category } ,#{ warranty } ,#{ manager_id } ,#{ act_date } ,#{ category_h } ,#{ category_m } ,#{ category_l } ,#{ title } ,#{ before_contents } ,#{ after_contents } ,#{ writer } ,now() ,(CASE WHEN #{ status } = '' OR #{ status } IS NULL THEN '0000100' ELSE #{ status }::VARCHAR END) ,#{ TOTAL_SUP_PRICE } ,#{ TOTAL_WORK_DAY } ,#{ TOTAL_WORK_PERSON } ,#{ TOTAL_WORK_DAY_M } ,#{ TOTAL_LABOR_COST } ,#{ TOTAL_EXPENSES } ) ON CONFLICT (OBJID) DO UPDATE SET SERVICE_NO = #{ service_no } ,PRODUCT = (CASE WHEN #{product} = '' THEN NULL ELSE #{product} END) ,CONTRACT_OBJID = #{ contract_objid } ,CS_CATEGORY = #{ cs_category } ,WARRANTY = #{ warranty } ,MANAGER_ID = #{ manager_id } ,ACT_DATE = #{ act_date } ,CATEGORY_H = #{ category_h } ,CATEGORY_M = #{ category_m } ,CATEGORY_L = #{ category_l } ,TITLE = #{ title } ,BEFORE_CONTENTS = #{ before_contents } ,AFTER_CONTENTS = #{ after_contents } ,WRITER = #{ writer } ,REGDATE = now() ,STATUS = (CASE WHEN #{ status } = '' OR #{ status } IS NULL THEN '0000100' ELSE #{ status }::VARCHAR END) ,TOTAL_SUP_PRICE = #{ TOTAL_SUP_PRICE } ,TOTAL_WORK_DAY = #{ TOTAL_WORK_DAY } ,TOTAL_WORK_PERSON = #{ TOTAL_WORK_PERSON } ,TOTAL_WORK_DAY_M = #{ TOTAL_WORK_DAY_M } ,TOTAL_LABOR_COST = #{ TOTAL_LABOR_COST } ,TOTAL_EXPENSES = #{ TOTAL_EXPENSES } DELETE FROM CUSTOMER_SERVICE_PART WHERE PARENT_OBJID = #{PARENT_OBJID} INSERT INTO CUSTOMER_SERVICE_PART ( OBJID ,PARENT_OBJID ,PART_NO ,PART_NAME ,SPEC ,QTY ,CUR_QTY ,PRICE ,SUP_PRICE ) VALUES ( #{ OBJID } ,#{ PARENT_OBJID } ,#{ PART_NO } ,#{ PART_NAME } ,#{ SPEC } ,#{ QTY } ,#{ CUR_QTY } ,#{ PRICE } ,#{ SUP_PRICE } ) ON CONFLICT (OBJID) DO UPDATE SET PARENT_OBJID = #{ PARENT_OBJID } ,PART_NO = #{ PART_NO } ,PART_NAME = #{ PART_NAME } ,SPEC = #{ SPEC } ,QTY = #{ QTY } ,CUR_QTY = #{ CUR_QTY } ,PRICE = #{ PRICE } ,SUP_PRICE = #{ SUP_PRICE } DELETE FROM CUSTOMER_SERVICE_WORKINGTIME WHERE PARENT_OBJID = #{PARENT_OBJID} INSERT INTO CUSTOMER_SERVICE_WORKINGTIME ( OBJID ,PARENT_OBJID ,SUPPLY_OBJID ,FORM_DATE ,TO_DATE ,WORK_DAY ,WORK_PERSON ,WORK_DAY_M ,LABOR_COST ,EXPENSES ) VALUES ( #{ OBJID } ,#{ PARENT_OBJID } ,#{ SUPPLY_OBJID } ,#{ FORM_DATE } ,#{ TO_DATE } ,#{ WORK_DAY } ,#{ WORK_PERSON } ,#{ WORK_DAY_M } ,#{ LABOR_COST } ,#{ EXPENSES } ) ON CONFLICT (OBJID) DO UPDATE SET PARENT_OBJID = #{ PARENT_OBJID } ,SUPPLY_OBJID = #{ SUPPLY_OBJID } ,FORM_DATE = #{ FORM_DATE } ,TO_DATE = #{ TO_DATE } ,WORK_DAY = #{ WORK_DAY } ,WORK_PERSON = #{ WORK_PERSON } ,WORK_DAY_M = #{ WORK_DAY_M } ,LABOR_COST = #{ LABOR_COST } ,EXPENSES = #{ EXPENSES }