diff --git a/src/com/pms/mapper/partMng.xml b/src/com/pms/mapper/partMng.xml
index 3bf462b..c389df4 100644
--- a/src/com/pms/mapper/partMng.xml
+++ b/src/com/pms/mapper/partMng.xml
@@ -8368,46 +8368,54 @@ SELECT PM.OBJID
\ No newline at end of file
diff --git a/src/com/pms/service/BatchService.java b/src/com/pms/service/BatchService.java
index 8c49553..778f20a 100644
--- a/src/com/pms/service/BatchService.java
+++ b/src/com/pms/service/BatchService.java
@@ -1508,9 +1508,9 @@ public class BatchService extends BaseService {
// 회사코드 고정값
String coCd = "1000";
- // DB에서 가져온 ERP 연동 필드
- String unitDc = CommonUtils.checkNull(part.get("unit_dc"));
- String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc"));
+ // DB에서 가져온 ERP 연동 필드 (code_name으로 변환된 값 사용)
+ String unitDc = CommonUtils.checkNull(part.get("unit_dc_nm"));
+ String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc_nm"));
String unitchngNbStr = CommonUtils.checkNull(part.get("unitchng_nb"));
int unitchngNb = 0;
try {
@@ -1540,7 +1540,7 @@ public class BatchService extends BaseService {
}
// ERP로 전송
- String response = partErpClient.sendPartToErp(baseUrl, coCd, itemCd, itemNm,itemDc,
+ String response = partErpClient.sendPartToErp(baseUrl, coCd, itemCd, itemNm, itemDc,
acctFg, odrFg, unitDc, unitmangDc, unitchngNb, lotFg, qcFg, reqFg, setitemFg, useYn);
// 응답 확인
@@ -1616,9 +1616,9 @@ public class BatchService extends BaseService {
// 회사코드 고정값
String coCd = "1000";
- // DB에서 가져온 ERP 연동 필드
- String unitDc = CommonUtils.checkNull(part.get("unit_dc"));
- String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc"));
+ // DB에서 가져온 ERP 연동 필드 (code_name으로 변환된 값 사용)
+ String unitDc = CommonUtils.checkNull(part.get("unit_dc_nm"));
+ String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc_nm"));
String unitchngNbStr = CommonUtils.checkNull(part.get("unitchng_nb"));
int unitchngNb = 0;
try {
@@ -1804,31 +1804,54 @@ public class BatchService extends BaseService {
return result;
}
- // DB에서 가져온 값
+ // DB에서 가져온 값
String itemCd = CommonUtils.checkNull(part.get("part_no"));
String itemNm = CommonUtils.checkNull(part.get("part_name"));
String acctFg = CommonUtils.checkNull(part.get("acctfg"));
String odrFg = CommonUtils.checkNull(part.get("odrfg"));
String itemDc = CommonUtils.checkNull(part.get("spec"));
-
- // 하드코딩 고정값
- String coCd = "1000"; // 회사코드
- String unitDc = "1"; // 단위
- String unitmangDc = "1"; // 단위관리
- int unitchngNb = 1; // 단위변환
- String lotFg = "0"; // LOT구분
- String qcFg = "0"; // 검사구분
- String reqFg = "0"; // 청구구분
- String setitemFg = "0"; // 세트품목구분
- String useYn = "1"; // 사용여부
-
+
+ String coCd = "1000";
+ // DB에서 가져온 ERP 연동 필드 (code_name으로 변환된 값 사용)
+ String unitDc = CommonUtils.checkNull(part.get("unit_dc_nm"));
+ String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc_nm"));
+ String unitchngNbStr = CommonUtils.checkNull(part.get("unitchng_nb"));
+ int unitchngNb = 0;
+ try {
+ if (!unitchngNbStr.isEmpty()) {
+ unitchngNb = (int) Double.parseDouble(unitchngNbStr);
+ }
+ } catch (Exception e) {
+ // 변환 실패 시 0 유지
+ }
+ String lotFg = CommonUtils.checkNull(part.get("lot_fg"));
+ String qcFg = CommonUtils.checkNull(part.get("qc_fg"));
+ String reqFg = CommonUtils.checkNull(part.get("req_fg"));
+ String setitemFg = CommonUtils.checkNull(part.get("setitem_fg"));
+ String useYn = CommonUtils.checkNull(part.get("use_yn"));
+
// 필수값 체크
if (itemCd.isEmpty() || itemNm.isEmpty()) {
result.put("success", false);
result.put("message", "품번 또는 품명이 없습니다.");
return result;
}
-
+ if (acctFg.isEmpty() || odrFg.isEmpty()) {
+ result.put("success", false);
+ result.put("message", "계정구분 또는 조달구분이 없습니다.");
+ return result;
+ }
+ if (unitDc.isEmpty() || unitmangDc.isEmpty() || unitchngNb == 0) {
+ result.put("success", false);
+ result.put("message", "재고단위, 관리단위, 환산수량이 없습니다.");
+ return result;
+ }
+ if (lotFg.isEmpty() || qcFg.isEmpty() || reqFg.isEmpty() || setitemFg.isEmpty() || useYn.isEmpty()) {
+ result.put("success", false);
+ result.put("message", "LOT구분, 검사여부, 의뢰여부, SET품여부, 사용여부가 없습니다.");
+ return result;
+ }
+
// ERP로 수정 전송
PartErpUpdateApiClient updateClient = new PartErpUpdateApiClient();
String response = updateClient.updatePartToErp(baseUrl, coCd, itemCd, itemNm, itemDc,
@@ -1887,16 +1910,7 @@ public class BatchService extends BaseService {
int failCount = 0;
StringBuilder errorMessages = new StringBuilder();
- // 하드코딩 고정값
- String coCd = "1000";
- String unitDc = "1";
- String unitmangDc = "1";
- int unitchngNb = 1;
- String lotFg = "0";
- String qcFg = "0";
- String reqFg = "0";
- String setitemFg = "0";
- String useYn = "1";
+ String coCd = "1000";
PartErpUpdateApiClient updateClient = new PartErpUpdateApiClient();
@@ -1910,6 +1924,23 @@ public class BatchService extends BaseService {
String acctFg = CommonUtils.checkNull(part.get("acctfg"));
String odrFg = CommonUtils.checkNull(part.get("odrfg"));
String itemDc = CommonUtils.checkNull(part.get("spec"));
+ // DB에서 가져온 ERP 연동 필드 (code_name으로 변환된 값 사용)
+ String unitDc = CommonUtils.checkNull(part.get("unit_dc_nm"));
+ String unitmangDc = CommonUtils.checkNull(part.get("unitmang_dc_nm"));
+ String unitchngNbStr = CommonUtils.checkNull(part.get("unitchng_nb"));
+ int unitchngNb = 0;
+ try {
+ if (!unitchngNbStr.isEmpty()) {
+ unitchngNb = (int) Double.parseDouble(unitchngNbStr);
+ }
+ } catch (Exception ex) {
+ // 변환 실패 시 0 유지
+ }
+ String lotFg = CommonUtils.checkNull(part.get("lot_fg"));
+ String qcFg = CommonUtils.checkNull(part.get("qc_fg"));
+ String reqFg = CommonUtils.checkNull(part.get("req_fg"));
+ String setitemFg = CommonUtils.checkNull(part.get("setitem_fg"));
+ String useYn = CommonUtils.checkNull(part.get("use_yn"));
// 100건마다 진행 상황 출력
if ((i + 1) % 100 == 0) {
@@ -1917,14 +1948,16 @@ public class BatchService extends BaseService {
}
// 필수값 체크
- if (itemCd.isEmpty() || itemNm.isEmpty()) {
+ if (itemCd.isEmpty() || itemNm.isEmpty() || acctFg.isEmpty() || odrFg.isEmpty() ||
+ unitDc.isEmpty() || unitmangDc.isEmpty() || unitchngNb == 0 ||
+ lotFg.isEmpty() || qcFg.isEmpty() || reqFg.isEmpty() || setitemFg.isEmpty() || useYn.isEmpty()) {
failCount++;
if (failCount <= 5) {
- errorMessages.append(itemCd).append(": 품번 또는 품명이 없습니다.\n");
+ errorMessages.append(itemCd).append(": 필수값이 없습니다.\n");
}
continue;
}
-
+
// ERP로 수정 전송
String response = updateClient.updatePartToErp(baseUrl, coCd, itemCd, itemNm, itemDc,
acctFg, odrFg, unitDc, unitmangDc, unitchngNb, lotFg, qcFg, reqFg, setitemFg, useYn);