| | |
| | | } |
| | | } else { |
| | | if (agvLocMast.getFloor() != floor) { |
| | | ioType = 12; |
| | | if (floor==1 && agvLocMast.getFloor()!=1){ |
| | | ioType = 121; |
| | | }else { |
| | | if (agvLocMast.getFloor() == 1) { |
| | | throw new CoolException("当前库位请选择调拨单调拨!"); |
| | | } else { |
| | | ioType = 12; |
| | | } |
| | | } |
| | | } else { |
| | | ioType = 11; |
| | | } |
| | |
| | | //生成工作档 |
| | | AgvWrkMast mast = new AgvWrkMast(); |
| | | //工作状态 |
| | | mast.setWrkSts(201L); |
| | | if (ioType==121) { |
| | | mast.setWrkSts(11L); |
| | | }else { |
| | | mast.setWrkSts(201L); |
| | | } |
| | | //入出库类型 |
| | | mast.setIoType(ioType); |
| | | mast.setIoTime(now); |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 如果当前任务是箱壳二三楼回退一楼的 回滚调拨单 |
| | | if (ioType == 12 && locMast.getFloor() == 1) { |
| | | List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); |
| | |
| | | Integer oldWrkNo = agvWrkMast.getWrkNo(); |
| | | if (Cools.isEmpty(agvWrkMast)) { |
| | | throw new CoolException("工作档中没有此站点任务"); |
| | | } |
| | | if (!agvWrkMast.getWrkSts().equals(207L)) { |
| | | throw new CoolException("工作状态不符合离场条件"); |
| | | } |
| | | |
| | | //生成AGV工作历史档 + 生成AGV工作明细历史档 |
| | |
| | | public String allocationIn(AgvMobileStartPakin param, Long userId) { |
| | | Date now = new Date(); |
| | | AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); |
| | | if (agvWrkMast.getIoType() != 111) { |
| | | throw new CoolException("非手动调拨任务,不支持次功能"); |
| | | } |
| | | AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(param.getDevNo()); |
| | | if (Cools.isEmpty(agvWrkMast)) { |
| | | throw new CoolException("工作档中没有此货架任务"); |
| | |
| | | if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) { |
| | | throw new CoolException("请移动到->" + agvWrkMast.getCrnNo() + "楼入库点入库"); |
| | | } |
| | | AgvLocMast locNo = agvCommonService.getLocNo(3, 1); |
| | | //工作状态 |
| | | agvWrkMast.setWrkSts(211L); |
| | | //入出库类型 |
| | |
| | | if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) { |
| | | throw new CoolException("更新工作档失败"); |
| | | } |
| | | // |
| | | agvLocMastService.updateLocStsByLocNo(locNo.getLocNo(),"S",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); |
| | | // 更新源库位状态 |
| | | agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); |
| | | agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); |
| | | //删除AGV工作档 |
| | | return "ok"; |
| | | } |
| | | /* |
| | | 空架离场 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | @Synchronized |
| | | public String empOut(AgvMobileStartPakin param, Long userId) { |
| | | Date now = new Date(); |
| | | AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); |
| | | Integer oldWrkNo = agvWrkMast.getWrkNo(); |
| | | if (Cools.isEmpty(agvWrkMast)) { |
| | | throw new CoolException("工作档中没有此站点任务"); |
| | | } |
| | | agvWrkMast.setWrkSts(213L); |
| | | agvWrkMast.setSourceLocNo(""); |
| | | if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) { |
| | | throw new CoolException("更新工作档失败"); |
| | | } |
| | | // 更新源库位状态 |
| | | agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"O","",agvWrkMast.getWhsType().shortValue()); |
| | | return "ok"; |
| | | } |
| | | /* |
| | | 空架进场 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | @Synchronized |
| | | public String empIn(AgvMobileStartPakin param, Long userId) { |
| | | Date now = new Date(); |
| | | AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); |
| | | if (Cools.isEmpty(agvWrkMast)) { |
| | | throw new CoolException("工作档中没有此站点任务"); |
| | | } |
| | | agvWrkMast.setWrkSts(214L); |
| | | agvWrkMast.setSourceLocNo(param.getDevNo()); |
| | | if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) { |
| | | throw new CoolException("更新工作档失败"); |
| | | } |
| | | // 更新源库位状态 |
| | | agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",param.getBarcode(),agvWrkMast.getWhsType().shortValue()); |
| | | return "ok"; |
| | | } |
| | | /* |
| | | * 站点回退 |
| | | */ |
| | | @Override |