Update contractMgmt.xml

This commit is contained in:
Johngreen
2025-10-17 12:11:48 +09:00
parent 3ad134fc04
commit d9160990de

View File

@@ -501,9 +501,25 @@
,EST_PRICE
,EST_SUPPLY_PRICE
,(SELECT COUNT(1) FROM ESTIMATE_TEMPLATE WHERE CONTRACT_OBJID = T.OBJID) AS EST_STATUS
,(
SELECT IS_SEND
FROM MAIL_LOG
WHERE MAIL_TYPE = 'CONTRACT_ESTIMATE'
AND TITLE LIKE '%[OBJID:' || T.OBJID || ']%'
ORDER BY LOG_TIME DESC
LIMIT 1
) AS MAIL_SEND_STATUS
,(
SELECT TO_CHAR(LOG_TIME, 'YYYY-MM-DD HH24:MI')
FROM MAIL_LOG
WHERE MAIL_TYPE = 'CONTRACT_ESTIMATE'
AND TITLE LIKE '%[OBJID:' || T.OBJID || ']%'
ORDER BY LOG_TIME DESC
LIMIT 1
) AS MAIL_SEND_DATE
,A.APPR_STATUS
,A.APPROVAL_OBJID
,A.ROUTE_OBJID
,A.ROUTE_OBJID
FROM
CONTRACT_MGMT AS T
LEFT OUTER JOIN
@@ -887,6 +903,11 @@
,QUANTITY
,CUSTOMER_REQUEST
,EXCHANGE_RATE
,ORDER_DATE
,ORDER_UNIT_PRICE
,ORDER_SUPPLY_PRICE
,ORDER_VAT
,ORDER_TOTAL_AMOUNT
)
VALUES
(
@@ -949,6 +970,11 @@
,#{quantity}
,#{customer_request}
,#{exchange_rate}
,#{order_date}
,#{unit_price}
,#{supply_price}
,#{vat}
,#{total_amount}
)
ON CONFLICT (OBJID) DO
UPDATE
@@ -1008,6 +1034,11 @@
,QUANTITY = #{quantity}
,CUSTOMER_REQUEST = #{customer_request}
,EXCHANGE_RATE = #{exchange_rate}
,ORDER_DATE = #{order_date}
,ORDER_UNIT_PRICE = #{unit_price}
,ORDER_SUPPLY_PRICE = #{supply_price}
,ORDER_VAT = #{vat}
,ORDER_TOTAL_AMOUNT = #{total_amount}
</update>
<update id="saveContractMgmtInfo_old" parameterType="map">
@@ -1389,6 +1420,11 @@
,QUANTITY
,CUSTOMER_REQUEST
,EXCHANGE_RATE
,ORDER_DATE
,ORDER_UNIT_PRICE
,ORDER_SUPPLY_PRICE
,ORDER_VAT
,ORDER_TOTAL_AMOUNT
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt01' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT1
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt02' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT2
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt03' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT3
@@ -3907,8 +3943,7 @@ ORDER BY ASM.SUPPLY_NAME
CHG_USER_ID = #{chg_user_id},
CHGDATE = NOW()
WHERE
CONTRACT_OBJID = #{objId}
AND TEMPLATE_TYPE = #{template_type}
OBJID = #{template_objid}
</update>
<!-- 견적서 템플릿 품목 삭제 -->
@@ -3963,8 +3998,208 @@ ORDER BY ASM.SUPPLY_NAME
CHG_USER_ID = #{chg_user_id},
CHGDATE = NOW()
WHERE
CONTRACT_OBJID = #{objId}
AND TEMPLATE_TYPE = #{template_type}
OBJID = #{template_objid}
</update>
<!-- 최종 차수 견적서 조회 (메일 발송용) -->
<select id="getLatestEstimateTemplate" parameterType="map" resultType="map">
SELECT
OBJID AS "OBJID",
CONTRACT_OBJID AS "CONTRACT_OBJID",
TEMPLATE_TYPE AS "TEMPLATE_TYPE",
EXECUTOR AS "EXECUTOR",
RECIPIENT AS "RECIPIENT",
ESTIMATE_NO AS "ESTIMATE_NO",
CONTACT_PERSON AS "CONTACT_PERSON",
GREETING_TEXT AS "GREETING_TEXT",
MODEL_NAME AS "MODEL_NAME",
MODEL_CODE AS "MODEL_CODE",
EXECUTOR_DATE AS "EXECUTOR_DATE",
NOTE1 AS "NOTE1",
NOTE2 AS "NOTE2",
NOTE3 AS "NOTE3",
NOTE4 AS "NOTE4",
WRITER AS "WRITER",
TO_CHAR(REGDATE, 'YYYY-MM-DD HH24:MI') AS "REGDATE",
CHG_USER_ID AS "CHG_USER_ID",
TO_CHAR(CHGDATE, 'YYYY-MM-DD HH24:MI') AS "CHGDATE",
CATEGORIES_JSON AS "CATEGORIES_JSON"
FROM
ESTIMATE_TEMPLATE
WHERE
CONTRACT_OBJID = #{objId}
ORDER BY
TEMPLATE_TYPE,
REGDATE DESC
LIMIT 1
</select>
<!-- 계약 정보 조회 (메일 발송용) -->
<select id="getContractInfoForMail" parameterType="map" resultType="map">
SELECT
T.OBJID,
T.CUSTOMER_OBJID,
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
(SELECT EMAIL FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_EMAIL,
T.CUSTOMER_PROJECT_NAME,
T.CONTRACT_NO,
T.PRODUCT,
CODE_NAME(T.PRODUCT) AS PRODUCT_NAME,
T.WRITER,
(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = T.WRITER) AS WRITER_NAME,
(SELECT EMAIL FROM USER_INFO AS O WHERE O.USER_ID = T.WRITER) AS WRITER_EMAIL,
TO_CHAR(T.REGDATE, 'YYYY-MM-DD') AS REGDATE
FROM
CONTRACT_MGMT AS T
WHERE
OBJID::VARCHAR = #{objId}
</select>
<!-- //주문서관리 리스트 -->
<select id="orderMgmtGrodList" parameterType="map" resultType="map">
SELECT
T.*
FROM
<include refid="contractBase"/> T
WHERE 1=1
<if test="Year !=null and Year != '' ">
AND SUBSTR(CONTRACT_DATE,0,5) = #{Year}
</if>
<if test="category_cd !=null and category_cd != '' ">
AND category_cd = #{category_cd}
</if>
<if test="customer_objid !=null and customer_objid != '' ">
AND customer_objid = #{customer_objid}
</if>
<if test="product != null and product !='' ">
AND product = #{product}
</if>
<if test="status_cd !=null and status_cd !=''">
AND status_cd = #{status_cd}
</if>
<if test="result_cd !=null and result_cd !=''">
AND result_cd = #{result_cd}
</if>
<if test="contract_result !=null and contract_result !=''">
AND contract_result = #{contract_result}
</if>
<if test="contract_start_date != null and !''.equals(contract_start_date)">
AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{contract_start_date}, 'YYYY-MM-DD')
</if>
<if test="contract_end_date != null and !''.equals(contract_end_date)">
AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{contract_end_date}, 'YYYY-MM-DD')
</if>
<if test="pm_user_id !=null and pm_user_id !=''">
AND pm_user_id = #{pm_user_id}
</if>
<if test="contract_month != null and !''.equals(contract_month)">
AND TO_DATE(TO_CHAR(TO_DATE(CONTRACT_DATE,'YYYY-MM-DD'),'YYYY-MM-DD'),'YYYY-MM') <![CDATA[ = ]]> TO_DATE(SUBSTRING(#{contract_month} FROM 1 FOR 4) || '-' || SUBSTRING(#{contract_month} FROM 5 FOR 2), 'YYYY-MM')
</if>
<!-- 견적관리 추가 검색조건 -->
<if test="appr_status !=null and appr_status != '' ">
AND APPR_STATUS = #{appr_status}
</if>
<if test="area_cd != null and area_cd !='' ">
AND AREA_CD = #{area_cd}
</if>
<if test="paid_type != null and paid_type !='' ">
AND PAID_TYPE = #{paid_type}
</if>
<if test="search_partNo != null and search_partNo != ''">
AND UPPER(PART_NO) LIKE UPPER('%${search_partNo}%')
</if>
<if test="search_partName != null and search_partName != ''">
AND UPPER(PART_NAME) LIKE UPPER('%${search_partName}%')
</if>
<if test="search_serialNo != null and search_serialNo != ''">
AND UPPER(SERIAL_NO) LIKE UPPER('%${search_serialNo}%')
</if>
<if test="receipt_start_date != null and !''.equals(receipt_start_date)">
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{receipt_start_date}, 'YYYY-MM-DD')
</if>
<if test="receipt_end_date != null and !''.equals(receipt_end_date)">
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{receipt_end_date}, 'YYYY-MM-DD')
</if>
<if test="due_start_date != null and !''.equals(due_start_date)">
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{due_start_date}, 'YYYY-MM-DD')
</if>
<if test="due_end_date != null and !''.equals(due_end_date)">
AND TO_DATE(DUE_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{due_end_date}, 'YYYY-MM-DD')
</if>
ORDER BY REGDATE DESC
</select>
<!-- 영업정보 조회 (수주등록용) -->
<select id="getContractInfo" parameterType="map" resultType="map">
SELECT
OBJID,
CONTRACT_NO,
CONTRACT_CURRENCY,
(SELECT CODE_NAME FROM TB_CODE WHERE CODE_ID = CONTRACT_CURRENCY) AS CONTRACT_CURRENCY_NAME,
EXCHANGE_RATE,
QUANTITY,
PART_NO,
PART_NAME,
-- 수주정보 (기존 컬럼 활용)
CONTRACT_RESULT,
PO_NO,
ORDER_DATE,
ORDER_UNIT_PRICE,
ORDER_SUPPLY_PRICE,
ORDER_VAT,
ORDER_TOTAL_AMOUNT
FROM CONTRACT_MGMT
WHERE OBJID = #{objId}
</select>
<!-- 수주정보 조회 -->
<select id="getOrderInfo" parameterType="map" resultType="map">
SELECT
OBJID,
CONTRACT_NO,
CONTRACT_RESULT,
PO_NO,
ORDER_DATE,
QUANTITY,
ORDER_UNIT_PRICE AS UNIT_PRICE,
ORDER_SUPPLY_PRICE AS SUPPLY_PRICE,
ORDER_VAT AS VAT,
ORDER_TOTAL_AMOUNT AS TOTAL_AMOUNT,
CONTRACT_CURRENCY AS CURRENCY,
EXCHANGE_RATE
FROM CONTRACT_MGMT
WHERE OBJID = #{objId}
</select>
<!-- 수주정보 업데이트 -->
<update id="updateOrderInfo" parameterType="map">
UPDATE CONTRACT_MGMT
SET
CONTRACT_RESULT = #{contract_result},
PO_NO = #{po_no},
ORDER_DATE = #{order_date},
QUANTITY = #{quantity},
ORDER_UNIT_PRICE = #{unit_price},
ORDER_SUPPLY_PRICE = #{supply_price},
ORDER_VAT = #{vat},
ORDER_TOTAL_AMOUNT = #{total_amount},
CONTRACT_CURRENCY = #{contract_currency},
EXCHANGE_RATE = #{exchange_rate}
WHERE OBJID = #{contractObjId}
</update>
</mapper>