| | |
| | | import com.zy.asrs.enums.LocAreaType; |
| | | import com.zy.asrs.enums.LocStsType; |
| | | import com.zy.asrs.enums.TaskIOType; |
| | | import com.zy.asrs.enums.TaskStatusType; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | |
| | | locMast.setAreaName(basAreas.getName()); |
| | | try { |
| | | if (null == locMast) { |
| | | // exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), |
| | | // wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("工作档[workNo=" + wrkMast.getWrkNo() + "]库位号错误[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | |
| | | } |
| | | locMast.setLocSts("D"); |
| | | locMast.setIoTime(now); |
| | | locMast.setBarcode(wrkMast.getBarcode()); |
| | | 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() + "]"); |
| | |
| | | } |
| | | } |
| | | } catch (Exception ignore) { |
| | | |
| | | } |
| | | |
| | | } |
| | | // 修改库位状态 S ====>> F |
| | | if (locMast.getLocSts().equals("S")) { |
| | |
| | | // 更新订单完成数量 |
| | | OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), |
| | | wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), "1", |
| | | wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | try { |
| | | if (!Cools.isEmpty(orderDetlPakin)) { |
| | |
| | | wrkDetl.getMatnr(), |
| | | orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), |
| | | wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), |
| | | "1", wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), |
| | | wrkDetl.getAnfme())) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() |
| | |
| | | if (wrkMast.getIoType() == TaskIOType.MERGE_IN.type) { |
| | | agvSta = wrkMast.getPauseMk(); |
| | | } |
| | | |
| | | // . 删除缓存站点明细 |
| | | if (!Objects.isNull(agvSta)) { |
| | | // 修改目标站点信息 |
| | |
| | | throw new CoolException("站点状态更新失败!!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | break; |
| | | // 盘点入库 |
| | | case 57: |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ReturnT<String> AgvStart(Task task) { |
| | | // 4.入库完成 |
| | | if (task.getWrkSts() == 4) { |
| | | if (task.getWrkSts().equals(TaskStatusType.AGV_TASK_FINISHED_IN.type)) { |
| | | return agvDoIn(task); |
| | | // 14.出库完成 |
| | | } else if (task.getWrkSts() == 14) { |
| | | } else if (task.getWrkSts().equals(TaskStatusType.AGV_TASK_FINISHED_OUT.type)) { |
| | | return agvDoOut(task); |
| | | } |
| | | return SUCCESS; |
| | |
| | | /** |
| | | * @author Ryan |
| | | * @date 2025/9/25 |
| | | * @description: AGV出库任务 |
| | | * @description: AGV出库任 |
| | | * @version 1.0 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | throw new CoolException("当前库位状态" + locMast.getLocSts() + ", 无法执行出库操作!!"); |
| | | } |
| | | |
| | | |
| | | |
| | | task.setWrkSts(15L); |
| | | task.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_OUT.type); |
| | | if (!taskService.updateById(task)) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | |
| | | if (!basStationService.updateById(devNo)) { |
| | | throw new CoolException("站点信息修改失败!!"); |
| | | } |
| | | task.setWrkSts(15L); |
| | | task.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_OUT.type); |
| | | if (!taskService.updateById(task)) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ReturnT<String> agvDoIn(Task wrkMast) { |
| | | LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo())); |
| | | |
| | | if (!Objects.isNull(wrkMast.getSourceStaNo())) { |
| | | BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>() |
| | | .eq("dev_no", wrkMast.getSourceStaNo())); |
| | |
| | | if (!list.contains(station.getLocSts())) { |
| | | station.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | } |
| | | station.setBarcode(null); |
| | | station.setBarcode(""); |
| | | basStationService.updateById(station); |
| | | } |
| | | } |
| | |
| | | taskDetls.forEach(pakin -> { |
| | | LocDetl detl = new LocDetl(); |
| | | BeanUtils.copyProperties(pakin, detl); |
| | | detl.setBarcode(pakin.getBarcode()); |
| | | detl.setBarcode(pakin.getZpallet()); |
| | | detl.setAnfme(pakin.getAnfme()); |
| | | detl.setBrand(pakin.getBrand()); |
| | | detl.setSuppCode(pakin.getSuppCode()); |
| | |
| | | throw new CoolException("库位明细保存失败!!"); |
| | | } |
| | | |
| | | // 更新订单完成数量 |
| | | 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()); |
| | | OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", pakin.getOrderNo())); |
| | | if (Objects.isNull(orderPakin)) { |
| | | throw new CoolException("数据错误,订单信息不存在!!"); |
| | | } |
| | | 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() + "]"); |
| | | } |
| | | |
| | | 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()); |
| | | } |
| | | } catch (Exception ignore) { |
| | | 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) { |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | |
| | | if (!locCacheService.updateById(locCache)) { |
| | | throw new CoolException("库位状态修改失败!"); |
| | | } |
| | | wrkMast.setWrkSts(5L); |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (!taskService.updateById(wrkMast)) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | |
| | | |
| | | Set<Long> list = apallets.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet()); |
| | | List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("id", list)); |
| | | if (Objects.isNull(pakins) || pakins.isEmpty()) { |
| | | // throw new CoolException("单据不存在!!"); |
| | | } |
| | | // if (Objects.isNull(pakins) || pakins.isEmpty()) { |
| | | //// throw new CoolException("单据不存在!!"); |
| | | // } |
| | | }else if(wrkMast.getIoType().equals(53)){ |
| | | // 根据工作号,查询工作明细档 |
| | | List<TaskDetl> wrkDetls53 = taskDetlService |
| | |
| | | } |
| | | |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(5L); |
| | | wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type); |
| | | wrkMast.setModiTime(now); |
| | | if (!taskService.updateById(wrkMast)) { |
| | | // exceptionHandle("更新入库完成状态失败;[workNo={0}]", wrkMast.getWrkNo()); |