From 84cfd49774d4aa0e475b319a70a411c4cc078694 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期四, 13 六月 2024 16:18:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OrderController.java | 5 ++ src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 4 ++ src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 5 ++ src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 19 +++++++++ src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java | 8 +++- src/main/resources/mapper/AgvLocDetlMapper.xml | 40 ++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 2 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 6 +- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 1 src/main/java/com/zy/asrs/controller/OrderDetlController.java | 2 10 files changed, 85 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 438228d..4ff89c0 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -279,6 +279,9 @@ if (orderDetl.getProcessSts() == 1) { flag = true; } + if (param.getDocType() != 32) { + orderDetl.setProcessSts(3); + } DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); if (DetlDto.has(list, dto)) { OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime()); @@ -746,6 +749,8 @@ proSts = 3; } } + } else { + proSts = 3; } diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 28cb552..1906679 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java @@ -187,7 +187,7 @@ wrapper.in("source",docIds); Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); for (OrderDetl record : page.getRecords()) { - Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); + Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode()); record.setStock(sumAnfme == null ? 0 : sumAnfme); } diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java index 64e50e3..10b159e 100644 --- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java +++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java @@ -42,7 +42,10 @@ //璐ф灦鐮� private String suppCode; - public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode) { + // 宸ュ簭 + private Integer processSts; + + public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode, Integer processSts) { this.matnr = matnr; this.batch = batch; this.count = count; @@ -50,6 +53,7 @@ this.threeCode = threeCode; this.deadTime = deadTime; this.suppCode = suppCode; + this.processSts = processSts; } } @@ -68,7 +72,7 @@ } } if (!exit) { - copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode())); + copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode(),adjust.getProcessSts())); } } list = copyList; diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java index 26a6af2..5349c93 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java @@ -28,6 +28,9 @@ @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts = 1") Double selectSumAnfmeByMatnrProcess(@Param("matnr") String matnr,@Param("threeCode") String threeCode); + @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.lev1 != 2") + Double selectSumAnfmeByMatnrProcessed(@Param("matnr") String matnr,@Param("threeCode") String threeCode); + @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1") Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor); @@ -52,6 +55,8 @@ int updateAnfme(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode); + int updateAnfmeProcess(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode, @Param("process")Integer process); + int deleteLocDetl(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode); AgvLocDetl selectLocdetl(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode); diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java index ad725e0..b6debfe 100644 --- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java +++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java @@ -24,6 +24,8 @@ Double getSumAnfmeProcess(String matnr, String threeCode); + Double getSumAnfmeProcessed(String matnr, String threeCode); + Double getSumAnfmeDb(String matnr, String threeCode, Integer floor); Integer sum(); @@ -37,6 +39,8 @@ */ boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode); + boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode,Integer process); + public AgvLocDetl selectByLocNo(String locNo); public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto); 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 08963bf..f0208a0 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -133,6 +133,11 @@ } @Override + public Double getSumAnfmeProcessed(String matnr, String threeCode) { + return this.baseMapper.selectSumAnfmeByMatnrProcessed(matnr, threeCode); + } + + @Override public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) { return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor); } @@ -185,6 +190,20 @@ } } + public boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode, Integer process) { + EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>(); + wrapper.eq("loc_no", locNo); + Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode); + if (anfme <= 0) { + return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0; + } else { + AgvLocDetl agvLocDetl = this.selectOne(wrapper); + agvLocDetl.setAnfme(anfme); + agvLocDetl.setModiTime(new Date()); + return this.baseMapper.updateAnfmeProcess(locNo,anfme,matnr,batch,csocode,isocode,process) > 0; + } + } + private void wapperSetCondition(Wrapper wrapper,String column, String condition){ if(Cools.isEmpty(condition)){ diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index f31eea5..ce68d4b 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -425,7 +425,7 @@ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true); + AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false); if (Cools.isEmpty(locMast)) { throw new CoolException("褰撳墠妤煎眰娌℃湁绌哄簱浣�"); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index b1196b0..c7ac287 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -565,10 +565,10 @@ LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); if (adjust.getCount() == 0) { continue; } if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) { - if (!locDetl.getAnfme().equals(adjust.getCount())) { + if (!locDetl.getAnfme().equals(adjust.getCount()) || !locDetl.getProcessSts().equals(adjust.getProcessSts())) { // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 - if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) { + if (!agvLocDetlService.updateAnfmeProcess(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),adjust.getProcessSts())) { throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�"); } // 淇濆瓨璋冩暣璁板綍 @@ -599,7 +599,7 @@ // 鍒犻櫎搴撳瓨 for (AgvLocDetl locDetl : locDetls) { // todo 鐩樼偣璁板綍 - if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) { + if (!agvLocDetlService.updateAnfmeProcess(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getProcessSts())) { throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�"); } // 淇濆瓨璋冩暣璁板綍 diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index e3f57a5..ae86e2c 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -224,6 +224,7 @@ switch (agvWrkMast.getIoType()) { case 108: case 12: + case 57: agvTaskCreateParam.setTaskTyp("F06"); break; case 109: diff --git a/src/main/resources/mapper/AgvLocDetlMapper.xml b/src/main/resources/mapper/AgvLocDetlMapper.xml index 7fdc6f0..e89b589 100644 --- a/src/main/resources/mapper/AgvLocDetlMapper.xml +++ b/src/main/resources/mapper/AgvLocDetlMapper.xml @@ -153,6 +153,46 @@ </choose> </update> + <update id="updateAnfmeProcess"> + update agv_loc_detl + set anfme = #{anfme} + where 1=1 + and loc_no = #{locNo} + and matnr = #{matnr} + <choose> + <when test="batch != null and batch != ''"> + and batch = #{batch} + </when> + <otherwise> + and (batch IS NULL OR batch = '') + </otherwise> + </choose> + <choose> + <when test="csocode != null and csocode != ''"> + and three_code = #{csocode} + </when> + <otherwise> + and (three_code IS NULL OR three_code = '') + </otherwise> + </choose> + <choose> + <when test="isocode != null and isocode != ''"> + and dead_time = #{isocode} + </when> + <otherwise> + and (dead_time IS NULL OR dead_time = '') + </otherwise> + </choose> + <choose> + <when test="process != null and process != ''"> + and process_sts = #{process} + </when> + <otherwise> + and (process_sts IS NULL OR process_sts = '') + </otherwise> + </choose> + </update> + <delete id = "deleteLocDetl"> delete from agv_loc_detl where 1=1 -- Gitblit v1.9.1