From 059a32e8f159561d917a2e750d962439c8f1a8af Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 19 十二月 2025 09:42:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 100 ++++++++++++++++++++++++++++++--------------------
1 files changed, 60 insertions(+), 40 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 84ccd13..be3ece9 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
@@ -153,11 +153,11 @@
path = orgAddress;
break;
case "PUR_RECEIVEBIll": //宸插鏍告敹鏂欏崟鏌ヨ
- jsonObject.put("start_biztime", "2025-01-01 00:00:00");//涓氬姟璧峰鏃ユ湡
+ jsonObject.put("start_biztime", latestUpdateTime);//涓氬姟璧峰鏃ユ湡
jsonObject.put("end_biztime", sdf1.format(now));//涓氬姟缁撴潫鏃ユ湡
jsonObject.put("billno", null);
jsonObject.put("billstatus", Arrays.asList("C"));//鏁版嵁鐘舵�� [A:鏆傚瓨, B:宸叉彁浜�, C:宸插鏍竇
- jsonObject.put("start_auditdate", "2025-11-25 00:00:00");
+ jsonObject.put("start_auditdate", latestUpdateTime);
jsonObject.put("end_auditdate", sdf1.format(now));
jsonObject.put("org_number", null);
jsonObject.put("supplier_number", null);
@@ -171,16 +171,16 @@
break;
case "SAL_RETURNSTOCK"://閿�鍞��璐�
path = scpSalreturn;
- jsonObject.put("modify_starttime", "2025-11-25 00:00:00");//涓氬姟璧峰鏃ユ湡
+ jsonObject.put("modify_starttime", latestUpdateTime);//涓氬姟璧峰鏃ユ湡
jsonObject.put("billstatus", "B");//鍗曟嵁鐘舵��
jsonObject.put("modify_endtime", sdf1.format(now));//涓氬姟璧峰鏃ユ湡
- jsonObject.put("billtype_number", "im_SalOutBill_STD_BT_S_R");//鍗曟嵁绫诲瀷
+ jsonObject.put("billtype_number", "im_SalOutBill_STD_BT_S_R");//鍗曟嵁绫诲瀷 閫�璐х被鍨嬪緟瀹�
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("start_createtime", latestUpdateTime);
jsonObject.put("end_createtime", sdf1.format(now));
// jsonObject.put("end_auditdate", sdf1.format(now));
// jsonObject.put("end_modifytime", sdf1.format(now));
@@ -195,7 +195,7 @@
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("start_createtime", latestUpdateTime);
jsonObject.put("end_createtime", sdf1.format(now));
// jsonObject.put("start_modifytime", "2025-11-25 00:00:00");
// jsonObject.put("end_modifytime", sdf1.format(now));
@@ -208,7 +208,7 @@
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("start_createtime", latestUpdateTime);
jsonObject.put("end_createtime", sdf1.format(now));
// jsonObject.put("start_modifytime", "2025-11-25 00:00:00");
// jsonObject.put("end_modifytime", sdf1.format(now));
@@ -218,13 +218,13 @@
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_start",latestUpdateTime);
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_start", latestUpdateTime);
jsonObject.put("auditdate_end", sdf1.format(now));
break;
}
@@ -290,11 +290,12 @@
String matnr = jsonObjectNew.get("number").toString();
String name = jsonObjectNew.get("name").toString();
String createTime = jsonObjectNew.get("createtime").toString();
- Double grossweight = jsonObjectNew.get("grossweight") != null ? new BigDecimal(jsonObjectNew.get("eap7_decimalfield6").toString()).doubleValue() : 0.0;
- Double height = jsonObjectNew.get("height") != null ? new BigDecimal(jsonObjectNew.get("eap7_decimalfield9").toString()).doubleValue() : 0.0;
- Double width = jsonObjectNew.get("width") != null ? new BigDecimal(jsonObjectNew.get("eap7_decimalfield8").toString()).doubleValue() : 0.0;
- Double length = jsonObjectNew.get("length") != null ? new BigDecimal(jsonObjectNew.get("eap7_decimalfield7").toString()).doubleValue() : 0.0;
- Double netweight = jsonObjectNew.get("netweight") != null ? new BigDecimal(jsonObjectNew.get("eap7_decimalfield").toString()).doubleValue() : 0.0;
+ Double height = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield9");
+ Double width = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield8");
+ Double length = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield7");
+ Double grossweight= getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield6");
+ Double netweight = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield");
+ Double unit = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield2");
// 鐢熸垚鍟嗗搧妗f
Double height1 = height*10;
Double width1 = width*10;
@@ -307,6 +308,7 @@
mat.setTagId(tag.getId());
mat.setWeight(grossweight);//鍑�閲�
mat.setUnits(netweight);//姣涢噸
+ mat.setSafeQty(unit);//
mat.setManLength(length1);
mat.setHeight(height1);
mat.setWidth(width1);
@@ -326,6 +328,8 @@
// 鏇存柊瀛楁
if (!mat.getMaktx().equals(name)) mat.setMaktx(name);
if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight);
+ if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight);
+ if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit);
if (mat.getManLength().compareTo(length) != 0) mat.setManLength(length1);
if (mat.getHeight().compareTo(height) != 0) mat.setHeight(height1);
if (mat.getWidth().compareTo(width) != 0) mat.setWidth(width1);
@@ -419,6 +423,8 @@
}
}
}
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//鏀舵枡鍗�
else if(kingDeeUtilType.formId.equals("PUR_RECEIVEBIll")){
@@ -609,8 +615,9 @@
}
}
}
- docTypeService.updateById(docType);
}
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//閿�鍞嚭搴�
else if(kingDeeUtilType.formId.equals("SAL_OUTSTOCK")){
@@ -869,9 +876,7 @@
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 anfme = 1.0;//绠辨暟
-
+ Double anfme = entry.getDouble("eap7_decimalfield");//绠辨暟
Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
@@ -941,9 +946,9 @@
orderDetlService.insert(orderDetl);
}
}
- docType.setUpdateTime(now);
- docTypeService.updateById(docType);
}
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//浜у搧妫�楠屽崟
else if(kingDeeUtilType.formId.equals("STK_InspectionForm")){
@@ -1106,9 +1111,9 @@
orderDetlService.insert(orderDetl);
}
}
- docType.setUpdateTime(now);
- docTypeService.updateById(docType);
}
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//鐢熶骇棰嗘枡锛岀敓浜цˉ鏂�
@@ -1191,7 +1196,8 @@
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 anfme = entry.getDouble("qty");//涓暟
+ Double anfmeBox = 0.0;//绠辨暟
Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
@@ -1216,6 +1222,7 @@
"鐗╂枡妗f涓嶅瓨鍦細" + matnr, false);
continue;
}
+ anfmeBox = anfme/mat.getSafeQty();
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -1234,7 +1241,7 @@
orderDetl.sync(mat);
orderDetl.setThreeCode(detlId);
orderDetl.setLineNumber(seq);
- orderDetl.setAnfme(anfme);
+ orderDetl.setAnfme(anfmeBox);
orderDetl.setErpAnfme(anfme);
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
@@ -1261,10 +1268,10 @@
orderDetlService.insert(orderDetl);
}
}
- docType.setUpdateTime(now);
- docTypeService.updateById(docType);
- }
+ }
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//鐢熶骇閫�鏂欏崟PRD_ReturnMtrl
else if(kingDeeUtilType.formId.equals("PRD_ReturnMtrl") ) {
@@ -1357,9 +1364,8 @@
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 anfme = 1.0;//绠辨暟
-
+ Double anfme = entry.getDouble("qty");//涓暟
+ Double anfmeBox = 0.0;
Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
@@ -1383,6 +1389,7 @@
"鍟嗗搧涓嶅瓨鍦細" + matnr, false);
continue;
}
+ anfmeBox = anfme/mat.getSafeQty();
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -1401,7 +1408,7 @@
orderDetl.sync(mat);
orderDetl.setThreeCode(detlId);
orderDetl.setLineNumber(seq);
- orderDetl.setAnfme(anfme);
+ orderDetl.setAnfme(anfmeBox);
orderDetl.setErpAnfme(anfme);
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
@@ -1428,10 +1435,9 @@
orderDetlService.insert(orderDetl);
}
}
- docType.setUpdateTime(now);
- docTypeService.updateById(docType);
}
-
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
//鐢熶骇姹囨姤鍗�
else if(kingDeeUtilType.formId.equals("PRD_MORPT")) {
@@ -1524,7 +1530,8 @@
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 anfmeBox = entry.getDouble("eap7_integerfield");//绠辨暟
+ Double anfme = entry.getDouble("completqty");//涓暟
Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
@@ -1567,8 +1574,8 @@
orderDetl.sync(mat);
orderDetl.setThreeCode(detlId);
orderDetl.setLineNumber(seq);
- orderDetl.setAnfme(anfme);
- orderDetl.setErpAnfme(anfme);
+ orderDetl.setAnfme(anfmeBox);
+ orderDetl.setErpAnfme(anfme);//姹囨姤鍗曚釜鏁�
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setSupp(supp);
@@ -1594,10 +1601,9 @@
orderDetlService.insert(orderDetl);
}
}
- docType.setUpdateTime(now);
- docTypeService.updateById(docType);
}
-
+ docType.setUpdateTime(now);
+ docTypeService.updateById(docType);
}
@@ -1638,5 +1644,19 @@
"鍗曟嵁缂栧彿锛�" + order.getOrderNo() + "銆佺姸鎬侊細" + order.getStatus$(),
response, bool);
}
+ public Double getDecimalFieldAsDouble(JSONObject jsonObject, String fieldName) {
+ Object field = jsonObject.get(fieldName);
+
+ if (field instanceof BigDecimal) {
+ return ((BigDecimal) field).doubleValue();
+ } else if (field instanceof Integer) {
+ return ((Integer) field).doubleValue();
+ } else if (field instanceof Double) {
+ return (Double) field;
+ } else {
+ return 0.0; // 榛樿鍊�
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1