自动化立体仓库 - WMS系统
#
qlsxk
2025-09-29 99723fc0384824c9b002d85a393038c333d039a1
src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java
@@ -14,8 +14,10 @@
import com.zy.asrs.service.*;
import com.zy.common.service.CommonService;
import com.zy.common.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -43,6 +45,10 @@
    private WrkDetlService wrkDetlService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private RedisUtil redisUtil;
    @Value("${led.id}")
    private String ledId;
    @Scheduled(cron = "0/2 * * * * ? ")
    private void send() {
@@ -152,31 +158,41 @@
    @Scheduled(cron = "0/2 * * * * ? ")
    private void ErrorSend(){
        Map<String,Object> map=new HashMap<>();
        map.put("to","1002");
        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1002));
        map.put("to",ledId);
        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
        if (basDevp == null ){
            return;
        }
        if (!Cools.isEmpty(basDevp.getDecDesc())){
            map.put("message",Cools.add("type", "error").add("errMsg",basDevp.getDecDesc()));
        }else {
            map.put("message",Cools.add("type", "error").add("errMsg",""));
        String key = "wms_websocket_error";
        Object object = redisUtil.get(key);
        if (null != object && object.equals(basDevp.getDecDesc())){
            return;
        }
        webSocketServer.onMessage(JSONObject.toJSONString(map),null,"1002");
        map.put("message",Cools.add("type", "error").add("errMsg",basDevp.getDecDesc()));
        webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId);
        redisUtil.set(key,basDevp.getDecDesc(),15);
    }
    @Scheduled(cron = "0/2 * * * * ? ")
    private void TaskSend(){
        Map<String,Object> map=new HashMap<>();
        map.put("to","1002");
        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1002));
        map.put("to",ledId);
        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
        if (basDevp.getDevMk().equals("O")){
            basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1001));
        }
        if (basDevp == null ){
            return;
        }
        String key = "wms_websocket_task";
        Object object = redisUtil.get(key);
        if (null != object && object.equals(basDevp.getWrkNo())){
            return;
        }
        List<LedCommand> commandList = new ArrayList<>();
        if (basDevp.getWrkNo() != 0){
            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
            if (null != wrkMast){
@@ -184,7 +200,8 @@
            }
        }
        map.put("message",Cools.add("type", "task").add("taskList",commandList));
        webSocketServer.onMessage(JSONObject.toJSONString(map),null,"1002");
        webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId);
        redisUtil.set(key,basDevp.getWrkNo(),15);
    }
    public List<LedCommand> getCommandList(String taskNo){