| | |
| | | import com.zy.core.model.protocol.CrnProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.properties.SystemProperties; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.service.ConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | private MainServiceImpl mainService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | |
| | | @ManagerAuth(memo = "进行中的命令") |
| | |
| | | @PostMapping("/table/crn/msg") |
| | | @ManagerAuth(memo = "堆垛机数据表") |
| | | public R crnMsgTable(){ |
| | | Config crnSearchDetectTaskCountConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "crnSearchDetectTaskCount") |
| | | ); |
| | | int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue()); |
| | | |
| | | Config applyInTaskTotalCountConfig = configService.selectOne(new EntityWrapper<Config>() |
| | | .eq("code", "applyInTaskTotalCount") |
| | | ); |
| | | int applyInTaskTotalCount = Integer.parseInt(applyInTaskTotalCountConfig.getValue()); |
| | | |
| | | List<CrnMsgTableVo> list = new ArrayList<>(); |
| | | List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no")); |
| | | for (BasCrnp basCrnp : crnps) { |
| | |
| | | vo.setYdistance(crnProtocol.getYDistance()); // 升降距离(Km) |
| | | vo.setXduration(crnProtocol.getXDuration()); // 走行时长(H) |
| | | vo.setYduration(crnProtocol.getYDuration()); // 升降时长(H) |
| | | vo.setCrnSearchDetectTaskCount(crnSearchDetectTaskCount); |
| | | vo.setApplyInTaskTotalCount(applyInTaskTotalCount); |
| | | |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .eq("crn_no", basCrnp.getCrnNo()) |
| | | .in("io_type", 1, 10, 53, 57) |
| | | ); |
| | | vo.setCurrentInTask(inWrkMasts.size()); |
| | | |
| | | List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .eq("crn_no", basCrnp.getCrnNo()) |
| | | .in("io_type", 1, 10, 53, 57, 101, 103, 107, 110) |
| | | ); |
| | | vo.setCurrentTotalTask(wrkMastsList.size()); |
| | | } |
| | | return R.ok().add(list); |
| | | } |
| | |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | @ManagerAuth(memo = "回原点") |
| | | @PostMapping("/operator/bacOrigin") |
| | | public R crnBacOrigin(CrnOperatorParam param){ |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 任务模式 |
| | | command.setSourcePosX((short) 0); // 源库位排 |
| | | command.setSourcePosY((short) 0); // 源库位列 |
| | | command.setSourcePosZ((short) 0); // 源库位层 |
| | | command.setDestinationPosX((short) 0); // 目标库位排 |
| | | command.setDestinationPosY((short) 0); // 目标库位列 |
| | | command.setDestinationPosZ((short) 0); // 目标库位层 |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | @ManagerAuth(memo = "反原点") |
| | | @PostMapping("/operator/reverseOrigin") |
| | | public R reverseOrigin(CrnOperatorParam param){ |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 任务模式 |
| | | command.setSourcePosX((short) 0); // 源库位排 |
| | | command.setSourcePosY((short) 0); // 源库位列 |
| | | command.setSourcePosZ((short) 0); // 源库位层 |
| | | command.setDestinationPosX((short) 0); // 目标库位排 |
| | | command.setDestinationPosY((short) 34); // 目标库位列 |
| | | command.setDestinationPosZ((short) 5); // 目标库位层 |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | // @ManagerAuth(memo = "坐标移动") |
| | | // @PostMapping("/operator/coorMove") |
| | | // public R crnCoorMove(CrnOperatorParam param){ |
| | | // @ManagerAuth(memo = "回原点") |
| | | // @PostMapping("/operator/bacOrigin") |
| | | // public R crnBacOrigin(CrnOperatorParam param){ |
| | | // CrnCommand command = new CrnCommand(); |
| | | // command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | // command.setTaskNo((short) 0); // 工作号 |
| | | // command.setAckFinish((short) 0); // 任务完成确认位 |
| | | // command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 任务模式 |
| | | // command.setSourcePosX(param.getSourceRow()); // 源库位排 |
| | | // command.setSourcePosY(param.getSourceBay()); // 源库位列 |
| | | // command.setSourcePosZ(param.getSourceLev()); // 源库位层 |
| | | // command.setDestinationPosX(param.getRow()); // 目标库位排 |
| | | // command.setDestinationPosY(param.getBay()); // 目标库位列 |
| | | // command.setDestinationPosZ(param.getLev()); // 目标库位层 |
| | | // staNoProcess(param, command); |
| | | // command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 任务模式 |
| | | // command.setSourcePosX((short) 0); // 源库位排 |
| | | // command.setSourcePosY((short) 0); // 源库位列 |
| | | // command.setSourcePosZ((short) 0); // 源库位层 |
| | | // command.setDestinationPosX((short) 0); // 目标库位排 |
| | | // command.setDestinationPosY((short) 0); // 目标库位列 |
| | | // command.setDestinationPosZ((short) 0); // 目标库位层 |
| | | // return crnControl(command)?R.ok():R.error(); |
| | | // } |
| | | |
| | | // @ManagerAuth(memo = "反原点") |
| | | // @PostMapping("/operator/reverseOrigin") |
| | | // public R reverseOrigin(CrnOperatorParam param){ |
| | | // CrnCommand command = new CrnCommand(); |
| | | // command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | // command.setTaskNo((short) 0); // 工作号 |
| | | // command.setAckFinish((short) 0); // 任务完成确认位 |
| | | // command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 任务模式 |
| | | // command.setSourcePosX((short) 0); // 源库位排 |
| | | // command.setSourcePosY((short) 0); // 源库位列 |
| | | // command.setSourcePosZ((short) 0); // 源库位层 |
| | | // command.setDestinationPosX((short) 0); // 目标库位排 |
| | | // command.setDestinationPosY((short) 34); // 目标库位列 |
| | | // command.setDestinationPosZ((short) 5); // 目标库位层 |
| | | // return crnControl(command)?R.ok():R.error(); |
| | | // } |
| | | |
| | | @ManagerAuth(memo = "坐标移动") |
| | | @PostMapping("/operator/crnMove") |
| | | public R crnCoorMove(CrnOperatorParam param){ |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 9999); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.CRN_MOVE); // 任务模式 |
| | | command.setSourcePosX(param.getSourceRow()); // 源库位排 |
| | | command.setSourcePosY(param.getSourceBay()); // 源库位列 |
| | | command.setSourcePosZ(param.getSourceLev()); // 源库位层 |
| | | command.setDestinationPosX(param.getRow()); // 目标库位排 |
| | | command.setDestinationPosY(param.getBay()); // 目标库位列 |
| | | command.setDestinationPosZ(param.getLev()); // 目标库位层 |
| | | staNoProcess(param, command); |
| | | |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | @ManagerAuth(memo = "任务完成") |
| | | @PostMapping("/operator/taskComplete") |
| | | public R crnTaskComplete(CrnOperatorParam param){ |