From 24f4438faf3a689d2ec67d56457c0ff5a3d1fb46 Mon Sep 17 00:00:00 2001
From: IZCD4L12RTSW0VZ\Administrator <skyouc>
Date: 星期三, 07 一月 2026 13:04:52 +0800
Subject: [PATCH] 派工单变更优化
---
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
index 655ff2e..548eaee 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -354,7 +354,7 @@
// 鍒ゆ柇璁㈠崟鏄惁瀛樺湪
if (Objects.isNull(order)) {
/** 涓嶅瓨鍦紝鏂板璁㈠崟 */
- generateOrders(params);
+ generateOrders(params, type);
} else {
if (order.getSettle() == 2) {
throw new CoolException("璁㈠崟宸插鐞嗭紝涓嶅彲鍐嶅彉鏇达紒锛�");
@@ -368,7 +368,7 @@
if (!orderService.deleteById(order.getId())) {
throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
}
- generateOrders(params);
+ generateOrders(params, type);
}
}
@@ -380,9 +380,10 @@
* 鐢熸垚璁㈠崟淇℃伅
*
* @param params
+ * @param type
*/
@Transactional(rollbackFor = Exception.class)
- public void generateOrders(PubOrderParams params) {
+ public void generateOrders(PubOrderParams params, String type) {
// 灏嗘暟鎹綋鏂拌鍗曟彃鍏�
Order newOrder = new Order();
// 娲惧伐鍗曞彿
@@ -443,7 +444,11 @@
if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
// 鍏ュ簱
- orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+ if (type.equals("add")) {
+ orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+ } else {
+ orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
+ }
} else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
// 鍑哄簱
if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) {
@@ -452,7 +457,11 @@
} else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType())
|| OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) {
// 澶囪揣鎸囩ず娲惧伐鍗曪紙EO/SO锛夊嚭搴�
- orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
+ if (type.equals("add")) {
+ orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
+ } else {
+ orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
+ }
}
}
orderItem.setMatnr(matnr.getMatnr());
--
Gitblit v1.9.1