m-bom 수정
This commit is contained in:
@@ -1016,9 +1016,45 @@ public class ProductionPlanningService {
|
||||
boolean result = false;
|
||||
|
||||
try {
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession(false); // 수동 커밋
|
||||
|
||||
String projectObjId = CommonUtils.checkNull(paramMap.get("projectObjId"));
|
||||
|
||||
// 1. 기존 M-BOM 데이터 비활성화 (새로운 BOM 할당 시 초기화)
|
||||
if(!"".equals(projectObjId)) {
|
||||
// 해당 프로젝트의 기존 활성 M-BOM HEADER 조회
|
||||
Map<String, Object> queryParam = new HashMap<>();
|
||||
queryParam.put("projectObjId", projectObjId);
|
||||
List<Map<String, Object>> existingMboms = sqlSession.selectList("productionplanning.getActiveMbomsByProjectId", queryParam);
|
||||
|
||||
if(existingMboms != null && !existingMboms.isEmpty()) {
|
||||
System.out.println("========== 기존 M-BOM 비활성화 ==========");
|
||||
System.out.println("Project OBJID: " + projectObjId);
|
||||
System.out.println("비활성화할 M-BOM 개수: " + existingMboms.size());
|
||||
|
||||
for(Map<String, Object> mbom : existingMboms) {
|
||||
String mbomHeaderObjid = CommonUtils.checkNull(mbom.get("OBJID"));
|
||||
|
||||
if(!"".equals(mbomHeaderObjid)) {
|
||||
Map<String, Object> inactivateParam = new HashMap<>();
|
||||
inactivateParam.put("mbomHeaderObjid", mbomHeaderObjid);
|
||||
|
||||
// M-BOM DETAIL 비활성화
|
||||
sqlSession.update("productionplanning.inactivateMbomDetail", inactivateParam);
|
||||
|
||||
// M-BOM HEADER 비활성화
|
||||
sqlSession.update("productionplanning.inactivateMbomHeader", inactivateParam);
|
||||
|
||||
System.out.println("M-BOM 비활성화 완료: " + mbomHeaderObjid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2. PROJECT_MGMT 업데이트 (새로운 BOM 할당 정보)
|
||||
int updateCount = sqlSession.update("productionplanning.saveBomAssignment", paramMap);
|
||||
result = (updateCount > 0);
|
||||
|
||||
sqlSession.commit();
|
||||
} catch(Exception e) {
|
||||
if(sqlSession != null) {
|
||||
|
||||
Reference in New Issue
Block a user