소재 품의서 구분 추가 #145

Merged
hjjeong merged 1 commits from V20260210 into main 2026-02-23 09:34:00 +00:00
2 changed files with 27 additions and 1 deletions

View File

@@ -3908,6 +3908,14 @@ ORDER BY V.PATH2
MIN(MD.OBJID) AS OBJID,
STRING_AGG(MD.OBJID::VARCHAR, ',' ORDER BY MD.OBJID) AS ORIGINAL_OBJIDS,
MD.PART_OBJID,
/* 소재 있으면 소재 PART_OBJID, 없으면 부품 PART_OBJID */
CASE WHEN COALESCE(MIN(MD.RAW_MATERIAL_PART_NO), '') != ''
THEN COALESCE(
(SELECT PM2.OBJID::VARCHAR FROM PART_MNG PM2 WHERE PM2.PART_NO = MIN(MD.RAW_MATERIAL_PART_NO) LIMIT 1),
MD.PART_OBJID::VARCHAR
)
ELSE MD.PART_OBJID::VARCHAR
END AS PROPOSAL_PART_OBJID,
MIN(PM.PART_NO) AS PART_NO,
MIN(PM.PART_NAME) AS PART_NAME,
CASE WHEN COALESCE(MIN(MD.RAW_MATERIAL_PART_NO), '') != ''
@@ -4239,7 +4247,9 @@ ORDER BY V.PATH2
VENDOR_PM,
NET_QTY,
PO_QTY,
PRODUCTION_QTY,
USE_YN,
MATERIAL_YN,
PROPOSAL_DATE,
WRITER,
REGDATE
@@ -4254,7 +4264,9 @@ ORDER BY V.PATH2
#{VENDOR_PM},
#{NET_QTY},
#{PO_QTY},
#{PRODUCTION_QTY},
#{USE_YN},
#{MATERIAL_YN},
NOW(),
#{WRITER},
NOW()
@@ -4275,7 +4287,9 @@ ORDER BY V.PATH2
VENDOR_PM,
NET_QTY,
PO_QTY,
PRODUCTION_QTY,
USE_YN,
MATERIAL_YN,
PROPOSAL_DATE,
WRITER,
REGDATE
@@ -4290,7 +4304,9 @@ ORDER BY V.PATH2
#{VENDOR_PM},
#{NET_QTY},
#{PO_QTY},
#{PRODUCTION_QTY},
#{USE_YN},
#{MATERIAL_YN},
NOW(),
#{WRITER},
NOW()

View File

@@ -2205,7 +2205,15 @@ public class SalesMngService {
// M-BOM 기반 여부 + 소재/가공 구분에 따라 INSERT 쿼리 분기
if(!mbomHeaderObjid.isEmpty()) {
// M-BOM 기반: 그룹핑된 합산 데이터를 직접 파라미터로 전달
partParam.put("PART_OBJID", part.get("PART_OBJID"));
// 소재 있으면 소재 PART_OBJID, 없으면 부품 PART_OBJID
String rawMaterialNo = CommonUtils.checkNull(part.get("RAW_MATERIAL_NO"));
boolean isMaterial = !rawMaterialNo.isEmpty();
Object proposalPartObjid = part.get("PROPOSAL_PART_OBJID");
if(proposalPartObjid == null || "".equals(CommonUtils.checkNull(proposalPartObjid))) {
proposalPartObjid = part.get("PART_OBJID");
}
partParam.put("PART_OBJID", proposalPartObjid);
partParam.put("QTY", part.get("QTY"));
partParam.put("UNIT", CommonUtils.checkNull(part.get("UNIT")));
partParam.put("UNIT_PRICE", part.get("UNIT_PRICE"));
@@ -2213,7 +2221,9 @@ public class SalesMngService {
partParam.put("VENDOR_PM", CommonUtils.checkNull(part.get("VENDOR_PM")));
partParam.put("NET_QTY", part.get("NET_QTY"));
partParam.put("PO_QTY", part.get("PO_QTY"));
partParam.put("PRODUCTION_QTY", part.get("PRODUCTION_QTY"));
partParam.put("USE_YN", CommonUtils.checkNull(part.get("USE_YN")));
partParam.put("MATERIAL_YN", isMaterial ? "Y" : "N");
if("PROCESSING".equals(proposalType)) {
sqlSession.insert("salesMng.insertProposalPartFromMBomProcessing", partParam);