From 6336be7369c0fc18d7feed62cb0a33c51c517a90 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 14 十二月 2023 20:19:17 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 71 +++++++++++++++++++++++++---------- 1 files changed, 51 insertions(+), 20 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 6b15116..505fd55 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1,7 +1,6 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -37,8 +36,6 @@ import java.util.*; import java.util.stream.Collectors; - -import static com.zy.asrs.utils.Utils.isJson; /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� @@ -106,7 +103,7 @@ @Autowired private RedisUtil redisUtil; @Autowired - private WrkMastLocMapper wrkMastLocMapper; + private WrkMastLogMapper wrkMastLogMapper; @Autowired private BasLiftOptService basLiftOptService; @Autowired @@ -1390,7 +1387,7 @@ if (wrkMastMapper.updateById(wrkMast) > 0) { if (wrkMast.getWrkSts() == 111) { // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� - if (wrkMastLocMapper.save(wrkMast.getWrkNo()) <= 0) { + if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) { log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } // 鍒犻櫎宸ヤ綔涓绘。 @@ -1680,6 +1677,16 @@ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀湪杈撻�佺珯鐐硅皟搴﹀皬杞﹂伩璁╁け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); return false; } + } + + if (!basDevp.getAutoing().equals("Y")) { + News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夎嚜鍔ㄤ俊鍙凤紝绂佹娲惧彂", wrkMast.getWrkNo(), basDevp.getDevNo()); + return false;//鍑哄簱绔欑偣涓嶅彲鍑� + } + + if (basDevp.getLoading().equals("Y")) { + News.info("{}浠诲姟锛寋}绔欑偣锛屽瓨鍦ㄦ湁鐗╀俊鍙凤紝绂佹娲惧彂", wrkMast.getWrkNo(), basDevp.getDevNo()); + return false;//鍑哄簱绔欑偣涓嶅彲鍑� } if (!basDevp.getOutEnable().equals("Y")) { @@ -2827,16 +2834,40 @@ } // 鑾峰彇宸ヤ綔妗f暟鎹� WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); - if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { - continue; + Integer wrkNo = staProtocol.getWorkNo().intValue(); + Integer ioType = null; + String sourceLocNo = null; + String locNo = null; + Integer wrkStaNo = null; + String barcode = null; + if (wrkMast == null) { + //鏌ヨ鍘嗗彶妗� + WrkMastLog wrkMastLog = wrkMastLogMapper.selectLatestByWorkNo(staProtocol.getWorkNo().intValue()); + if (wrkMastLog == null) { + continue; + } + ioType = wrkMastLog.getIoType(); + sourceLocNo = wrkMastLog.getSourceLocNo(); + locNo = wrkMastLog.getLocNo(); + wrkStaNo = wrkMastLog.getStaNo(); + barcode = wrkMastLog.getBarcode(); + }else { + if (wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { + continue; + } + ioType = wrkMast.getIoType(); + sourceLocNo = wrkMast.getSourceLocNo(); + locNo = wrkMast.getLocNo(); + wrkStaNo = wrkMast.getStaNo(); + barcode = wrkMast.getBarcode(); } wrkMasts.add(wrkMast); // 缁勮鍛戒护 LedCommand ledCommand = new LedCommand(); - ledCommand.setWorkNo(wrkMast.getWrkNo()); - ledCommand.setIoType(wrkMast.getIoType()); + ledCommand.setWorkNo(wrkNo); + ledCommand.setIoType(ioType); // 鍑哄簱妯″紡 - switch (wrkMast.getIoType()) { + switch (ioType) { case 101: ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); break; @@ -2854,15 +2885,15 @@ ledCommand.setEmptyMk(true); break; default: - News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType()); + News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkNo, ioType); break; } - ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); - ledCommand.setLocNo(wrkMast.getLocNo()); - ledCommand.setStaNo(wrkMast.getStaNo()); - ledCommand.setBarcode(wrkMast.getBarcode()); - if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo())); + ledCommand.setSourceLocNo(sourceLocNo); + ledCommand.setLocNo(locNo); + ledCommand.setStaNo(wrkStaNo); + ledCommand.setBarcode(barcode); + if (ioType != 110 && ioType != 10) { + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); locDetls.forEach(locDetl -> { Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq("matnr", locDetl.getMatnr()).eq("wrk_no", wrkMast.getWrkNo()); Utils.wapperSetCondition(wrapper, "batch", locDetl.getBatch()); @@ -2895,13 +2926,13 @@ }); if (locDetls.isEmpty()) { - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)); wrkDetls.forEach(wrkDetl -> { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); }); if (wrkDetls.isEmpty()) {//浠庡巻鍙叉。鏌ヨ - List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkMast.getWrkNo()); + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkNo); wrkDetlLogs.forEach(wrkDetl -> { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); }); @@ -3828,7 +3859,7 @@ if (wrkMast.getWrkSts() == 111) { // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� - if (wrkMastLocMapper.save(wrkMast.getWrkNo()) <= 0) { + if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) { log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } // 鍒犻櫎宸ヤ綔涓绘。 -- Gitblit v1.9.1