From cd2fff830de5a879ef2e6b18adebcbe46f28392a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 26 三月 2021 15:59:36 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WorkService.java               |    2 +-
 src/main/java/com/zy/asrs/controller/OpenController.java         |   17 +++++++++++------
 src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java |    2 ++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |    7 ++++---
 4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index f158401..88cc293 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,18 +1,17 @@
 package com.zy.asrs.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.entity.param.OpenApiStockOutParam;
 import com.zy.asrs.entity.result.PakoutVo;
 import com.zy.asrs.entity.result.StoPreTab;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.MatCodeService;
-import com.zy.asrs.service.WorkService;
+import com.zy.asrs.service.*;
 import com.zy.common.model.LocDetlDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +39,8 @@
     private WorkService workService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private WrkMastService wrkMastService;
 
     @PostMapping("/stockOut/prew")
     @Transactional
@@ -96,6 +97,10 @@
         List<PakoutVo> result = new ArrayList<>();
         if (!Cools.isEmpty(params)) {
             for (OpenApiStockOutParam param : params) {
+                // 鎺ㄨ崘璐т綅琛ヤ粨宸ヤ綔妗i槻閲�
+                if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("packed", param.getAllotNo()).le("wrk_sts", 14)) > 0) {
+                    throw new CoolException("褰撳墠琛ヤ粨浠诲姟姝e湪鎵ц锛岃鑰愬績绛夊緟");
+                }
                 Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(param.getMatnr())).orElse(0.0D);
                 if (sumAnfme < param.getAnfme()) {
                     throw new CoolException(param.getMatnr() + "鐗╂枡鏁伴噺涓嶈冻锛岀己璐ф暟閲忥細" + (param.getAnfme() - sumAnfme));
@@ -116,7 +121,7 @@
                             dto.setLocDetl(locDetl);
                             dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
                             detlDtos.add(dto);
-                            workService.stockOut(staNo, detlDtos, 101, 9527L);
+                            workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo());
                         // 鎷f枡
                         } else {
                             BasDevp staNo = basDevpService.checkSiteStatus(107);
@@ -125,7 +130,7 @@
                             dto.setLocDetl(locDetl);
                             dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
                             detlDtos.add(dto);
-                            workService.stockOut(staNo, detlDtos, 103, 9527L);
+                            workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo());
                         }
 
                         PakoutVo pakoutVo = new PakoutVo();
diff --git a/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java b/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java
index 4160f3e..cac303e 100644
--- a/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java
@@ -14,4 +14,6 @@
 
     private Double total;
 
+    private String allotNo;
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index f639fba..b41422f 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -28,7 +28,7 @@
      * @param locDetls 寰呭嚭搴撶墿鏂�
      * @param ioType 鍏ュ嚭搴撶被鍨�
      */
-    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId);
+    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId, String allotNo);
 
     /**
      * 绌烘澘鍏ュ簱
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 9261bf6..1f66bb6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -149,7 +149,7 @@
         }
         if (!locDetlDtos.isEmpty()) {
             // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-            stockOut(staNo, locDetlDtos, null, userId);
+            stockOut(staNo, locDetlDtos, null, userId, null);
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
@@ -157,7 +157,7 @@
 
     @Override
     @Transactional
-    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
+    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, String allotNo) {
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
         locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
@@ -209,6 +209,7 @@
             wrkMast.setExitMk("N"); // 閫�鍑�
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
+            wrkMast.setPacked(allotNo); // 骞充粨琛ヤ粨鍗曞彿
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
             wrkMast.setAppeTime(new Date());
             wrkMast.setModiUser(userId);
@@ -385,7 +386,7 @@
         }
         if (!locDetlDtos.isEmpty()) {
             // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
-            stockOut(staNo, locDetlDtos, 107, userId);
+            stockOut(staNo, locDetlDtos, 107, userId, null);
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }

--
Gitblit v1.9.1