| | |
| | | } |
| | | } |
| | | // ----------------------------------------------------------------------------------------------- |
| | | List<String> excludeLocNos = taskDtos.stream().map(TaskDto::getLocNo).distinct().collect(Collectors.toList()); |
| | | for (TaskDto taskDto : taskDtos) { |
| | | locMastService.breakUp(taskDto.getLocNo()); |
| | | locMastService.breakUp(taskDto.getLocNo(), excludeLocNos); |
| | | BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); |
| | | workService.stockOut(staNo, taskDto, getUserId()); |
| | | } |
| | |
| | | LocMast findOutMost(List<String> locNos); |
| | | |
| | | // 对同组货物进行移库操作 |
| | | void breakUp(String locNo); |
| | | void breakUp(String locNo, List<String> excludeLocNos); |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public synchronized void breakUp(String locNo) { |
| | | public synchronized void breakUp(String locNo, List<String> excludeLocNos) { |
| | | List<String> groupLoc = Utils.getGroupOuterLoc(locNo); |
| | | Iterator<String> iterator = groupLoc.iterator(); |
| | | while (iterator.hasNext()) { |
| | | String next = iterator.next(); |
| | | LocMast locMast = this.selectById(next); |
| | | if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) { |
| | | if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || excludeLocNos.contains(locMast.getLocNo())) { |
| | | continue; |
| | | } |
| | | iterator.remove(); |
| | |
| | | } |
| | | } |
| | | Integer ioType = null; |
| | | List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList()); |
| | | // 生成工作档 |
| | | for (OutLocDto dto : dtos) { |
| | | // 如果为深库位,且对应浅库位为X.禁用,则略过此库位 |
| | |
| | | ioType = 107; |
| | | } |
| | | assert ioType != null; |
| | | locMastService.breakUp(dto.getLocNo(), excludeLocNos); |
| | | // 获取库位 |
| | | LocMast locMast = locMastService.selectById(dto.getLocNo()); |
| | | // 获取路径 |
| | |
| | | } |
| | | Date now = new Date(); |
| | | // 生成移库工作档 |
| | | Iterator<LocMast> iterator = locMasts.iterator(); |
| | | for (String sourceLocNo : locNos) { |
| | | Iterator<LocMast> iterator = locMasts.iterator(); |
| | | |
| | | while (iterator.hasNext()) { |
| | | LocMast sourceLoc = locMastService.selectById(sourceLocNo); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); |
| | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | | # 双深 |
| | | doubleDeep: true |
| | | doubleDeep: false |
| | | # 双深库位排号 |
| | | doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,33,36,37,40,41,44,45,48 |
| | | # 一个堆垛机负责的货架排数 |