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());
|
}
|
}
|
|
}
|