( SELECT OBJID, MNG_NUMBER, MNG_TYPE, PRODUCT_DIVISION, PROJECT_OBJID, (SELECT PROJECT_NO FROM ORDER_MGMT O WHERE O.ORDER_MGMT_OBJID = T.PROJECT_OBJID) AS PROJECT_NO, RECEPTION_DATE, TO_CHAR(T.RECEPTION_DATE,'YYYY-MM-DD') AS RECEPTION_DATE_TITLE, EVENT_LOCATION, ACTION_DATE, TO_CHAR(T.ACTION_DATE,'YYYY-MM-DD') AS ACTION_DATE_TITLE, CUSTOMER_NAME, TITLE, PERFORMER, WRITER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) AS WRITER_TITLE, ANALYSIS, MEASURE, MEASURE_TYPE, MEASURE_AMOUNT, REGDATE, EDITDATE, TO_CHAR(T.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE, TO_CHAR(T.REGDATE,'YYYY') AS REGDATE_YEAR_TITLE, TO_CHAR(T.EDITDATE,'YYYY-MM-DD') AS EDITDATE_TITLE, STATUS, A.APPR_STATUS, A.ROUTE_OBJID, A.APPROVAL_OBJID FROM CUSTOMER_MNG 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 ('CUSTOMER_MNG') ) A ON T.OBJID::numeric = A.TARGET_OBJID ) INSERT INTO CUSTOMER_MNG ( OBJID, MNG_NUMBER, MNG_TYPE, PRODUCT_DIVISION, PROJECT_OBJID, RECEPTION_DATE, EVENT_LOCATION, ACTION_DATE, CUSTOMER_NAME, TITLE, PERFORMER, WRITER, ANALYSIS, MEASURE, MEASURE_TYPE, MEASURE_AMOUNT, REGDATE, STATUS ) VALUES ( #{OBJID}::numeric, to_char(now(),'YYYY')||'-'||LPAD((select coalesce(substring(max(MNG_NUMBER),6,3),'0')::numeric+1 from CUSTOMER_MNG)::text, 3, '0'), #{MNG_TYPE}, #{PRODUCT_DIVISION}, #{PROJECT_OBJID}::numeric, #{RECEPTION_DATE}::TIMESTAMP, #{EVENT_LOCATION}, #{ACTION_DATE}::TIMESTAMP, #{CUSTOMER_NAME}, #{TITLE}, #{PERFORMER}, #{WRITER}, #{ANALYSIS}, #{MEASURE}, #{MEASURE_TYPE}, #{MEASURE_AMOUNT}, now(), #{STATUS} ) ON CONFLICT (OBJID) DO UPDATE SET MNG_NUMBER =#{MNG_NUMBER}, MNG_TYPE =#{MNG_TYPE}, PRODUCT_DIVISION =#{PRODUCT_DIVISION}, PROJECT_OBJID =#{PROJECT_OBJID}::numeric, RECEPTION_DATE =#{RECEPTION_DATE}::TIMESTAMP, EVENT_LOCATION =#{EVENT_LOCATION}, ACTION_DATE =#{ACTION_DATE}::TIMESTAMP, CUSTOMER_NAME =#{CUSTOMER_NAME}, TITLE =#{TITLE}, PERFORMER =#{PERFORMER}, WRITER =#{WRITER}, ANALYSIS =#{ANALYSIS}, MEASURE =#{MEASURE}, MEASURE_TYPE =#{MEASURE_TYPE}, MEASURE_AMOUNT =#{MEASURE_AMOUNT}, EDITDATE =now(), STATUS =#{STATUS} DELETE FROM CUSTOMER_MNG WHERE OBJID = #{OBJID}::numeric