| | |
| | | import com.zy.asrs.entity.BasRgv; |
| | | import com.zy.asrs.entity.BasRgvErr; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.WrkMastSta; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.WrkMastStaService; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.core.CrnThread; |
| | | import com.zy.core.RgvThread; |
| | |
| | | private MainServiceImpl mainService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private WrkMastStaService wrkMastStaService; |
| | | int wrkNo = 9990; |
| | | |
| | | |
| | |
| | | case 17://恢复联机任务 |
| | | DB="6.0"; |
| | | break; |
| | | case 18://清楚联机任务 |
| | | DB="6.1"; |
| | | break; |
| | | default: |
| | | return R.error("按钮不存在????!!!"); |
| | | } |
| | |
| | | return rgvFetchSingleStepPut(param,3)?R.ok():R.error(); |
| | | } |
| | | |
| | | @ManagerAuth(memo = "取放") |
| | | @PostMapping("/operator/single/step/four/put") |
| | | public R rgvFetchSingleStepFourPut(RgvOperatorParam param){ |
| | | return rgvFetchSingleStepPut(param,4)?R.ok():R.error(); |
| | | } |
| | | |
| | | public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){ |
| | | wrkNo++; |
| | | RgvCommand command = new RgvCommand(); |
| | |
| | | break; |
| | | case 3: |
| | | fetchPut = RgvTaskModeType.X_MOVE; |
| | | break; |
| | | case 4: |
| | | fetchPut = RgvTaskModeType.FETCH_PUT; |
| | | break; |
| | | default: |
| | | return false; |
| | |
| | | // command.setDestinationStaNo2(param.getStaNo2()); // 目标站 |
| | | command.setCommand((short) 0); |
| | | |
| | | return rgvControl(command); |
| | | return rgvControlD(command); |
| | | } |
| | | |
| | | |
| | |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | if (rgvProtocol.getTaskNo1() != 0){ |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>() |
| | | .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts, create_time as createTime") |
| | | .eq("wrk_No", rgvProtocol.getTaskNo1()) |
| | | |
| | | .orderBy("create_time", false) |
| | | |
| | | ); |
| | | if (!Cools.isEmpty(wrkMastSta)){ |
| | | vo.setWrkSts(wrkMastSta.getWrkSts()); |
| | | } |
| | | } |
| | | vo.setStatusType(rgvProtocol.modeType.desc); // 模式状态 |
| | | vo.setStatus(rgvProtocol.getStatusType1().desc); // 状态 |
| | | vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 工位1任务号 |
| | | vo.setRgvPos(rgvProtocol.getRgvPos()); |
| | | vo.setRgvPos(rgvProtocol.getCode()); |
| | | vo.setPakMk(rgvThread.isPakMk()?"无锁":"锁定"); |
| | | vo.setWalkPos(rgvProtocol.getAlarm() == 0?"正常":"报警"); |
| | | vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); |
| | | // vo.setStaNo(rgvProtocol.getSouSta().intValue()); |
| | | // vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); |
| | | vo.setList32(rgvProtocol.getList32()); |
| | | vo.setList33(rgvProtocol.getList33()); |
| | | vo.setList34(rgvProtocol.getList34()); |
| | | vo.setList35(rgvProtocol.getList35()); |
| | | if (rgvProtocol.getAlarm() > 0) { |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); |
| | | vo.setAlarm(rgvErr==null?"未知异常":rgvErr.getErrName()); |
| | |
| | | return false; |
| | | } |
| | | |
| | | private boolean rgvControlD(RgvCommand command){ |
| | | if (command.getRgvNo() == null) { |
| | | throw new CoolException("请选择RGV"); |
| | | } |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | // 获取RGV信息 |
| | | if (command.getRgvNo().equals(rgv.getId())) { |
| | | // SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); |
| | | // if (rgvThread == null) { |
| | | // throw new CoolException("RGV不在线"); |
| | | // } |
| | | // RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | // if (rgvProtocol == null) { |
| | | // throw new CoolException("RGV不在线"); |
| | | // } |
| | | try{ |
| | | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(11, command))) { |
| | | return true; |
| | | } else { |
| | | throw new CoolException("命令下发失败"); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("单步任务下发失败,异常:"+e); |
| | | throw new CoolException("命令下发失败"); |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | } |