| | |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private ManPakOutService manPakOutService; |
| | | |
| | | public ReturnT<String> start(WrkMast wrkMast) { |
| | | // 4.入库完成 |
| | |
| | | locDetl.setAppeTime(now); |
| | | locDetl.setOwner(wrkDetl.getOwner()); |
| | | locDetl.setPayment(wrkDetl.getPayment()); |
| | | locDetl.setWeight(wrkDetl.getWeight()); |
| | | if (!locDetlService.insert(locDetl)) { |
| | | // exceptionHandle("全板入库 ===>> 添加库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | } |
| | | } catch (Exception ignore){} |
| | | |
| | | //更新拣货单完成数量 |
| | | EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); |
| | | manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo()); |
| | | manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr()); |
| | | ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); |
| | | if (!Cools.isEmpty(manPakOut)){ |
| | | if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){ |
| | | manPakOut.setStatus(1); |
| | | } |
| | | manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme()); |
| | | if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ |
| | | return FAIL.setMsg("更新拣货单完成数量失败"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | // 修改库位状态 Q ====>> F |
| | | if (locMast.getLocSts().equals("Q")) { |
| | |
| | | } |
| | | break; |
| | | // 并板入库 |
| | | case 55: |
| | | // 根据工作号,查询工作明细档 |
| | | List<WrkDetl> wrkDetls55 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | if (wrkDetls55.isEmpty()) { |
| | | // exceptionHandle("并板入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | // 修改库存明细数量,如无库存,曾新增 |
| | | for (WrkDetl wrkDetl:wrkDetls55) { |
| | | |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo())); |
| | | locDetl = new LocDetl(); |
| | | locDetl.sync(wrkDetl); |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setAnfme(wrkDetl.getAnfme()); // 数量 |
| | | locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | if (!locDetlService.insert(locDetl)) { |
| | | // exceptionHandle("并板入库 ===>> 新增库存明细失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 新增库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | // 修改库位状态 Q ====>> F |
| | | if (locMast.getLocSts().equals("Q")) { |
| | | locMast.setLocSts("F"); |
| | | locMast.setBarcode(wrkMast.getBarcode()); |
| | | locMast.setIoTime(now); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | // exceptionHandle("并板入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 修改库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | break; |
| | | case 54: |
| | | // 根据工作号,查询工作明细档 |
| | | List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | |
| | | } |
| | | } |
| | | break; |
| | | |
| | | // 盘点入库 |
| | | case 57: |
| | | // 根据工作号,查询工作明细档 |
| | |
| | | } |
| | | |
| | | private ReturnT<String> doOut(WrkMast wrkMast){ |
| | | Date now = new Date(); |
| | | LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); |
| | | Date now = new Date(); //获取当前的时间 |
| | | LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); //获取工作档 |
| | | try { |
| | | if (null == locMast) { |
| | | if (null == locMast) { //如果工作档为空,抛出异常 |
| | | // exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("工作档库位号错误; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | |
| | | return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); |
| | | } |
| | | |
| | | Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); |
| | | if (finsihed) { |
| | | Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo()); |
| | | if (mastFinished) { |
| | | Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo()); |
| | | if (!Cools.isEmpty(order)) { |
| | | orderService.updateSettle(order.getId(),4L,1L); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 删除工作档源库位的库存明细 |
| | | if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { |
| | |
| | | return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); |
| | | } |
| | | } |
| | | |
| | | for (WrkDetl wrkDetl: wrkDetls101) { |
| | | if(Cools.isEmpty(wrkDetl)){ |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("全板出库 ===>> 任务明细为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); |
| | | } |
| | | if (!wrkDetl.getOrderNo().isEmpty()){ |
| | | //更新订单完成数量 |
| | | EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); |
| | | orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo()); |
| | | orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr()); |
| | | |
| | | OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper); |
| | | |
| | | OrderDetl orderDetl1 = new OrderDetl(); |
| | | orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme()); |
| | | orderDetl1.setUpdateTime(now); |
| | | if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){ |
| | | return FAIL.setMsg("更新订单完成数量失败"); |
| | | } |
| | | //更新立库拣货单完成数量 |
| | | EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); |
| | | manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo()); |
| | | manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr()); |
| | | manPakOutEntityWrapper.eq("loc_no","立库"); |
| | | ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); |
| | | if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){ |
| | | manPakOut.setStatus(1); |
| | | } |
| | | manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme()); |
| | | if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ |
| | | return FAIL.setMsg("更新拣货单完成数量失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); |
| | | if (finsihed) { |
| | | Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo()); |
| | | if (mastFinished) { |
| | | Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo()); |
| | | if (!Cools.isEmpty(order)) { |
| | | orderService.updateSettle(order.getId(),4L,1L); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | break; |
| | | // 空板出库 |
| | | case 110: |