소재 품의서 구분 추가 #145
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user