From 878014fe71ae76d4bfbc885f1daab8921c60f6ac Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期六, 13 十二月 2025 17:26:24 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | 105 +++-
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java | 35 +
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 1111 ++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1,213 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index 072e36d..722bf5e 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -50,6 +50,31 @@
@Value("${erp.address.impurreceivebilldetl}")
//杩涗粨閫氱煡鍗�
private String imPurreceiveBillDetlAddress;
+ @Value("${erp.address.imSaloutbill}")
+ //閿�鍞嚭搴撳崟
+ private String imSaloutbill;
+ @Value("${erp.address.scpSalreturn}")
+ //閿�鍞��璐у崟
+ private String scpSalreturn;
+ @Value("${erp.address.scpSalreturnDetl}")
+ //閿�鍞��璐у崟
+ private String scpSalreturnDetl;
+ @Value("${erp.address.imMdcMftproorder}")
+ //鐢熶骇棰嗘枡鍗�
+ private String imMdcMftproorder;
+ @Value("${erp.address.imMdcMftreturnorder}")
+ //鐢熶骇閫�鏂欏崟
+ private String imMdcMftreturnorder;
+ @Value("${erp.address.imMdcMftfeedorder}")
+ //鐢熶骇琛ユ枡鍗�
+ private String imMdcMftfeedorder;
+ @Value("${erp.address.imProductinbill}")
+ //鐢熶骇杩涗粨鍗�
+ private String imProductinbill;
+ @Value("${erp.address.qcppManuinspec}")
+ //浜у搧妫�楠屽崟
+ private String qcppManuinspec;
+
@Autowired
private ApiLogService apiLogService;
@@ -131,7 +156,6 @@
path = orgAddress;
break;
case "PUR_RECEIVEBIll": //宸插鏍告敹鏂欏崟鏌ヨ
-// jsonObject.put("start_biztime", latestUpdateTime);//涓氬姟璧峰鏃ユ湡
jsonObject.put("start_biztime", "2025-01-01 00:00:00");//涓氬姟璧峰鏃ユ湡
jsonObject.put("end_biztime", sdf1.format(now));//涓氬姟缁撴潫鏃ユ湡
jsonObject.put("billno", null);
@@ -142,16 +166,84 @@
jsonObject.put("supplier_number", null);
path = imPurreceiveBillAddress;
break;
+ case "SAL_OUTSTOCK"://閿�鍞嚭搴撳崟鏌ヨ
+ path = imSaloutbill;
+ jsonObject.put("modify_starttime", latestUpdateTime);//涓氬姟璧峰鏃ユ湡
+ jsonObject.put("billstatus", "B");//鍗曟嵁鐘舵��
+ jsonObject.put("modify_endtime", sdf1.format(now));//涓氬姟璧峰鏃ユ湡
+ break;
+ case "SAL_RETURNSTOCK"://閿�鍞��璐�
+ path = scpSalreturn;
+ jsonObject.put("start_modifytime", "2025-11-25 00:00:00");//涓氬姟璧峰鏃ユ湡
+ jsonObject.put("billstatus", "B");//鍗曟嵁鐘舵��
+ jsonObject.put("end_starttime", sdf1.format(now));//涓氬姟璧峰鏃ユ湡
+ break;
+ case "PRD_PickMtrl"://鐢熶骇棰嗘枡鍗�
+ path = imMdcMftproorder;
+// jsonObject.put("start_modifytime", "2025-11-25 00:00:00");
+// jsonObject.put("start_auditdate", "2025-11-25 00:00:00");
+ jsonObject.put("start_createtime", "2025-11-25 00:00:00");
+ jsonObject.put("end_createtime", sdf1.format(now));
+// jsonObject.put("end_auditdate", sdf1.format(now));
+// jsonObject.put("end_modifytime", sdf1.format(now));
+ jsonObject.put("billno", null);
+ jsonObject.put("billstatus", Arrays.asList("B","C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
+ jsonObject.put("org_number", null);
+ jsonObject.put("id", null);
+ break;
+ case "PRD_ReturnMtrl"://鐢熶骇閫�鏂欏崟
+ path = imMdcMftreturnorder;
+ jsonObject.put("id", null);
+ jsonObject.put("billno", null);
+ jsonObject.put("org_number", null);
+ jsonObject.put("billstatus", Arrays.asList("C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
+ jsonObject.put("start_createtime", "2025-11-25 00:00:00");
+ jsonObject.put("end_createtime", sdf1.format(now));
+// jsonObject.put("start_modifytime", "2025-11-25 00:00:00");
+// jsonObject.put("end_modifytime", sdf1.format(now));
+// jsonObject.put("start_auditdate", "2025-11-25 00:00:00");
+// jsonObject.put("end_auditdate", sdf1.format(now));
+ break;
+ case "PRD_FeedMtrl"://鐢熶骇琛ユ枡鍗�
+ path = imMdcMftfeedorder;
+ jsonObject.put("id", null);
+ jsonObject.put("billno", null);
+ jsonObject.put("org_number", null);
+ jsonObject.put("billstatus", Arrays.asList("C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
+ jsonObject.put("start_createtime", "2025-11-25 00:00:00");
+ jsonObject.put("end_createtime", sdf1.format(now));
+// jsonObject.put("start_modifytime", "2025-11-25 00:00:00");
+// jsonObject.put("end_modifytime", sdf1.format(now));
+// jsonObject.put("start_auditdate", "2025-11-25 00:00:00");
+// jsonObject.put("end_auditdate", sdf1.format(now));
+ break;
+ case "PRD_MORPT"://鐢熶骇杩涗粨鍗�
+ path = imProductinbill;
+ jsonObject.put("billstatus", Arrays.asList("C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
+ jsonObject.put("modifytime_start", "2025-11-25 00:00:00");
+ jsonObject.put("modifytime_end", sdf1.format(now));
+ break;
+ case "STK_InspectionForm"://浜у搧妫�楠�
+ path = qcppManuinspec;
+ jsonObject.put("billstatus", Arrays.asList("C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
+ jsonObject.put("auditdate_start", "2025-11-25 00:00:00");
+ jsonObject.put("auditdate_end", sdf1.format(now));
+ break;
+ }
+ if(path == null){
+ continue;
}
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("data", jsonObject);
jsonObject1.put("pageSize", 20);
jsonObject1.put("pageNo", 1);
String add = jsonObject1.toJSONString();
-
//涓婃姤
String response = "";
boolean success = false;
+ if(path == null){
+ continue;
+ }
try {
//鑾峰彇Cookie鍊�
HashMap<String, Object> headers = new HashMap<>();
@@ -263,6 +355,7 @@
docTypeService.updateById(docType);
}
}
+ //渚涘簲鍟�
else if(kingDeeUtilType.formId.equals("BD_RRGANIZATION")){//渚涘簲鍟嗗悓姝�
int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
@@ -329,6 +422,7 @@
}
}
}
+ //鏀舵枡鍗�
else if(kingDeeUtilType.formId.equals("PUR_RECEIVEBIll")){
int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
@@ -357,7 +451,6 @@
JSONObject detailParam = new JSONObject();
JSONObject dataObj = new JSONObject();
dataObj.put("billno", billNo);
- detailParam.put("data", dataObj);
detailParam.put("pageNo", 1);
detailParam.put("pageSize", 100);
detailParam.put("data", dataObj);
@@ -377,7 +470,7 @@
// ====== 澶勭悊鏄庣粏 ======
for (int i = 0; i < rows.size(); i++) {
JSONObject jsonObjectNew2 = rows.getJSONObject(i);
- Order order = orderService.selectByNo( billNo);//妫�绱㈠崟鎹�
+ Order order = orderService.selectByNo(billNo);//妫�绱㈠崟鎹�
LocOwner locOwner = null;
if (ownerUuid != null) {
locOwner = locOwnerService.selectByUuid(ownerUuid);
@@ -518,6 +611,1014 @@
docTypeService.updateById(docType);
}
}
+ //閿�鍞嚭搴�
+ else if(kingDeeUtilType.formId.equals("SAL_OUTSTOCK")){
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.getString("createtime"));
+ String billNo = jsonObjectNew.getString("billno");
+ String owner = jsonObjectNew.getString("org_name");
+ String ownerUuid = jsonObjectNew.getString("org_number");
+ String orderId = jsonObjectNew.getString("id");
+ // ========= 璐т富鏍¢獙 =========
+ LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
+// if (locOwner == null) {
+// callApiLogSaveOwner(null, kingDeeUtilType,
+// "璐т富妫�绱㈠け璐ワ細" + ownerUuid + " 鍚嶇О锛�" + owner, false);
+// continue;
+// }
+
+ // ========= 鍒涘缓璁㈠崟涓昏〃 =========
+ Order order = orderService.selectByNo(billNo);
+ if (Cools.isEmpty(order)) {
+ order = new Order(
+ // 鍗曟嵁涓绘。
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ owner, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if (orderService.insert(order)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍒涘缓閿�鍞嚭搴撳崟鎴愬姛锛佸崟鍙凤細" + billNo, true);
+ }
+ }
+
+ // ========= 鐩存帴浠庝富鎺ュ彛鍙栨槑缁� billentry =========
+ JSONArray billEntryArray = jsonObjectNew.getJSONArray("billentry");
+ if (billEntryArray == null || billEntryArray.isEmpty()) {
+ continue;
+ }
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("eap7_decimalfield");//绠辨暟
+ Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+ Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+ String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+ String pOrderNo = entry.getString("eap7_textfield3");//閲囪喘鍗曞彿
+ String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = entry.getString("eap7_textfield5"); //鏉$爜UPC
+ String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String suppCode = entry.getString("supplier_number");
+ String suppCode = null;
+ if (anfme == null || anfme == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍗曟嵁鏁伴噺寮傚父锛�" + matnr, false);
+ continue;
+ }
+ // ========= 鐗╂枡鏍¢獙 =========
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
+ continue;
+ }
+ // ========= 鏄庣粏鍘婚噸 =========
+ List<OrderDetl> orderDetls =
+ orderDetlService.selectByOrderId(order.getId());
+
+ boolean exists = orderDetls.stream()
+ .anyMatch(o -> o.getMatnr().equals(matnr));
+ if (exists) continue;
+// // ========= 渚涘簲鍟� =========
+ String supp = null;
+// LocSupp locSupp = locSuppService.selectByUuid(suppCode);
+// if (locSupp != null) {
+// supp = locSupp.getOwner();
+// }
+ // ========= 淇濆瓨鏄庣粏 =========
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfme);
+ orderDetl.setErpAnfme(anfme);
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setSupp(supp);
+ orderDetl.setSuppCode(suppCode);
+ orderDetl.setSku(matnr);
+ orderDetl.setStandby1(s1);
+ orderDetl.setStandby2(s2);
+ orderDetl.setStandby3(s3);
+ orderDetl.setBoxType1(owner);
+ orderDetl.setBoxType2(ownerUuid);
+ orderDetl.setBoxType3(pOrderNo);
+ orderDetl.setMemo(memo);
+ orderDetl.setVolume(totalVolume);
+ orderDetl.setSafeQty(totalNumItems);
+ orderDetl.setManu(warehouse);
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
+ }
+
+ }
+ //閿�鍞��璐�
+ else if(kingDeeUtilType.formId.equals("SAL_RETURNSTOCK")){
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+ // 閲嶆柊鍙戣捣璇锋眰浠ヨ幏鍙栬椤电殑鏁版嵁
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.get("createtime").toString());
+ String billNo = jsonObjectNew.get("billno").toString();//鍗曟嵁缂栧彿
+ String orderId = jsonObjectNew.get("id").toString();
+ JSONObject detailParam = new JSONObject();
+ JSONObject dataObj = new JSONObject();
+ dataObj.put("billno", billNo);
+ detailParam.put("pageNo", 1);
+ detailParam.put("pageSize", 100);
+ detailParam.put("data", dataObj);
+ boolean hasNext = true;
+ while (hasNext) {
+ String reqJson = detailParam.toJSONString();
+ String detailResp = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(scpSalreturnDetl)
+ .setJson(reqJson)
+ .build()
+ .doPost();
+ JSONObject detailJson = JSON.parseObject(detailResp);
+ JSONObject detData = detailJson.getJSONObject("data");
+ JSONArray rows = detData.getJSONArray("rows");
+ // ====== 澶勭悊鏄庣粏 ======
+ for (int i = 0; i < rows.size(); i++) {
+ JSONObject jsonObjectNew2 = rows.getJSONObject(i);
+ Order order = orderService.selectByNo(billNo);//妫�绱㈠崟鎹�
+ LocOwner locOwner = null;
+ if (Cools.isEmpty(order)) {
+ // 鍗曟嵁涓绘。
+ order = new Order(
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ null, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if( orderService.insert(order)){
+ callApiLogSaveOrder(order, kingDeeUtilType, "鍒涘缓閿�鍞��璐у崟鎴愬姛锛佸崟鍙凤細" + billNo, true);
+ }
+ }
+// String suppCode = jsonObjectNew2.getString("supplier_number"); //渚涘簲鍟�
+ String suppCode = null; //渚涘簲鍟�
+ JSONArray billEntryArray = jsonObjectNew2.getJSONArray("materialentry");
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("qty");//绠辨暟
+ Double totalNumItems = 0.0;
+ Double Totalvolume = 0.0;//鎬讳綋绉�
+ String warehouse = null;//浠撳簱缂栫爜
+ String pOrderNo = "1";//閲囪喘鍗曞彿
+ String s3 = "1";//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = "1"; //鏉$爜UPC
+ String memo ="1"; //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = "1"; //瀹㈡埛PO
+// Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+// Double Totalvolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+// String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+// String pOrderNo = entry.getString("eap7_textfield3");//閲囪喘鍗曞彿
+// String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+// String s2 = entry.getString("eap7_textfield5"); //鏉$爜UPC
+// String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+// String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String
+ if(anfme == 0){
+ callApiLogSaveOrder(order,kingDeeUtilType, "鍗曟嵁鏁伴噺寮傚父"+matnr, false);
+ continue;
+ }
+ //鐗╂枡缂栫爜
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+matnr, false);
+ continue;
+ }
+ Order order1 = orderService.selectByNo( billNo);
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
+ boolean sign = false;
+ for (OrderDetl orderDetl : orderDetls){
+ if (orderDetl.getMatnr().equals(matnr)){
+ sign = true;
+ break;
+ }
+ }
+ if (sign){
+ continue;
+ }
+ LocSupp locSupp = null;
+ String supp =null;
+// locSupp = locSuppService.selectByUuid(suppCode);
+// if(locSupp != null){supp = locSupp.getOwner();}
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);//ERP鏄庣粏id
+ orderDetl.setLineNumber(seq);//鍒嗗綍琛屽彿
+ orderDetl.setAnfme(anfme);//鎬荤鏁�
+ orderDetl.setErpAnfme(anfme);//erp鏁版嵁
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());//琛ㄥご鍗曟嵁
+ orderDetl.setSupp(supp);//渚涘簲鍟嗗悕绉帮紙璐ф簮锛�
+ orderDetl.setSuppCode(suppCode);//渚涘簲鍟嗙紪鐮�
+ orderDetl.setSku(matnr);//鍐呴儴SKU
+ orderDetl.setStandby1(s1);//瀹㈡埛PO
+ orderDetl.setStandby2(s2);//鏉$爜UPC
+ orderDetl.setStandby3(s3);//瀹㈡埛SKU
+ orderDetl.setBoxType1(null); //璐т富鍚嶇О
+ orderDetl.setBoxType2(null);//璐т富缂栧彿锛坋rp缁勭粐锛�
+ orderDetl.setBoxType3(pOrderNo);//閲囪喘鍗曞彿
+ orderDetl.setMemo(memo);//鑻辨枃澶囨敞
+ orderDetl.setVolume(Totalvolume);//鎬讳綋绉�
+ orderDetl.setSafeQty(totalNumItems);//鎬讳欢鏁�
+ orderDetl.setManu(warehouse);//浠撳簱缂栫爜
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ // 鏄惁杩樻湁涓嬩竴椤�
+ boolean lastPage = detData.getBoolean("lastPage");
+ if (lastPage) {
+ hasNext = false;
+ } else {
+ // 涓嬩竴椤�
+ int currPage = detData.getIntValue("pageNo");
+ detailParam.put("pageNo", currPage + 1);
+ }
+ }
+ }
+ docTypeService.updateById(docType);
+ }
+ }
+ //浜у搧妫�楠屽崟
+ else if(kingDeeUtilType.formId.equals("STK_InspectionForm")){
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.getString("createtime"));
+ String billNo = jsonObjectNew.getString("billno");
+ String owner = jsonObjectNew.getString("org_name");
+ String ownerUuid = jsonObjectNew.getString("org_number");
+ String orderId = jsonObjectNew.getString("id");
+ // ========= 璐т富鏍¢獙 =========
+ LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
+// if (locOwner == null) {
+// callApiLogSaveOwner(null, kingDeeUtilType,
+// "璐т富妫�绱㈠け璐ワ細" + ownerUuid + " 鍚嶇О锛�" + owner, false);
+// continue;
+// }
+
+ // ========= 鍒涘缓璁㈠崟涓昏〃 =========
+ Order order = orderService.selectByNo(billNo);
+ if (Cools.isEmpty(order)) {
+ order = new Order(
+ // 鍗曟嵁涓绘。
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ owner, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if (orderService.insert(order)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍒涘缓閿�鍞嚭搴撳崟鎴愬姛锛佸崟鍙凤細" + billNo, true);
+ }
+ }
+
+ // ========= 鐩存帴浠庝富鎺ュ彛鍙栨槑缁� billentry =========
+ JSONArray billEntryArray = jsonObjectNew.getJSONArray("billentry");
+ if (billEntryArray == null || billEntryArray.isEmpty()) {
+ continue;
+ }
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("eap7_decimalfield");//绠辨暟
+ Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+ Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+ String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+ String pOrderNo = entry.getString("eap7_textfield3");//閲囪喘鍗曞彿
+ String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = entry.getString("eap7_textfield5"); //鏉$爜UPC
+ String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String suppCode = entry.getString("supplier_number");
+ String suppCode = null;
+ if (anfme == null || anfme == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍗曟嵁鏁伴噺寮傚父锛�" + matnr, false);
+ continue;
+ }
+ // ========= 鐗╂枡鏍¢獙 =========
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
+ continue;
+ }
+ // ========= 鏄庣粏鍘婚噸 =========
+ List<OrderDetl> orderDetls =
+ orderDetlService.selectByOrderId(order.getId());
+
+ boolean exists = orderDetls.stream()
+ .anyMatch(o -> o.getMatnr().equals(matnr));
+ if (exists) continue;
+// // ========= 渚涘簲鍟� =========
+ String supp = null;
+// LocSupp locSupp = locSuppService.selectByUuid(suppCode);
+// if (locSupp != null) {
+// supp = locSupp.getOwner();
+// }
+ // ========= 淇濆瓨鏄庣粏 =========
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfme);
+ orderDetl.setErpAnfme(anfme);
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setSupp(supp);
+ orderDetl.setSuppCode(suppCode);
+ orderDetl.setSku(matnr);
+ orderDetl.setStandby1(s1);
+ orderDetl.setStandby2(s2);
+ orderDetl.setStandby3(s3);
+ orderDetl.setBoxType1(owner);
+ orderDetl.setBoxType2(ownerUuid);
+ orderDetl.setBoxType3(pOrderNo);
+ orderDetl.setMemo(memo);
+ orderDetl.setVolume(totalVolume);
+ orderDetl.setSafeQty(totalNumItems);
+ orderDetl.setManu(warehouse);
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
+ }
+
+ }
+ //鐢熶骇棰嗘枡锛岀敓浜цˉ鏂�
+ else if(kingDeeUtilType.formId.equals("PRD_PickMtrl") || kingDeeUtilType.formId.equals("PRD_FeedMtrl")){
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.getString("createtime"));
+ String billNo = jsonObjectNew.getString("billno");
+ String owner = jsonObjectNew.getString("org_name");
+ String ownerUuid = jsonObjectNew.getString("org_number");
+ String orderId = jsonObjectNew.getString("id");
+ // ========= 鍒涘缓璁㈠崟涓昏〃 =========
+ Order order = orderService.selectByNo(billNo);
+ if (Cools.isEmpty(order)) {
+ order = new Order(
+ // 鍗曟嵁涓绘。
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ owner, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if (orderService.insert(order)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍒涘缓鐢熶骇棰嗘枡鍑哄簱鍗曟垚鍔燂紒鍗曞彿锛�" + billNo, true);
+ }
+ }
+ // ========= 鐩存帴浠庝富鎺ュ彛鍙栨槑缁� billentry =========
+ JSONArray billEntryArray = jsonObjectNew.getJSONArray("billentry");
+ if (billEntryArray == null || billEntryArray.isEmpty()) {
+ continue;
+ }
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("qty");//绠辨暟
+ Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+ Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+ String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+ String pOrderNo = entry.getString("eap7_textfield3");//閲囪喘鍗曞彿
+ String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = entry.getString("eap7_textfield5"); //鏉$爜UPC
+ String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String suppCode = entry.getString("supplier_number");
+ String suppCode = null;
+ if (anfme == null || anfme == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍗曟嵁鏁伴噺寮傚父锛�" + matnr, false);
+ continue;
+ }
+ // ========= 鐗╂枡鏍¢獙 =========
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鐗╂枡妗f涓嶅瓨鍦細" + matnr, false);
+ continue;
+ }
+ // ========= 鏄庣粏鍘婚噸 =========
+ List<OrderDetl> orderDetls =
+ orderDetlService.selectByOrderId(order.getId());
+
+ boolean exists = orderDetls.stream()
+ .anyMatch(o -> o.getMatnr().equals(matnr));
+ if (exists) continue;
+// // ========= 渚涘簲鍟� =========
+ String supp = null;
+// LocSupp locSupp = locSuppService.selectByUuid(suppCode);
+// if (locSupp != null) {
+// supp = locSupp.getOwner();
+// }
+ // ========= 淇濆瓨鏄庣粏 =========
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfme);
+ orderDetl.setErpAnfme(anfme);
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setSupp(supp);
+ orderDetl.setSuppCode(suppCode);
+ orderDetl.setSku(matnr);
+ orderDetl.setStandby1(s1);
+ orderDetl.setStandby2(s2);
+ orderDetl.setStandby3(s3);
+ orderDetl.setBoxType1(owner);
+ orderDetl.setBoxType2(ownerUuid);
+ orderDetl.setBoxType3(pOrderNo);
+ orderDetl.setMemo(memo);
+ orderDetl.setVolume(totalVolume);
+ orderDetl.setSafeQty(totalNumItems);
+ orderDetl.setManu(warehouse);
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
+ }
+
+ }
+ //鐢熶骇閫�鏂欏崟PRD_ReturnMtrl
+ else if(kingDeeUtilType.formId.equals("PRD_ReturnMtrl") ) {
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.getString("createtime"));
+ String billNo = jsonObjectNew.getString("billno");
+ String owner = jsonObjectNew.getString("org_name");
+ String ownerUuid = jsonObjectNew.getString("org_number");
+ String orderId = jsonObjectNew.getString("id");
+ // ========= 璐т富鏍¢獙 =========
+ LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
+// if (locOwner == null) {
+// callApiLogSaveOwner(null, kingDeeUtilType,
+// "璐т富妫�绱㈠け璐ワ細" + ownerUuid + " 鍚嶇О锛�" + owner, false);
+// continue;
+// }
+
+ // ========= 鍒涘缓璁㈠崟涓昏〃 =========
+ Order order = orderService.selectByNo(billNo);
+ if (Cools.isEmpty(order)) {
+ order = new Order(
+ // 鍗曟嵁涓绘。
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ owner, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if (orderService.insert(order)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍒涘缓鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曞彿锛�" + billNo, true);
+ }
+ }
+
+ // ========= 鐩存帴浠庝富鎺ュ彛鍙栨槑缁� billentry =========
+ JSONArray billEntryArray = jsonObjectNew.getJSONArray("billentry");
+ if (billEntryArray == null || billEntryArray.isEmpty()) {
+ continue;
+ }
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("eap7_decimalfield");//绠辨暟
+ Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+ Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+ String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+ String pOrderNo = entry.getString("eap7_textfield3");//閲囪喘鍗曞彿
+ String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = entry.getString("eap7_textfield5"); //鏉$爜UPC
+ String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String suppCode = entry.getString("supplier_number");
+ String suppCode = null;
+ if (anfme == null || anfme == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍗曟嵁鏁伴噺寮傚父锛�" + matnr, false);
+ continue;
+ }
+ // ========= 鐗╂枡鏍¢獙 =========
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
+ continue;
+ }
+ // ========= 鏄庣粏鍘婚噸 =========
+ List<OrderDetl> orderDetls =
+ orderDetlService.selectByOrderId(order.getId());
+
+ boolean exists = orderDetls.stream()
+ .anyMatch(o -> o.getMatnr().equals(matnr));
+ if (exists) continue;
+// // ========= 渚涘簲鍟� =========
+ String supp = null;
+// LocSupp locSupp = locSuppService.selectByUuid(suppCode);
+// if (locSupp != null) {
+// supp = locSupp.getOwner();
+// }
+ // ========= 淇濆瓨鏄庣粏 =========
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfme);
+ orderDetl.setErpAnfme(anfme);
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setSupp(supp);
+ orderDetl.setSuppCode(suppCode);
+ orderDetl.setSku(matnr);
+ orderDetl.setStandby1(s1);
+ orderDetl.setStandby2(s2);
+ orderDetl.setStandby3(s3);
+ orderDetl.setBoxType1(owner);
+ orderDetl.setBoxType2(ownerUuid);
+ orderDetl.setBoxType3(pOrderNo);
+ orderDetl.setMemo(memo);
+ orderDetl.setVolume(totalVolume);
+ orderDetl.setSafeQty(totalNumItems);
+ orderDetl.setManu(warehouse);
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
+ }
+
+ }
+ //鐢熶骇姹囨姤鍗�
+ else if(kingDeeUtilType.formId.equals("PRD_MORPT")) {
+ int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
+ int totalCount = jsonResponse.getJSONObject("data").getIntValue("totalCount");
+ int totalPages = (int) Math.ceil((double) totalCount / pageSize);
+
+ for (int page = 1; page <= totalPages; page++) {
+ jsonObject1.put("pageNo", page);
+ add = jsonObject1.toJSONString();
+
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(path)
+ .setJson(add)
+ .build()
+ .doPost();
+
+ jsonResponse = JSON.parseObject(response);
+ data = jsonResponse.getJSONObject("data").getJSONArray("rows");
+
+ for (int j = 0; j < data.size(); j++) {
+ JSONObject jsonObjectNew = data.getJSONObject(j);
+ Date createTime = sdf1.parse(jsonObjectNew.getString("createtime"));
+ String billNo = jsonObjectNew.getString("billno");
+ String owner = "鍜屽緱绉戞妧";
+ String ownerUuid = "BU-00001";
+ String orderId = jsonObjectNew.getString("id");
+ // ========= 璐т富鏍¢獙 =========
+ LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
+// if (locOwner == null) {
+// callApiLogSaveOwner(null, kingDeeUtilType,
+// "璐т富妫�绱㈠け璐ワ細" + ownerUuid + " 鍚嶇О锛�" + owner, false);
+// continue;
+// }
+
+ // ========= 鍒涘缓璁㈠崟涓昏〃 =========
+ Order order = orderService.selectByNo(billNo);
+ if (Cools.isEmpty(order)) {
+ order = new Order(
+ // 鍗曟嵁涓绘。
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ billNo, // 璁㈠崟缂栧彿
+ createTime.toString(), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ orderId, //鏀舵枡鍗昳d
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 椤圭洰id
+ owner, // 璐т富
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 澶囨敞
+ kingDeeUtilType.pakIn !=1?2:1
+ );
+ if (orderService.insert(order)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍒涘缓鐢熶骇姹囨姤鍗曟垚鍔燂紒鍗曞彿锛�" + billNo, true);
+ }
+ }
+
+ // ========= 鐩存帴浠庝富鎺ュ彛鍙栨槑缁� billentry =========
+ JSONArray billEntryArray = jsonObjectNew.getJSONArray("sumentry");
+ if (billEntryArray == null || billEntryArray.isEmpty()) {
+ continue;
+ }
+ for (int k = 0; k < billEntryArray.size(); k++) {
+ JSONObject entry = billEntryArray.getJSONObject(k);
+ String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
+ Double anfme = entry.getDouble("completqty");//绠辨暟
+ Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
+ Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
+ String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+ String pOrderNo = entry.getString("eap7_textfield");//閲囪喘鍗曞彿
+ String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+ String s2 = entry.getString("eap7_textfield1"); //鏉$爜UPC
+ String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+ String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+ String detlId = entry.getString("id"); //鏄庣粏id
+ Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
+// String suppCode = entry.getString("supplier_number");
+ String suppCode = null;
+ if (anfme == null || anfme == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍗曟嵁鏁伴噺寮傚父锛�" + matnr, false);
+ continue;
+ }
+ // ========= 鐗╂枡鏍¢獙 =========
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
+ continue;
+ }
+ // ========= 鏄庣粏鍘婚噸 =========
+ List<OrderDetl> orderDetls =
+ orderDetlService.selectByOrderId(order.getId());
+
+ boolean exists = orderDetls.stream()
+ .anyMatch(o -> o.getMatnr().equals(matnr));
+ if (exists) continue;
+// // ========= 渚涘簲鍟� =========
+ String supp = null;
+// LocSupp locSupp = locSuppService.selectByUuid(suppCode);
+// if (locSupp != null) {
+// supp = locSupp.getOwner();
+// }
+ // ========= 淇濆瓨鏄庣粏 =========
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfme);
+ orderDetl.setErpAnfme(anfme);
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setSupp(supp);
+ orderDetl.setSuppCode(suppCode);
+ orderDetl.setSku(matnr);
+ orderDetl.setStandby1(s1);
+ orderDetl.setStandby2(s2);
+ orderDetl.setStandby3(s3);
+ orderDetl.setBoxType1(owner);
+ orderDetl.setBoxType2(ownerUuid);
+ orderDetl.setBoxType3(pOrderNo);
+ orderDetl.setMemo(memo);
+ orderDetl.setVolume(totalVolume);
+ orderDetl.setSafeQty(totalNumItems);
+ orderDetl.setManu(warehouse);
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(new Date());
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(new Date());
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+
+ orderDetlService.insert(orderDetl);
+ }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
+ }
+
+ }
+
+
} catch (Exception e) {
log.error("fail", e);
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -541,7 +1642,7 @@
public void callApiLogSaveSupp(LocSupp locSupp, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
- "璐т富缂栧彿锛�" + locSupp.getOwnerUuid() + "銆佽揣涓诲悕绉帮細" + locSupp.getOwner(),
+ "渚涘簲鍟嗙紪鍙凤細" + locSupp.getOwnerUuid() + "銆佷緵搴斿晢鍚嶇О锛�" + locSupp.getOwner(),
response, bool);
}
public void callApiLogSaveOwner(LocOwner locOwner, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
index c8f8fdd..69f920a 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -36,6 +36,10 @@
@Value("${erp.address.imPurinbillAdd}")
private String imPurinbillAdd;
+ @Value("${erp.address.imOtheroutbill}")
+ private String imOtheroutbill;
+ @Value("${erp.address.imOtherinbill}")
+ private String imOtherinbill;
@Autowired
private OrderService orderService;
@@ -82,7 +86,8 @@
private JSONObject buildRequestParams(Order order, KingDeeUtilType kingDeeUtilType, SimpleDateFormat sdf1, SimpleDateFormat sdf2) {
List<OrderDetl> orderDetlList = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",order.getOrderNo()));
- if(kingDeeUtilType == null){
+ if (kingDeeUtilType == null || kingDeeUtilType.formId == null) {
+ log.warn("kingDeeUtilType 涓虹┖锛屽凡璺宠繃鏈鍚屾锛�");
return null;
}
switch (kingDeeUtilType.formId) {
@@ -92,8 +97,9 @@
JSONArray billentryArray = new JSONArray(); // 鐢ㄤ簬瀛樺偍 billentry 瀵硅薄
String suppCode = null; // 渚涘簲鍟�
String boxType2 = null; // 璐т富/璐ф簮
-
// 閬嶅巻璁㈠崟璇︽儏
+ Date now = new Date();
+
for (OrderDetl orderDetl : orderDetlList) {
suppCode = orderDetl.getSuppCode();
boxType2 = orderDetl.getBoxType2();
@@ -101,8 +107,7 @@
continue;
}
// JSONArray idArr = new JSONArray();
-// idArr.add(0L); // 鉁� 娉ㄦ剰蹇呴』鏄� Long 绫诲瀷鐨� 0L
-// Double reportNum = orderDetl.getQty() - orderDetl.getWorkQty();//涓婃姤鏁伴噺鍑忓幓宸蹭笂鎶ユ暟閲�
+// idArr.add(0L);
// 鍒涘缓 billentry_lk 瀵硅薄
JSONObject billentryLk = new JSONObject()
.fluentPut("id", 0L)
@@ -124,11 +129,9 @@
.fluentPut("qty", orderDetl.getQty()) // 鏁伴噺
.fluentPut("material_number", orderDetl.getMatnr()) // 鐗╂枡缂栧彿
.fluentPut("billentry_lk", billentryLkArray);
+
billentryArray.add(billentry);
-// orderDetl.setWorkQty(orderDetl.getQty());
-// orderDetlService.updateById(orderDetl);//灏嗕笂鎶ユ暟瑕嗙洊鍒板巻鍙蹭笂
}
- Date now = new Date();
return new JSONObject()
.fluentPut("data", new JSONArray(Arrays.asList(
new JSONObject()
@@ -146,9 +149,73 @@
.fluentPut("supplier_number", suppCode) // 渚涘簲鍟嗙紪鍙�
.fluentPut("billentry", billentryArray) // 灏� billentry 鏁扮粍娣诲姞鍒拌姹傚弬鏁�
)));
-
+ case "STK_MISCELLANEOUS": // 鍏朵粬鍏ュ簱鍗�
+ path = imOtherinbill;
+ billentryArray = new JSONArray();
+ for (OrderDetl orderDetl : orderDetlList) {
+ if (orderDetl.getQty() == 0) {
+ continue;
+ }
+ JSONObject billentry = new JSONObject()
+ .fluentPut("id", 0L)
+ .fluentPut("material_number", orderDetl.getMatnr()) // 鐗╂枡缂栫爜
+ .fluentPut("qty", orderDetl.getQty()) // 鏁伴噺
+ .fluentPut("warehouse_number", "CK001") // 浠撳簱
+ .fluentPut("invstatus_number", "110")
+ .fluentPut("invtype_number", "110")
+ .fluentPut("outinvstatus_number", "110")
+ .fluentPut("outinvtype_number", "110")
+ .fluentPut("linetype_number", "010");
+ billentryArray.add(billentry);
+ }
+ Date nowMis = new Date();
+ return new JSONObject()
+ .fluentPut("data", new JSONArray(Arrays.asList(
+ new JSONObject()
+// .fluentPut("id", 0L)
+ .fluentPut("billno", order.getOrderNo())
+// .fluentPut("bookdate", sdf1.format(nowMis))
+ .fluentPut("biztime", sdf1.format(nowMis))
+ .fluentPut("biztype_number", "354")
+ .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
+ .fluentPut("org_number", "BU-00001")
+ .fluentPut("invscheme_number", "354")
+ .fluentPut("billentry", billentryArray)
+ )));
+ case "STK_MisDelivery": // 鍏朵粬鍑哄簱鍗�
+ path = imOtheroutbill;
+ billentryArray = new JSONArray();
+ Date nowOut = new Date();
+ for (OrderDetl orderDetl : orderDetlList) {
+ if (orderDetl.getQty() == 0) {
+ continue;
+ }
+ JSONObject billentry = new JSONObject()
+ .fluentPut("id", 0L)
+ .fluentPut("material_number", orderDetl.getMatnr()) // 鐗╂枡缂栫爜
+ .fluentPut("qty", orderDetl.getQty()) // 鏁伴噺
+ .fluentPut("warehouse_number", "CK001") // 浠撳簱
+ .fluentPut("invstatus_number", "110")
+ .fluentPut("invtype_number", "110")
+ .fluentPut("outinvstatus_number", "110")
+ .fluentPut("outinvtype_number", "110")
+ .fluentPut("linetype_number", "010");
+ billentryArray.add(billentry);
+ }
+ return new JSONObject()
+ .fluentPut("data", new JSONArray(Arrays.asList(
+ new JSONObject()
+// .fluentPut("id", 0L)
+ .fluentPut("billno", order.getOrderNo())
+// .fluentPut("bookdate", sdf1.format(nowMis))
+ .fluentPut("biztime", sdf1.format(nowOut))
+ .fluentPut("biztype_number", "354")
+ .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
+ .fluentPut("org_number", "BU-00001")
+ .fluentPut("invscheme_number", "354")
+ .fluentPut("billentry", billentryArray)
+ )));
default:
- // 榛樿澶勭悊锛氬彲浠ユ姏鍑哄紓甯告垨杩斿洖绌哄璞�
throw new IllegalArgumentException("Unsupported formId: " + kingDeeUtilType.formId);
}
}
@@ -157,11 +224,9 @@
private ReturnT<String> sendRequestAndProcessResponse(Order order, ErpSecret erpSecret, JSONObject add) {
String response = "";
boolean success = false;
-
try {
// 璁剧疆璇锋眰澶�
HashMap<String, Object> headers = buildRequestHeaders(erpSecret);
-
// 鍙戦�佽姹傦紝灏� JSONObject 杞崲涓� String
response = new HttpHandler.Builder()
.setHeaders(headers)
@@ -170,10 +235,8 @@
.setJson(add.toJSONString()) // 灏� JSONObject 杞崲涓� String
.build()
.doPost();
-
// 瑙f瀽鍝嶅簲
JSONObject jsonResponse = JSON.parseObject(response);
-
// 鍒ゆ柇鏄惁鍥犱负 token 杩囨湡 (errorCode = 401)
if ("401".equals(jsonResponse.getString("errorCode"))) {
log.error("璁よ瘉澶辫触锛屽皾璇曢噸鏂拌幏鍙� Token");
@@ -190,18 +253,15 @@
.build()
.doPost();
}
-
// 瑙f瀽杩斿洖鐨勫搷搴�
JSONObject data = jsonResponse.getJSONObject("data");
String errorCode = jsonResponse.getString("errorCode");
boolean status = jsonResponse.getBooleanValue("status");
-
// 妫�鏌ユ帴鍙h皟鐢ㄧ殑鏁翠綋鐘舵��
if ("0".equals(errorCode) && status) {
// 鑾峰彇鎴愬姛涓庡け璐ョ殑鏁伴噺
int successCount = data.getInteger("successCount");
int failCount = data.getInteger("failCount");
-
if (failCount == 0) {
success = true;
log.info("鎺ュ彛璋冪敤鎴愬姛锛屾垚鍔熺殑鎿嶄綔鏁伴噺: {}", successCount);
@@ -211,10 +271,12 @@
JSONObject resultItem = resultArray.getJSONObject(i);
String billNo = resultItem.getString("number"); // 鑾峰彇杩斿洖鐨勫崟鎹彿
String billId = resultItem.getString("id"); // 鑾峰彇杩斿洖鐨処D
- order.setNumber(billId);
- orderService.updateById(order);
- log.info("璁㈠崟鍙� {} 涓庤繑鍥炵殑鍗曟嵁鍙峰尮閰嶏紝璁剧疆璁㈠崟 ID 涓� {}", order.getOrderNo(), billId);
-
+ // 鍒ゆ柇杩斿洖鐨勫崟鎹彿涓庤鍗曞彿鏄惁涓�鑷�
+ if (billNo != null && billNo.equals(order.getOrderNo())) {
+ // 濡傛灉涓�鑷达紝璁剧疆璁㈠崟鐨� number
+ order.setNumber(billId);
+ log.info("璁㈠崟鍙� {} 涓庤繑鍥炵殑鍗曟嵁鍙峰尮閰嶏紝璁剧疆璁㈠崟 ID 涓� {}", order.getOrderNo(), billId);
+ }
}
} else {
log.error("鎺ュ彛璋冪敤澶辫触锛屽け璐ョ殑鎿嶄綔鏁伴噺: {}", failCount);
@@ -242,7 +304,6 @@
// 淇濆瓨鎺ュ彛鏃ュ織
saveApiLog(add, response, success);
}
-
return success ? SUCCESS : FAIL;
}
@@ -256,7 +317,7 @@
private void saveApiLog(JSONObject add, String response, boolean success) {
try {
apiLogService.save(
- "杩涗粨閫氱煡鍗曚笂鎶ユ柊澧�",
+ "鍏ュ簱涓婃姤鏂板",
URL + path,
null,
"127.0.0.1",
diff --git a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
index bfd22f0..1b8cc73 100644
--- a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
+++ b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -1,27 +1,32 @@
package com.zy.erp.kingdee.enums;
public enum KingDeeUtilType {
- BD_MATERIAL(0, "鐗╂枡妗f","BD_MATERIAL","","","",1),
- BD_RRGANIZATION(2, "渚涘簲鍟�","BD_RRGANIZATION","","","",1),
- PUR_RECEIVEBIll(3, "鏀舵枡鍗�","PUR_RECEIVEBIll","","","",1),
-// INR(1, "杩涗粨閫氱煡搴撳崟涓婃姤","INR","FRealQty","","",1),
-// PUR_MRB(2, "閲囪喘閫�鏂欏崟","PUR_MRB","FRMREALQTY","","",1),
-// PRD_PickMtrl(3, "鐢熶骇棰嗘枡鍗�","PRD_PickMtrl","FActualQty","","",1),
-// PRD_ReturnMtrl(4, "鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl","FQty","","",1),
-// PRD_FeedMtrl(5, "鐢熶骇琛ユ枡鍗�","PRD_FeedMtrl","FActualQty","","",1),
+// BD_MATERIAL(0, "鐗╂枡妗f","BD_MATERIAL","","","",1),
+// BD_RRGANIZATION(2, "渚涘簲鍟�","BD_RRGANIZATION","","","",1),
+// PUR_RECEIVEBIll(3, "鏀舵枡鍗�","PUR_RECEIVEBIll","","","",1),
+// SAL_OUTSTOCK(7, "閿�鍞嚭搴撳崟","SAL_OUTSTOCK","FRealQty","","",0),
+// STK_MisDelivery(19, "鍏朵粬鍑哄簱鍗�","STK_MisDelivery","FQty","","",0),
+// STK_MISCELLANEOUS(18, "鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS","FQty","鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS",1),
+
+// SAL_RETURNSTOCK(9, "閿�鍞��璐у崟","SAL_RETURNSTOCK","FRealQty","","",1),
+// PRD_PickMtrl(10, "鐢熶骇棰嗘枡鍗�","PRD_PickMtrl","","","",0),
+// PRD_ReturnMtrl(12, "鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl","FQty","","",1),
+// PRD_FeedMtrl(14, "鐢熶骇琛ユ枡鍗�","PRD_FeedMtrl","FActualQty","","",0),
+ PRD_MORPT(16, "鐢熶骇姹囨姤鍗�","PRD_MORPT","FFinishQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1),
+// STK_InspectionForm(20, "浜у搧妫�楠屽崟","STK_InspectionForm","","","",0),
+
+ // PUR_MRB(2, "閲囪喘閫�鏂欏崟","PUR_MRB","FRMREALQTY","","",1),
// STK_TransferDirect(6, "鐩存帴璋冩嫧鍗�","STK_TransferDirect","","FQty","",1),
// STK_StockCountGain(7, "鐩樼泩鍗�","STK_StockCountGain","FGainQty","","",1),
// STK_StockCountLoss(8, "鐩樹簭鍗�","STK_StockCountLoss","FLossQty","","",1),
// STK_MisDelivery(9, "鍏朵粬鍑哄簱鍗�","STK_MisDelivery","FQty","","",1),
// SP_PickMtrl(10, "绠�鍗曠敓浜ч鏂欏崟","SP_PickMtrl","FActualQty","","",1),
// SP_ReturnMtrl(11, "绠�鍗曠敓浜ч��鏂欏崟","SP_ReturnMtrl","FQty","","",1),
-// SAL_OUTSTOCK(12, "閿�鍞嚭搴撳崟","SAL_OUTSTOCK","FRealQty","","",1),
// SAL_RETURNSTOCK(13, "閿�鍞��璐у崟","SAL_RETURNSTOCK","FRealQty","","",1),
// SAL_DELIVERYNOTICE(14, "鍙戣揣閫氱煡鍗�","SAL_DELIVERYNOTICE","FQty","閿�鍞嚭搴撳崟","SAL_OUTSTOCK",0),
// STK_MISCELLANEOUS(15, "鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS","FQty","鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS",1),
// BD_Supplier(16, "渚涘簲鍟�","BD_Supplier","","","",1),
// PUR_ReceiveBill(17, "鏀舵枡閫氱煡鍗�","PUR_ReceiveBill","FPOQTY","閲囪喘鍏ュ簱鍗�","STK_InStock",1),
-// PRD_MORPT(18, "鐢熶骇姹囨姤鍗�","PRD_MORPT","FFinishQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1),
// PRD_INSTOCK(19, "鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK","","","",1),
// SAL_RETURNNOTICE(20, "閫�璐ч�氱煡鍗�","SAL_RETURNNOTICE","FBaseJunkedQty","閿�鍞��璐у崟","SAL_RETURNSTOCK",1),
// STK_OutStockApply(21, "鍑哄簱鐢宠鍗�","STK_OutStockApply","FTotalSecQty","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0),
@@ -43,7 +48,15 @@
this.correspondingFormId = correspondingFormId;
this.pakIn = pakIn; //1鍏ュ簱 0鍑哄簱
}
-
+ public static KingDeeUtilType getByFormId(String formId) {
+ if (formId == null) return null;
+ for (KingDeeUtilType type : values()) {
+ if (formId.equals(type.formId)) {
+ return type;
+ }
+ }
+ return null;
+ }
public static KingDeeUtilType get(Short id) {
if (null == id) {
return null;
--
Gitblit v1.9.1