| | |
| | | return; |
| | | } |
| | | |
| | | // 检查工作档是否已完成或已转历史档 |
| | | // 检查工作档是否已完成或已转历史档,并获取工作档的目标站作为AGV的源库位 |
| | | boolean workCompleted = false; |
| | | String wrkMastStaNo = null; // 工作档的目标站,将作为AGV的源库位 |
| | | if (outTask.getWrkNo() != null) { |
| | | // 检查工作档是否存在且已完成 |
| | | WrkMast wrkMast = wrkMastService.selectOne( |
| | |
| | | // 出库任务完成状态:14(已出库未确认)或15(出库更新完成) |
| | | if (wrkSts != null && (wrkSts == 14L || wrkSts == 15L)) { |
| | | workCompleted = true; |
| | | log.debug("工作档{}已完成,状态:{}", outTask.getWrkNo(), wrkSts); |
| | | // 获取工作档的目标站作为AGV的源库位 |
| | | wrkMastStaNo = wrkMast.getStaNo(); |
| | | log.debug("工作档{}已完成,状态:{},目标站:{}", outTask.getWrkNo(), wrkSts, wrkMastStaNo); |
| | | } |
| | | } else { |
| | | // 如果工作档不存在,检查历史档 |
| | |
| | | // 出库任务历史档完成状态:15(出库更新完成) |
| | | if (logWrkSts == 15L) { |
| | | workCompleted = true; |
| | | log.debug("工作档{}已转历史档并完结,历史档状态:{}", outTask.getWrkNo(), logWrkSts); |
| | | // 从历史档获取目标站作为AGV的源库位 |
| | | wrkMastStaNo = wrkMastLog.getStaNo() != null ? String.valueOf(wrkMastLog.getStaNo()) : null; |
| | | log.debug("工作档{}已转历史档并完结,历史档状态:{},目标站:{}", outTask.getWrkNo(), logWrkSts, wrkMastStaNo); |
| | | } |
| | | } |
| | | } |
| | |
| | | // 创建空托出库/满托出库任务 |
| | | Task cacheTask = new Task(); |
| | | Date now = new Date(); |
| | | // 出库工作档完成时,工作档的目标站就是AGV的源库位 |
| | | // AGV的目标站是asr_loc_cache里面WA开头的库位 |
| | | cacheTask.setWrkNo(workNo) |
| | | .setIoTime(now) |
| | | .setWrkSts(7L) // 工作状态:7.待呼叫AGV |
| | |
| | | .setFullPlt(isEmptyPallet ? "N" : "Y") // 满板:空托=N,满托=Y |
| | | .setPicking("N") |
| | | .setExitMk("N") |
| | | .setSourceLocNo(null) // 出库任务不需要源库位 |
| | | .setLocNo(cacheLoc.getLocNo()) // 目标库位(缓存库位) |
| | | .setSourceLocNo(wrkMastStaNo) // AGV的源库位:出库工作档的目标站 |
| | | .setLocNo(cacheLoc.getLocNo()) // AGV的目标库位:asr_loc_cache里面WA开头的库位 |
| | | .setEmptyMk(isEmptyPallet ? "Y" : "N") // 空板标记 |
| | | .setBarcode(outTask.getBarcode()) // 托盘码 |
| | | .setLinkMis("N") |
| | |
| | | return; |
| | | } |
| | | |
| | | log.info("成功生成{}任务,任务ID:{},工作号:{},源站点:{},目标站点:{},缓存库位:{}", |
| | | isEmptyPallet ? "空托出库" : "满托出库", cacheTask.getId(), workNo, outboundStaNo, cacheStaNo, cacheLoc.getLocNo()); |
| | | log.info("成功生成{}任务,任务ID:{},工作号:{},源站点:{},目标站点:{},源库位(工作档目标站):{},目标库位(WA缓存库位):{}", |
| | | isEmptyPallet ? "空托出库" : "满托出库", cacheTask.getId(), workNo, outboundStaNo, cacheStaNo, wrkMastStaNo, cacheLoc.getLocNo()); |
| | | } |
| | | |
| | | /** |