From 608fb6f9529ce51291ef682638a5efc7dd51ac63 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 18 十一月 2025 08:21:08 +0800
Subject: [PATCH] 1.完善找库位 2.新增erp订单删除后,wms订单跟着删除功能 3.新增订单完成后,上报erp,erp报错后显现在出货单中 4.新增一键查询到异常完成订单 5.对销售单据和其他单据进行区分出库 6.对中间表订单状态进行完善 7.新增锁单功能 8.新增任务查询维护加上订单号

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   53 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index d0c7df7..ff57b73 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,12 +2,15 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.service.impl.MatServiceImpl;
 import com.zy.asrs.service.impl.OrderDetl1ServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.system.entity.User;
+import com.zy.system.service.impl.UserServiceImpl;
 import com.zy.third.entity.ExdInstockTarget;
 import com.zy.third.entity.ExdStock;
 import com.zy.third.entity.ExdvYanbu;
@@ -55,6 +58,8 @@
     private MatServiceImpl matServiceImpl;
     @Autowired
     private OrderDetl1ServiceImpl orderDetl1Service;
+    @Autowired
+    private UserServiceImpl userService;
 
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
@@ -153,6 +158,24 @@
                         } catch (Exception ignore) {
                         }
 
+                        // 鏇存柊瀛愯鍗曞畬鎴愭暟閲�
+                        OrderDetl1 orderDetl1 = orderDetl1Service.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetl1 == null) {
+                            orderDetl1 = orderDetl1Service.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
+                        try {
+                            if (!Cools.isEmpty(orderDetl)) {
+                                if (!orderDetl1Service.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+//                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore) {
+                        }
+
                     }
                     // 鍐欏叆涓棿琛ㄦ暟鎹�
                     write(wrkMast, wrkDetls);
@@ -218,7 +241,7 @@
                             try {
                                 if (!Cools.isEmpty(orderDetl1)) {
                                     if (!orderDetl1Service.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                            orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                            batch, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -516,7 +539,7 @@
 
     private void write(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
         ExdInstockTarget exdInstockTarge;
-        int i = -1;
+        int i = 1;
         for (WrkDetl wrkDetl : wrkDetls) {
             if (Cools.isEmpty(wrkDetl.getOrderNo()) && !Cools.isEmpty(wrkDetl.getInspect()) && wrkDetl.getInspect() == 1) {
                 ExdvYanbu bacode = exdMaterialMapper.getBacode(wrkDetl.getThreeCode());
@@ -525,16 +548,17 @@
                     return;
                 }
                 exdInstockTarge = new ExdInstockTarget();
-                exdInstockTarge.setFtrantype(21);
+                exdInstockTarge.setFtrantype(2);
                 exdInstockTarge.setFdate(new Date());
                 exdInstockTarge.setFrob(1);
                 exdInstockTarge.setFdeptid(7502);
                 //渚涘簲鍟�/瀹㈡埛ID
                 exdInstockTarge.setFsupplyid(0);
                 //wms鎿嶄綔鍛�
-                exdInstockTarge.setFbillerid(Integer.valueOf(wrkDetl.getColor()));
-                exdInstockTarge.setFfmanagerid(Integer.valueOf(wrkDetl.getColor()));
-                exdInstockTarge.setFsmanagerid(Integer.valueOf(wrkDetl.getColor()));
+                User id = userService.selectOne(new EntityWrapper<User>().eq("id", wrkDetl.getColor()));
+                exdInstockTarge.setFbillerid(Integer.valueOf(id.getEmail()));
+                exdInstockTarge.setFfmanagerid(17938);
+                exdInstockTarge.setFsmanagerid(17938);
                 exdInstockTarge.setFentryid(i);
                 //鐗╂枡ID
                 Mat mat = matServiceImpl.selectByMatnr(wrkDetl.getMatnr());
@@ -548,14 +572,19 @@
                 //婧愬崟鍙�
                 exdInstockTarge.setFsourcebillno(bacode.getIcmono());
                 //婧愬崟缁嗚〃ID
-                exdInstockTarge.setFsourceentryid(i);
+                exdInstockTarge.setFsourceentryid(1);
                 //婧愬崟鍗曟嵁绫诲瀷
                 exdInstockTarge.setFsourcetrantype(85);
                 //搴撲綅ID
                 exdInstockTarge.setFdcspid(0);
                 //浠撳簱ID
-                ExdStock fname = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("Fname", wrkDetl.getBrand()));
-                exdInstockTarge.setFdcstockid(Integer.valueOf(fname.getId()));
+                Integer Fdcstockid = 19382;
+                if(!Cools.isEmpty(wrkDetl.getBrand())){
+                    ExdStock fname = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("Fname", wrkDetl.getBrand()));
+                    Fdcstockid = Integer.valueOf(fname.getId());
+                }
+
+                exdInstockTarge.setFdcstockid(Integer.valueOf(Fdcstockid));
 
                 //exdInstockTarge.setFdcspid(wrkMast.getLocNo());
 
@@ -570,8 +599,12 @@
                 exdInstockTarge.setStatus(0);
                 //浠撳簱
                 exdInstockTarge.setProdinkind(bacode.getProdinkind());
+                //鐢熶骇鍏ュ簱瀵逛竴鍧ㄧ墿鏂欒繘琛岀粦瀹氥�傚敮涓�鍊�
+                exdInstockTarge.setFbillno(wrkDetl.getOrigin());
                 //exdInstockTarge.setProdInKind("鐗归噰搴�");
-                exdInstockTargetService.insert(exdInstockTarge);
+                if(!exdInstockTargetService.insert(exdInstockTarge)){
+                    throw new CoolException("楠屽竷鍏ュ簱瀹屾垚鎻掑叆鍏ュ簱琛ㄥけ璐�");
+                }
                 i++;
             }
         }

--
Gitblit v1.9.1