(
SELECT
CM.*
,RM.OBJID AS RELEASE_OBJID
,RM.PARENT_OBJID
,RM.RELEASE_CAR_NO
,RM.RELEASE_DATE
,RM.TASK_OVER_USER_ID
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = RM.TASK_OVER_USER_ID) AS TASK_OVER_USER_NAME
,RM.TASK_OVER_DATE
,RM.TASK_OVER_COMMENT
,RM.REGDATE AS RELEASE_REGDATE
,RM.WRITER AS RELEASE_WRITER
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_CHECK' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_CHECK_CNT
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_ORDER' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_ORDER_CNT
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_TAKING_OVER' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_TAKING_OVER_CNT
,CASE
WHEN (COALESCE(TRIM(RM.RELEASE_DATE),'') !='') THEN '출고완료'
WHEN TO_CHAR(NOW(),'YYYYMMDD') TO_CHAR(TO_DATE(CM.CONTRACT_COST_RESULT_DATE,'YYYY-MM-DD'),'YYYYMMDD') THEN '취소'
WHEN (COALESCE(TRIM(CM.CONTRACT_COST_RESULT_DATE),'') !='') THEN '수주'
WHEN TO_CHAR(NOW(),'YYYYMMDD') >= TO_CHAR(TO_DATE(CM.DUE_DATE,'YYYY-MM-DD'),'YYYYMMDD') THEN '지연'
ELSE '계약'
END RELEASE_STATUS_TITLE
,RM.INSTALL_COMPLETE_DATE
,RM.INSTALL_RESULT
FROM
CM
LEFT OUTER JOIN
RELEASE_MGMT RM
ON CM.OBJID::VARCHAR = RM.PARENT_OBJID
AND CM.PRODUCT = RM.PRODUCT
)
(
SELECT
CM.*
,CM.CATEGORY_CD AS CM_CATEGORY_CD
,CM.CATEGORY_CD_NAME AS CM_CATEGORY_CD_NAME
,CM.PRODUCT AS CM_PRODUCT
,CM.PRODUCT_NAME AS CM_PRODUCT_NAME
,'1' AS PRODUCT_SEQ
,RM.OBJID AS RELEASE_OBJID
,RM.PARENT_OBJID
,RM.RELEASE_CAR_NO
,RM.RELEASE_DATE
,RM.TASK_OVER_USER_ID
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = RM.TASK_OVER_USER_ID) AS TASK_OVER_USER_NAME
,RM.TASK_OVER_DATE
,RM.TASK_OVER_COMMENT
,RM.REGDATE AS RELEASE_REGDATE
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = RM.WRITER) AS RELEASE_WRITER
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_CHECK' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_CHECK_CNT
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_ORDER' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_ORDER_CNT
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = RM.OBJID AND DOC_TYPE='RELEASE_TAKING_OVER' AND UPPER(STATUS) = 'ACTIVE') AS RELEASE_TAKING_OVER_CNT
,CASE
WHEN (COALESCE(TRIM(RM.RELEASE_DATE),'') !='') THEN '출고완료'
WHEN TO_CHAR(NOW(),'YYYYMMDD') TO_CHAR(TO_DATE(CM.CONTRACT_COST_RESULT_DATE,'YYYY-MM-DD'),'YYYYMMDD') THEN '취소'
WHEN (COALESCE(TRIM(CM.CONTRACT_COST_RESULT_DATE),'') !='') THEN '수주'
WHEN (COALESCE(TRIM(CM.CONTRACT_COST_RESULT_DATE),'') ='') THEN '지연'
ELSE '계약'
END RELEASE_STATUS_TITLE
,RM.INSTALL_COMPLETE_DATE
,RM.INSTALL_RESULT
FROM
CM
LEFT OUTER JOIN
RELEASE_MGMT RM
ON CM.OBJID::VARCHAR = RM.PARENT_OBJID
AND CM.PRODUCT = RM.PRODUCT
WHERE 1=1
AND CM.PRODUCT IS NOT NULL
)
INSERT INTO
RELEASE_MGMT
(
OBJID
,PARENT_OBJID
,RELEASE_CAR_NO
,RELEASE_DATE
,TASK_OVER_USER_ID
,TASK_OVER_DATE
,TASK_OVER_COMMENT
,STATUS
,REGDATE
,WRITER
,PRODUCT_GROUP
,PRODUCT
,INSTALL_COMPLETE_DATE
,INSTALL_RESULT
)VALUES(
#{RELEASE_OBJID}
,#{PARENT_OBJID}
,#{RELEASE_CAR_NO}
,#{RELEASE_DATE}
,#{TASK_OVER_USER_ID}
,#{TASK_OVER_DATE}
,#{TASK_OVER_COMMENT}
,#{STATUS}
,NOW()
,#{WRITER}
,#{PRODUCT_GROUP}
,#{PRODUCT}
,#{INSTALL_COMPLETE_DATE}
,#{INSTALL_RESULT}
)ON CONFLICT (OBJID) DO
UPDATE
SET
PARENT_OBJID = #{PARENT_OBJID}
,RELEASE_CAR_NO = #{RELEASE_CAR_NO}
,RELEASE_DATE = #{RELEASE_DATE}
,WRITER = #{WRITER}
,TASK_OVER_USER_ID = #{TASK_OVER_USER_ID}
,TASK_OVER_DATE = #{TASK_OVER_DATE}
,TASK_OVER_COMMENT = #{TASK_OVER_COMMENT}
,STATUS = #{STATUS}
,PRODUCT_GROUP = #{PRODUCT_GROUP}
,PRODUCT = #{PRODUCT}
,INSTALL_COMPLETE_DATE= #{INSTALL_COMPLETE_DATE}
,INSTALL_RESULT = #{INSTALL_RESULT}
DELETE FROM RELEASE_MGMT WHERE 1=1