| | |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.mapper.BasCrnErrorMapper; |
| | | import com.zy.asrs.mapper.BasDevpMapper; |
| | | import com.zy.asrs.mapper.WrkChargeMapper; |
| | | import com.zy.asrs.mapper.WrkMastMapper; |
| | | import com.zy.asrs.mapper.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.model.LocTypeDto; |
| | |
| | | private WrkChargeMapper wrkChargeMapper; |
| | | @Autowired |
| | | private BasDevpMapper basDevpMapper; |
| | | @Autowired |
| | | private WaitPakinMapper waitPakinMapper; |
| | | |
| | | /** |
| | | * 组托 |
| | |
| | | String errorMsg = barcode + "托盘识别异常,请先进行组托!"; |
| | | MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); |
| | | } |
| | | } else if (code == 1000){ |
| | | } else if (code == 500){ |
| | | } else if (code == 500 || code == 1000){ |
| | | if (inSta.getStaNo().equals(103)){ |
| | | staProtocol.setWorkNo((short)9996); |
| | | staProtocol.setStaNo((short)203); |
| | |
| | | }else if (inSta.getStaNo().equals(213)){ |
| | | staProtocol.setWorkNo((short)9995); |
| | | staProtocol.setStaNo((short)214); |
| | | }else { |
| | | staProtocol.setWorkNo((short)9995); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | } |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | |
| | | } else { |
| | | List<String> shallowLocs = Utils.getShallowLocs(wrkMast.getSourceLocNo()); |
| | | if (!Cools.isEmpty(shallowLocs)) { |
| | | // 浅库位组有货 |
| | | for (String shallowLocNo : shallowLocs) { |
| | | LocMast shallowLoc = locMastService.selectById(shallowLocNo); |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | // 浅库位在作业中 |
| | | if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { |
| | | if (Cools.isEmpty(waitWrkMast)){ |
| | | News.error("库位异常"); |
| | |
| | | break; |
| | | } |
| | | } |
| | | }else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | // 浅库位组有货,且没有在作业中 |
| | | } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | if (null == waitWrkMast) { |
| | | // 生成一笔移库任务工作档、改变浅库位的源库/目标库 库位状态 |
| | | // 没有作业中的出库任务时,才能生成移库任务 |
| | |
| | | } |
| | | LocMast loc = null; |
| | | |
| | | if(shallowLoc.getLocType2() == 3){ //低频混直接出库 |
| | | if(shallowLoc.getLocType2() == 3 || shallowLoc.getLocType2() == 1){ |
| | | //低频混直接出库 |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(0); |
| | | Date now = new Date(); |
| | |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(locDetl); |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(new Date()); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setAnfme(locDetl.getAnfme()); |
| | | wrkDetl.setAppeTime(new Date()); |
| | | wrkDetl.setModiTime(new Date()); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setModiTime(now); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | // 生成对应的组托档 |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.sync(wrkDetl); |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setAppeTime(now); |
| | | waitPakinMapper.insert(waitPakin); |
| | | |
| | | } |
| | | } |
| | | // 修改源库位状态 |
| | |
| | | // } |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 1); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | | if (crnProtocol != null) { |
| | | if (crnProtocol.getTaskNo() != 0) { |
| | | if (crnProtocol.isStatusEnd()){ |
| | | // 出库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE; |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | // } |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 3); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | | if (crnProtocol != null) { |
| | | if (crnProtocol.getTaskNo() != 0) { |
| | | if (crnProtocol.isStatusEnd()){ |
| | | // 出库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE; |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } else { |
| | | // 入库模式 |
| | | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; |
| | | } |
| | | } |
| | | } |
| | | break; |