From 69c4fd1134f598dd2a7d46b5d25a541fd566b275 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 09 十二月 2022 14:17:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/erp/ErpService.java    |   19 +++++++++++++++++++
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |   19 +++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index d19cd84..70e6a25 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -9,6 +9,8 @@
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.common.model.OrderDto;
+import com.zy.common.service.erp.ErpService;
+import com.zy.common.service.erp.entity.Goods;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +43,8 @@
     private WaitPakinLogService waitPakinLogService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private ErpService erpService;
 
     // update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no =
     @Transactional
@@ -62,6 +66,21 @@
 
             // 鍏ュ簱 --------------------------------------------------------------------------------
             if (wrkMast.getWrkSts() == 10) {
+
+                // 鎼滅储瀵瑰簲鍏ュ簱鏉$爜鍦╡rp鏁版嵁搴撲腑鐨勭姸鎬�
+                List<WrkDetl> wrkDetls0 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+                for (WrkDetl wrkDetl : wrkDetls0) {
+                    Goods goods = erpService.selectGoodsOne(wrkDetl.getMatnr());
+                    if (!Cools.isEmpty(goods)) {
+                        if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) {
+                            log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode());
+                        }
+                    } else {
+                        log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr());
+                    }
+                }
+
+
                 // 鍏ㄦ澘鍏ュ簱
                 if (wrkMast.getIoType() == 1) {
                     // 鍏ュ簱閫氱煡鍗�
diff --git a/src/main/java/com/zy/common/service/erp/ErpService.java b/src/main/java/com/zy/common/service/erp/ErpService.java
index 4f03054..91e38a9 100644
--- a/src/main/java/com/zy/common/service/erp/ErpService.java
+++ b/src/main/java/com/zy/common/service/erp/ErpService.java
@@ -38,6 +38,16 @@
         return erpSqlServer.select(sql, Goods.class);
     }
 
+    public Goods selectGoodsOne(String barCode) {
+        String sql = "select top 1 * from Goods where BarCode = '" + barCode + "'";
+        List<Goods> select = erpSqlServer.select(sql, Goods.class);
+        if (Cools.isEmpty(select)) {
+            return null;
+        } else {
+            return select.get(0);
+        }
+    }
+
     public List<VoucherDto> selectOrder(Integer state) {
         List<VoucherDto> list = new ArrayList<>();
         List<Voucher> voucherList = this.selectVoucher(state);
@@ -85,6 +95,15 @@
     }
 
     /**
+     * 淇敼 Goods 琛� state, location
+     */
+    public boolean updateStateAndLocForGoods(String barcode, Integer state, String loc){
+        String sql = "update Goods set State = ''{1}'', LastUpdatedDate = ''{2}'', Location = ''{3}'' where BarCode = ''{0}''";
+        sql = MessageFormat.format(sql, barcode, state, DateUtils.convert(new Date()), loc);
+        return erpSqlServer.update(sql) > 0;
+    }
+
+    /**
      * 淇敼 Voucher 琛� state
      */
     public boolean updateStateForVoucher(String voucherID, Integer state){

--
Gitblit v1.9.1