#
vincentlu
2025-12-29 400b66ecb2ab42af18ef9697c5b2a2fb831447a8
#
5个文件已修改
44 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/StaReserveMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | 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 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/mapper/manager/StaReserveMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1496,12 +1496,19 @@
                                break;
                            case ORI_STA:
                                sta = staService.getById(currTask.getOriSta());
                                success = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT);
                                boolean reserveWaitingOk = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT);
                                if (!reserveWaitingOk) {
                                    break;
                                }
                                boolean permit = conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT);
                                if (!permit) {
                                    // reserve rollback
                                    staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                    break;
                                }
                                // load sta
                                // remove expiredTime
                                success = true;
                                break;
                            case DEST_STA:
                                // place sta
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/StaReserveMapper.java
@@ -25,4 +25,12 @@
            , @Param("extendMs") Long extendMs
    );
    int updateStateBackToWaiting(
            @Param("taskId") Long taskId
            , @Param("staId") Long staId
            , @Param("type") String type
            , @Param("state") String state
            , @Param("extendMs") Long extendMs
    );
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaReserveService.java
@@ -15,6 +15,8 @@
    Boolean waitingStaReserve(Sta sta, Task task, Integer qty, StaReserveType type);
    Boolean rollbackWaitingToReserved(Sta sta, Task currTask, 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
@@ -145,6 +145,14 @@
    }
    @Override
    public Boolean rollbackWaitingToReserved(Sta sta, Task currTask, StaReserveType staReserveType) {
        rollbackWaitingToReserved
        return null;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void confirmStaReserve(Sta sta, Task task, Integer qty, StaReserveType type) {
        qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY);
zy-acs-manager/src/main/resources/mapper/manager/StaReserveMapper.xml
@@ -30,4 +30,17 @@
--         AND state IN ('RESERVED','WAITING')
    </update>
    <update id="updateStateBackToWaiting">
        UPDATE man_sta_reserve
        SET state = #{state},
            expire_time = DATE_ADD(NOW(), INTERVAL (#{reservedExtendMs} * 1000) MICROSECOND),
            update_time = NOW()
        WHERE task_id = #{taskId}
        AND sta_id = #{staId}
        AND type = #{type}
        AND deleted = 0
        AND status = 1
--         AND state = 'WAITING'
    </update>
</mapper>