From dfc9552392f9f973ab52e55d58a7ae2acdaeb1f3 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期日, 09 三月 2025 14:19:43 +0800 Subject: [PATCH] 四期 --- src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 88 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java index a9c2d01..57823ab 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -7,7 +7,11 @@ import com.core.common.Cools; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; -import com.zy.asrs.entity.*; +import com.zy.asrs.constant.AsrsConstants; +import com.zy.asrs.entity.AgvLocDetl; +import com.zy.asrs.entity.AgvLocMast; +import com.zy.asrs.entity.AgvWrkDetl; +import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.mapper.AgvLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; @@ -54,13 +58,18 @@ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode)); long flowId = snowflakeIdWorker.nextId(); agvWrkDetls.stream().map(agvWrkDetl -> { - AgvLocDetl agvLocDetl = new AgvLocDetl(); - log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); - BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); - agvLocDetl.setLocNo(locNo); - this.insert(agvLocDetl); - // 娴佹按 -- 鏂板璁㈠崟鏄庣粏 - OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); + AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode())); + if (agvLocDetl != null) { + this.updateAnfme(agvLocDetl.getAnfme() + agvWrkDetl.getAnfme(), agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getBatch(), agvLocDetl.getThreeCode(), agvLocDetl.getDeadTime()); + } else { + agvLocDetl = new AgvLocDetl(); + //log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); + BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); + agvLocDetl.setLocNo(locNo); + //log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl)); + this.insert(agvLocDetl); + // 娴佹按 -- 鏂板璁㈠崟鏄庣粏 + OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); // FlowLog flowLog = new FlowLog(); // flowLog.setFid(String.valueOf(flowId)); // flowLog.setSpare2(String.valueOf(taskCode)); @@ -86,6 +95,7 @@ // if (!flowLogService.insert(flowLog)) { // throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触"); // } + } return agvLocDetl; }).collect(Collectors.toList()); @@ -95,17 +105,28 @@ //鏍规嵁鐗╂枡鍙峰拰鎵规鎵惧埌瀵瑰簲鐨勫簱瀛橈紝骞朵笖鎸夌収淇敼鏃堕棿鎺掑簭 Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time"); if (type != null) { - wrapper.notLike("loc_no", "F1"); + if (type.equals(AsrsConstants.ERCHANG)) { + wrapper.notLike("loc_no", "F3"); + } else { + if (matnr.startsWith("401") || matnr.startsWith("402")) { + //wrapper.notLike("loc_no", "F3"); + wrapper.notLike("loc_no", "F1"); + } else { + wrapper.notLike("loc_no", "F1"); + } + } } - wapperSetCondition(wrapper, "batch", batch); + //涓�鐩存湁PE甯︽壒娆″瓧娈靛鑷达紝鏃犳硶鍑哄簱锛屽氨娉ㄩ噴鎺� + //wapperSetCondition(wrapper, "batch", batch); wapperSetCondition(wrapper, "three_code", csocode); - wapperSetCondition(wrapper, "dead_time", isoseq); + //wapperSetCondition(wrapper, "dead_time", isoseq); if ("JG".equals(orderNo.substring(0, 2))) { wapperSetCondition(wrapper, "process_sts", "1"); } List<AgvLocDetl> agvLocDetls = this.selectList(wrapper); + for (AgvLocDetl agvLocDetl : agvLocDetls) { //鍒ゆ柇褰撳墠搴撲綅璐х墿鏄惁F鍦ㄥ簱 @@ -131,7 +152,39 @@ //褰撳墠搴撲綅鎵�澶勬ゼ灞� int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]); //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor)); - locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor)); + //鍥涙湡 + //locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor)); + + List<String> strings = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()); + List<String> agvStaNos = new ArrayList<>(); + if (agvLocDetl.getLocNo().contains("01F1")) { + for (String string : strings) { + if (string.contains("F1") || string.contains("F4")) { + agvStaNos.add(string); + } + } + } else if (agvLocDetl.getLocNo().contains("02F1")) { + for (String string : strings) { + if (string.contains("F1") || string.contains("F4")) { + agvStaNos.add(string); + } + } + } else if (agvLocDetl.getLocNo().contains("F2")) { + for (String string : strings) { + if (string.contains("F2") || string.contains("F4")) { + agvStaNos.add(string); + } + } + } else if (agvLocDetl.getLocNo().contains("F3")) { + for (String string : strings) { + if (string.contains("F3")) { + agvStaNos.add(string); + } + } + } else { + agvStaNos = strings; + } + locDto.setAgvStaNos(agvStaNos); locDtoList.add(locDto); issued -= anfme; @@ -141,6 +194,7 @@ return issued; } + /* 鏇存柊搴撳瓨鏄庣粏 @@ -161,8 +215,19 @@ } @Override + public Double getSumAnfme2(String matnr, String threeCode) { + return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode); + } + + + @Override public AgvLocDetl selectItem(String locNo, String matnr, String batch, String csocode, String isoCode) { return this.baseMapper.selectItemByOrderNo(locNo, matnr, batch, csocode, isoCode); + } + + @Override + public List<AgvLocDetl> selectItem2(String locNo, String matnr, String batch, String csocode, String isoCode) { + return this.baseMapper.selectItemByOrderNo2(locNo, matnr, batch, csocode, isoCode); } @Override @@ -176,8 +241,18 @@ } @Override + public Double getSumAnfmeProcessed2(String matnr, String threeCode) { + return this.baseMapper.selectSumAnfmeByMatnrProcessed2(matnr, threeCode); + } + + @Override public Double getSumAnfmeDb(String matnr, String threeCode, Integer floor) { - return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor); + return this.baseMapper.selectSumAnfmeByMatnr22(matnr, threeCode, floor); + } + + @Override + public Double getSumAnfmeDb2(String matnr, String threeCode, Integer floor) { + return this.baseMapper.selectSumAnfmeByMatnr3(matnr, threeCode, floor); } @Override -- Gitblit v1.9.1