| | |
| | | private BasAreasService basAreasService; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | @Autowired |
| | | private OrderPakoutService orderPakoutService; |
| | | |
| | | public ReturnT<String> start(WrkMast wrkMast) { |
| | | // 4.入库完成 |
| | |
| | | locDetl = new LocDetl(); |
| | | locDetl.sync(wrkDetl); |
| | | locDetl.setAreaId(locMast.getAreaId()); |
| | | locMast.setAreaName(locMast.getAreaName()); |
| | | locDetl.setAreaName(locMast.getAreaName()); |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setAnfme(wrkDetl.getAnfme()); // 数量 |
| | | locDetl.setBoxType1(wrkDetl.getBoxType1()); |
| | | locDetl.setSuppCode(wrkDetl.getSuppCode()); |
| | | locDetl.setThreeCode(wrkDetl.getThreeCode()); |
| | | locDetl.setStandby1(wrkDetl.getSuppCode()); |
| | | locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setAnfme(wrkDetl.getAnfme()); // 数量 |
| | | locDetl.setAreaId(locMast.getAreaId()); |
| | | locMast.setAreaName(locMast.getAreaName()); |
| | | locDetl.setAreaName(locMast.getAreaName()); |
| | | locDetl.setBoxType1(wrkDetl.getBoxType1()); |
| | | locDetl.setSuppCode(wrkDetl.getSuppCode()); |
| | | locDetl.setThreeCode(wrkDetl.getThreeCode()); |
| | | locDetl.setStandby1(wrkDetl.getSuppCode()); |
| | | locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | |
| | | .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | if (wrkDetls54.isEmpty()) { |
| | | // exceptionHandle("并板入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | // 修改库存明细数量,如无库存,曾新增 |
| | | for (WrkDetl wrkDetl : wrkDetls54) { |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), |
| | | wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), |
| | | wrkDetl.getBoxType3()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), |
| | | wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("并板入库 ===>> 修改库存明细数量失败;[workNo={0}],[matnr={1}]", |
| | | // wrkMast.getWrkNo(), wrkDetl.getMatnr()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } else { |
| | | locDetl = new LocDetl(); |
| | | locDetl.sync(wrkDetl); |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setAnfme(wrkDetl.getAnfme()); // 数量 |
| | | locDetl.setAreaId(locMast.getAreaId()); |
| | | locMast.setAreaName(locMast.getAreaName()); |
| | | locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | if (!locDetlService.insert(locDetl)) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 新增库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | // return FAIL.setMsg("并板入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | // + wrkMast.getLocNo() + "]"); |
| | | } else { |
| | | // 修改库存明细数量,如无库存,曾新增 |
| | | for (WrkDetl wrkDetl : wrkDetls54) { |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("loc_no", locMast.getLocNo())); |
| | | |
| | | if (null != locDetl) { |
| | | // 更新订单完成数量 |
| | | OrderDetlPakin detlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>() |
| | | // .eq("three_code", wrkDetl.getThreeCode()) //TODO 并板时需要修改BSCODE为订单bscode |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("order_no", wrkDetl.getOrderNo())); |
| | | try { |
| | | if (!Cools.isEmpty(detlPakin)) { |
| | | double v = Math.round((wrkDetl.getAnfme() - locDetl.getAnfme()) * 10000) / 10000.0; |
| | | double v1 = Math.round((detlPakin.getQty() + v) * 10000) / 10000.0; |
| | | detlPakin.setQty(v1); |
| | | detlPakin.setWorkQty(v1); |
| | | detlPakin.setAdjustQty(wrkDetl.getAdjustQty()); |
| | | detlPakin.setSplusQty(wrkDetl.getSplusQty()); |
| | | if (!orderDetlPakinService.update(detlPakin, new EntityWrapper<OrderDetlPakin>() |
| | | .eq("matnr", detlPakin.getMatnr()) |
| | | .eq("supp_code", detlPakin.getSuppCode()) |
| | | .eq("order_no", detlPakin.getOrderNo()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() |
| | | + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | } |
| | | |
| | | // OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", pakin.getOrderNo())); |
| | | // if (Objects.isNull(orderPakin)) { |
| | | // throw new CoolException("数据错误,订单信息不存在!!"); |
| | | // } |
| | | // |
| | | // if (!orderPakin.getDocType().equals(0)) { |
| | | // // 更新订单完成数量 |
| | | // OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), |
| | | // pakin.getMatnr(), pakin.getBatch(), pakin.getBrand(), pakin.getStandby1(), |
| | | // pakin.getStandby2(), pakin.getStandby3(), |
| | | // pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3()); |
| | | // if (orderDetlPakin == null) { |
| | | // orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), pakin.getMatnr(), |
| | | // pakin.getBatch(), |
| | | // pakin.getBrand(), pakin.getStandby1(), pakin.getStandby2(), |
| | | // pakin.getStandby3(), |
| | | // pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3()); |
| | | // } |
| | | // try { |
| | | // if (!Cools.isEmpty(orderDetlPakin)) { |
| | | // if (!orderDetlPakinService.increaseQtyByOrderNo(pakin.getOrderNo(), |
| | | // pakin.getMatnr(), |
| | | // orderDetlPakin.getBatch(), pakin.getBrand(), pakin.getStandby1(), |
| | | // pakin.getStandby2(), pakin.getStandby3(), |
| | | // pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3(), |
| | | // pakin.getAnfme())) { |
| | | // throw new CoolException("AGV全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() |
| | | // + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | // } |
| | | // } |
| | | // } catch (Exception ignore) { |
| | | // |
| | | // } |
| | | // } |
| | | LocDetl detl = new LocDetl(); |
| | | detl.setAnfme(wrkDetl.getAnfme()); |
| | | detl.setStandby1(wrkDetl.getSuppCode()); |
| | | detl.setBoxType1(locDetl.getBoxType1()); |
| | | detl.setOrderNo(wrkDetl.getOrderNo()); |
| | | |
| | | // 更新订单完成数量 |
| | | OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), |
| | | wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), "1", |
| | | wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | try { |
| | | if (!Cools.isEmpty(orderDetlPakin)) { |
| | | if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), |
| | | wrkDetl.getMatnr(), |
| | | orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | "1", wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), |
| | | wrkDetl.getAnfme())) { |
| | | if (!locDetlService.update(detl, new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", locMast.getLocNo()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("supp_code", wrkDetl.getSuppCode()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() |
| | | + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | return FAIL.setMsg("并板入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | |
| | | } else { |
| | | locDetl = new LocDetl(); |
| | | locDetl.sync(wrkDetl); |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setAnfme(wrkDetl.getAnfme()); // 数量 |
| | | locDetl.setAreaId(locMast.getAreaId()); |
| | | locDetl.setAreaName(locMast.getAreaName()); |
| | | locDetl.setBoxType1(wrkDetl.getBoxType1()); |
| | | locDetl.setSuppCode(wrkDetl.getSuppCode()); |
| | | locDetl.setThreeCode(wrkDetl.getThreeCode()); |
| | | locDetl.setStandby1(wrkDetl.getSuppCode()); |
| | | locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | if (!locDetlService.insert(locDetl)) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 新增库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | } catch (Exception ignore) { |
| | | |
| | | } |
| | | } |
| | | |
| | | // 修改库位状态 Q ====>> F |
| | | if (locMast.getLocSts().equals("Q")) { |
| | | locMast.setLocSts("F"); |
| | |
| | | } |
| | | |
| | | String agvSta = null; |
| | | if (wrkMast.getIoType() == TaskIOType.MERGE_IN.type) { |
| | | if (wrkMast.getIoType().equals(TaskIOType.MERGE_IN.type)) { |
| | | agvSta = wrkMast.getPauseMk(); |
| | | } |
| | | // . 删除缓存站点明细 |
| | | if (!Objects.isNull(agvSta)) { |
| | | // 修改目标站点信息 |
| | | BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta)); |
| | | if (Objects.isNull(station)) { |
| | | throw new CoolException("站点不存在!!"); |
| | | } |
| | | basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo())); |
| | | station.setLocSts(LocStsType.LOC_STS_TYPE_D.type); |
| | | if (!basStationService.updateById(station)) { |
| | | throw new CoolException("站点状态更新失败!!"); |
| | | List<BasStationDetl> basStationDetls = basStationDetlService.selectList(new EntityWrapper<BasStationDetl>().eq("dev_no", agvSta)); |
| | | if (Objects.isNull(basStationDetls) || basStationDetls.isEmpty()) { |
| | | // . 删除缓存站点明细 |
| | | if (!Objects.isNull(agvSta)) { |
| | | // 修改目标站点信息 |
| | | BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta)); |
| | | if (Objects.isNull(station)) { |
| | | throw new CoolException("站点不存在!!"); |
| | | } |
| | | basStationDetlService.delete(new EntityWrapper<BasStationDetl>() |
| | | .eq("dev_no", station.getDevNo())); |
| | | station.setLocSts(LocStsType.LOC_STS_TYPE_D.type); |
| | | if (!basStationService.updateById(station)) { |
| | | throw new CoolException("站点状态更新失败!!"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | // 根据工作号,查询工作明细档 |
| | | List<WrkDetl> wrkDetls57 = wrkDetlService |
| | | .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | if (wrkDetls57.isEmpty()) { |
| | | if (!wrkDetls57.isEmpty()) { |
| | | // exceptionHandle("盘点入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("盘点入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | for (WrkDetl wrkDetl : wrkDetls57) { |
| | | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { |
| | | // 更新订单完成数量 |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId()); |
| | | LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId()); |
| | | BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme()); |
| | | locDetl.setAnfme(checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) == 0 |
| | | || checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) > 0 |
| | | ? oriAnfme.doubleValue() |
| | | : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue()); |
| | | locDetl.setBookQty(oriAnfme); |
| | | locDetl.setDiffQty(checkOrderDetl.getDiffQty()); |
| | | if (!locDetlService.updateById(locDetl)) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("盘点入库 ===>> 修改库存差异数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | for (WrkDetl wrkDetl : wrkDetls57) { |
| | | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { |
| | | // 更新订单完成数量 |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId()); |
| | | if (!Objects.isNull(checkOrderDetl)) { |
| | | LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId()); |
| | | if (!Objects.isNull(locDetl)) { |
| | | BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme()); |
| | | locDetl.setAnfme(checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) == 0 |
| | | || checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) > 0 |
| | | ? oriAnfme.doubleValue() |
| | | : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue()); |
| | | locDetl.setBookQty(oriAnfme); |
| | | locDetl.setDiffQty(checkOrderDetl.getDiffQty()); |
| | | if (!locDetlService.updateById(locDetl)) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("盘点入库 ===>> 修改库存差异数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | // 修改库位状态 Q ====>> F |
| | | if (locMast.getLocSts().equals("Q")) { |
| | | locMast.setLocSts(wrkMast.getFullPlt().equals("Y") ? "F" : "D"); |
| | |
| | | return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getSourceLocNo() + "]"); |
| | | } |
| | | |
| | | for (WrkDetl wrkDetl : wrkDetls101) { |
| | | // 更新订单完成数量 |
| | | OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), |
| | |
| | | } |
| | | } |
| | | break; |
| | | |
| | | case 104: |
| | | |
| | | break; |
| | | case 103: |
| | | // List<WrkDetl> wrkDetls103 = wrkDetlService |
| | | // .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | |
| | | // return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | // + wrkMast.getSourceLocNo() + "]"); |
| | | // } |
| | | |
| | | // |
| | | // for (WrkDetl wrkDetl : wrkDetls103) { |
| | | // // 更新订单完成数量 |
| | | // OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), |
| | |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ReturnT<String> agvDoOut(Task task) { |
| | | Date now = new Date(); |
| | | LocCache locMast = locCacheService |
| | | .selectOne(new EntityWrapper<LocCache>().eq("loc_no", task.getSourceLocNo())); |
| | | Date now = new Date(); |
| | | |
| | | if (Objects.isNull(locMast)) { |
| | | throw new RuntimeException("数据错误:库位信息不能为空!!"); |
| | | } |
| | | if (task.getIoType().equals(101)) { |
| | | if (Objects.isNull(locMast)) { |
| | | throw new RuntimeException("数据错误:库位信息不能为空!!"); |
| | | } |
| | | List<TaskDetl> wrkDetls101 = taskDetlService |
| | | .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo())); |
| | | if (wrkDetls101.isEmpty()) { |
| | |
| | | return FAIL.setMsg( |
| | | "全板出库 ===>> 工作明细档为空; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | } |
| | | |
| | | BasStation devNo = basStationService |
| | | .selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo())); |
| | | if (Objects.isNull(devNo)) { |
| | |
| | | } |
| | | |
| | | for (TaskDetl wrkDetl : wrkDetls101) { |
| | | // 更新订单完成数量 |
| | | 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 (orderDetlPakout == null) { |
| | | orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), |
| | | wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | } |
| | | try { |
| | | 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=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | | // 更新备货出库单完成数量 |
| | | OrderPakout orderPakout = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo())); |
| | | if (!Objects.isNull(orderPakout) && orderPakout.getDocType() == 5) { |
| | | try { |
| | | if (!Cools.isEmpty(orderPakout)) { |
| | | if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | "1", wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), |
| | | wrkDetl.getAnfme())) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("备货出库单 ===>> 更新订单完成数量失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | | } |
| | | } |
| | | } catch (Exception ignore) { |
| | | log.error(ignore.getMessage(), ignore); |
| | | } |
| | | } catch (Exception ignore) { |
| | | |
| | | } |
| | | |
| | | BasStationDetl stationDetl = new BasStationDetl(); |
| | |
| | | throw new CoolException("站点明细保存失败!!"); |
| | | } |
| | | } |
| | | // for (TaskDetl wrkDetl : wrkDetls101) { |
| | | // // 更新订单完成数量 |
| | | // 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 (orderDetlPakout == null) { |
| | | // orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | // wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), |
| | | // wrkDetl.getStandby3(), |
| | | // wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | // } |
| | | // try { |
| | | // 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=" + task.getWrkNo() + "],[locNo=" |
| | | // + task.getSourceLocNo() + "]"); |
| | | // } |
| | | // } |
| | | // } catch (Exception ignore) { |
| | | // |
| | | // } |
| | | // |
| | | // BasStationDetl stationDetl = new BasStationDetl(); |
| | | // BeanUtils.copyProperties(wrkDetl, stationDetl); |
| | | // stationDetl.setDevNo(devNo.getDevNo()) |
| | | // .setOrderNo(wrkDetl.getOrderNo()); |
| | | // if (!basStationDetlService.insert(stationDetl)) { |
| | | // throw new CoolException("站点明细保存失败!!"); |
| | | // } |
| | | // } |
| | | // 删除工作档源库位的库存明细 |
| | | if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", task.getSourceLocNo()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | "全板出库 ===>> 删除库存明细失败; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | } |
| | | // 修改源库位状态 R ===>> O |
| | | if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) { |
| | | if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type) || locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type)) { |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | locMast.setBarcode(""); |
| | | locMast.setModiTime(now); |
| | | locMast.setIoTime(now); |
| | | if (!locCacheService.updateById(locMast)) { |
| | | if (!locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | } else if (task.getIoType().equals(110)) { |
| | | if (Objects.isNull(locMast)) { |
| | | throw new RuntimeException("数据错误:库位信息不能为空!!"); |
| | | } |
| | | // 修改源库位状态 R ===>> O |
| | | if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) { |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | locMast.setBarcode(""); |
| | | locMast.setModiTime(now); |
| | | locMast.setIoTime(now); |
| | | if (!locCacheService.updateById(locMast)) { |
| | | |
| | | if (!locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | | } |
| | | } else { |
| | | throw new CoolException("当前库位状态" + locMast.getLocSts() + ", 无法执行出库操作!!"); |
| | | } |
| | | |
| | | BasStation devNo = basStationService |
| | | .selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo())); |
| | | if (Objects.isNull(devNo)) { |
| | |
| | | return FAIL.setMsg("拣料出库 ===>> 工作明细档为空; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | | } |
| | | for (TaskDetl wrkDetl : wrkDetls103) { |
| | | // 更新订单完成数量 |
| | | OrderDetlPakout orderDetlPakout = orderDetlPakoutService. |
| | | selectOne(new EntityWrapper<OrderDetlPakout>() |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("order_no", wrkDetl.getOrderNo())); |
| | | try { |
| | | 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=" + task.getWrkNo() |
| | | + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | } |
| | | } |
| | | //TODO 修改站点状态预约目标库位,以及站点库位信息 |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("loc_no", task.getSourceLocNo())); |
| | | if (Objects.isNull(locDetl) ) { |
| | | throw new CoolException("库存数据错误,请联系管理员!!"); |
| | | } |
| | | Double sulp = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0; |
| | | locDetl.setAnfme(sulp); |
| | | if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo()) |
| | | .eq("matnr", locDetl.getMatnr()) |
| | | .eq("supp_code", locDetl.getSuppCode()))) { |
| | | return FAIL.setMsg("拣料出库 ===>> 更新订单完成数量失败; [workNo=" + task.getWrkNo() |
| | | + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | } |
| | | } catch (Exception ignore) { |
| | | log.error(ignore.getMessage()); |
| | | } |
| | | } |
| | | // for (TaskDetl wrkDetl : wrkDetls103) { |
| | | // // 更新订单完成数量 |
| | | // OrderDetlPakout orderDetlPakout = orderDetlPakoutService. |
| | | // selectOne(new EntityWrapper<OrderDetlPakout>() |
| | | // .eq("matnr", wrkDetl.getMatnr()) |
| | | // .eq("supp_code", wrkDetl.getSuppCode()) |
| | | // .eq("order_no", wrkDetl.getOrderNo())); |
| | | // try { |
| | | // 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=" + task.getWrkNo() |
| | | // + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | // } |
| | | // } |
| | | // //TODO 修改站点状态预约目标库位,以及站点库位信息 |
| | | // LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | // .eq("matnr", wrkDetl.getMatnr()) |
| | | // .eq("supp_code", wrkDetl.getSuppCode()) |
| | | // .eq("loc_no", task.getSourceLocNo())); |
| | | // if (Objects.isNull(locDetl) ) { |
| | | // throw new CoolException("库存数据错误,请联系管理员!!"); |
| | | // } |
| | | // Double sulp = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0; |
| | | // locDetl.setAnfme(sulp); |
| | | // if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo()) |
| | | // .eq("matnr", locDetl.getMatnr()) |
| | | // .eq("supp_code", locDetl.getSuppCode()))) { |
| | | // return FAIL.setMsg("拣料出库 ===>> 更新订单完成数量失败; [workNo=" + task.getWrkNo() |
| | | // + "],[locNo=" + task.getSourceLocNo() + "]"); |
| | | // } |
| | | // } catch (Exception ignore) { |
| | | // log.error(ignore.getMessage()); |
| | | // } |
| | | // } |
| | | |
| | | // if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type) || locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) { |
| | | // locMast.setLocSts(LocStsType.LOC_STS_TYPE_S.type); |
| | | // locMast.setBarcode(""); |
| | | // locMast.setModiTime(now); |
| | | // locMast.setIoTime(now); |
| | | // if (!locCacheService.updateById(locMast)) { |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | // return FAIL.setMsg("拣料出库 ===>> 修改源库位状态失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | // + task.getSourceLocNo() + "]"); |
| | | // } |
| | | // } else { |
| | | // throw new CoolException("当前库位状态" + locMast.getLocSts() + ", 无法执行出库操作!!"); |
| | | // } |
| | | // |
| | | // BasStation basStation = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo())); |
| | | // // 修改源库位状态 R ===>> O |
| | | // if (basStation.getLocSts().equals(LocStsType.LOC_STS_TYPE_F.type) || basStation.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type)) { |
| | | // basStation.setLocSts(LocStsType.LOC_STS_TYPE_R.type); |
| | | // basStation.setBarcode(""); |
| | | // basStation.setModiTime(now); |
| | | // basStation.setIoTime(now); |
| | | // if (!basStationService.updateById(basStation)) { |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | // return FAIL.setMsg("拣料出库 ===>> 修改源库位状态失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | // + task.getSourceLocNo() + "]"); |
| | | // } |
| | | // } else { |
| | | // throw new CoolException("当前库位状态" + basStation.getLocSts() + ", 无法执行出库操作!!"); |
| | | // } |
| | | // Task task1 = new Task(); |
| | | // int workNo = commonService.getWorkNo(0); |
| | | task.setIoType(task.getIoType() - 50); |
| | | task.setLocNo(task.getSourceLocNo()); |
| | | task.setWrkSts(TaskStatusType.AGV_IN_START.type); |
| | | |
| | | if (!taskService.update(task, new EntityWrapper<Task>().eq("wrk_no", task.getWrkNo()))) { |
| | | throw new CoolException("任务拣货完成状态更新失败!!"); |
| | | } |
| | | |
| | | // 修改源库位状态 R ===>> O |
| | | if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) { |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_S.type); |
| | | locMast.setBarcode(""); |
| | | locMast.setModiTime(now); |
| | | locMast.setIoTime(now); |
| | | if (!locCacheService.updateById(locMast)) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料出库 ===>> 修改源库位状态失败; [workNo=" + task.getWrkNo() + "],[locNo=" |
| | | + task.getSourceLocNo() + "]"); |
| | | } |
| | | } else { |
| | | throw new CoolException("当前库位状态" + locMast.getLocSts() + ", 无法执行出库操作!!"); |
| | | } |
| | | // task1.setWrkNo(workNo); |
| | | // task1.setIoType(task.getIoType() - 50); |
| | | // task1.setLocNo(task.getSourceLocNo()); |
| | | // task1.setIsNewIn("M1"); |
| | | // task1.setSourceStaNo(task.getStaNo()); |
| | | // task1.setWrkSts(TaskStatusType.AGV_IN_START.type); |
| | | // |
| | | // if (!taskService.insert(task1)) { |
| | | // throw new CoolException("拣货入库任务生成失败!!"); |
| | | // } |
| | | // |
| | | // List<TaskDetl> taskDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo())); |
| | | // taskDetls.forEach(detl -> { |
| | | // detl.setWrkNo(task1.getWrkNo()); |
| | | // if (!taskDetlService.update(detl, new EntityWrapper<TaskDetl>().eq("wrk_no", detl.getWrkNo()))) { |
| | | // throw new CoolException("任务明细修改失败!!"); |
| | | // } |
| | | // }); |
| | | // task.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_OUT.type); |
| | | // if (!taskService.updateById(task)) { |
| | | // throw new CoolException("任务状态修改失败!!"); |
| | | // } |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ReturnT<String> agvDoIn(Task wrkMast) { |
| | | if (wrkMast.getIsNewIn().equals("XM1")) { |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (!taskService.updateById(wrkMast)) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | if (wrkMast.getTaskType().equals("agv_back")) { |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (!taskService.updateById(wrkMast)) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo())); |
| | | if (!Objects.isNull(wrkMast.getSourceStaNo())) { |
| | | BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>() |
| | |
| | | } |
| | | station.setBarcode(""); |
| | | if (!basStationService.updateById(station)) { |
| | | basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo())); |
| | | throw new CoolException("站点状态修改失败!!"); |
| | | } |
| | | |
| | | basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo())); |
| | | } |
| | | } |
| | | |
| | |
| | | locCache.setBarcode(wrkMast.getBarcode()); |
| | | locCache.setModiTime(new Date()); |
| | | locCache.setIoTime(new Date()); |
| | | if (!locCacheService.updateById(locCache)) { |
| | | |
| | | if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) { |
| | | throw new CoolException("库位状态修改失败!"); |
| | | } |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | |
| | | // 根据工作号,查询工作明细档 |
| | | List<TaskDetl> wrkDetls53 = taskDetlService |
| | | .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | if (wrkDetls53.isEmpty()) { |
| | | // exceptionHandle("拣料入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | |
| | | for (TaskDetl wrkDetl : wrkDetls53) { |
| | | LocDetl locDetl = locDetlService.selectItem(locCache.getLocNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), |
| | | wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), |
| | | wrkDetl.getBoxType3()); |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("loc_no", wrkMast.getLocNo())); |
| | | |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locCache.getLocNo(), |
| | | wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), |
| | | wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | Double v = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0; |
| | | locDetl.setBoxType1(wrkDetl.getBoxType1()); |
| | | locDetl.setOrderNo(wrkDetl.getOrderNo()); |
| | | locDetl.setStandby1(wrkDetl.getSuppCode()); |
| | | locDetl.setAnfme(v); |
| | | |
| | | if (v.compareTo(0.0) == 0) { |
| | | if (!locDetlService.delete(new EntityWrapper<LocDetl>() |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("loc_no", wrkMast.getLocNo()))) { |
| | | return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } else { |
| | | if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>() |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("loc_no", wrkMast.getLocNo()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 更新订单完成数量 |
| | | OrderDetlPakout orderDetlPakout = orderDetlPakoutService |
| | | .selectOne(new EntityWrapper<OrderDetlPakout>() |
| | | .eq("order_no", wrkDetl.getOrderNo()) |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr())); |
| | | |
| | | if (!Cools.isEmpty(orderDetlPakout)) { |
| | | double v = Math.round((orderDetlPakout.getQty() + wrkDetl.getAnfme()) * 10000) / 10000.0; |
| | | orderDetlPakout.setQty(v); |
| | | |
| | | if (!orderDetlPakoutService.update(orderDetlPakout, new EntityWrapper<OrderDetlPakout>() |
| | | .eq("order_no", wrkDetl.getOrderNo()) |
| | | .eq("supp_code", wrkDetl.getSuppCode()) |
| | | .eq("matnr", wrkDetl.getMatnr()))) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | |
| | | // 更新订单完成数量 |
| | | 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 (orderDetlPakout == null) { |
| | | orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | } |
| | | try { |
| | | if (!Cools.isEmpty(orderDetlPakout)) { |
| | | if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), |
| | | wrkDetl.getMatnr(), |
| | | orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), |
| | | wrkDetl.getAnfme())) { |
| | | // exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() |
| | | + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | } catch (Exception ignore) { |
| | | } |
| | | |
| | | } |
| | | Date now = new Date(); |
| | | // 修改库位状态 Q ====>> F |
| | | if (locCache.getLocSts().equals("Q")) { |
| | | locCache.setLocSts("F"); |
| | | locCache.setBarcode(wrkMast.getBarcode()); |
| | | locCache.setIoTime(now); |
| | | locCache.setModiTime(now); |
| | | if (!locCacheService.updateById(locCache)) { |
| | | // exceptionHandle("拣料入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 修改库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", locCache.getLocNo())); |
| | | if (Objects.isNull(locDetls) || locDetls.isEmpty()) { |
| | | locCache.setLocSts("D"); |
| | | } else { |
| | | Double sum = locDetls.stream().mapToDouble(LocDetl::getAnfme).sum(); |
| | | if (sum.compareTo(0.0) == 0) { |
| | | locCache.setLocSts("D"); |
| | | } else { |
| | | // 修改库位状态 Q ====>> F |
| | | locCache.setLocSts("F"); |
| | | } |
| | | } |
| | | |
| | | locCache.setBarcode(wrkMast.getBarcode()); |
| | | locCache.setIoTime(now); |
| | | locCache.setModiTime(now); |
| | | if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) { |
| | | // exceptionHandle("拣料入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("拣料入库 ===>> 修改库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" |
| | | + wrkMast.getLocNo() + "]"); |
| | | } |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | | wrkMast.setModiTime(now); |
| | | if (!taskService.updateById(wrkMast)) { |
| | | // exceptionHandle("更新入库完成状态失败;[workNo={0}]", wrkMast.getWrkNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL |
| | | .setMsg("更新入库完成状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |