From d0ad6f402abde8943329a6e863ce1de4fadc0f21 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 30 十月 2023 15:16:55 +0800 Subject: [PATCH] 平库拣货流程修改 --- src/main/java/com/zy/asrs/controller/ManPakOutController.java | 8 ++ src/main/java/com/zy/asrs/controller/ManLocDetlController.java | 13 +++- src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java | 75 +++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/ManPakOutService.java | 6 ++ src/main/java/com/zy/asrs/entity/ManPakOut.java | 7 ++ src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 6 + src/main/java/com/zy/asrs/controller/MobileController.java | 20 ------ src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 9 --- 8 files changed, 111 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java index 85bc07c..17fac75 100644 --- a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java @@ -93,6 +93,16 @@ Page<ManLocDetl> all = manLocDetlService.selectAllPage(manLocDetlPage); return R.ok().add(all); } + + /* + 骞冲簱绉诲簱 + */ + @RequestMapping("/node/move/start") + public R nodeMoveStart(@RequestParam String sourceLocNo, @RequestParam String targetLocNo){ + manLocDetlService.updateLocNo(targetLocNo,sourceLocNo); + return R.ok(); + } + 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()); @@ -109,8 +119,5 @@ } } } - - - } diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java index 27b0dca..9e409e5 100644 --- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java +++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java @@ -440,4 +440,12 @@ response.getOutputStream().close(); return R.ok(); } + + /* + 骞冲簱搴撳尯鎷f枡淇℃伅 鏍规嵁搴撲綅鑾峰彇鎷f枡淇℃伅锛屽苟涓旀牴缁濆簱浣嶅仛鎺掑簭 + */ + @RequestMapping("/node/order/pakout") + public R nodeOrderPakout(@RequestParam String locType){ + return R.ok(manPakOutService.pakoutByLocType(locType)); + } } diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index d23ef8b..1bd9767 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -422,24 +422,4 @@ return R.ok().add(waitPakins); } - /* - 骞冲簱绉诲簱 - */ - @RequestMapping("/node/move/start") - public R nodeMoveStart(@RequestParam String sourceLocNo, @RequestParam String targetLocNo){ - - - return R.ok(); - } - - - /* - 骞冲簱搴撳尯鎷f枡淇℃伅 - */ - @RequestMapping("/node/order/pakout") - public R nodeOrderPakout(@RequestParam String locType){ - - - return R.ok(); - } } diff --git a/src/main/java/com/zy/asrs/entity/ManPakOut.java b/src/main/java/com/zy/asrs/entity/ManPakOut.java index 7afe93d..8a999c0 100644 --- a/src/main/java/com/zy/asrs/entity/ManPakOut.java +++ b/src/main/java/com/zy/asrs/entity/ManPakOut.java @@ -276,5 +276,12 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } + public ManPakOut(){ + + } + + public ManPakOut(String locNo){ + this.setLocNo(locNo); + } } diff --git a/src/main/java/com/zy/asrs/service/ManPakOutService.java b/src/main/java/com/zy/asrs/service/ManPakOutService.java index cfbfcc6..3f9570f 100644 --- a/src/main/java/com/zy/asrs/service/ManPakOutService.java +++ b/src/main/java/com/zy/asrs/service/ManPakOutService.java @@ -3,9 +3,15 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.ManPakOut; +import java.util.List; + public interface ManPakOutService extends IService<ManPakOut> { void updateAllStatus(String orderNo,int status); ManPakOut selectByOrderWithName(String orderNo); + List<ManPakOut> selectByLocType(String locType); + + List<ManPakOut> pakoutByLocType(String locType); + } 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 8f88216..0448530 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 绉诲姩绔湇鍔℃牳蹇冪被 @@ -229,7 +230,10 @@ public List<AgvBasDevp> getAgvBasDevpByFloor(int floor) { EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); wrapper.eq("floor",floor).eq("cache_shelves","Y").eq("loc_sts","F"); - return agvBasDevpService.selectList(wrapper); + List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(wrapper); + return agvBasDevpList.stream().filter(agvBasDevp -> { + return !Cools.isEmpty(agvWaitPakinService.selectByContainerCode(agvBasDevp.getBarcode())); + }).collect(Collectors.toList()); } } 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 734d847..940d621 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -210,13 +210,4 @@ } - public static void main(String[] args) { - String locationCode = "301-1"; - if(locationCode.contains("C")){ - System.out.println(true); - }else { - System.out.println(false); - } - } - } diff --git a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java index d0cfc70..323374f 100644 --- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java @@ -1,10 +1,14 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.entity.ManPakOut; import com.zy.asrs.mapper.ManPakOutMapper; import com.zy.asrs.service.ManPakOutService; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; @Service("manPakOutService") public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService { @@ -18,4 +22,75 @@ public ManPakOut selectByOrderWithName(String orderNo) { return this.baseMapper.selectByOrderWithName(orderNo); } + + @Override + public List<ManPakOut> selectByLocType(String locType) { + return this.selectList(new EntityWrapper<ManPakOut>().like("loc_no",locType).eq("status",1)); + } + + @Override + public List<ManPakOut> pakoutByLocType(String locType) { + List<ManPakOut> manPakOuts = this.selectByLocType(locType); + + manPakOuts.sort((m1,m2) -> { + //鍙栧簱浣嶇紪鐮佹渶鍚�6浣嶅緱鍒版帓鍒楀眰 + String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6); + String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6); + + int row1 = Integer.parseInt(locNo1.substring(0, 2)); + int row2 = Integer.parseInt(locNo2.substring(0, 2)); + int bay1 = Integer.parseInt(locNo1.substring(2,4)); + int bay2 = Integer.parseInt(locNo2.substring(2,4)); + + //姣忎袱鎺掍负涓�涓捣鐐癸紝鏍规嵁鍒楁潵鐢辫繎鍒拌繙鎺掑簭 + if((row1 + 1)/2 != (row2+1)/2){ + return row1 - row2; + }else { + return bay1 - bay2; + } + }); + + return manPakOuts; + } + + public static void main(String[] args) { + + String str = "DT-13C-010203"; + System.out.println(str.substring(str.length()-6)); + + List<ManPakOut> list = new ArrayList<>(); + list.add(new ManPakOut("DT-C-010403")); + list.add(new ManPakOut("DT-C-050203")); + list.add(new ManPakOut("DT-C-040503")); + list.add(new ManPakOut("DT-C-030203")); + list.add(new ManPakOut("DT-C-010503")); + list.add(new ManPakOut("DT-C-020103")); + list.add(new ManPakOut("DT-C-020203")); + list.add(new ManPakOut("DT-C-040103")); + + //Collections.sort(list); + + list.sort((m1,m2) ->{ + + //鍙栧簱浣嶇紪鐮佹渶鍚�6浣嶅緱鍒版帓鍒楀眰 + String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6); + String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6); + + int row1 = Integer.parseInt(locNo1.substring(0, 2)); + int row2 = Integer.parseInt(locNo2.substring(0, 2)); + int bay1 = Integer.parseInt(locNo1.substring(2,4)); + int bay2 = Integer.parseInt(locNo2.substring(2,4)); + + if((row1 + 1)/2 != (row2+1)/2){ + return row1 - row2; + }else { + return bay1 - bay2; + } + + }); + + list.forEach(manPakOut -> { + System.out.println(manPakOut); + }); + } } -- Gitblit v1.9.1