auto commit
This commit is contained in:
@@ -4790,5 +4790,74 @@
|
||||
MODIFIER = #{userId}
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- M-BOM 반제품 항목 조회 (PART_TYPE이 부품(0001812), 조립품(0001813)인 항목만, 1레벨 제외) -->
|
||||
<select id="getMbomSemiProductItems" parameterType="map" resultType="map">
|
||||
/* productionplanning.getMbomSemiProductItems - M-BOM에서 부품/조립품 조회 (1레벨 제외) */
|
||||
SELECT
|
||||
MD.PART_NO,
|
||||
MD.PART_NAME,
|
||||
COALESCE(MD.QTY, '1')::INTEGER AS ITEM_QTY,
|
||||
P.PART_TYPE,
|
||||
COALESCE((SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = P.PART_TYPE LIMIT 1), '') AS CATEGORY_NAME,
|
||||
COALESCE(P.UNIT, '') AS UNIT,
|
||||
COALESCE(P.MATERIAL, '') AS MATERIAL,
|
||||
COALESCE(P.SPEC, '') AS SPEC
|
||||
FROM MBOM_DETAIL MD
|
||||
INNER JOIN PART_MNG P ON P.OBJID::VARCHAR = MD.PART_OBJID
|
||||
WHERE MD.MBOM_HEADER_OBJID = #{mbomHeaderObjid}
|
||||
AND MD.STATUS = 'ACTIVE'
|
||||
AND (MD.PARENT_OBJID IS NOT NULL AND MD.PARENT_OBJID != '') -- 1레벨 제외 (PARENT_OBJID가 있는 항목만)
|
||||
AND P.PART_TYPE IN ('0001812', '0001813') -- 부품, 조립품
|
||||
ORDER BY P.PART_TYPE, MD.PART_NO
|
||||
</select>
|
||||
|
||||
<!-- M-BOM 원자재(구매품) 항목 조회 (PART_TYPE이 구매품(0000063)인 항목만, 1레벨 제외) -->
|
||||
<select id="getMbomRawMaterialItems" parameterType="map" resultType="map">
|
||||
/* productionplanning.getMbomRawMaterialItems - M-BOM에서 구매품 조회 (1레벨 제외) */
|
||||
SELECT
|
||||
MD.PART_NO,
|
||||
MD.PART_NAME,
|
||||
COALESCE(MD.QTY, '1')::INTEGER AS ITEM_QTY,
|
||||
P.PART_TYPE,
|
||||
COALESCE((SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = P.PART_TYPE LIMIT 1), '') AS CATEGORY_NAME,
|
||||
COALESCE(P.UNIT, '') AS UNIT,
|
||||
COALESCE(P.MATERIAL, '') AS MATERIAL,
|
||||
COALESCE(P.SPEC, '') AS SPEC,
|
||||
'' AS RAW_MATERIAL,
|
||||
'' AS RAW_MATERIAL_SIZE,
|
||||
'' AS RAW_MATERIAL_PART_NO,
|
||||
0 AS RAW_MATERIAL_QTY
|
||||
FROM MBOM_DETAIL MD
|
||||
INNER JOIN PART_MNG P ON P.OBJID::VARCHAR = MD.PART_OBJID
|
||||
WHERE MD.MBOM_HEADER_OBJID = #{mbomHeaderObjid}
|
||||
AND MD.STATUS = 'ACTIVE'
|
||||
AND (MD.PARENT_OBJID IS NOT NULL AND MD.PARENT_OBJID != '') -- 1레벨 제외 (PARENT_OBJID가 있는 항목만)
|
||||
AND P.PART_TYPE = '0000063' -- 구매품
|
||||
ORDER BY MD.PART_NO
|
||||
</select>
|
||||
|
||||
<!-- M-BOM 원소재 항목 조회 (RAW_MATERIAL_PART_NO가 있는 항목만) -->
|
||||
<select id="getMbomRawSourceItems" parameterType="map" resultType="map">
|
||||
/* productionplanning.getMbomRawSourceItems - M-BOM에서 원소재 조회 */
|
||||
SELECT
|
||||
MD.RAW_MATERIAL_PART_NO AS PART_NO,
|
||||
MD.RAW_MATERIAL AS PART_NAME,
|
||||
COALESCE(MD.REQUIRED_QTY, '0')::NUMERIC AS ITEM_QTY,
|
||||
'원소재' AS CATEGORY_NAME,
|
||||
'' AS UNIT,
|
||||
MD.RAW_MATERIAL AS MATERIAL,
|
||||
MD.RAW_MATERIAL_SIZE AS SPEC,
|
||||
MD.RAW_MATERIAL,
|
||||
MD.RAW_MATERIAL_SIZE,
|
||||
MD.RAW_MATERIAL_PART_NO,
|
||||
COALESCE(MD.REQUIRED_QTY, '0')::NUMERIC AS RAW_MATERIAL_QTY
|
||||
FROM MBOM_DETAIL MD
|
||||
WHERE MD.MBOM_HEADER_OBJID = #{mbomHeaderObjid}
|
||||
AND MD.STATUS = 'ACTIVE'
|
||||
AND MD.RAW_MATERIAL_PART_NO IS NOT NULL
|
||||
AND MD.RAW_MATERIAL_PART_NO != ''
|
||||
ORDER BY MD.RAW_MATERIAL_PART_NO
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -665,6 +665,9 @@ VALUES
|
||||
SRM.PROJECT_NO,
|
||||
PM.PROJECT_NO AS PROJECT_NUMBER,
|
||||
PM.PROJECT_NAME,
|
||||
PM.PART_NO,
|
||||
PM.PART_NAME,
|
||||
PM.DUE_DATE,
|
||||
COALESCE(
|
||||
PM.OBJID,
|
||||
(SELECT OBJID FROM PROJECT_MGMT WHERE PROJECT_NO = SRM.PROJECT_NO LIMIT 1)
|
||||
@@ -718,9 +721,9 @@ VALUES
|
||||
COALESCE(NULLIF(SRM.AREA_CD, ''), SM.AREA_CD) AS AREA_CD, -- 국내/해외
|
||||
COALESCE(NULLIF(SRM.CUSTOMER_OBJID, ''), SM.OBJID::VARCHAR) AS CUSTOMER_OBJID, -- 고객사
|
||||
COALESCE(NULLIF(SRM.PAID_TYPE, ''), CM.PAID_TYPE) AS PAID_TYPE, -- 유/무상
|
||||
CM.CATEGORY_CD AS CATEGORY_CD, -- 제품유형 코드 ID (드롭다운 선택용)
|
||||
CM.CATEGORY_CD AS CATEGORY_CD -- 제품유형 코드 ID (드롭다운 선택용)
|
||||
-- 품번/품명: 첫 번째 품목 + 외 N건 형태
|
||||
(SELECT
|
||||
<!-- (SELECT
|
||||
CASE
|
||||
WHEN (SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) > 1 THEN
|
||||
COALESCE((SELECT PM2.PART_NO FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '') || ' 외 ' || ((SELECT COUNT(*) FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID) - 1)::TEXT || '건'
|
||||
@@ -735,7 +738,7 @@ VALUES
|
||||
ELSE
|
||||
COALESCE((SELECT PM2.PART_NAME FROM PART_MNG PM2 WHERE PM2.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)), '')
|
||||
END
|
||||
) AS PART_NAME
|
||||
) AS PART_NAME -->
|
||||
|
||||
FROM
|
||||
SALES_REQUEST_MASTER SRM
|
||||
@@ -3084,7 +3087,7 @@ UPDATE SET
|
||||
0 AS ORDER_QTY,
|
||||
0 AS ITEM_QTY2,
|
||||
0 AS PRODUCTION_QTY,
|
||||
'' AS PROCESSING_VENDOR,
|
||||
COALESCE(SRP.PROCESSING_VENDOR, '') AS PROCESSING_VENDOR,
|
||||
NULL AS PROCESSING_DEADLINE,
|
||||
NULL AS GRINDING_DEADLINE,
|
||||
-- 구매 관련 컬럼 (SALES_REQUEST_PART에서 조회)
|
||||
@@ -3376,6 +3379,7 @@ ORDER BY V.PATH2
|
||||
NET_QTY = COALESCE(NULLIF(TRIM(#{NET_QTY}::TEXT), '')::NUMERIC, 0),
|
||||
PO_QTY = COALESCE(NULLIF(TRIM(#{PO_QTY}::TEXT), '')::NUMERIC, 0),
|
||||
VENDOR = #{VENDOR_PM},
|
||||
PROCESSING_VENDOR = #{PROCESSING_VENDOR},
|
||||
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
|
||||
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
|
||||
EDITER = #{EDITER},
|
||||
@@ -3390,6 +3394,7 @@ ORDER BY V.PATH2
|
||||
NET_QTY = COALESCE(NULLIF(TRIM(#{NET_QTY}::TEXT), '')::NUMERIC, 0),
|
||||
PO_QTY = COALESCE(NULLIF(TRIM(#{PO_QTY}::TEXT), '')::NUMERIC, 0),
|
||||
VENDOR_PM = #{VENDOR_PM},
|
||||
PROCESSING_VENDOR = #{PROCESSING_VENDOR},
|
||||
UNIT_PRICE = COALESCE(NULLIF(TRIM(#{UNIT_PRICE}::TEXT), '')::NUMERIC, 0),
|
||||
TOTAL_PRICE = COALESCE(NULLIF(TRIM(#{TOTAL_PRICE}::TEXT), '')::NUMERIC, 0),
|
||||
WRITER = #{EDITER}
|
||||
|
||||
Reference in New Issue
Block a user