From c62eab59f703be7adb0cb72dc545fe4c7461189b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 03 八月 2021 09:12:23 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 39e8eac..0a87815 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -15,11 +15,9 @@
 import com.zy.asrs.service.*;
 import com.zy.common.model.LocDetlDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 
@@ -30,6 +28,7 @@
 @RequestMapping("/open/api")
 public class OpenController {
 
+    private boolean pickSite = false;
     @Autowired
     private LocDetlService locDetlService;
     @Autowired
@@ -40,6 +39,8 @@
     private BasDevpService basDevpService;
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
 
     @PostMapping("/stockOut/prew")
     @Transactional
@@ -139,6 +140,8 @@
                     if (issued > 0) {
                         // 鐢熸垚鍑哄簱宸ヤ綔妗�
 
+                        int priorCount = jdbcTemplate.queryForObject("select isnull(count(*),0) from man_prior where 1=1 and matnr = '" + param.getMatnr() + "'", Integer.class);
+
                         // 鍏ㄦ澘
                         if (issued>=locDetl.getAnfme()) {
                             BasDevp staNo = basDevpService.checkSiteStatus(103);
@@ -147,16 +150,28 @@
                             dto.setLocDetl(locDetl);
                             dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
                             detlDtos.add(dto);
-                            workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()));
+                            workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()), null);
                         // 鎷f枡
                         } else {
-                            BasDevp staNo = basDevpService.checkSiteStatus(107);
-                            List<LocDetlDto> detlDtos = new ArrayList<>();
-                            LocDetlDto dto = new LocDetlDto();
-                            dto.setLocDetl(locDetl);
-                            dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
-                            detlDtos.add(dto);
-                            workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()));
+
+                            if (priorCount > 0) {
+                                BasDevp staNo = basDevpService.checkSiteStatus(103);
+                                List<LocDetlDto> detlDtos = new ArrayList<>();
+                                LocDetlDto dto = new LocDetlDto();
+                                dto.setLocDetl(locDetl);
+                                dto.setCount(locDetl.getAnfme());
+                                detlDtos.add(dto);
+                                workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()), locDetl.getAnfme()-issued);
+                            } else {
+                                BasDevp staNo = basDevpService.checkSiteStatus(pickSite?113:109);
+                                List<LocDetlDto> detlDtos = new ArrayList<>();
+                                LocDetlDto dto = new LocDetlDto();
+                                dto.setLocDetl(locDetl);
+                                dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
+                                detlDtos.add(dto);
+                                workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()), null);
+                            }
+
                         }
 
                         PakoutVo pakoutVo = new PakoutVo();
@@ -173,7 +188,7 @@
 
             }
         }
-
+        pickSite = !pickSite;
         return R.ok().add(result);
     }
 
@@ -250,7 +265,7 @@
                         dto.setLocDetl(locDetl);
                         dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
                         detlDtos.add(dto);
-                        workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()));
+                        workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()), null);
                     } else { // 鎷f枡
                         BasDevp staNo = basDevpService.checkSiteStatus(107);
                         List<LocDetlDto> detlDtos = new ArrayList<>();
@@ -258,7 +273,7 @@
                         dto.setLocDetl(locDetl);
                         dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
                         detlDtos.add(dto);
-                        workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()));
+                        workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo(), Cools.isEmpty(param.getAllotNo()), null);
                     }
                     PakoutVo pakoutVo = new PakoutVo();
                     pakoutVo.setLocNo(locDetl.getLocNo());

--
Gitblit v1.9.1