From 2e401e55c045e3c2c2371c675e12a85105fcfe1c Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期日, 10 八月 2025 15:33:05 +0800 Subject: [PATCH] 与前面桶类型一样,前面该桶类型任务数是奇数,但是不是10,12排,自动给前面任务补尾桶信号 --- src/main/java/com/zy/common/service/CommonService.java | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index cad0386..0ca5ca9 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -16,6 +16,8 @@ import com.zy.common.model.StartupDto; import com.zy.common.properties.SlaveProperties; import com.zy.common.web.param.SearchLocParam; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -62,6 +64,9 @@ @Resource private LocMastMapper locMastMapper; + + @Resource + private ConfigService configService; /** * 鐢熸垚宸ヤ綔鍙� @@ -169,6 +174,17 @@ // 鍏ョ┖妗跺簱 if (staDescId == 1 && locArea == 2) { + Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "emptyBucketInCacheCount").eq("status", 1)); + if (config != null && !Cools.isEmpty(config.getValue())) { // 闄愬埗鍏ョ┖妗跺簱杈撻�佺嚎缂撳瓨浠诲姟鏁帮紝閬垮厤鍫靛 + int value = Integer.parseInt(config.getValue()); + List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().in("dev_no", 1044, 1045, 1046, 1047, 1048, 1049, 1050).ne("wrk_no", 0)); + long count = basDevps.stream().map(BasDevp::getWrkNo).distinct().count(); + log.info("鍏ョ┖妗跺簱杈撻�佺嚎缂撳瓨浠诲姟鏁�:{}",count); + if(count >= value) { + log.error("-----鍏ョ┖妗跺簱杈撻�佺嚎缂撳瓨浠诲姟鏁帮細{}锛岃秴閰嶇疆缂撳瓨鏁帮細{}----",count,value); + throw new CoolException("鍏ョ┖妗跺簱杈撻�佺嚎缂撳瓨浠诲姟鏁帮細"+count+"锛岃秴閰嶇疆缂撳瓨鏁帮細" + value); + } + } List<WrkMast> wrkMastList = wrkMastMapper.selectLastInEmptyLoc(); // 鍓嶉潰鍏ョ┖妗跺簱鐨勪换鍔�(鏈墽琛屽爢鍨涙満鍏ュ簱) if (wrkMastList.size() == 0) { @@ -250,6 +266,8 @@ throw new CoolException("涓庡墠闈㈡《绫诲瀷涓�鏍凤紝鍓嶉潰璇ユ《绫诲瀷浠诲姟鏁版槸濂囨暟锛屾槸10锛�12鎺�,浣嗘槸瀵瑰簲搴撲綅涓嶄负绌�"); } } else { + // 鑷姩缁欏墠闈换鍔¤ˉ灏炬《淇″彿 + wrkMastService.updateCtnType(wrkMast); log.error("-----涓庡墠闈㈡《绫诲瀷涓�鏍凤紝鍓嶉潰璇ユ《绫诲瀷浠诲姟鏁版槸濂囨暟锛屼絾鏄笉鏄�10锛�12鎺�----"); throw new CoolException("涓庡墠闈㈡《绫诲瀷涓�鏍凤紝鍓嶉潰璇ユ《绫诲瀷浠诲姟鏁版槸濂囨暟锛屼絾鏄笉鏄�10锛�12鎺�"); } @@ -328,7 +346,8 @@ // 鍏ユ垚鍝佸簱鎽嗘斁瑙勫垯 鍒ゆ柇鍙敤鍫嗗灈鏈鸿嚜鍔�-鏃犳姤璀� 鎸夊眰鍒楁帓椤哄簭浠庝笅寰�涓婏紝浠庡墠寰�鍚庢帓 鍏堟繁搴撲綅鍦ㄦ祬搴撲綅 鏈�涓婇潰涓�灞傚彧鑳芥斁208L妗�(鍓╀綑搴撲綅杈惧埌涓�涓槇鍊�208L灏卞厛浠庢渶涓婇潰寮�濮嬫斁锛屼笅闈㈢暀缁欏叾浠栬揣鐗�-鍚庣画浼樺寲) - List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3).eq("crn_err", 0).in("crn_no",1,2,3).eq("in_enable","Y")); + List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3).eq("crn_err", 0).in("crn_no",1,2,3) + .eq("in_enable","Y")); if (basCrnps.size() == 0) { log.error("鍏ュ簱璇锋眰搴撲綅澶辫触锛屾病鏈夎仈鏈哄爢鍨涙満鎴栧爢鍨涙満寮傚父"); throw new CoolException("鍏ュ簱璇锋眰搴撲綅澶辫触锛屾病鏈夎仈鏈哄爢鍨涙満鎴栧爢鍨涙満寮傚父"); @@ -341,7 +360,12 @@ basCrnpList.add(basCrnp); } - basCrnpList = basCrnpList.stream().sorted(Comparator.comparing(BasCrnp::getWrkNo)).collect(Collectors.toList()); + basCrnpList = basCrnpList.stream().sorted(Comparator.comparing(BasCrnp::getWrkNo).thenComparing(BasCrnp::getCrnNo,((o1, o2) -> { + // 瀹氫箟 2 鈫� 3 鈫� 1 鐨勪紭鍏堢骇 + int order1 = getCustomOrder(o1); + int order2 = getCustomOrder(o2); + return Integer.compare(order1, order2); + }))).collect(Collectors.toList()); // 鍏ュ簱妗跺瀷 String model = findLocNoAttributeVo.getModel(); @@ -413,6 +437,16 @@ return startupDto; } + // 杈呭姪鏂规硶锛氬畾涔� crn_no 鐨勬帓搴忎紭鍏堢骇 + private static int getCustomOrder(Integer crnNo) { + switch (crnNo) { + case 2: return 1; // 2 鎺掔涓� + case 3: return 2; // 3 鎺掔浜� + case 1: return 3; // 1 鎺掔涓� + default: return 4; // 鍏朵粬鍊兼帓鏈�鍚庯紙濡傛灉鏈夛級 + } + } + @Transactional(propagation = Propagation.REQUIRED) public StartupDto getLocNo(SearchLocParam param, Integer staNo) { -- Gitblit v1.9.1