From 4881f66b288c535c3b9da41ee07c9609bacb8481 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 22 十二月 2025 17:01:49 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 173 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 99 insertions(+), 74 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 51534e4..ef2d311 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
@@ -263,7 +263,7 @@
JSONArray data = jsonResponse.getJSONObject("data").getJSONArray("rows");
if(data.size()<=0) continue;
//鍟嗗搧妗f鍚屾
- if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {
+ if(kingDeeUtilType.formId.equals("BD_MATERIAL")) {
Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
// 澶勭悊鍒嗛〉锛氭牴鎹繑鍥炵殑totalCount鍜宲ageSize璁$畻椤垫暟
int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
@@ -558,6 +558,12 @@
callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+matnr, false);
continue;
}
+ if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "妗f绠辨暟閲忓紓甯革細" + matnr, false);
+ continue;
+ }
+ Double erpAnfme = anfme*mat.getSafeQty();
Order order1 = orderService.selectByNo( billNo);
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
boolean sign = false;
@@ -579,7 +585,7 @@
orderDetl.setThreeCode(detlId);//ERP鏄庣粏id
orderDetl.setLineNumber(seq);//鍒嗗綍琛屽彿
orderDetl.setAnfme(anfme);//鎬荤鏁�
- orderDetl.setErpAnfme(anfme);//erp鏁版嵁
+ orderDetl.setErpAnfme(erpAnfme);//erp鏁版嵁
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());//琛ㄥご鍗曟嵁
orderDetl.setSupp(supp);//渚涘簲鍟嗗悕绉帮紙璐ф簮锛�
@@ -735,6 +741,12 @@
"鍟嗗搧涓嶅瓨鍦細" + matnr, false);
continue;
}
+ if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "妗f绠辨暟閲忓紓甯革細" + matnr, false);
+ continue;
+ }
+ Double erpAnfme = anfme*mat.getSafeQty();
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -754,7 +766,7 @@
orderDetl.setThreeCode(detlId);
orderDetl.setLineNumber(seq);
orderDetl.setAnfme(anfme);
- orderDetl.setErpAnfme(anfme);
+ orderDetl.setErpAnfme(erpAnfme);
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setSupp(supp);
@@ -901,6 +913,12 @@
"鍟嗗搧涓嶅瓨鍦細" + matnr, false);
continue;
}
+ if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "妗f绠辨暟閲忓紓甯革細" + matnr, false);
+ continue;
+ }
+ Double erpAnfme = anfme*mat.getSafeQty();
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -920,7 +938,7 @@
orderDetl.setThreeCode(detlId);
orderDetl.setLineNumber(seq);
orderDetl.setAnfme(anfme);
- orderDetl.setErpAnfme(anfme);
+ orderDetl.setErpAnfme(erpAnfme);
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setSupp(supp);
@@ -1209,6 +1227,10 @@
String detlId = entry.getString("id"); //鏄庣粏id
Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
// String suppCode = entry.getString("supplier_number");
+ if(anfme == 0){
+ callApiLogSaveOrder(order,kingDeeUtilType, "鍗曟嵁鏁伴噺寮傚父"+matnr, false);
+ continue;
+ }
String suppCode = null;
if (anfme == null || anfme == 0) {
callApiLogSaveOrder(order, kingDeeUtilType,
@@ -1222,7 +1244,12 @@
"鐗╂枡妗f涓嶅瓨鍦細" + matnr, false);
continue;
}
- anfmeBox = anfme/mat.getSafeQty();
+ if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "妗f绠辨暟閲忓紓甯革細" + matnr, false);
+ continue;
+ }
+ anfmeBox = Math.floor(anfme / mat.getSafeQty());
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -1238,40 +1265,36 @@
// supp = locSupp.getOwner();
// }
// ========= 淇濆瓨鏄庣粏 =========
- try{
- OrderDetl orderDetl = new OrderDetl();
- orderDetl.sync(mat);
- orderDetl.setThreeCode(detlId);
- orderDetl.setLineNumber(seq);
- orderDetl.setAnfme(anfmeBox);
- 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);
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfmeBox);
+ 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);
- } catch (Exception e) {
- // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
- callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
- }
+ orderDetlService.insert(orderDetl);
+
}
}
@@ -1395,7 +1418,12 @@
"鍟嗗搧涓嶅瓨鍦細" + matnr, false);
continue;
}
- anfmeBox = anfme/mat.getSafeQty();
+ if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
+ callApiLogSaveOrder(order, kingDeeUtilType,
+ "妗f绠辨暟閲忓紓甯革細" + matnr, false);
+ continue;
+ }
+ anfmeBox = Math.floor(anfme / mat.getSafeQty());
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
@@ -1410,40 +1438,36 @@
supp = locSupp.getOwner();
}
// ========= 淇濆瓨鏄庣粏 =========
- try{
- OrderDetl orderDetl = new OrderDetl();
- orderDetl.sync(mat);
- orderDetl.setThreeCode(detlId);
- orderDetl.setLineNumber(seq);
- orderDetl.setAnfme(anfmeBox);
- 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);
- } catch (Exception e) {
- // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
- callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
- }
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setThreeCode(detlId);
+ orderDetl.setLineNumber(seq);
+ orderDetl.setAnfme(anfmeBox);
+ 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);
}
}
}
@@ -1478,6 +1502,7 @@
String owner = "鍜屽緱绉戞妧";
String ownerUuid = "BU-00001";
String orderId = jsonObjectNew.getString("id");
+ String manuBill = jsonObjectNew.getString("manufacturenun");
// ========= 璐т富鏍¢獙 =========
LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
// if (locOwner == null) {
@@ -1498,7 +1523,7 @@
null, // 椤圭洰缂栧彿
orderId, //鏀舵枡鍗昳d
null, // 璋冩嫧椤圭洰缂栧彿
- null, // 鍒濆绁ㄦ嵁鍙�
+ manuBill, // 鍒濆绁ㄦ嵁鍙�
null, // 绁ㄦ嵁鍙�
null, // 椤圭洰id
owner, // 璐т富
@@ -1567,7 +1592,7 @@
"鍟嗗搧涓嶅瓨鍦細" + matnr, false);
continue;
}
- anfmeBox = anfme/mat.getSafeQty();
+ anfmeBox = Math.floor(anfme / mat.getSafeQty());
// ========= 鏄庣粏鍘婚噸 =========
List<OrderDetl> orderDetls =
orderDetlService.selectByOrderId(order.getId());
--
Gitblit v1.9.1