#
luxiaotao1123
2025-12-29 9e7d103dcc2d95f72109ab5f02d3e942e9b7bbf9
#
4个文件已修改
50 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaReserveService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/mapper/manager/StaReserveMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1495,33 +1495,42 @@
                                success = true;
                                break;
                            case ORI_STA:
                                // load from sta
                                sta = staService.getById(currTask.getOriSta());
                                boolean reserveWaitingOk = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT);
                                if (!reserveWaitingOk) {
                                // reserve to be waiting
                                if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT)) {
                                    break;
                                }
                                boolean permit = conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT);
                                if (!permit) {
                                // convey plc valid
                                if (!conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT)) {
                                    // reserve rollback
                                    staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                    break;
                                }
                                success = true;
                                break;
                            case DEST_STA:
                                // place sta
                                // place to sta
                                sta = staService.getById(currTask.getDestSta());
                                success = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.IN);
                                // reserve to be waiting
                                if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.IN)) {
                                    break;
                                }
                                // convey plc valid
                                if (!conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT)) {
                                    // reserve rollback
                                    staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                    break;
                                }
                                success = true;
                                break;
                            default:
                                log.error("agv[{}] has wrong posType [{}], segment [{}]", protocol.getAgvNo(), posType.toString(), currSeg.getId());
                                break;
                        }
                    }
                }
            } catch (Exception e) {
                log.error("agv[{}] failed to deal with action request, qrCode={}", agv.getUuid(), agv_06_up.getVal(), e);
            }
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaReserveService.java
@@ -15,7 +15,7 @@
    Boolean waitingStaReserve(Sta sta, Task task, Integer qty, StaReserveType type);
    Boolean rollbackWaitingToReserved(Sta sta, Task currTask, StaReserveType staReserveType);
    Boolean rollbackWaitingToReserved(Sta sta, Task task, StaReserveType staReserveType);
    void confirmStaReserve(Sta sta, Task task, Integer qty, StaReserveType type);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java
@@ -111,8 +111,8 @@
        qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY);
        // update reserve to be waiting state
        int changed = this.baseMapper.updateStateToWaiting(sta.getId()
                , task.getId()
        int changed = this.baseMapper.updateStateToWaiting(task.getId()
                , sta.getId()
                , type.toString()
                , StaReserveStateType.WAITING.toString()
                , WAITING_EXPIRE_TIME
@@ -131,7 +131,6 @@
        if (Cools.isEmpty(list)) {
            return false;
        }
        StaReserve reserve = list.get(0);
        StaReserveStateType stateType = StaReserveStateType.of(reserve.getState());
@@ -145,11 +144,15 @@
    }
    @Override
    public Boolean rollbackWaitingToReserved(Sta sta, Task currTask, StaReserveType staReserveType) {
        rollbackWaitingToReserved
        return null;
    public Boolean rollbackWaitingToReserved(Sta sta, Task task, StaReserveType type) {
        int changed = this.baseMapper.updateStateBackToWaiting(
                task.getId()
                , sta.getId()
                , type.toString()
                , StaReserveStateType.RESERVED.toString()
                , WAITING_EXPIRE_TIME
        );
        return changed > 0;
    }
    @Override
zy-acs-manager/src/main/resources/mapper/manager/StaReserveMapper.xml
@@ -33,7 +33,7 @@
    <update id="updateStateBackToWaiting">
        UPDATE man_sta_reserve
        SET state = #{state},
            expire_time = DATE_ADD(NOW(), INTERVAL (#{reservedExtendMs} * 1000) MICROSECOND),
            expire_time = DATE_ADD(NOW(), INTERVAL #{extendMs} MILLISECOND),
            update_time = NOW()
        WHERE task_id = #{taskId}
        AND sta_id = #{staId}