구매요청서 ui 수정만 해놓음

This commit is contained in:
leeheejin
2025-11-24 18:37:52 +09:00
parent 42d16f89e7
commit 8c1287dd04
9 changed files with 658 additions and 594 deletions

View File

@@ -9062,15 +9062,15 @@ SELECT
</delete>
<!-- 6. Excel 업로드 - 중복 체크 -->
<select id="getDuplicateClientExcel" parameterType="map" resultType="map">
<!-- <select id="getDuplicateClientExcel" parameterType="map" resultType="map">
SELECT OBJID, CLIENT_CD, CLIENT_NM
FROM CLIENT_MNG
WHERE UPPER(CLIENT_CD) = UPPER(#{CLIENT_CD})
LIMIT 1
</select>
</select> -->
<!-- 7. Excel 업로드 - 일괄 INSERT -->
<insert id="insertClientExcel" parameterType="map">
<!-- <insert id="insertClientExcel" parameterType="map">
INSERT INTO CLIENT_MNG (
OBJID,
COMP_CODE,
@@ -9300,10 +9300,10 @@ SELECT
#{insert_ip},
NOW()
)
</insert>
</insert> -->
<!-- 8. Excel 업로드 - 중복/신규 건수 조회 -->
<select id="countExcelclient" parameterType="map" resultType="map">
<!-- <select id="countExcelclient" parameterType="map" resultType="map">
SELECT
COUNT(CASE WHEN DUP_YN = 'Y' THEN 1 END) AS DUP_CNT,
COUNT(CASE WHEN DUP_YN = 'N' THEN 1 END) AS NOW_CNT
@@ -9323,7 +9323,7 @@ SELECT
AND DOC_TYPE = 'CLIENT_EXCEL_IMPORT'
) T
) RESULT
</select>
</select> -->
</mapper>

View File

@@ -502,6 +502,7 @@
,EXCHANGE_RATE
,EST_PRICE
,EST_SUPPLY_PRICE
,IS_DIRECT_ORDER
,(SELECT COUNT(1) FROM ESTIMATE_TEMPLATE WHERE CONTRACT_OBJID = T.OBJID) AS EST_STATUS
,(
SELECT IS_SEND
@@ -901,6 +902,12 @@
<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>
<!-- 통합 등록 건 제외 (견적관리에서는 숨김) -->
<if test="list_type != null and 'estimate'.equals(list_type)">
AND COALESCE(IS_DIRECT_ORDER, 'N') != 'Y'
</if>
ORDER BY REGDATE DESC
</select>
@@ -4865,6 +4872,88 @@ WHERE
WHERE OBJID = #{objId}
</update>
<!-- 수주 합계만 업데이트 -->
<update id="updateOrderTotalAmounts" parameterType="map">
UPDATE CONTRACT_MGMT
SET
ORDER_SUPPLY_PRICE = #{order_supply_price},
ORDER_VAT = #{order_vat},
ORDER_TOTAL_AMOUNT = #{order_total_amount}
WHERE OBJID = #{objId}
</update>
<!-- 통합 등록 팝업용 견적요청 및 수주 정보 저장/수정 -->
<update id="saveEstimateAndOrderInfo" parameterType="map">
INSERT INTO CONTRACT_MGMT
(
OBJID,
CATEGORY_CD,
CUSTOMER_OBJID,
PRODUCT,
AREA_CD,
CUSTOMER_EQUIP_NAME,
CUSTOMER_PROJECT_NAME,
CUSTOMER_PRODUCTION_NO,
MECHANICAL_TYPE,
PAID_TYPE,
RECEIPT_DATE,
REQ_DEL_DATE,
CONTRACT_RESULT,
PO_NO,
ORDER_DATE,
CONTRACT_CURRENCY,
EXCHANGE_RATE,
REGDATE,
WRITER,
CONTRACT_NO,
IS_DIRECT_ORDER
)
VALUES
(
#{objId},
#{category_cd},
#{customer_objid},
#{product},
#{area_cd},
#{customer_equip_name},
#{customer_project_name},
#{customer_production_no},
#{mechanical_type},
#{paid_type},
#{receipt_date},
#{req_del_date},
#{contract_result},
#{po_no},
#{order_date},
#{contract_currency},
#{exchange_rate},
NOW(),
#{writer},
(SELECT TO_CHAR(NOW(),'yy')::VARCHAR ||'C-'||LPAD((SELECT NEXTVAL('contract_mgmt_seq'))::VARCHAR ,4,'0')),
#{is_direct_order}
)
ON CONFLICT (OBJID) DO
UPDATE
SET
CATEGORY_CD = #{category_cd},
CUSTOMER_OBJID = #{customer_objid},
PRODUCT = #{product},
AREA_CD = #{area_cd},
CUSTOMER_EQUIP_NAME = #{customer_equip_name},
CUSTOMER_PROJECT_NAME = #{customer_project_name},
CUSTOMER_PRODUCTION_NO = #{customer_production_no},
MECHANICAL_TYPE = #{mechanical_type},
PAID_TYPE = #{paid_type},
RECEIPT_DATE = #{receipt_date},
REQ_DEL_DATE = #{req_del_date},
CONTRACT_RESULT = #{contract_result},
PO_NO = #{po_no},
ORDER_DATE = #{order_date},
CONTRACT_CURRENCY = #{contract_currency},
EXCHANGE_RATE = #{exchange_rate},
IS_DIRECT_ORDER = #{is_direct_order}
</update>
<!-- 계약 기본 정보 조회 (제품구분 등) -->
<select id="getContractBasicInfo" parameterType="map" resultType="map">
SELECT
@@ -5022,6 +5111,49 @@ WHERE
)
</insert>
<!-- 통합 등록 팝업용 품목 저장 (수주 정보 포함) -->
<insert id="insertContractItemWithOrder" parameterType="map">
INSERT INTO CONTRACT_ITEM (
OBJID,
CONTRACT_OBJID,
SEQ,
PART_OBJID,
PART_NO,
PART_NAME,
QUANTITY,
DUE_DATE,
CUSTOMER_REQUEST,
RETURN_REASON,
REGDATE,
WRITER,
STATUS,
ORDER_QUANTITY,
ORDER_UNIT_PRICE,
ORDER_SUPPLY_PRICE,
ORDER_VAT,
ORDER_TOTAL_AMOUNT
) VALUES (
#{objId},
#{contractObjId},
#{seq},
#{partObjId},
#{partNo},
#{partName},
CASE WHEN #{quantity} = '' OR #{quantity} IS NULL THEN NULL ELSE #{quantity}::INTEGER END,
#{dueDate},
#{customerRequest},
#{returnReason},
NOW(),
#{writer},
'ACTIVE',
#{orderQuantity},
#{orderUnitPrice},
#{orderSupplyPrice},
#{orderVat},
#{orderTotalAmount}
)
</insert>
<!-- 품목별 S/N 저장 -->
<insert id="insertContractItemSerial" parameterType="map">
INSERT INTO CONTRACT_ITEM_SERIAL (
@@ -5058,6 +5190,11 @@ WHERE
CI.RETURN_REASON,
CI.REGDATE,
CI.WRITER,
CI.ORDER_QUANTITY,
CI.ORDER_UNIT_PRICE,
CI.ORDER_SUPPLY_PRICE,
CI.ORDER_VAT,
CI.ORDER_TOTAL_AMOUNT,
STRING_AGG(CIS.SERIAL_NO, ', ' ORDER BY CIS.SEQ) AS SERIAL_NOS,
COUNT(CIS.OBJID) AS SERIAL_COUNT
FROM
@@ -5082,8 +5219,14 @@ WHERE
CI.QUANTITY,
CI.DUE_DATE,
CI.CUSTOMER_REQUEST,
CI.RETURN_REASON,
CI.REGDATE,
CI.WRITER
CI.WRITER,
CI.ORDER_QUANTITY,
CI.ORDER_UNIT_PRICE,
CI.ORDER_SUPPLY_PRICE,
CI.ORDER_VAT,
CI.ORDER_TOTAL_AMOUNT
ORDER BY
CI.SEQ
</select>