From d3cb0e841e6585aa84a45f18bb30965db8d1a6aa Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 08 一月 2025 15:48:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/WcsController.java |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 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..d7516d7 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -49,6 +49,8 @@
     private RowLastnoService rowLastnoService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     @PostMapping("/pakin/loc/v1")
     @ResponseBody
@@ -71,10 +73,12 @@
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
                     return R.parse(CodeRes.PICK_600);
                 }
-                return R.parse(CodeRes.NO_COMB_700);
+                return R.error(param.getBarcode() + "姝ゆ潯鐮佹湭缁勬墭锛岃鍏堢粍鎵橈紒");
             }
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
-            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+            int countWrk = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode())
+                    .le("io_type",100));
+
             if (countLoc > 0 || countWrk > 0) {
                 return R.error(CodeRes.EXIST_500);
             }
@@ -111,7 +115,7 @@
         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, locTypeDto,0);
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -146,7 +150,7 @@
             return R.error("搴撳瓨娌℃湁绌烘澘");
         }
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
-        emptyPlateOutParam.setOutSite(11);
+        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("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
@@ -161,7 +165,29 @@
         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);
+        int rowCount = rowLastnoService.selectCount(null);
+        Integer integer = 2;
+        for (int i = 1; i <= rowCount; i++) {
+            integer = rowLastnoService.selectNextWhsType();
+            BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+                    .eq("crn_no", integer));
+            if (crn_no.getInEnable().equals("Y") && crn_no.getCrnSts() == 3){
+                break;
+            }
+        }
+        String fullPlt = "N";
+        for (WaitPakin waitPakin : waitPakins) {
+            if (Cools.isEmpty(waitPakin.getIsFull())) {
+                fullPlt = "N";
+                break;
+            }
+            if (waitPakin.getIsFull().equals("Y")) {
+                fullPlt = "Y";
+                break;
+            }
+        }
+
+        StartupDto dto = commonService.getLocNo(integer, 1, devpNo, matNos, locTypeDto,0);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -176,7 +202,7 @@
         wrkMast.setStaNo(dto.getStaNo());
         wrkMast.setLocNo(dto.getLocNo());
         wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
-        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setFullPlt(fullPlt); // 婊℃澘锛歒
         wrkMast.setPicking("N"); // 鎷f枡
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("N"); // 绌烘澘
@@ -235,8 +261,19 @@
     public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+        int rowCount = rowLastnoService.selectCount(null);
+        Integer integer = 2;
+        for (int i = 1; i <= rowCount; i++) {
+            integer = rowLastnoService.selectNextWhsType();
+            BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+                    .eq("crn_no", integer));
+            if (crn_no.getInEnable().equals("Y")
+                    && crn_no.getCrnSts() == 3){
+                break;
+            }
+        }
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto,0);
+        StartupDto dto = commonService.getLocNo(integer, 10, devpNo, null, locTypeDto,0);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();

--
Gitblit v1.9.1