From bf45b4a613f0c1fa723e1d03b16cd7d1c79f1f04 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 12 八月 2025 08:34:58 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 132 +++++++++++++++++++++++++++++-------------- 1 files changed, 88 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index aa8979c..250bc28 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -203,6 +203,9 @@ } + Config crnSearchDetectTaskCountConfig = configService.selectConfigByCode("crnSearchDetectTaskCount"); + int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue()); + Config crnSearchListConfig = configService.selectConfigByCode("123CrnSearchList"); int crnSearchList = Integer.parseInt(crnSearchListConfig.getValue()); @@ -212,6 +215,15 @@ 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; + } + rowCount = locNecessaryParameters[0]; nearRow = locNecessaryParameters[3]; List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() @@ -235,21 +247,34 @@ //灏濊瘯鎵�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; + 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; + } } } } @@ -261,7 +286,12 @@ //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅 crnNo = 1; if (basCrnpService.checkSiteError(crnNo, true)) { - List<Integer> nearRowList = new ArrayList<Integer>(){{add(4);add(6);add(3);add(1);}}; + 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) @@ -273,7 +303,7 @@ 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 { + } else { nearRow = near; break; } @@ -283,9 +313,10 @@ if (nearRow == 0) { throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); } - }else { - throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); } +// else { +// throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); +// } } boolean signRule1 = false; @@ -347,7 +378,7 @@ .eq("loc_no", shallowLoc) .eq("loc_sts", "O") ); - if(shallowLocMast != null) { + if (shallowLocMast != null) { locMast = shallowLocMast; break; } @@ -433,40 +464,22 @@ StaDesc staDesc = null; BasDevp staNo = null; + if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { - // 鑾峰彇鐩爣绔� - wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", staDescId) - .eq("stn_no", sourceStaNo) - .eq("crn_no", crnNo); - 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() + "涓嶅彲鐢�"); -// throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); - crnNo = 0; - } - startupDto.setStaNo(staNo.getDevNo()); - } + // 鏇存柊搴撲綅鎺掑彿 if (Cools.isEmpty(locMast)) { rowLastno.setCurrentRow(curRow); rowLastnoService.updateById(rowLastno); } } - // 寮�濮嬫煡鎵惧簱浣� ==============================>> // 1.鎸夎鍒欐煡鎵惧簱浣� if (Cools.isEmpty(locMast) && crnNo != 0) { List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("row1", nearRow) - .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) + .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh",1) .orderBy("lev1", true).orderBy("bay1", true)); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { @@ -542,7 +555,7 @@ // locTypeDto.setLocType1((short)i); // return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); // } - log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); + log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿},{}", JSON.toJSONString(locTypeDto), times,moveCrnNo); throw new CoolException("娌℃湁绌哄簱浣�"); } @@ -554,14 +567,43 @@ if (crnNo == 1) { configService.updateValue("123CrnSearchList", String.valueOf(0)); } + //閽堝1鍙峰爢鍨涙満鎵撶殑琛ヤ竵锛岄槻姝㈡壘鍒板簱浣嶆椂锛屾壘鍒版渶娴呭簱浣� + String deepLoc2 = Utils.getDeepLoc2(slaveProperties, locMast.getLocNo()); + if (!Cools.isEmpty(deepLoc2)) { + LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no",locMast.getCrnNo()) + .eq("loc_no", deepLoc2).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + if (!Cools.isEmpty(locMastNew)) { + locMast = locMastNew; + } + } + + + // 鑾峰彇鐩爣绔� + 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() + "涓嶅彲鐢�"); +// throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); + crnNo = 0; + } + startupDto.setStaNo(staNo.getDevNo()); + } String locNo = locMast.getLocNo(); - // 鐢熸垚宸ヤ綔鍙� int workNo = getWorkNo(0); // 杩斿洖dto startupDto.setWorkNo(workNo); - startupDto.setCrnNo(crnNo); + startupDto.setCrnNo(locMast.getCrnNo()); startupDto.setSourceStaNo(sourceStaNo); startupDto.setLocNo(locNo); return startupDto; @@ -943,6 +985,8 @@ .eq("row1", nearRow) .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣� + //System.out.println(nearRow); + //System.out.println(curRow); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; -- Gitblit v1.9.1