#
zjj
2025-07-02 d3f3d4b309cfb285fcbbc48b91c4046111c7e9cd
src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -122,7 +122,7 @@
        crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint()));     // 目标库位层
        crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint()));     // 目标库位排
        crnCommand.setCommand((short)1);
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
            log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("堆垛机命令生成失败");
        }
@@ -162,7 +162,7 @@
        crnCommand.setDestinationPosY(crnStn.getLev().shortValue());     // 目标库位列
        crnCommand.setDestinationPosZ(crnStn.getRow().shortValue());     // 目标库位层
        crnCommand.setCommand((short)1);
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
            log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("堆垛机命令生成失败");
        }
@@ -172,7 +172,7 @@
        StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
        staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
        staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint()));
        if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
        if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
            log.error("输送线命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("输送线命令生成失败");
        }
@@ -193,6 +193,25 @@
        taskWrk.setModiTime(new Date());
        taskWrk.setModiUser(userId);
        updateById(taskWrk);
        CrnCommand crnCommand = new CrnCommand();
        crnCommand.setCrnNo(taskWrk.getCrnNo()); // 堆垛机编号
        crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 工作号
        crnCommand.setAckFinish((short) 0);  // 任务完成确认位
        crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转
        crnCommand.setSourcePosZ(Utils.getRowShort(taskWrk.getStartPoint()));     // 源库位排
        crnCommand.setSourcePosX(Utils.getBayShort(taskWrk.getStartPoint()));     // 源库位列
        crnCommand.setSourcePosY(Utils.getLevShort(taskWrk.getStartPoint()));     // 源库位层
        crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint()));     // 目标库位排
        crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint()));     // 目标库位列
        crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint()));     // 目标库位层
        crnCommand.setCommand((short) 1);
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
            log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("堆垛机命令生成失败");
        }
    }
    @Override
@@ -204,4 +223,9 @@
    public int saveToHistory(String taskNo) {
        return this.baseMapper.saveToHistory(taskNo);
    }
    @Override
    public List<TaskWrk> selectbyWrksts4() {
        return this.baseMapper.selectbyWrksts4();
    }
}