src/main/java/com/zy/asrs/controller/OutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OutController.java
@@ -7,7 +7,6 @@ import com.core.common.R; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.model.LocDto; import com.zy.common.model.TaskDto; import com.zy.common.web.BaseController; @@ -17,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -44,6 +44,9 @@ @Autowired private BasDevpService basDevpService; @Resource private OrderPakoutService orderPakOutService; @PostMapping("/out/pakout/orderDetlIds/auth") @ManagerAuth @@ -60,13 +63,52 @@ } List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids); if (orderDetlPakouts.size() == 0) { return R.parse("订单明细为空"); } List<LocDto> locDtos = new ArrayList<>(); Set<String> exist = new HashSet<>(); // 获取订单主表 OrderPakout orderPakOut = orderPakOutService.selectByNo(orderDetlPakouts.get(0).getOrderNo()); // 盘点单出库 if (orderPakOut.getDocType() == 8) { for (OrderDetlPakout orderDetl : orderDetlPakouts) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); for (LocDetl locDetl : locDetls) { if (issued > 0) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); locDto.setFrozen(locDetl.getFrozen()); locDto.setFrozenLoc(locMast.getFrozen()); List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 107); locDto.setStaNos(staNos); locDtos.add(locDto); // 剩余待出数量递减 issued = issued - locDetl.getAnfme(); } else { break; } } if (issued > 0) { LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); locDto.setLack(Boolean.TRUE); locDtos.add(locDto); } } } else { for (OrderDetlPakout orderDetl : orderDetlPakouts) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); for (LocDetl locDetl : locDetls) { if (issued > 0) { @@ -91,6 +133,7 @@ locDtos.add(locDto); } } } return R.ok().add(locDtos); } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -91,6 +91,9 @@ @Resource private LocMastMapper locMastMapper; @Resource private OrderPakoutService orderPakOutService; @Override @Transactional public String startupFullPutStore(FullStoreParam param, Long userId) { @@ -396,8 +399,10 @@ } // 获取库位 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 获取路径 int ioType = taskDto.isAll() ? 101 : 103; // 判断是否是盘点单 String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo); int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103); StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 生成工作号 int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -333,6 +333,21 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("盘点入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls57) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { // 更新订单完成数量 OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (!Cools.isEmpty(orderDetlPakout)) { if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("盘点入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } } } // 修改库位状态 Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");