제작수량 오류 등 수정
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user