From 24c2fd8ab62fa12ae96658664e7ffd478bef6e62 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 13 五月 2024 19:16:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 4 + src/main/java/com/zy/asrs/controller/OrderController.java | 2 src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 2 src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 3 + src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 5 + src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 7 ++ src/main/java/com/zy/asrs/controller/AgvMobileController.java | 23 +++++-- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 41 ++++++++----- src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 4 src/main/java/com/zy/asrs/controller/OrderDetlController.java | 31 ++++++++++ src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 6 + 11 files changed, 100 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java index f507486..f57a54b 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java @@ -14,6 +14,7 @@ import com.zy.asrs.entity.param.PickParam; import com.zy.asrs.service.*; import com.zy.common.web.BaseController; +import io.swagger.models.auth.In; import lombok.Synchronized; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -185,6 +186,7 @@ String orderNo = params.get("orderNo"); String threeCode = params.get("threeCode"); String matnr = params.get("matnr"); + String floor = params.get("floor"); Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr); @@ -193,17 +195,26 @@ wrapper = Cools.isEmpty(threeCode) ? wrapper.isNull("three_code") : wrapper.eq("three_code",threeCode); if (threeCode.substring(0,2).equals(30)) { - wrapper.isNull("specs").or().eq("specs",""); + wrapper.isNull("specs").or().eq("specs","").eq("floor",1); } List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(wrapper); - + List<AgvLocDetl> locDetls = new ArrayList<>(); for (AgvLocDetl agvLocDetl : agvLocDetls) { - AgvLocMast locNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo())); - agvLocDetl.setLocSts(locNo.getLocSts()); - agvLocDetl.setLocSts$(locNo.getLocSts$()); + AgvLocMast agvLocMast = new AgvLocMast(); + if (Cools.isEmpty(floor)) { + agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).notLike("loc_no","F1")); + } else { + agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).like("loc_no",floor)); + } + + if (Cools.isEmpty(agvLocMast)) continue; + agvLocDetl.setLocSts(agvLocMast.getLocSts()); + agvLocDetl.setLocSts$(agvLocMast.getLocSts$()); + locDetls.add(agvLocDetl); } - return R.ok(agvLocDetls); + + return R.ok(locDetls); } /* diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 22f28e5..2808a62 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -210,7 +210,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.getSumAnfmeDb(record.getMatnr(), record.getThreeCode(),1); record.setStock(sumAnfme == null ? 0 : sumAnfme); } return R.ok(page); diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 495bb62..4aa1c2a 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java @@ -127,6 +127,37 @@ return R.ok(page); } + @RequestMapping(value = "/orderDetl/pakout/list/authV4") + @ManagerAuth + public R pakoutList4(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convertLike(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { + wrapper.orderBy("create_time", false); + } + List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); + List<Long> docIds = new ArrayList<>(); + for (DocType pakin : pakins) { + if (pakin.getDocId() == 34) { + docIds.add(pakin.getDocId()); + } + } + + 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()); + record.setStock(sumAnfme == null ? 0 : sumAnfme); + } + + return R.ok(page); + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java index acfd6af..ec0e68b 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java @@ -25,6 +25,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}") Double selectSumAnfmeByMatnr(@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}") + Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor); + @Select("SELECT SUM(anfme) FROM agv_loc_detl") Integer sum(); diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java index b24bc79..c6b771d 100644 --- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java +++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java @@ -22,6 +22,8 @@ Double getSumAnfme(String matnr, String threeCode); + Double getSumAnfmeDb(String matnr, String threeCode, Integer floor); + Integer sum(); List<AgvLocDetl> getStockStatisExcel(); 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 ed9acce..6f91a5b 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -122,6 +122,11 @@ return this.baseMapper.selectSumAnfmeByMatnr(matnr, threeCode); } + @Override + public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) { + return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor); + } + /* 鑾峰彇搴撳瓨鎬绘暟 */ 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 66c5915..971beea 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -103,23 +103,32 @@ for (PickParam.Pick pick : pickParams.getPicks()) { if (pick.getCount().equals(0D)) continue; - AgvWrkDetl wrkDetl = new AgvWrkDetl(); - Mat mat = matService.selectByMatnr(pick.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(pick.getMatnr() + "鍟嗗搧涓嶅瓨鍦�"); + AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode())); + if (Cools.isEmpty(agvWrkDetl)) { + AgvWrkDetl wrkDetl = new AgvWrkDetl(); + Mat mat = matService.selectByMatnr(pick.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(pick.getMatnr() + "鍟嗗搧涓嶅瓨鍦�"); + } + wrkDetl.sync(mat); + wrkDetl.setWrkNo(pickParams.getWrkNo()); + wrkDetl.setOrderNo(pick.getOrderNo()); + wrkDetl.setIoTime(now); + wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺 + wrkDetl.setSuppCode(pick.getSuppCode()); // 鎵樼洏鏉$爜 + wrkDetl.setAppeUser(userId); + wrkDetl.setAppeTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setThreeCode(pick.getThreeCode()); + agvWrkDetlService.insert(wrkDetl); + } else { + Double anfme = agvWrkDetl.getAnfme() + pick.getCount(); + agvWrkDetl.setAnfme(anfme); + agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode())); + } - wrkDetl.sync(mat); - wrkDetl.setWrkNo(pickParams.getWrkNo()); - wrkDetl.setOrderNo(pick.getOrderNo()); - wrkDetl.setIoTime(now); - wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺 - wrkDetl.setSuppCode(pick.getSuppCode()); // 鎵樼洏鏉$爜 - wrkDetl.setAppeUser(userId); - wrkDetl.setAppeTime(now); - wrkDetl.setModiUser(userId); - wrkDetl.setModiTime(now); - wrkDetl.setThreeCode(pick.getThreeCode()); - agvWrkDetlService.insert(wrkDetl); + // 鏇存柊璁㈠崟 OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code",pick.getThreeCode())); diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index 6a3bc03..a9789ce 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java @@ -52,7 +52,8 @@ .or().eq("io_type",57) .or().eq("io_type",10) .or().eq("io_type",11) - .or().eq("io_type",108)); + .or().eq("io_type",108) + .or().eq("io_type",109)); if(!Cools.isEmpty(agvWrkMastList)){ agvWrkMastList.stream().forEach(agvWrkMast -> { agvWrkMastHandler.completedPutWayWrk(agvWrkMast); @@ -106,6 +107,7 @@ .or().eq("io_type", 1) .or().eq("io_type", 10) .or().eq("io_type", 57) + .or().eq("io_type", 109) .or().eq("io_type", 108)).getRecords(); if(!Cools.isEmpty(agvWrkMastList)){ diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java index 35835aa..8e08e43 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java @@ -45,14 +45,14 @@ // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( new EntityWrapper<AgvLocMast>() - .ne("floor", 3) + .ne("floor", 1) .eq("loc_sts","D") .eq("loc_type1",3)); if (agvLocMasts.isEmpty()) { return; } for (AgvLocMast agvLocMast : agvLocMasts) { - ReturnT<String> returnT = autoMoveHandler.start(agvLocMast); + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast); } } diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java index 82f159d..61c5ba2 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -69,7 +69,12 @@ agvWrkMastService.updateById(agvWrkMast); // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F"; - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } else { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� agvWrkMastLogService.save(agvWrkMast); //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java index c3db2df..256f695 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -126,7 +126,7 @@ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3()); + AgvLocMast LocMast = agvCommonService.getLocNo(3,1); //鐢熸垚宸ヤ綔妗� AgvWrkMast mast = new AgvWrkMast(); //宸ヤ綔鐘舵�� @@ -152,6 +152,10 @@ if (!agvWrkMastService.insertByIncrease(mast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } + + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(agvLocMast,"R"); + updateAgvLocMast(LocMast,"S"); return SUCCESS; } } -- Gitblit v1.9.1