#
vincentlu
2025-12-29 9923a4562e8dfac0c32fd2e90f60ca2c5fb79b89
#
2个文件已添加
4个文件已修改
44 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ConveyorStationService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/SiemensConveyorStationService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/StaReserveMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | 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 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ConveyorStationService.java
New file
@@ -0,0 +1,12 @@
package com.zy.acs.manager.core.service;
import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.entity.Sta;
import com.zy.acs.manager.manager.entity.Task;
import com.zy.acs.manager.manager.enums.StaReserveType;
public interface ConveyorStationService {
    boolean allowAgvWork(Sta sta, Task task, Segment seg, StaReserveType type);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -100,6 +100,8 @@
    private ActionSorter actionSorter;
    @Autowired
    private StaReserveService staReserveService;
    @Autowired
    private ConveyorStationService conveyorStationService;
    @SuppressWarnings("all")
    @Transactional
@@ -1495,6 +1497,9 @@
                            case ORI_STA:
                                sta = staService.getById(currTask.getOriSta());
                                success = staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT);
                                boolean permit = conveyorStationService.allowAgvWork(sta, currTask, currSeg, StaReserveType.OUT);
                                // load sta
                                // remove expiredTime
                                break;
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/SiemensConveyorStationService.java
New file
@@ -0,0 +1,17 @@
package com.zy.acs.manager.core.service;
import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.entity.Sta;
import com.zy.acs.manager.manager.entity.Task;
import com.zy.acs.manager.manager.enums.StaReserveType;
import org.springframework.stereotype.Service;
@Service
public class SiemensConveyorStationService implements ConveyorStationService {
    @Override
    public boolean allowAgvWork(Sta sta, Task task, Segment seg, StaReserveType type) {
        return true;
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/StaReserveMapper.java
@@ -22,6 +22,7 @@
            , @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/impl/StaReserveServiceImpl.java
@@ -27,6 +27,7 @@
public class StaReserveServiceImpl extends ServiceImpl<StaReserveMapper, StaReserve> implements StaReserveService {
    public static final Long RESERVE_EXPIRE_TIME = 30 * 60 * 1000L;
    public static final Long WAITING_EXPIRE_TIME = 5 * 60 * 1000L;
    public static final Integer DEFAULT_QTY = 1;
@@ -110,10 +111,13 @@
        qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY);
        // update reserve to be waiting state
        if (0 < this.baseMapper.updateStateToWaiting(sta.getId()
        int changed = this.baseMapper.updateStateToWaiting(sta.getId()
                , task.getId()
                , type.toString()
                , StaReserveStateType.WAITING.toString())) {
                , StaReserveStateType.WAITING.toString()
                , WAITING_EXPIRE_TIME
        );
        if (changed > 0) {
            return true;
        }
zy-acs-manager/src/main/resources/mapper/manager/StaReserveMapper.xml
@@ -20,6 +20,7 @@
        UPDATE man_sta_reserve
        SET state = #{state},
            waiting_at = IFNULL(waiting_at, NOW()),
            expire_time = DATE_ADD(NOW(), INTERVAL #{extendMs} MILLISECOND),
            update_time = NOW()
        WHERE task_id = #{taskId}
        AND sta_id = #{staId}