src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/LocDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/TaskDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -464,6 +464,7 @@ @Transactional public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) { Date now = new Date(); taskDto.sortLocDtos(); List<LocDto> locDtos = taskDto.getLocDtos(); for (LocDto locDto : locDtos) { if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) { @@ -526,7 +527,7 @@ } // 生成工作档明细 for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } if (locDto.getAnfme()==null) { continue; } LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getContainerCode()); if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) { throw new CoolException(locDto.getLocNo() + "库位中" + locDto.getMatnr() + "商品库存不足!"); @@ -542,7 +543,8 @@ wrkDetl.setWrkNo(workNo); wrkDetl.setBatch(locDto.getBatch()); wrkDetl.setOrderNo(locDto.getOrderNo()); wrkDetl.setAnfme(locDto.getAnfme()); // 数量 wrkDetl.setAnfme(locDto.getAnfme()); // 作业数量 wrkDetl.setStock(locDto.getStock()); wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); @@ -581,6 +583,7 @@ }); } if (locDto.getAnfme() > 0) { // 修改订单明细 if (!BaseController.isJSON(locDto.getOrderNo())) { OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq()); @@ -618,6 +621,7 @@ throw new CoolException("修改订单明细数量失败"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } } } } @@ -1265,6 +1269,10 @@ } private void generateAgvWaitpakin(WrkDetl wrkDetl){ if (wrkDetl.getAnfme() <= 0D) { return; } String orderNo = wrkDetl.getOrderNo(); if(orderNo.contains("{")){ JSONArray orderArray = JSON.parseArray(orderNo); src/main/java/com/zy/common/model/LocDto.java
@@ -23,6 +23,8 @@ private Double anfme; private Double stock; private boolean lack = false; private List<Integer> staNos; src/main/java/com/zy/common/model/TaskDto.java
@@ -151,4 +151,53 @@ return sameNumber == locDetls.size(); } public void sortLocDtos() { ArrayList<LocDto> list = new ArrayList<>(); String orderNo = ""; for (LocDto locDto : locDtos) { if (!Cools.isEmpty(locDto.getOrderNo())) { orderNo = locDto.getOrderNo(); break; } } EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); wrapper.eq("loc_no", locNo); LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); List<LocDetl> locDetls = locDetlService.selectList(wrapper); for (LocDetl locDetl : locDetls) { boolean flag = true; for (LocDto locDto : locDtos) { if (!Cools.isEmpty(locDetl.getMatnr())) { if (!locDetl.getMatnr().equals(locDto.getMatnr())) { continue; } } if (!Cools.isEmpty(locDetl.getBatch())) { if (!locDetl.getBatch().equals(locDto.getBatch())) { continue; } } if (!Cools.isEmpty(locDetl.getSuppCode())) { if (!locDetl.getSuppCode().equals(locDto.getContainerCode())) { continue; } } locDto.setStock(locDetl.getAnfme()); flag = false; break; } if (flag) { LocDto dto = new LocDto(locNo, locDetl.getMatnr(), locDetl.getBatch(), 0D); dto.setContainerCode(locDetl.getSuppCode()); dto.setStock(locDetl.getAnfme()); dto.setOrderNo(orderNo); list.add(dto); } } locDtos.addAll(list); } }