#ZH
野心家
2025-05-28 880794f63e27b64ae03c40afc55a34928d090d57
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.BasDevpPosition;
import com.zy.asrs.service.BasDevpPositionService;
import com.zy.core.cache.RgvErrCache;
import com.zy.core.cache.RgvStatusCache;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.cache.TaskProtocolCache;
@@ -46,6 +48,7 @@
            map2.put("rgvPos", rgvProtocol.getRgvPos());
            map2.put("rgvPosDestination", rgvProtocol.getRgvPosDestination());
            map2.put("loaded", rgvProtocol.getLoaded().equals((short)-1)? "未知":rgvProtocol.getLoaded()==1? "有物":"无物");
            map2.put("errorRgv", RgvErrCache.getErrorDev(rgvProtocol.getRgvNo()));
            res.add(map2);
        }
        return R.ok().add(res);
@@ -113,6 +116,9 @@
        }
        if (rgvPosDestination == null || rgvPosDestination == 0){
            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
            if (Cools.isEmpty(basDevpPosition)){
                return R.error("目标站点不存在");
            }
            rgvPosDestination = basDevpPosition.getPlcPosition();
        }
        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
@@ -168,6 +174,9 @@
            }
            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
            if (Cools.isEmpty(basDevpPosition)){
                return R.error("目标站点不存在");
            }
            //执行
            issuedPut.setTaskNo(Long.valueOf(taskNo));
            issuedPut.setTaskStatus(3);
@@ -210,9 +219,14 @@
            }
            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
            if (Cools.isEmpty(basDevpPosition)){
                return R.error("取货站点不存在");
            }
            //执行
            issuedTake.setTaskNo(Long.valueOf(taskNo));
            issuedTake.setTaskStatus(2);
            issuedTake.setTargetPositionStaNo(basDevpPosition.getDevNo());
            issuedTake.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId());
            issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
            issuedTake.setTargetPosition(basDevpPosition.getPlcPosition());
            issuedTake.setIsRunning(1);
@@ -255,6 +269,9 @@
            }
            BasDevpPosition basDevpPositionTake = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
            if (Cools.isEmpty(basDevpPositionTake)){
                return R.error("取货站点不存在");
            }
            //执行
            issuedTake.setTaskNo(Long.valueOf(taskNo));
            issuedTake.setTaskStatus(2);
@@ -266,6 +283,9 @@
            issuedTake.setDirection(basDevpPositionTake.getRgvSign()==1);
            BasDevpPosition basDevpPositionPut = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
            if (Cools.isEmpty(basDevpPositionPut)){
                return R.error("目标站点不存在");
            }
            //执行
            issuedPut.setTaskNo(Long.valueOf(taskNo));
            issuedPut.setTaskStatus(3);
@@ -285,4 +305,22 @@
        return R.ok("任务生成成功");
    }
    @PostMapping("/run/delRgvTask")//Take  Put  Walk
    @ManagerAuth(memo = "小车取货")
    public R rgvDelRgvTask(@RequestParam(defaultValue = "0") Integer rgvNo
    ) {
        if (rgvNo==null || rgvNo==0){
            return R.error("请选择小车");
        }
        try {
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
            rgvThread.setDelRgvTask();
        } catch (Exception e) {
            return R.error("任务生成失败"+e.getMessage());
        }
        return R.ok("任务生成成功");
    }
}