From c1702cc51a4d94ed37d5083494c87fe0f2cbe5b3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 六月 2021 10:20:13 +0800
Subject: [PATCH] # 销售单取消后回滚立库出库至A99

---
 src/main/java/zy/cloud/wms/manager/mapper/PakoutMapper.java            |    2 +
 src/main/resources/mapper/PakoutMapper.xml                             |    9 ++++
 src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java        |   43 ++++++++++++++++++++-
 src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java |    5 ++
 src/main/java/zy/cloud/wms/manager/service/PakoutService.java          |    1 
 src/main/resources/application.yml                                     |    4 +-
 6 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
index 4edfa60..9a1378a 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -13,6 +13,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
+import zy.cloud.wms.common.entity.Parameter;
 import zy.cloud.wms.common.service.erp.entity.*;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
@@ -58,6 +59,10 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private PakoutService pakoutService;
+    @Autowired
+    private NodeService nodeService;
 
     /**
      * 鍟嗗搧涓嬭浇
@@ -771,8 +776,42 @@
                         Order order = orderService.selectByOrderNo(number);
                         if (order != null) {
                             if (order.getSettle() != 3L && order.getSettle() != 5L) {
-                                if (!orderService.updateSettle(number, 5L)) {
-//                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+                                if (orderService.updateSettle(number, 5L)) {
+                                    // 绔嬪簱鍑哄簱璐т綅杞嚦A99
+                                    List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>()
+                                            .eq("node_id", -1).eq("doc_num", number).ne("memo", "1"));
+                                    Node node = nodeService.selectByUuid(Parameter.get().getUniNode());
+                                    for (Pakout pakout : pakouts) {
+                                        // 绔嬪簱鍑哄簱璐т綅
+                                        if (pakout.getLocNo().length() == 7) {
+                                            LocDetl locDetl = locDetlService.getLocDetl(node.getId(), pakout.getMatnr());
+                                            if (locDetl == null) {
+                                                locDetl = new LocDetl();
+                                                locDetl.setLocNo(node.getName());
+                                                locDetl.setNodeId(node.getId());
+                                                locDetl.setAnfme(pakout.getAnfme());
+                                                VersionUtils.setLocDetl(locDetl, pakout);
+                                                locDetl.setStatus(1);
+                                                locDetl.setCreateBy(9527L);
+                                                locDetl.setCreateTime(now);
+                                                locDetl.setUpdateBy(9527L);
+                                                locDetl.setUpdateTime(now);
+                                                boolean insert = locDetlService.insert(locDetl);
+                                                if (!insert) {
+                                                    throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�");
+                                                }
+                                            } else {
+                                                if (!locDetlService.incrementStock(node.getId(), pakout.getMatnr(), pakout.getAnfme())) {
+                                                    throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�");
+                                                }
+                                            }
+                                            if (!pakoutService.updateStep(pakout.getWrkNo(), pakout.getDocNum())) {
+                                                throw new CoolException("鍙栨秷璁㈠崟鍚庡洖婊氱珛搴撴嫞璐у崟澶辫触");
+                                            }
+                                        }
+                                    }
+                                } else {
+//                                    throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
                                 }
                             }
                         }
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/PakoutMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/PakoutMapper.java
index 8b6b358..1df9eaa 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/PakoutMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/PakoutMapper.java
@@ -12,4 +12,6 @@
 
     Integer updateWrkSts(@Param("wrkNo") String wrkNo, @Param("docNum") String docNum, @Param("wrkSts") Integer wrkSts, @Param("userId") Long userId);
 
+    Integer updateStep(@Param("wrkNo") String wrkNo, @Param("docNum") String docNum);
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/PakoutService.java b/src/main/java/zy/cloud/wms/manager/service/PakoutService.java
index f35f349..f5d7f1e 100644
--- a/src/main/java/zy/cloud/wms/manager/service/PakoutService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/PakoutService.java
@@ -9,4 +9,5 @@
 
     Boolean stockOutComplete(String wrkNo, String docNum, Long userId);
 
+    Boolean updateStep(String wrkNo, String docNum);
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
index d711feb..5439337 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
@@ -19,4 +19,9 @@
         return this.baseMapper.updateWrkSts(wrkNo, docNum, 3, userId)>0;
     }
 
+    @Override
+    public Boolean updateStep(String wrkNo, String docNum) {
+        return this.baseMapper.updateStep(wrkNo, docNum)>0;
+    }
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c306db6..9f455f0 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -14,7 +14,7 @@
 #    password: xltys1995
     # sql-server
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.110.56:1433;databasename=htasrs
+    url: jdbc:sqlserver://192.168.1.56:1433;databasename=htasrs
     username: sa
     password: sa@123
   mvc:
@@ -53,4 +53,4 @@
     endpoint: http://oss-cn-hangzhou.aliyuncs.com
 
 asrs:
-  baseUrl: http://192.168.110.56:8080/htwms
\ No newline at end of file
+  baseUrl: http://192.168.1.56:8080/htwms
diff --git a/src/main/resources/mapper/PakoutMapper.xml b/src/main/resources/mapper/PakoutMapper.xml
index aa4dd67..751eabe 100644
--- a/src/main/resources/mapper/PakoutMapper.xml
+++ b/src/main/resources/mapper/PakoutMapper.xml
@@ -47,4 +47,13 @@
         </if>
     </update>
 
+    <update id="updateStep">
+        update man_pakout
+        set memo = '1'
+        , update_time = getdate()
+        where 1=1
+        and wrk_no = #{wrkNo}
+        and doc_num = #{docNum}
+    </update>
+
 </mapper>

--
Gitblit v1.9.1