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/InboundOrderHandler.java | 1111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,106 insertions(+), 5 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) {
--
Gitblit v1.9.1