From b6e0bec71de45cad64e9de14977770053be7e010 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 10 六月 2025 19:28:02 +0800
Subject: [PATCH] 流程更改

---
 src/main/java/com/zy/common/web/WcsController.java |   60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index bbe9aa6..78c0638 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -92,18 +92,29 @@
 
         if(param.getIoType() == 1) {
             List<SearchLocParam.WantBucket> wantBucketFlag = param.getWantBucketFlag();
-            Optional<SearchLocParam.WantBucket> first = wantBucketFlag.stream().filter(wantBucket -> wantBucket.getBucketType() == param.getBucketType()).findFirst();
-            if (first.isPresent()) {
-                if(waitPakin == null) {
-                    return R.error("鍏ュ簱閫氱煡妗d负绌�");
-                } else {
-                    dto = startupFullPutStore(param,waitPakin,first.get()); // 鐩翠緵缃愯绾夸换鍔�
-                    if (dto != null) {
-                        log.info("WCS鍏ュ簱鐩翠緵缃愯绾挎帴鍙h繑鍙�:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
-                        return R.ok().add(dto);
+            for(SearchLocParam.WantBucket wantBucket: wantBucketFlag) {
+                if(wantBucket.getBucketType() != 0 && wantBucket.getBucketType() == param.getBucketType()) { // 缃愯绾挎湁瑕佹《淇″彿骞朵笖褰撳墠妗舵槸缃愯绾胯鐨勬《
+                    if(waitPakin == null) {
+                        return R.error("鍏ュ簱閫氱煡妗d负绌�");
+                    } else {
+                        int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2).eq("sta_no", wantBucket.getSite()));
+                        if(wantBucket.getSite() == 1071 && count < 12 || wantBucket.getSite() == 1064 && count < 10 || wantBucket.getSite() == 1078 && count < 12) {
+                            dto = startupFullPutStore(param,waitPakin,wantBucket); // 鐩翠緵缃愯绾夸换鍔�
+                            if (dto != null) {
+                                log.info("WCS鍏ュ簱鐩翠緵缃愯绾挎帴鍙h繑鍙�:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
+                                return R.ok().add(dto);
+                            }
+                        } else {
+                            log.warn("鐩翠緵鐏岃绾夸换鍔″凡婊★紝鍏ユ垚鍝佸簱,鍏ュ簱鐩爣绔欑偣{}锛屼换鍔℃暟锛歿}",wantBucket.getSite(),count);
+                        }
                     }
                 }
             }
+        }
+        // 1.姣嶆墭鐩橈紝2瀛愭墭鐩�
+        int flag = 0;
+        if(param.getIoType() == 10) {
+            flag = param.getBucketType() == 21 ? 1 : 2 ;
         }
 
         switch (param.getIoType()) {
@@ -112,7 +123,7 @@
                 dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakin, param.isTailSupportFlag());
                 break;
             case 10://绌烘墭鐩樺叆搴�
-                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(), 1);
+                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(), 1, flag);
                 break;
             default:
                 break;
@@ -147,9 +158,15 @@
 
         // 鑾峰彇绯荤粺閰嶇疆锛岀湅鎴愬搧缃愯瀹屾垚鏄惁鐩存帴鍑哄埌鍙戣揣鍙�
         Config config = configService.selectConfigByCode("gzwcfh");
-        String fhFlag = "";
+        boolean fhFlag = false;
         if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) {
-            fhFlag = config.getValue();
+            String[] split = config.getValue().split("=");
+            for(String item : split) {
+                if(param.getMatnr().equals(item)) {
+                    fhFlag = true;
+                    break;
+                }
+            }
         }
 
         Date now = new Date();
@@ -200,7 +217,7 @@
 //            dto.setSourceStaNo(wrkMast.getSourceStaNo());
 //            dto.setStaNo(wrkMast.getStaNo());
 //        } else
-        if(param.getMatnr().equals(fhFlag)) { // 鐩存帴鍙戣揣
+        if(fhFlag) { // 鐩存帴鍙戣揣
             // 鐢熸垚宸ヤ綔妗� ------------------------------------------------------
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(commonService.getWorkNo(0));
@@ -694,13 +711,13 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
 
-        // 鍒ゆ柇绌烘《搴撴湁澶氬皯杩欑妗跺瀷
-        int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("matnr", param.getBucketType()).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9"));
-
-        // 灏忎簬10涓垯鐩翠緵缃愯绾匡紝閬垮厤鍏ョ┖妗跺簱鍚庡湪鍑哄簱
-        if (count > 10) {
-             return null;
-        }
+//        // 鍒ゆ柇绌烘《搴撴湁澶氬皯杩欑妗跺瀷
+//        int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("matnr", param.getBucketType()).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9"));
+//
+//        // 灏忎簬10涓垯鐩翠緵缃愯绾匡紝閬垮厤鍏ョ┖妗跺簱鍚庡湪鍑哄簱
+//        if (count > 10) {
+//             return null;
+//        }
 
         StartupDto dto = commonService.getLocNo(param,wantBucket.getSite());
         int workNo = dto.getWorkNo();
@@ -762,7 +779,7 @@
     }
 
     @Transactional
-    public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode, int locArea) {
+    public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode, int locArea, int flag) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
@@ -786,6 +803,7 @@
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("Y"); // 绌烘澘
         wrkMast.setLinkMis("Y");
+        wrkMast.setPltType(flag); // 绌烘嫋绫诲瀷
 //        wrkMast.setBarcode(barcode);
 //        wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
         // 鎿嶄綔浜哄憳鏁版嵁

--
Gitblit v1.9.1