From c0e599ec7572e51fbaba10eb8f2f69db7f80654b Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 11 十二月 2023 13:40:01 +0800 Subject: [PATCH] #优化dispatchShuttle逻辑 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 40 +++++++++++++++++++++++++--------------- 1 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 1f21b56..323e43a 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1303,6 +1303,15 @@ return false;//绔欑偣蹇呴』鑷姩銆佺┖闂层�佹病鏈夋墭鐩� } + if (wrkMast.getStaNo() == 300) { + //鍑�300绔欙紝妫�娴�300绔欎换鍔℃暟閲� + List<WrkMast> wrkMasts = wrkMastMapper.select300Wrk(); + if (wrkMasts.size() >= 4) { + News.info("{}浠诲姟锛岃緭閫佺嚎浠诲姟杩囪浇{}", wrkMast.getWrkNo(), wrkMasts.size()); + return false; + } + } + if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴� //寮哄埗棰勭暀涓�鍙板皬杞︾粰鍏ュ簱浠诲姟 int lev = Utils.getLev(wrkMast.getSourceLocNo()); @@ -2923,8 +2932,7 @@ Utils.wapperSetCondition(wrapper, "three_code", locDetl.getThreeCode()); Utils.wapperSetCondition(wrapper, "dead_time", locDetl.getDeadTime()); Utils.wapperSetCondition(wrapper, "supp_code", locDetl.getSuppCode());//鏂欑鐮� - WrkDetl detl = wrkDetlService.selectOne(wrapper); - + List<WrkDetl> detl = wrkDetlService.selectList(wrapper); if (Cools.isEmpty(detl)) { String suppCode = ""; if (locDetl.getSuppCode() != null) { @@ -2932,23 +2940,21 @@ } ledCommand.getMatDtos().add(new MatDto(locDetl.getMatnr(), locDetl.getMaktx(), 0D, locDetl.getAnfme(), locDetl.getSpecs(), suppCode)); } else { - String suppCode = ""; - String orderNo = detl.getOrderNo(); - if (detl.getSuppCode() != null) { - suppCode = detl.getSuppCode(); + //鍑哄簱鏁伴噺绱 + Double conut = 0.0; + for (WrkDetl wrkDetl : detl) { + conut = conut + wrkDetl.getAnfme(); } - if (isJson(orderNo)) { - JSONArray orders = JSON.parseArray(orderNo); - for (Object order : orders) { - JSONObject order1 = (JSONObject) order; - ledCommand.getMatDtos().add(new MatDto(detl.getMatnr(), detl.getMaktx(), (Double) order1.get("anfme"), (locDetl.getAnfme() - detl.getAnfme()), detl.getSpecs(), suppCode, (String) order1.get("orderNo"))); + + for (WrkDetl wrkDetl : detl) { + String suppCode = ""; + if (wrkDetl.getSuppCode() != null) { + suppCode = wrkDetl.getSuppCode(); } - } else { - ledCommand.getMatDtos().add(new MatDto(detl.getMatnr(), detl.getMaktx(), detl.getAnfme(), (locDetl.getAnfme() - detl.getAnfme()), detl.getSpecs(), suppCode, detl.getOrderNo())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), (locDetl.getAnfme() - conut), wrkDetl.getSpecs(), suppCode, wrkDetl.getOrderNo())); } - - } + }); if (locDetls.isEmpty()) { @@ -3178,6 +3184,10 @@ continue; } + if (shuttleProtocol.getSuspendState() == 1) { + continue;//绠″埗涓� + } + if (!shuttleProtocol.getCurrentLocNo().equals(wrkCharge.getLocNo())) { //灏忚溅涓嶅湪鍏呯數妗╀綅缃� shuttleDispatchUtils.dispatchShuttle(wrkCharge.getWrkNo(), wrkCharge.getLocNo(), shuttle.getId());//璋冨害灏忚溅鍘诲厖鐢垫々 -- Gitblit v1.9.1