제작수량 오류 등 수정

This commit is contained in:
2025-11-26 11:58:52 +09:00
parent a3d0d09355
commit 2f9c7bbaf2
6 changed files with 369 additions and 62 deletions

View File

@@ -1122,7 +1122,7 @@ public class ProductionPlanningController extends BaseService {
System.out.println("MBOM_STATUS: " + projectInfo.get("MBOM_STATUS"));
String bomReportObjid = "";
boolean isSavedMbom = false;
String bomDataType = ""; // "SAVED", "TEMPLATE", "ASSIGNED_EBOM", "ASSIGNED_MBOM"
// 1. 먼저 저장된 M-BOM이 있는지 확인 (MBOM_HEADER 테이블)
Map<String, Object> savedMbomParam = new HashMap<>();
@@ -1132,7 +1132,7 @@ public class ProductionPlanningController extends BaseService {
if(savedMbom != null && savedMbom.get("OBJID") != null) {
// 저장된 M-BOM이 있으면 해당 M-BOM 사용
bomReportObjid = CommonUtils.checkNull(savedMbom.get("OBJID"));
isSavedMbom = true;
bomDataType = "SAVED";
System.out.println("저장된 M-BOM 사용: " + bomReportObjid);
} else {
// 저장된 M-BOM이 없으면 할당된 BOM 정보 사용
@@ -1142,9 +1142,11 @@ public class ProductionPlanningController extends BaseService {
if("EBOM".equals(sourceBomType) && !"".equals(sourceEbomObjId)) {
bomReportObjid = sourceEbomObjId;
bomDataType = "ASSIGNED_EBOM";
System.out.println("할당된 E-BOM 사용: " + bomReportObjid);
} else if("MBOM".equals(sourceBomType) && !"".equals(sourceMbomObjId)) {
bomReportObjid = sourceMbomObjId;
bomDataType = "ASSIGNED_MBOM";
System.out.println("할당된 M-BOM 사용: " + bomReportObjid);
} else {
// 할당된 BOM도 없으면 Machine 이외 제품은 템플릿 확인
@@ -1160,7 +1162,7 @@ public class ProductionPlanningController extends BaseService {
if(template != null && !template.isEmpty()) {
bomReportObjid = CommonUtils.checkNull(template.get("TEMPLATE_HEADER_OBJID"));
isSavedMbom = true; // 템플릿도 MBOM_DETAIL에서 조회
bomDataType = "TEMPLATE";
System.out.println("템플릿 M-BOM 사용: " + bomReportObjid);
} else {
bomReportObjid = CommonUtils.checkNull(projectInfo.get("BOM_REPORT_OBJID"));
@@ -1177,21 +1179,34 @@ public class ProductionPlanningController extends BaseService {
List<Map<String, Object>> mbomDetailList = null;
if(!"".equals(bomReportObjid)) {
if(isSavedMbom) {
// 저장된 M-BOM: MBOM_DETAIL 테이블에서 조회
if("SAVED".equals(bomDataType)) {
// 저장된 M-BOM: MBOM_DETAIL 테이블에서 조회 (ORDER_QTY, PRODUCTION_QTY 포함)
Map<String, Object> mbomParam = new HashMap<>();
mbomParam.put("mbomHeaderObjid", bomReportObjid);
List tempList = commonService.selectList("productionplanning.getSavedMbomTreeList", request, mbomParam);
// MyBatis resultType="map"은 소문자로 반환하므로 대문자로 변환 필요
mbomDetailList = (List<Map<String, Object>>) (List<?>) CommonUtils.keyChangeUpperList(tempList);
System.out.println("저장된 M-BOM 조회 - mbomDetailList size: " + (mbomDetailList != null ? mbomDetailList.size() : 0));
} else {
// 할당된 E-BOM/M-BOM: BOM_PART_QTY 테이블에서 조회
} else if("TEMPLATE".equals(bomDataType)) {
// 템플릿 M-BOM: MBOM_DETAIL 테이블에서 조회 (ORDER_QTY, PRODUCTION_QTY 제외)
Map<String, Object> mbomParam = new HashMap<>();
mbomParam.put("mbomHeaderObjid", bomReportObjid);
List tempList = commonService.selectList("productionplanning.getMbomTemplateDetails", request, mbomParam);
mbomDetailList = (List<Map<String, Object>>) (List<?>) CommonUtils.keyChangeUpperList(tempList);
System.out.println("템플릿 M-BOM 조회 - mbomDetailList size: " + (mbomDetailList != null ? mbomDetailList.size() : 0));
} else if("ASSIGNED_EBOM".equals(bomDataType)) {
// 할당된 E-BOM: BOM_PART_QTY 테이블에서 조회
Map<String, Object> bomParam = new HashMap<>();
bomParam.put("bomReportObjId", bomReportObjid);
bomParam.put("search_type", "working");
mbomDetailList = commonService.selectList("partMng.getBOMTreeList", request, bomParam);
System.out.println("할당된 BOM 조회 - mbomDetailList size: " + (mbomDetailList != null ? mbomDetailList.size() : 0));
System.out.println("할당된 E-BOM 조회 - mbomDetailList size: " + (mbomDetailList != null ? mbomDetailList.size() : 0));
} else if("ASSIGNED_MBOM".equals(bomDataType)) {
// 할당된 M-BOM: MBOM_DETAIL 테이블에서 조회 (ORDER_QTY, PRODUCTION_QTY 포함)
Map<String, Object> mbomParam = new HashMap<>();
mbomParam.put("mbomHeaderObjid", bomReportObjid);
List tempList = commonService.selectList("productionplanning.getSavedMbomTreeList", request, mbomParam);
mbomDetailList = (List<Map<String, Object>>) (List<?>) CommonUtils.keyChangeUpperList(tempList);
System.out.println("할당된 M-BOM 조회 - mbomDetailList size: " + (mbomDetailList != null ? mbomDetailList.size() : 0));
}
}