| | |
| | | private CrnController crnController; |
| | | @Autowired |
| | | private SiteController siteController; |
| | | |
| | | /** |
| | | * 堆垛机演示 ===>> 库位移转 |
| | | */ |
| | | public synchronized void crnDemoOfLocMove1() { |
| | | try { |
| | | List <BasCrnp> basCrnps =basCrnpService.selectList(new EntityWrapper<BasCrnp>()); |
| | | for (BasCrnp crn : basCrnps) { |
| | | if (!crn.getEmpIn().equals("1")) { |
| | | continue; |
| | | } // 必须为演示状态 |
| | | |
| | | |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getCrnNo()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | | if (crnProtocol == null) { |
| | | continue; |
| | | } |
| | | |
| | | // 只有当堆垛机空闲 并且 无任务时才继续执行 |
| | | if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { |
| | | // 获取移库工作档信息 |
| | | WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getCrnNo()); |
| | | if (null != wrkMast) { |
| | | continue; |
| | | } |
| | | LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getCrnNo()); |
| | | |
| | | LocMast loc = locMastService.queryDemoLoc(crn.getCrnNo(),sourceLoc.getLocType1()); |
| | | if (null == sourceLoc || null == loc) { |
| | | continue; |
| | | } |
| | | String sourceLocNo = sourceLoc.getLocNo(); |
| | | String locNo = loc.getLocNo(); |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(0); |
| | | // 保存工作档 |
| | | TaskWrk taskWrk = new TaskWrk(); |
| | | taskWrk.setWrkNo(workNo); |
| | | taskWrk.setTaskNo(workNo+"");//任务号 |
| | | taskWrk.setWrkSts(11); // 工作状态:11.生成出库ID |
| | | taskWrk.setIoType(3); // 入出库状态: 3.库格移载 |
| | | taskWrk.setIoPri(13); |
| | | taskWrk.setCrnNo(crn.getCrnNo()); |
| | | taskWrk.setStartPoint(sourceLocNo);//起点 |
| | | taskWrk.setTargetPoint(locNo); |
| | | taskWrk.setBarcode(sourceLoc.getBarcode()); // 托盘码 |
| | | taskWrk.setModiTime(new Date()); |
| | | int res = taskWrkMapper.insert(taskWrk); |
| | | if (res == 0) { |
| | | throw new CoolException("保存工作档失败"); |
| | | }else { |
| | | loc.setCtnKind(1); |
| | | locMastService.updateById(loc); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Synchronized |
| | | public void shiftTargetToCyclePoint() throws IOException, InterruptedException { |
| | | try { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public synchronized void generateStoreWrkFile1() throws IOException, InterruptedException { |
| | | try { |
| | | // 根据输送线plc遍历 |
| | |
| | | // 判断是否满足入库条件 |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() |
| | | && staProtocol.isInEnable() |
| | | && !staProtocol.isEmptyMk() && workNo >= 9790 |
| | | && workNo >= 9990 |
| | | && staProtocol.isPakMk()) { |
| | | // 获取条码扫描仪信息 |
| | | BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); |
| | |
| | | } |
| | | log.info("组托入库={}", storageEscalationParam); |
| | | storageEscalationParam.setBoxNo(BoxNo); |
| | | //是否满板 1满板 0空板 |
| | | storageEscalationParam.setStaType(staProtocol.isEmptyMk()? 0:1); |
| | | //库位类型 1高库位 0低库位 |
| | | storageEscalationParam.setLocType(staProtocol.isHigh()? 1:0); |
| | | String response = ""; |
| | | Boolean success = false; |
| | | try { |
| | |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if(back){ |
| | | if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){ |
| | | staProtocol.setStaNo((short)105); |
| | | } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) { |
| | | staProtocol.setStaNo((short)107); |
| | | }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) { |
| | | staProtocol.setStaNo((short)109); |
| | | }else if (staProtocol.getWorkNo()>=9876 && staProtocol.getWorkNo() <= 9900){ |
| | | staProtocol.setStaNo((short)110); |
| | | } |
| | | staProtocol.setWorkNo((short) 9991); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | }else{ |
| | |
| | | } |
| | | } |
| | | } else { |
| | | // staProtocol.setWorkNo((short) 9991); |
| | | if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){ |
| | | staProtocol.setStaNo((short)105); |
| | | } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) { |
| | | staProtocol.setStaNo((short)107); |
| | | }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) { |
| | | staProtocol.setStaNo((short)109); |
| | | }else{ |
| | | staProtocol.setStaNo((short)110); |
| | | } |
| | | staProtocol.setWorkNo((short) 9991); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | } |
| | | |
| | | } else { |
| | | // staProtocol.setWorkNo((short) 9991); |
| | | staProtocol.setWorkNo((short) 9991); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |