( SELECT OBJID, EQUIPMENT_NUMBER, DIVISION, BUYER, PURCHASE_AMOUNT, PURCHASE_DATE, TO_CHAR(T.PURCHASE_DATE,'YYYY-MM-DD') AS PURCHASE_DATE_TITLE, LOCATION, UNIQUENESS, WEIGHT, SPAN, LENGTH, HEAD, NECK_HEIGHT, WHEEL_BASE, WINDING, RAIL, WHEEL_SIZE, TRANSVERSE, BASE_PLATE, PINION_GEAR, ELECTRIC, FRAME, UPPER_LOWER_PLATE, INNER_WIDTH, SIDE_PLATE, OUTER_WIDTH, REPAIR_AMOUNT, SALES_TARGET, CASE WHEN SALES_TARGET != '' AND SALES_TARGET IS NOT NULL THEN (SELECT PROJECT_NO FROM ORDER_MGMT O WHERE 1=1 AND O.ORDER_MGMT_OBJID = T.SALES_TARGET::NUMERIC) ELSE '' END AS SALES_TARGET_TITLE, SALES_AMOUNT, INPUT_AMOUNT, REGDATE, 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, WRITER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) AS WRITER_TITLE, STATUS, USE_YN, (SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE 1 = 1 AND F.TARGET_OBJID = T.OBJID AND F.DOC_TYPE = 'USED_MNG_IMAGE' AND UPPER(F.STATUS) = 'ACTIVE') as USED_MNG_IMAGE_CNT, (SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE 1 = 1 AND F.TARGET_OBJID = T.OBJID AND F.DOC_TYPE = 'USED_MNG_REPAIR' AND UPPER(F.STATUS) = 'ACTIVE') as USED_MNG_REPAIR_CNT, A.APPR_STATUS, A.ROUTE_OBJID, A.APPROVAL_OBJID FROM USED_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 ('USED_MNG') ) A ON T.OBJID::numeric = A.TARGET_OBJID ) INSERT INTO USED_MNG ( OBJID ,EQUIPMENT_NUMBER ,DIVISION ,BUYER ,PURCHASE_AMOUNT ,PURCHASE_DATE ,LOCATION ,UNIQUENESS ,WEIGHT ,SPAN ,LENGTH ,HEAD ,NECK_HEIGHT ,WHEEL_BASE ,WINDING ,RAIL ,WHEEL_SIZE ,TRANSVERSE ,BASE_PLATE ,PINION_GEAR ,ELECTRIC ,FRAME ,UPPER_LOWER_PLATE ,INNER_WIDTH ,SIDE_PLATE ,OUTER_WIDTH ,REPAIR_AMOUNT ,SALES_TARGET ,SALES_AMOUNT ,INPUT_AMOUNT ,REGDATE ,WRITER ,STATUS ,USE_YN ) VALUES ( #{OBJID}::numeric ,'UE-'||to_char(now(),'YYYY')||'-'||LPAD((select coalesce(substring(max(EQUIPMENT_NUMBER),9,3),'0')::numeric+1 from used_mng)::text, 3, '0') ,#{DIVISION} ,#{BUYER} ,#{PURCHASE_AMOUNT} ,#{PURCHASE_DATE}::TIMESTAMP ,#{LOCATION} ,#{UNIQUENESS} ,#{WEIGHT} ,#{SPAN} ,#{LENGTH} ,#{HEAD} ,#{NECK_HEIGHT} ,#{WHEEL_BASE} ,#{WINDING} ,#{RAIL} ,#{WHEEL_SIZE} ,#{TRANSVERSE} ,#{BASE_PLATE} ,#{PINION_GEAR} ,#{ELECTRIC} ,#{FRAME} ,#{UPPER_LOWER_PLATE} ,#{INNER_WIDTH} ,#{SIDE_PLATE} ,#{OUTER_WIDTH} ,#{REPAIR_AMOUNT} ,#{SALES_TARGET} ,#{SALES_AMOUNT} ,#{INPUT_AMOUNT} ,now() ,#{WRITER} ,(SELECT CODE_ID FROM COMM_CODE WHERE PARENT_CODE_ID = '0001488' AND CODE_NAME = '작성중') ,#{USE_YN} ) ON CONFLICT (OBJID) DO UPDATE SET EQUIPMENT_NUMBER = #{EQUIPMENT_NUMBER}, DIVISION = #{DIVISION}, BUYER = #{BUYER}, PURCHASE_AMOUNT = #{PURCHASE_AMOUNT}, PURCHASE_DATE = #{PURCHASE_DATE}::TIMESTAMP, LOCATION = #{LOCATION}, UNIQUENESS = #{UNIQUENESS}, WEIGHT = #{WEIGHT}, SPAN = #{SPAN}, LENGTH = #{LENGTH}, HEAD = #{HEAD}, NECK_HEIGHT = #{NECK_HEIGHT}, WHEEL_BASE = #{WHEEL_BASE}, WINDING = #{WINDING}, RAIL = #{RAIL}, WHEEL_SIZE = #{WHEEL_SIZE}, TRANSVERSE = #{TRANSVERSE}, BASE_PLATE = #{BASE_PLATE}, PINION_GEAR = #{PINION_GEAR}, ELECTRIC = #{ELECTRIC}, FRAME = #{FRAME}, UPPER_LOWER_PLATE = #{UPPER_LOWER_PLATE}, INNER_WIDTH = #{INNER_WIDTH}, SIDE_PLATE = #{SIDE_PLATE}, OUTER_WIDTH = #{OUTER_WIDTH}, REPAIR_AMOUNT = #{REPAIR_AMOUNT}, SALES_TARGET = #{SALES_TARGET}, SALES_AMOUNT = #{SALES_AMOUNT}, INPUT_AMOUNT = #{INPUT_AMOUNT}, WRITER = #{WRITER}, EDITDATE = now(), STATUS = #{STATUS}, USE_YN = #{USE_YN} DELETE FROM USED_MNG WHERE OBJID = #{OBJID}::numeric