Merge pull request 'V20260210' (#171) from V20260210 into main
Reviewed-on: #171
This commit was merged in pull request #171.
This commit is contained in:
@@ -2836,10 +2836,11 @@ private String encodeImageToBase64(String imagePath) {
|
||||
|
||||
// 프로젝트 등록
|
||||
cnt = sqlSession.update("project.createProject", projectParam);
|
||||
// 프로젝트 TASK 등록
|
||||
cnt = sqlSession.insert("contractMgmt.insertProjectTask", projectParam);
|
||||
// 프로젝트 SETUP_TASK 등록
|
||||
cnt = sqlSession.insert("contractMgmt.insertProjectSetupTask", projectParam);
|
||||
// WBS 자동생성 주석처리
|
||||
// // 프로젝트 TASK 등록
|
||||
// cnt = sqlSession.insert("contractMgmt.insertProjectTask", projectParam);
|
||||
// // 프로젝트 SETUP_TASK 등록
|
||||
// cnt = sqlSession.insert("contractMgmt.insertProjectSetupTask", projectParam);
|
||||
|
||||
// 동일 품번 M-BOM 자동 복사 제거 - 수주 시점에는 총생산수량 미확정이므로
|
||||
// M-BOM관리에서 생산계획 입력 후 수동 복사하도록 변경
|
||||
@@ -2852,22 +2853,23 @@ private String encodeImageToBase64(String imagePath) {
|
||||
// itemQuantity);
|
||||
// }
|
||||
|
||||
// project_no - unit 폴더 생성
|
||||
Map<String,Object> projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", projectParam);
|
||||
|
||||
projectParam.put("contract_objid", contract_objid);
|
||||
projectParam.put("customer_product", projectParam.get("mechanical_type"));
|
||||
List<Map<String,Object>> taskUnitList = (ArrayList)sqlSession.selectList("project.getWbsTaskListByProject", projectParam);
|
||||
if(CommonUtils.isNotEmpty(taskUnitList) && !taskUnitList.isEmpty()){
|
||||
String projectNo = (String)projectInfo.get("project_no");
|
||||
String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\";
|
||||
for (Map<String, Object> map : taskUnitList) {
|
||||
File file = new File(filepath+File.separator+projectNo+File.separator+CommonUtils.checkNull((String)map.get("unit_no"))+"-"+CommonUtils.checkNull((String)map.get("task_name")));
|
||||
if(!file.exists()){
|
||||
file.mkdirs();
|
||||
}
|
||||
}
|
||||
}
|
||||
// WBS 폴더 생성 주석처리
|
||||
// // project_no - unit 폴더 생성
|
||||
// Map<String,Object> projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", projectParam);
|
||||
//
|
||||
// projectParam.put("contract_objid", contract_objid);
|
||||
// projectParam.put("customer_product", projectParam.get("mechanical_type"));
|
||||
// List<Map<String,Object>> taskUnitList = (ArrayList)sqlSession.selectList("project.getWbsTaskListByProject", projectParam);
|
||||
// if(CommonUtils.isNotEmpty(taskUnitList) && !taskUnitList.isEmpty()){
|
||||
// String projectNo = (String)projectInfo.get("project_no");
|
||||
// String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\";
|
||||
// for (Map<String, Object> map : taskUnitList) {
|
||||
// File file = new File(filepath+File.separator+projectNo+File.separator+CommonUtils.checkNull((String)map.get("unit_no"))+"-"+CommonUtils.checkNull((String)map.get("task_name")));
|
||||
// if(!file.exists()){
|
||||
// file.mkdirs();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
// 프로젝트가 있으면 모든 품목 업데이트 (수량, 금액 등만)
|
||||
Map<String, Object> updateParam = new HashMap<String, Object>();
|
||||
@@ -3067,10 +3069,11 @@ private String encodeImageToBase64(String imagePath) {
|
||||
|
||||
// 프로젝트 등록
|
||||
cnt = sqlSession.update("project.createProject", projectParam);
|
||||
// 프로젝트 TASK 등록
|
||||
cnt = sqlSession.insert("contractMgmt.insertProjectTask", projectParam);
|
||||
// 프로젝트 SETUP_TASK 등록
|
||||
cnt = sqlSession.insert("contractMgmt.insertProjectSetupTask", projectParam);
|
||||
// WBS 자동생성 주석처리
|
||||
// // 프로젝트 TASK 등록
|
||||
// cnt = sqlSession.insert("contractMgmt.insertProjectTask", projectParam);
|
||||
// // 프로젝트 SETUP_TASK 등록
|
||||
// cnt = sqlSession.insert("contractMgmt.insertProjectSetupTask", projectParam);
|
||||
|
||||
// 동일 품번 M-BOM 자동 복사 제거 - 수주 시점에는 총생산수량 미확정이므로
|
||||
// M-BOM관리에서 생산계획 입력 후 수동 복사하도록 변경
|
||||
@@ -3083,22 +3086,23 @@ private String encodeImageToBase64(String imagePath) {
|
||||
// itemQuantity);
|
||||
// }
|
||||
|
||||
// project_no - unit 폴더 생성
|
||||
Map<String,Object> projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", projectParam);
|
||||
|
||||
projectParam.put("contract_objid", contract_objid);
|
||||
projectParam.put("customer_product", projectParam.get("mechanical_type"));
|
||||
List<Map<String,Object>> taskUnitList = (ArrayList)sqlSession.selectList("project.getWbsTaskListByProject", projectParam);
|
||||
if(CommonUtils.isNotEmpty(taskUnitList) && !taskUnitList.isEmpty()){
|
||||
String projectNo = (String)projectInfo.get("project_no");
|
||||
String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\";
|
||||
for (Map<String, Object> map : taskUnitList) {
|
||||
File file = new File(filepath+File.separator+projectNo+File.separator+CommonUtils.checkNull((String)map.get("unit_no"))+"-"+CommonUtils.checkNull((String)map.get("task_name")));
|
||||
if(!file.exists()){
|
||||
file.mkdirs();
|
||||
}
|
||||
}
|
||||
}
|
||||
// WBS 폴더 생성 주석처리
|
||||
// // project_no - unit 폴더 생성
|
||||
// Map<String,Object> projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", projectParam);
|
||||
//
|
||||
// projectParam.put("contract_objid", contract_objid);
|
||||
// projectParam.put("customer_product", projectParam.get("mechanical_type"));
|
||||
// List<Map<String,Object>> taskUnitList = (ArrayList)sqlSession.selectList("project.getWbsTaskListByProject", projectParam);
|
||||
// if(CommonUtils.isNotEmpty(taskUnitList) && !taskUnitList.isEmpty()){
|
||||
// String projectNo = (String)projectInfo.get("project_no");
|
||||
// String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\";
|
||||
// for (Map<String, Object> map : taskUnitList) {
|
||||
// File file = new File(filepath+File.separator+projectNo+File.separator+CommonUtils.checkNull((String)map.get("unit_no"))+"-"+CommonUtils.checkNull((String)map.get("task_name")));
|
||||
// if(!file.exists()){
|
||||
// file.mkdirs();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
// 프로젝트가 있으면 모든 품목 업데이트 (수량, 금액 등만)
|
||||
Map<String, Object> updateParam = new HashMap<String, Object>();
|
||||
|
||||
@@ -3557,21 +3557,7 @@ public class PartMngService extends BaseService {
|
||||
String surfaceTreatment = getCsvValue(values, colIndex++, emptyColCnt); // 8: 표면처리
|
||||
String supplier = getCsvValue(values, colIndex++, emptyColCnt); // 9: 공급업체
|
||||
String partType = getCsvValue(values, colIndex++, emptyColCnt); // 10: 범주이름
|
||||
// CSV 컬럼 순서: 11: 규격, 12: 계정구분, 13: 조달구분, 14: 재고단위, 15: 관리단위, 16: 환산수량
|
||||
// 17: LOT구분, 18: 사용여부, 19: 검사여부, 20: SET품여부, 21: 의뢰여부, 22: 개당길이, 23: 개당소요량
|
||||
String spec = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 11: 규격
|
||||
String acctfg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 12: 계정구분
|
||||
String odrfg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 13: 조달구분
|
||||
String unitDc = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 14: 재고단위
|
||||
String unitmangDc = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 15: 관리단위
|
||||
String unitchngNb = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 16: 환산수량
|
||||
String lotFg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 17: LOT구분
|
||||
String useYn = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 18: 사용여부
|
||||
String qcFg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 19: 검사여부
|
||||
String setitemFg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 20: SET품여부
|
||||
String reqFg = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 21: 의뢰여부
|
||||
String unitLength = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 22: 개당길이
|
||||
String unitQty = colIndex < values.length ? getCsvValue(values, colIndex++, emptyColCnt) : ""; // 23: 개당소요량
|
||||
// 11번 이후 컬럼은 파싱하지 않음 - 범주이름에 따라 자동값 설정
|
||||
|
||||
// 수준으로부터 부모 품번 찾기
|
||||
String parentPartNo = "";
|
||||
@@ -3676,136 +3662,28 @@ public class PartMngService extends BaseService {
|
||||
partMap.put("SURFACE_TREATMENT", surfaceTreatment);
|
||||
partMap.put("MAKER", makerValue); // MAKER에 저장
|
||||
partMap.put("PART_TYPE", partTypeCode);
|
||||
partMap.put("SPEC", spec.trim()); // 규격
|
||||
// 계정구분(ACCTFG) - 한글명 입력 시 코드값으로 변환
|
||||
if(!StringUtils.isBlank(acctfg)){
|
||||
if(acctfg.matches("\\d+")) {
|
||||
partMap.put("ACCTFG", acctfg);
|
||||
} else {
|
||||
Map acctfgParam = new HashMap();
|
||||
acctfgParam.put("CODE_NAME", acctfg.trim());
|
||||
Map acctfgResult = sqlSession.selectOne("partMng.getAcctfgCode", acctfgParam);
|
||||
if(acctfgResult != null && !StringUtils.isBlank((String)acctfgResult.get("code_id"))){
|
||||
partMap.put("ACCTFG", acctfgResult.get("code_id"));
|
||||
} else {
|
||||
partMap.put("ACCTFG", acctfg);
|
||||
}
|
||||
}
|
||||
// 범주이름에 따라 계정구분, 조달구분 자동 설정
|
||||
// 조립품(0001813), 부품(0001812) → 계정구분: 반제품(4), 조달구분: 생산(1)
|
||||
// 구매품(0000063) → 계정구분: 비용(7), 조달구분: 구매(0)
|
||||
if("0001813".equals(partTypeCode) || "0001812".equals(partTypeCode)) {
|
||||
partMap.put("ACCTFG", "4");
|
||||
partMap.put("ODRFG", "1");
|
||||
} else if("0000063".equals(partTypeCode)) {
|
||||
partMap.put("ACCTFG", "7");
|
||||
partMap.put("ODRFG", "0");
|
||||
} else {
|
||||
partMap.put("ACCTFG", "");
|
||||
}
|
||||
// 조달구분(ODRFG) - 한글명 입력 시 코드값으로 변환 (0:구매, 1:생산, 8:Phantom)
|
||||
if(!CommonUtils.isBlank(odrfg)){
|
||||
if("구매".equals(odrfg.trim())){
|
||||
partMap.put("ODRFG", "0");
|
||||
} else if("생산".equals(odrfg.trim())){
|
||||
partMap.put("ODRFG", "1");
|
||||
} else if("Phantom".equalsIgnoreCase(odrfg.trim())){
|
||||
partMap.put("ODRFG", "8");
|
||||
} else {
|
||||
partMap.put("ODRFG", odrfg); // 숫자면 그대로
|
||||
}
|
||||
} else {
|
||||
partMap.put("ODRFG", "");
|
||||
}
|
||||
// 재고단위(UNIT_DC) - 코드명 입력 시 코드값으로 변환
|
||||
if(!StringUtils.isBlank(unitDc)){
|
||||
if(unitDc.trim().matches("\\d+")){
|
||||
partMap.put("UNIT_DC", unitDc.trim());
|
||||
} else {
|
||||
Map unitDcParam = new HashMap();
|
||||
unitDcParam.put("CODE_NAME", unitDc.trim());
|
||||
Map unitDcResult = sqlSession.selectOne("partMng.getUnitDcCode", unitDcParam);
|
||||
if(unitDcResult != null && !StringUtils.isBlank((String)unitDcResult.get("code_id"))){
|
||||
partMap.put("UNIT_DC", unitDcResult.get("code_id"));
|
||||
} else {
|
||||
partMap.put("UNIT_DC", unitDc.trim());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
partMap.put("UNIT_DC", "");
|
||||
}
|
||||
// 관리단위(UNITMANG_DC) - 코드명 입력 시 코드값으로 변환
|
||||
if(!StringUtils.isBlank(unitmangDc)){
|
||||
if(unitmangDc.trim().matches("\\d+")){
|
||||
partMap.put("UNITMANG_DC", unitmangDc.trim());
|
||||
} else {
|
||||
Map unitmangParam = new HashMap();
|
||||
unitmangParam.put("CODE_NAME", unitmangDc.trim());
|
||||
Map unitmangResult = sqlSession.selectOne("partMng.getUnitDcCode", unitmangParam);
|
||||
if(unitmangResult != null && !StringUtils.isBlank((String)unitmangResult.get("code_id"))){
|
||||
partMap.put("UNITMANG_DC", unitmangResult.get("code_id"));
|
||||
} else {
|
||||
partMap.put("UNITMANG_DC", unitmangDc.trim());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
partMap.put("UNITMANG_DC", "");
|
||||
}
|
||||
partMap.put("UNITCHNG_NB", unitchngNb.trim());
|
||||
// LOT구분 - 한글명 입력 시 코드값으로 변환 (0:미사용, 1:사용)
|
||||
if(!CommonUtils.isBlank(lotFg)){
|
||||
if("사용".equals(lotFg.trim())){
|
||||
partMap.put("LOT_FG", "1");
|
||||
} else if("미사용".equals(lotFg.trim())){
|
||||
partMap.put("LOT_FG", "0");
|
||||
} else {
|
||||
partMap.put("LOT_FG", lotFg.trim());
|
||||
}
|
||||
} else {
|
||||
partMap.put("LOT_FG", "");
|
||||
}
|
||||
// 사용여부 - 한글명 입력 시 코드값으로 변환 (0:미사용, 1:사용)
|
||||
if(!CommonUtils.isBlank(useYn)){
|
||||
if("사용".equals(useYn.trim())){
|
||||
partMap.put("USE_YN", "1");
|
||||
} else if("미사용".equals(useYn.trim())){
|
||||
partMap.put("USE_YN", "0");
|
||||
} else {
|
||||
partMap.put("USE_YN", useYn.trim());
|
||||
}
|
||||
} else {
|
||||
partMap.put("USE_YN", "");
|
||||
}
|
||||
// 검사여부 - 한글명 입력 시 코드값으로 변환 (0:무검사, 1:검사)
|
||||
if(!CommonUtils.isBlank(qcFg)){
|
||||
if("검사".equals(qcFg.trim())){
|
||||
partMap.put("QC_FG", "1");
|
||||
} else if("무검사".equals(qcFg.trim())){
|
||||
partMap.put("QC_FG", "0");
|
||||
} else {
|
||||
partMap.put("QC_FG", qcFg.trim());
|
||||
}
|
||||
} else {
|
||||
partMap.put("QC_FG", "");
|
||||
}
|
||||
// SET품여부 - 한글명 입력 시 코드값으로 변환 (0:부, 1:여)
|
||||
if(!CommonUtils.isBlank(setitemFg)){
|
||||
if("여".equals(setitemFg.trim())){
|
||||
partMap.put("SETITEM_FG", "1");
|
||||
} else if("부".equals(setitemFg.trim())){
|
||||
partMap.put("SETITEM_FG", "0");
|
||||
} else {
|
||||
partMap.put("SETITEM_FG", setitemFg.trim());
|
||||
}
|
||||
} else {
|
||||
partMap.put("SETITEM_FG", "");
|
||||
}
|
||||
// 의뢰여부 - 한글명 입력 시 코드값으로 변환 (0:부, 1:여)
|
||||
if(!CommonUtils.isBlank(reqFg)){
|
||||
if("여".equals(reqFg.trim())){
|
||||
partMap.put("REQ_FG", "1");
|
||||
} else if("부".equals(reqFg.trim())){
|
||||
partMap.put("REQ_FG", "0");
|
||||
} else {
|
||||
partMap.put("REQ_FG", reqFg.trim());
|
||||
}
|
||||
} else {
|
||||
partMap.put("REQ_FG", "");
|
||||
}
|
||||
// 개당길이, 개당소요량
|
||||
partMap.put("UNIT_LENGTH", unitLength.trim());
|
||||
partMap.put("UNIT_QTY", unitQty.trim());
|
||||
// 기본값 설정
|
||||
partMap.put("UNIT_DC", "0001400"); // EA
|
||||
partMap.put("UNITMANG_DC", "0001400"); // EA
|
||||
partMap.put("UNITCHNG_NB", "1");
|
||||
partMap.put("LOT_FG", "1"); // 사용
|
||||
partMap.put("USE_YN", "1"); // 사용
|
||||
partMap.put("QC_FG", "0"); // 무검사
|
||||
partMap.put("SETITEM_FG", "0"); // 부
|
||||
partMap.put("REQ_FG", "0"); // 부
|
||||
partMap.put("NOTE", noteMsg);
|
||||
|
||||
if(!StringUtils.isBlank(noteMsg) || emptyColCnt.intValue() < 9) {
|
||||
|
||||
@@ -330,9 +330,10 @@ public class ProjectConceptService {
|
||||
|
||||
currentStatus = CommonUtils.checkNull(currentResultMap.get("status_title"));
|
||||
|
||||
if("수주".equals(currentStatus)){
|
||||
createProjectWBSTask(request, paramMap,sqlSession);
|
||||
}
|
||||
// WBS 자동생성 주석처리
|
||||
// if("수주".equals(currentStatus)){
|
||||
// createProjectWBSTask(request, paramMap,sqlSession);
|
||||
// }
|
||||
|
||||
if(cnt > 0){
|
||||
resultMap.put("result", true);
|
||||
|
||||
Reference in New Issue
Block a user