From 99861dc6aa5a294f44c27ab461fed3b7d2ad466f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 22 七月 2025 07:58:21 +0800
Subject: [PATCH] no message

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
index edd0186..2780e06 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -103,11 +103,15 @@
         if (null == task) {
             throw new CoolException("鏁版嵁閿欒锛屾湭鎵惧埌瀹瑰櫒鐮佸搴旂洏鐐逛换鍔�");
         }
-        for (CheckDiffItem checkDiffItem : params.getCheckDiffItems()) {
+        for (CheckDiffItem ckDiffItem : params.getCheckDiffItems()) {
             CheckDiffItem diffItem = new CheckDiffItem();
-            if (Objects.isNull(checkDiffItem.getId())) {
-                BeanUtils.copyProperties(checkDiffItem, diffItem);
-                diffItem.setCheckId(params.getCheckId());
+            if (Objects.isNull(ckDiffItem.getId())) {
+                BeanUtils.copyProperties(ckDiffItem, diffItem);
+                diffItem.setCheckId(params.getCheckId())
+                        .setOrderCode(checkDiff.getOrderCode())
+                        .setTaskId(task.getId())
+                        .setBarcode(task.getBarcode())
+                        .setAnfme(ckDiffItem.getCheckQty());
 
                 Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, diffItem.getMatnrCode()));
                 if (Objects.isNull(matnr)) {
@@ -122,6 +126,7 @@
                 BeanUtils.copyProperties(diffItem, diffItem);
                 taskItem.setTaskId(task.getId())
                         .setOrderType(OrderType.ORDER_CHECK.type)
+                        .setSourceCode(diffItem.getOrderCode())
                         .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type))
                         .setAnfme(diffItem.getAnfme())
                         .setWorkQty(0.0)
@@ -145,18 +150,24 @@
                 if (!taskItemService.save(taskItem)) {
                     throw new CoolException("鏂板鐩樼偣鏄庣粏淇濆瓨澶辫触锛侊紒");
                 }
+
+                diffItem.setTaskItemId(taskItem.getId());
+
+                if (!checkDiffItemService.updateById(diffItem)) {
+                    throw new CoolException("鏄庣粏淇敼澶辫触锛侊紒");
+                }
             } else {
-                diffItem = checkDiffItemService.getById(checkDiffItem.getId());
+                diffItem = checkDiffItemService.getById(ckDiffItem.getId());
                 if (null == diffItem) {
                     return R.error("鏁版嵁閿欒锛屾湭鎵惧埌宸紓鍗曟槑缁�");
                 }
             }
 
-            checkDiffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
-            if (!checkDiffItemService.updateById(checkDiffItem)) {
+            diffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
+            if (!checkDiffItemService.updateById(diffItem)) {
                 throw new CoolException("鏇存柊宸紓鍗曟槑缁嗗け璐�");
             }
-            Double checkQty = Math.round((checkDiff.getCheckQty() + checkDiffItem.getCheckQty()) * 10000) / 10000.0;
+            Double checkQty = Math.round((checkDiff.getCheckQty() + diffItem.getCheckQty()) * 10000) / 10000.0;
             checkDiff.setCheckQty(checkQty);
         }
         checkDiff.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);

--
Gitblit v1.9.1