From ac2289e0781424f488655ad1773bd365164fe5c7 Mon Sep 17 00:00:00 2001
From: ytfl <ytfl@qq.com>
Date: 星期一, 18 八月 2025 10:14:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |  109 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 70 insertions(+), 39 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index bb25796..df07cec 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -203,6 +203,12 @@
         }
 
 
+        Config crnSearchDetectTaskCountConfig = configService.selectConfigByCode("crnSearchDetectTaskCount");
+        int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue());
+
+        Config applyInTaskTotalCountConfig = configService.selectConfigByCode("applyInTaskTotalCount");
+        int applyInTaskTotalCount = Integer.parseInt(applyInTaskTotalCountConfig.getValue());
+
         Config crnSearchListConfig = configService.selectConfigByCode("123CrnSearchList");
         int crnSearchList = Integer.parseInt(crnSearchListConfig.getValue());
 
@@ -212,6 +218,23 @@
             curRow = locNecessaryParameters[1];
             crnNo = locNecessaryParameters[2];
             if (basCrnpService.checkSiteError(crnNo, true)) {
+                List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                        .eq("crn_no", crnNo)
+                        .in("io_type", 1, 10, 53, 57)
+                );
+                if(wrkMasts.size() > crnSearchDetectTaskCount){
+                    log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount);
+                    continue;
+                }
+
+                List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                        .eq("crn_no", crnNo)
+                        .in("io_type", 1, 10, 53, 57, 101, 103, 107, 110)
+                );
+                if (wrkMastsList.size() > applyInTaskTotalCount) {
+                    log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount);
+                }
+
                 rowCount = locNecessaryParameters[0];
                 nearRow = locNecessaryParameters[3];
                 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
@@ -232,29 +255,37 @@
         //浼樺寲绯荤粺锛屾彁楂樻悳绱�1鍙峰爢鍨涙満娆℃暟
         if (crnNo == 2 || crnNo == 3) {
             if (crnSearchList >= 2) {
-                //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅
-                crnNo = 1;
-                if (basCrnpService.checkSiteError(crnNo, true)) {
-                    List<Integer> nearRowList = new ArrayList<Integer>() {{
-                        add(4);
-                        add(6);
-                        add(3);
-                        add(1);
-                    }};
-                    for (Integer near : nearRowList) {
-                        List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                                .eq("row1", near)
-                                .eq("loc_sts", "O")
-                                .eq("whs_type", rowLastnoType.getType().longValue())
-                                .eq("loc_type1", locTypeDto.getLocType1())
-                                .eq("loc_type2", locTypeDto.getLocType2())
-                        );
-                        int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
-                        if (locMasts.size() - crnCountO <= 2) {
-                            log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
-                        } else {
-                            nearRow = near;
-                            break;
+                if (basCrnpService.checkSiteError(1, true)) {
+                    //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅
+                    crnNo = 1;
+                    List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                            .eq("crn_no", crnNo)
+                            .in("io_type", 1, 10, 53, 57)
+                    );
+                    if(wrkMasts.size() > crnSearchDetectTaskCount){
+                        log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount);
+                    }else {
+                        List<Integer> nearRowList = new ArrayList<Integer>() {{
+                            add(4);
+                            add(6);
+                            add(3);
+                            add(1);
+                        }};
+                        for (Integer near : nearRowList) {
+                            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                                    .eq("row1", near)
+                                    .eq("loc_sts", "O")
+                                    .eq("whs_type", rowLastnoType.getType().longValue())
+                                    .eq("loc_type1", locTypeDto.getLocType1())
+                                    .eq("loc_type2", locTypeDto.getLocType2())
+                            );
+                            int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
+                            if (locMasts.size() - crnCountO <= 2) {
+                                log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
+                            } else {
+                                nearRow = near;
+                                break;
+                            }
                         }
                     }
                 }
@@ -559,24 +590,24 @@
 
 
 
-            // 鑾峰彇鐩爣绔�
-            wrapper = new EntityWrapper<StaDesc>()
-                    .eq("type_no", staDescId)
-                    .eq("stn_no", sourceStaNo)
-                    .eq("crn_no", locMast.getCrnNo());
-            staDesc = staDescService.selectOne(wrapper);
-            if (Cools.isEmpty(staDesc)) {
-                log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
+        // 鑾峰彇鐩爣绔�
+        wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", staDescId)
+                .eq("stn_no", sourceStaNo)
+                .eq("crn_no", locMast.getCrnNo());
+        staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
 //                throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
-                crnNo = 0;
-            } else {
-                staNo = basDevpService.selectById(staDesc.getCrnStn());
-                if (!staNo.getAutoing().equals("Y")) {
-                    log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�");
+            crnNo = 0;
+        } else {
+            staNo = basDevpService.selectById(staDesc.getCrnStn());
+            if (!staNo.getAutoing().equals("Y")) {
+                log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�");
 //                throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
-                    crnNo = 0;
-                }
-                startupDto.setStaNo(staNo.getDevNo());
+                crnNo = 0;
+            }
+            startupDto.setStaNo(staNo.getDevNo());
         }
         String locNo = locMast.getLocNo();
         // 鐢熸垚宸ヤ綔鍙�

--
Gitblit v1.9.1