From 2ded9514aa9a93ee440af0b1437d788fb052028b Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期六, 23 八月 2025 08:36:59 +0800 Subject: [PATCH] wms功能完善 --- src/main/java/com/zy/asrs/task/MdqzScheduler.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/MdqzScheduler.java b/src/main/java/com/zy/asrs/task/MdqzScheduler.java index f585916..94fe738 100644 --- a/src/main/java/com/zy/asrs/task/MdqzScheduler.java +++ b/src/main/java/com/zy/asrs/task/MdqzScheduler.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.WrkDetlService; import com.zy.asrs.service.WrkMastService; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; @@ -11,6 +15,8 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * @author pang.jiabao @@ -27,15 +33,60 @@ @Resource private WrkMastService wrkMastService; + @Resource + private LocMastService locMastService; + + @Resource + private WrkDetlService wrkDetlService; + // 璇昏ˉ灏炬《閰嶇疆锛岀粰瀵瑰簲浠诲姟鍙疯ˉ灏炬《淇″彿--鏇挎崲涓哄叆搴撳鎵惧簱浣嶆椂锛屽彂鐜板墠闈㈢被鍨嬩笉涓�鏍峰崟鐫�锛岃嚜鍔ㄨˉ灏炬《 @Scheduled(cron = "0/5 * * * * ?") private void tailFillingBuckets() { Config config = configService.selectConfigByCode("tailFillingBuckets"); if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) { WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", config.getValue())); + if (wrkMast != null && wrkMast.getCtnType() == 0) { - wrkMast.setCtnType(1); + Integer wrkNo = wrkMast.getWrkNo(); + // 鍙栨柊搴撲綅缁勭殑绗竴涓簱浣� + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O")); + List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 9 || locMast1.getRow1() == 11).collect(Collectors.toList()); + List<LocMast> collect1 = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 10 || locMast1.getRow1() == 12).collect(Collectors.toList()); // 绗竴涓厛鏀捐繖涓ゆ帓 + if (collect.size() <= 0 && collect1.size() <= 0) { + log.error("绔欑偣:{},浠诲姟鍙穥}锛氬叆搴撶┖妗跺簱鏃犵┖搴撲綅",1050,wrkNo); + return; + } + // 鍙敤搴撲綅缁� + List<LocMast> locMastList = new ArrayList<>(); + for(LocMast locMast1:collect) { + Optional<LocMast> first = collect1.stream().filter(locMast2 -> locMast1.getRow1() + 1 == locMast2.getRow1() && Objects.equals(locMast1.getLev1(), locMast2.getLev1()) + && Objects.equals(locMast1.getBay1(), locMast2.getBay1())).findFirst(); + first.ifPresent(locMastList::add); + } + + if (locMastList.size() == 0) { + log.error("绔欑偣:{},浠诲姟鍙穥}锛氬叆搴撶┖妗跺簱鏃犲搴旂┖绌烘《缁�",1050,wrkNo); + return; + } + WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)); + if (wrkDetl.getModel().equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L锛屽簱浣嶅墿浣欓噺涓嶅鏃讹紝濡傛灉鏄�208L妗跺叆搴擄紝鍒欏厛浠庢渶椤跺眰鏀� + locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).reversed().thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList()); + } else { + locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList()); + } + LocMast locMast = locMastList.get(0); + wrkMast.setLocNo(locMast.getLocNo()); + wrkMast.setCtnType(1); // 灏炬墭鏍囪瘑 wrkMastService.updateById(wrkMast); + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)){ + log.error("绔欑偣:{},浠诲姟鍙穥}锛氭敼鍙樺簱浣峽}鐘舵�亄}澶辫触",1050,wrkNo,locMast.getLocNo(),locMast.getLocSts()); + } + } else { + log.error("绔欑偣:{},浠诲姟鍙穥}锛氱洰鏍囧簱浣嶏細{}宸茶鍗犵敤",1050,wrkNo,locMast.getLocNo()); + } } } } -- Gitblit v1.9.1