일단저장

This commit is contained in:
leeheejin
2025-11-13 09:55:36 +09:00
parent c394900a83
commit 5d60957bca
6 changed files with 194 additions and 188 deletions

View File

@@ -887,18 +887,18 @@
COALESCE(SR.sales_vat, 0) AS SALES_VAT,
COALESCE(SR.sales_total_amount, 0) AS SALES_TOTAL_AMOUNT,
COALESCE(SR.sales_total_amount, 0) AS SALES_TOTAL_AMOUNT_KRW,
-- 잔량 계산: 수주수량 - 모든 분할 출하의 합계
-- 잔량 계산: 수주수량 - shipment_log의 split_quantity 합계
COALESCE(T.QUANTITY::numeric, 0) - COALESCE(
(SELECT SUM(sales_quantity)
FROM sales_registration
WHERE project_no LIKE T.PROJECT_NO || '%'),
(SELECT SUM(COALESCE(split_quantity, 0))
FROM shipment_log
WHERE target_objid = T.PROJECT_NO),
0
) AS REMAINING_QUANTITY,
-- 잔량원화총액 계산: (수주수량 - 모든 분할 출하 합계) * 판매단가
-- 잔량원화총액 계산: (수주수량 - shipment_log 합계) * 판매단가
(COALESCE(T.QUANTITY::numeric, 0) - COALESCE(
(SELECT SUM(sales_quantity)
FROM sales_registration
WHERE project_no LIKE T.PROJECT_NO || '%'),
(SELECT SUM(COALESCE(split_quantity, 0))
FROM shipment_log
WHERE target_objid = T.PROJECT_NO),
0
)) * COALESCE(SR.sales_unit_price, 0) AS REMAINING_AMOUNT_KRW,
COALESCE(SR.sales_currency, T.CONTRACT_CURRENCY) AS SALES_CURRENCY,
@@ -1630,7 +1630,13 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
<!-- 모든 분할 출하의 총 판매 수량 조회 -->
<select id="getTotalSalesQuantity" parameterType="map" resultType="map">
/* salesNcollectMgmt.getTotalSalesQuantity - project_no로 시작하는 모든 레코드의 판매 수량 합계 */
SELECT COALESCE(SUM(NULLIF(sales_quantity, '')::NUMERIC), 0) as total
SELECT COALESCE(SUM(
CASE
WHEN sales_quantity IS NULL THEN 0
WHEN TRIM(CAST(sales_quantity AS TEXT)) = '' THEN 0
ELSE CAST(sales_quantity AS NUMERIC)
END
), 0) as total
FROM sales_registration
WHERE project_no LIKE #{orderNo} || '%'
</select>
@@ -1732,23 +1738,21 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC
SELECT OBJID FROM PROJECT_MGMT WHERE PROJECT_NO = #{orderNo}
</select>
<!-- 출하일 상세 내역 조회 (모든 분할 출하 포함) -->
<!-- 출하일 상세 내역 조회 (shipment_log에서 조회) -->
<select id="getShippingDetailList" parameterType="map" resultType="map">
/* salesNcollectMgmt.getShippingDetailList - 모든 분할 출하 포함 */
/* salesNcollectMgmt.getShippingDetailList - shipment_log에서 모든 분할 출하 조회 */
SELECT
COALESCE(TO_CHAR(SR.shipping_date, 'YYYY-MM-DD'), '미등록') AS shipping_date,
COALESCE(SR.sales_quantity, 0) AS shipping_quantity,
COALESCE(SR.shipping_order_status, '미등록') AS shipping_order_status,
COALESCE(SR.serial_no, '-') AS serial_no,
SR.project_no,
CASE
WHEN SR.project_no = #{projectNo} THEN '최초 출하'
ELSE '분할 출하 ' || SUBSTRING(SR.project_no FROM LENGTH(#{projectNo}) + 2)
END AS source
FROM sales_registration SR
WHERE SR.project_no LIKE #{projectNo} || '%'
COALESCE(TO_CHAR(SL.shipping_date, 'YYYY-MM-DD'), '미등록') AS shipping_date,
COALESCE(SL.split_quantity, 0) AS shipping_quantity,
COALESCE(SL.shipping_status, '미등록') AS shipping_order_status,
COALESCE(SL.serial_no, '-') AS serial_no,
SL.target_objid AS project_no,
'분할 출하 ' || SL.log_id AS source,
TO_CHAR(SL.reg_date, 'YYYY-MM-DD HH24:MI:SS') AS reg_date
FROM shipment_log SL
WHERE SL.target_objid = #{projectNo}
ORDER BY shipping_date DESC, project_no
ORDER BY SL.shipping_date DESC, SL.log_id DESC
</select>
<!-- 거래명세서 - 고객 정보 조회 -->