自动化立体仓库 - WMS系统
pang.jiabao
昨天 b51e3b3d5bb721cec65952498d1c2c882d1a01d6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.zy.asrs.task.handler;
 
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.rcs.RcsReturn;
import com.zy.asrs.entity.rcs.RcsTaskSubmit;
import com.zy.asrs.entity.rcs.RcsTaskTargetRoute;
import com.zy.asrs.service.RcsService;
import com.zy.asrs.service.WrkMastService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
/**
 * @author pang.jiabao
 * @description 济南二机床刀具库相关定时任务
 * @createDate 2025/12/10 14:25
 */
@Slf4j
@Service
public class JlerHandler {
 
    @Resource
    private WrkMastService wrkMastService;
 
    @Resource
    private RcsService rcsService;
 
    @Transactional
    public void callAgvToWarehouse(WrkMast wrkMast) {
 
        // 下发给RCS
        RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
        // 模板名
        rcsTaskSubmit.setTaskType("CTU1");
        rcsTaskSubmit.setRobotTaskCode(String.valueOf(new Date().getTime()));
        rcsTaskSubmit.setInitPriority(10);  //默认10
        List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
        RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
        startRoute.setSeq(0);
        startRoute.setCode("106");
        startRoute.setOperation("COLLECT");
        startRoute.setType("SITE");
        targetRouteList.add(startRoute);
        RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
        endRoute.setSeq(1);
        endRoute.setCode(wrkMast.getLocNo());
        endRoute.setOperation("DELIVERY");
        endRoute.setType("STORAGE");
        targetRouteList.add(endRoute);
        rcsTaskSubmit.setTargetRoute(targetRouteList);
 
        // 转发给海康或华晓RCS
        RcsReturn rcsReturn = rcsService.submitTask(rcsTaskSubmit, 1);
        if (rcsReturn.getCode().equals("SUCCESS")) {
            wrkMast.setWrkSts(3L);
            wrkMast.setModiTime(new Date());
            wrkMast.setTaskNo(rcsTaskSubmit.getRobotTaskCode());
            wrkMastService.updateById(wrkMast);
            log.info("入库给料箱机器人发送命令成功,工作号:{},任务号:{}",wrkMast.getWrkNo(),rcsTaskSubmit.getRobotTaskCode());
        } else {
            log.error("入库给料箱机器人发送命令失败,工作号:{},任务号:{}",wrkMast.getWrkNo(),rcsTaskSubmit.getRobotTaskCode());
        }
    }
 
}