From c27d3ae9d5130a230e1dcb59abd4e8851dceb9d6 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 24 四月 2025 14:22:20 +0800
Subject: [PATCH] #新增盘点单号,页面修改

---
 src/main/java/com/zy/common/web/WcsController.java |   77 +++++++++++++++++++++++++++-----------
 1 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index d822f05..95a51ed 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -44,11 +44,13 @@
     @Autowired
     private WaitPakinService waitPakinService;
     @Autowired
-    private  LocDetlService locDetlService;
+    private LocDetlService locDetlService;
     @Autowired
     private RowLastnoService rowLastnoService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     @PostMapping("/pakin/loc/v1")
     @ResponseBody
@@ -73,13 +75,13 @@
                 }
                 return R.parse(CodeRes.NO_COMB_700);
             }
-            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
-            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
             if (countLoc > 0 || countWrk > 0) {
                 return R.error(CodeRes.EXIST_500);
             }
         }
-        if (Cools.isEmpty(param.getLocType1())){
+        if (Cools.isEmpty(param.getLocType1())) {
             return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
         }
 
@@ -106,12 +108,12 @@
 
     @PostMapping("/auto/emptyIn/v1")
     @ResponseBody
-    public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto){
+    public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true);
 
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 15, null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 12, null, null, locTypeDto, 0);
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -134,22 +136,24 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiTime(now);
         wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
-        return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触");
+        return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触");
     }
 
     @PostMapping("auto/emptyOut/v1")
     @ResponseBody
-    public R autoEmptyOut(){
+    public R autoEmptyOut() {
         LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                 .eq("loc_sts", "D"));
         if (Cools.isEmpty(locMast)) {
             return R.error("搴撳瓨娌℃湁绌烘澘");
         }
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
-        emptyPlateOutParam.setOutSite(11);
-        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
+        emptyPlateOutParam.setOutSite(12);
+        emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+            add(locMast.getLocNo() + "");
+        }});
         WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
-        return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
+        return R.ok(!Cools.isEmpty(wrkMast) ? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
     }
 
     /**
@@ -160,8 +164,22 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matNos, locTypeDto,0);
+        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
+        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+        int rowCount = rowLastnoService.selectCount(null);
+        Integer integer = 1;
+        for (int i = 1; i <= rowCount; i++) {
+            integer = rowLastnoService.selectNextWhsType();
+            BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+                    .eq("crn_no", integer));
+            List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
+                    .eq("crn_no", integer)
+                    .eq("loc_sts", "O"));
+            if (locMastList.size() >= 5 && crn_no.getInEnable().equals("Y") && crn_no.getCrnSts() == 1) {
+                break;
+            }
+        }
+        StartupDto dto = commonService.getLocNo(integer, 1, devpNo, matnrs, batchs, locTypeDto, 0);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -214,19 +232,19 @@
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(now);
-        if (!basDevpService.updateById(sourceStaNo)){
+        if (!basDevpService.updateById(sourceStaNo)) {
             throw new CoolException("鏇存柊婧愮珯澶辫触");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
-        if (locMast.getLocSts().equals("O")){
+        if (locMast.getLocSts().equals("O")) {
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(now);
-            if (!locMastService.updateById(locMast)){
+            if (!locMastService.updateById(locMast)) {
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }
         } else {
-            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+            throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
         return dto;
     }
@@ -235,8 +253,21 @@
     public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
-        // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto,0);
+        int rowCount = rowLastnoService.selectCount(null);
+        Integer integer = 1;
+        for (int i = 1; i <= rowCount; i++) {
+            integer = rowLastnoService.selectNextWhsType();
+            BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+                    .eq("crn_no", integer));
+            List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
+                    .eq("crn_no", integer)
+                    .eq("loc_sts", "O"));
+            if (locMastList.size() >= 5 && crn_no.getInEnable().equals("Y") && crn_no.getCrnSts() == 1) {
+                break;
+            }
+        }
+
+        StartupDto dto = commonService.getLocNo(integer, 1, devpNo, null, null, locTypeDto, 0);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -266,19 +297,19 @@
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(new Date());
-        if (!basDevpService.updateById(sourceStaNo)){
+        if (!basDevpService.updateById(sourceStaNo)) {
             throw new CoolException("鏇存柊婧愮珯澶辫触");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
-        if (locMast.getLocSts().equals("O")){
+        if (locMast.getLocSts().equals("O")) {
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());
-            if (!locMastService.updateById(locMast)){
+            if (!locMastService.updateById(locMast)) {
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }
         } else {
-            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+            throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
         return dto;
     }

--
Gitblit v1.9.1