( SELECT OBJID, PARENT_OBJID, (SELECT PROJECT_NO FROM ORDER_MGMT O WHERE O.ORDER_MGMT_OBJID = CRM.PARENT_OBJID) AS PROJECT_NO, REPORT_MNG_NO, CUSTOMER, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.CUSTOMER) AS CUSTOMER_NAME, MAKEING_TEAM, (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = CRM.MAKEING_TEAM) AS MAKEING_TEAM_NAME, CHECK_DATE, TO_CHAR(CRM.CHECK_DATE,'YYYY-MM-DD') AS CHECK_DATE_TITLE, SPAN_DRAWING, SPAN_LEFT, SPAN_LEFT_ERROR, SPAN_LEFT_CHECK_RESULT, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.SPAN_LEFT_CHECK_RESULT) AS SPAN_LEFT_CHECK_RESULT_NAME, SPAN_RIGHT, SPAN_RIGHT_ERROR, SPAN_RIGHT_CHECK_RESULT, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.SPAN_RIGHT_CHECK_RESULT) AS SPAN_RIGHT_CHECK_RESULT_NAME, DIAGONAL_LEFT, DIAGONAL_RIGHT, DIAGONAL_CHECK_RESULT, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.DIAGONAL_CHECK_RESULT) AS DIAGONAL_CHECK_RESULT_NAME, SPAN_CHECK_USER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = CRM.SPAN_CHECK_USER) AS SPAN_CHECK_USER_TITLE, SADDLE_1, SADDLE_2, SADDLE_3, SADDLE_4, SADDLE_5, SADDLE_6, SADDLE_7, SADDLE_8, SADDLE_WHEEL, SADDLE_WHEEL_BASE, SADDLE_CHECK_RESULT, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.SADDLE_CHECK_RESULT) AS SADDLE_CHECK_RESULT_NAME, SADDLE_CHECK_USER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = CRM.SADDLE_CHECK_USER) AS SADDLE_CHECK_USER_TITLE, WELDING_PAINTING_CONTENTS, WELDING_PAINTING_CHECK_RESULT, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CRM.WELDING_PAINTING_CHECK_RESULT) AS WELDING_PAINTING_CHECK_RESULT_NAME, WELDING_PAINTING_CHECK_USER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = CRM.WELDING_PAINTING_CHECK_USER) AS WELDING_PAINTING_CHECK_USER_TITLE, REGDATE, TO_CHAR(CRM.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE, TO_CHAR(CRM.REGDATE,'YYYY') AS REGDATE_YEAR_TITLE, EDITDATE, STATUS, CASE CRM.STATUS WHEN 'create' THEN '등록중' WHEN 'approvalRequest' THEN '결재중' WHEN 'reject' THEN '반려' WHEN 'approvalComplete' THEN '결재완료' ELSE '' END STATUS_TITLE, WRITER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = CRM.WRITER) AS WRITER_TITLE, A.APPR_STATUS, A.ROUTE_OBJID, A.APPROVAL_OBJID FROM CHECK_REPORT_MNG CRM 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 ('CHECK_REPORT_MNG') ) A ON CRM.OBJID::numeric = A.TARGET_OBJID ) INSERT INTO CHECK_REPORT_MNG( OBJID, PARENT_OBJID, REPORT_MNG_NO, CUSTOMER, MAKEING_TEAM, CHECK_DATE, SPAN_DRAWING, SPAN_LEFT, SPAN_LEFT_ERROR, SPAN_LEFT_CHECK_RESULT, SPAN_RIGHT, SPAN_RIGHT_ERROR, SPAN_RIGHT_CHECK_RESULT, DIAGONAL_LEFT, DIAGONAL_RIGHT, DIAGONAL_CHECK_RESULT, SPAN_CHECK_USER, SADDLE_1, SADDLE_2, SADDLE_3, SADDLE_4, SADDLE_5, SADDLE_6, SADDLE_7, SADDLE_8, SADDLE_WHEEL, SADDLE_WHEEL_BASE, SADDLE_CHECK_RESULT, SADDLE_CHECK_USER, WELDING_PAINTING_CONTENTS, WELDING_PAINTING_CHECK_RESULT, WELDING_PAINTING_CHECK_USER, REGDATE, EDITDATE, STATUS, WRITER ) values ( #{OBJID}::numeric, #{PARENT_OBJID}::numeric, TO_CHAR(NOW(),'YYYY')||'-'||LPAD((SELECT COALESCE(SUBSTRING(MAX(REPORT_MNG_NO),6,3),'0')::NUMERIC+1 FROM CHECK_REPORT_MNG)::TEXT, 3, '0'), #{CUSTOMER}, #{MAKEING_TEAM}, #{CHECK_DATE}::TIMESTAMP, #{SPAN_DRAWING}, #{SPAN_LEFT}, #{SPAN_LEFT_ERROR}, #{SPAN_LEFT_CHECK_RESULT}, #{SPAN_RIGHT}, #{SPAN_RIGHT_ERROR}, #{SPAN_RIGHT_CHECK_RESULT}, #{DIAGONAL_LEFT}, #{DIAGONAL_RIGHT}, #{DIAGONAL_CHECK_RESULT}, #{SPAN_CHECK_USER}, #{SADDLE_1}, #{SADDLE_2}, #{SADDLE_3}, #{SADDLE_4}, #{SADDLE_5}, #{SADDLE_6}, #{SADDLE_7}, #{SADDLE_8}, #{SADDLE_WHEEL}, #{SADDLE_WHEEL_BASE}, #{SADDLE_CHECK_RESULT}, #{SADDLE_CHECK_USER}, #{WELDING_PAINTING_CONTENTS}, #{WELDING_PAINTING_CHECK_RESULT}, #{WELDING_PAINTING_CHECK_USER}, NOW(), NOW(), 'create', #{WRITER} ) ON CONFLICT (OBJID) DO UPDATE SET PARENT_OBJID = #{PARENT_OBJID}::numeric, REPORT_MNG_NO = #{REPORT_MNG_NO}, CUSTOMER = #{CUSTOMER}, MAKEING_TEAM = #{MAKEING_TEAM}, CHECK_DATE = #{CHECK_DATE}::TIMESTAMP, SPAN_DRAWING = #{SPAN_DRAWING}, SPAN_LEFT = #{SPAN_LEFT}, SPAN_LEFT_ERROR = #{SPAN_LEFT_ERROR}, SPAN_LEFT_CHECK_RESULT = #{SPAN_LEFT_CHECK_RESULT}, SPAN_RIGHT = #{SPAN_RIGHT}, SPAN_RIGHT_ERROR = #{SPAN_RIGHT_ERROR}, SPAN_RIGHT_CHECK_RESULT = #{SPAN_RIGHT_CHECK_RESULT}, DIAGONAL_LEFT = #{DIAGONAL_LEFT}, DIAGONAL_RIGHT = #{DIAGONAL_RIGHT}, DIAGONAL_CHECK_RESULT = #{DIAGONAL_CHECK_RESULT}, SPAN_CHECK_USER = #{SPAN_CHECK_USER}, SADDLE_1 = #{SADDLE_1}, SADDLE_2 = #{SADDLE_2}, SADDLE_3 = #{SADDLE_3}, SADDLE_4 = #{SADDLE_4}, SADDLE_5 = #{SADDLE_5}, SADDLE_6 = #{SADDLE_6}, SADDLE_7 = #{SADDLE_7}, SADDLE_8 = #{SADDLE_8}, SADDLE_WHEEL = #{SADDLE_WHEEL}, SADDLE_WHEEL_BASE = #{SADDLE_WHEEL_BASE}, SADDLE_CHECK_RESULT = #{SADDLE_CHECK_RESULT}, SADDLE_CHECK_USER = #{SADDLE_CHECK_USER}, WELDING_PAINTING_CONTENTS = #{WELDING_PAINTING_CONTENTS}, WELDING_PAINTING_CHECK_RESULT = #{WELDING_PAINTING_CHECK_RESULT}, WELDING_PAINTING_CHECK_USER = #{WELDING_PAINTING_CHECK_USER}, EDITDATE = NOW(), STATUS = #{STATUS}, WRITER = #{WRITER} DELETE FROM CHECK_REPORT_MNG WHERE OBJID = #{OBJID}::numeric