#
Junjie
2024-04-09 f84448a10d99a0fa82e71088051e3517637edaa7
#
1个文件已添加
3个文件已修改
59 ■■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -217,8 +217,13 @@
            return;
        }
        //小车空闲且有跑库程序
        if (!(shuttleThread.isIdle() && shuttleProtocol.getMoveLoc())) {
        //小车开启跑库模式
        if (!shuttleProtocol.getMoveLoc()) {
            return;
        }
        //小车空闲
        if (!shuttleThread.isIdle()) {
            return;
        }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.BaseParam;
import com.zy.asrs.wcs.common.domain.KeyValVo;
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.domain.param.ShuttleMoveLocParam;
import com.zy.asrs.wcs.core.domain.param.ShuttleOperatorParam;
import com.zy.asrs.wcs.core.entity.BasShuttle;
import com.zy.asrs.wcs.core.entity.Motion;
@@ -200,12 +201,7 @@
    @PreAuthorize("hasAuthority('core:basShuttle:operator')")
    @PostMapping("/basShuttle/moveLoc")
    @Transactional
    public synchronized R shuttleMoveLoc(@RequestParam Integer shuttleNo,
                            @RequestParam Integer moveType,
                            @RequestParam Integer xStart,
                            @RequestParam Integer xTarget,
                            @RequestParam Integer yStart,
                            @RequestParam Integer yTarget) {
    public synchronized R shuttleMoveLoc(@RequestBody ShuttleMoveLocParam param) {
        DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>()
                .eq(DeviceType::getFlag, String.valueOf(SlaveType.Shuttle))
                .eq(DeviceType::getStatus, 1)
@@ -218,7 +214,7 @@
                .eq(Device::getDeviceType, deviceType.getId())
                .eq(Device::getStatus, 1)
                .eq(Device::getHostId, getHostId())
                .eq(Device::getDeviceNo, shuttleNo));
                .eq(Device::getDeviceNo, param.getShuttleNo()));
        if (device == null) {
            return R.error();
        }
@@ -238,13 +234,13 @@
        }
        shuttleProtocol.setMoveLoc(true);//开启跑库
        shuttleProtocol.setMoveType(moveType);
        shuttleProtocol.setXStart(xStart);
        shuttleProtocol.setXTarget(xTarget);
        shuttleProtocol.setXCurrent(xStart);
        shuttleProtocol.setYStart(yStart);
        shuttleProtocol.setYTarget(yTarget);
        shuttleProtocol.setYCurrent(yStart);
        shuttleProtocol.setMoveType(param.getMoveType());
        shuttleProtocol.setXStart(param.getStartX());
        shuttleProtocol.setXTarget(param.getTargetX());
        shuttleProtocol.setXCurrent(param.getStartX());
        shuttleProtocol.setYStart(param.getStartY());
        shuttleProtocol.setYTarget(param.getTargetY());
        shuttleProtocol.setYCurrent(param.getStartY());
        return R.ok();
    }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java
New file
@@ -0,0 +1,20 @@
package com.zy.asrs.wcs.core.domain.param;
import lombok.Data;
@Data
public class ShuttleMoveLocParam {
    private Integer shuttleNo;
    private Integer moveType;
    private Integer startX;
    private Integer targetX;
    private Integer startY;
    private Integer targetY;
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java
@@ -48,6 +48,9 @@
                .eq(Device::getStatus, 1)
                .eq(Device::getDeviceType, deviceType.getId()));
        for (Device device : list) {
            //小车空闲且有跑库程序
            shuttleAction.moveLoc(device);
            Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + device.getDeviceNo());
            if (object == null) {
                continue;
@@ -58,9 +61,6 @@
                //存在任务需要执行
                boolean result = shuttleAction.executeWork(device, taskNo);
            }
            //小车空闲且有跑库程序
            shuttleAction.moveLoc(device);
        }
    }