fix: 海康交互接口-base
This commit is contained in:
@@ -10,7 +10,7 @@ import org.nl.acs.agv.hk.service.data.BaseReq;
|
||||
public interface AcsToHkService {
|
||||
|
||||
/**
|
||||
* 生成任务单
|
||||
* 生成任务单 - 下发任务
|
||||
*
|
||||
* @param type 响应类型
|
||||
* @param requestParam
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.acs.agv.hk.service.data;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@@ -7,18 +8,27 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description TODO
|
||||
* @Description 下发任务实体
|
||||
* @Author Gengby
|
||||
* @Date 2024/12/28
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
public class GenAgvSchedulingTaskReq<T> extends BaseReq<T>{
|
||||
/**
|
||||
* 按需定义
|
||||
*/
|
||||
private String taskTyp;
|
||||
private String ctnrTyp;
|
||||
@Builder.Default
|
||||
private String ctnrTyp = "1";
|
||||
private String ctnrCode;
|
||||
/**
|
||||
* 不是必填
|
||||
* 载具号
|
||||
*/
|
||||
private String ctnrNum;
|
||||
private String taskMode;
|
||||
@Builder.Default
|
||||
private String taskMode = "0";
|
||||
private String wbCode;
|
||||
private List<Map<String,String>> positionCodePath;
|
||||
private String podCode;
|
||||
|
||||
@@ -99,15 +99,15 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
instruction.setInstruction_status(InstructionStatusEnum.FINISHED.getIndex());
|
||||
instruction.setUpdate_time(now);
|
||||
instructionService.finish(instruction);
|
||||
if (StrUtil.equals(instruction.getIs_wait(), "1") && StrUtil.equals(instruction.getInstruction_type(), InstTypeEnum.CTU_OUT_TASK.getCode())) {
|
||||
String ctuWaitTime = Optional.ofNullable(sysParamService.findByCode("ctuWaitTime").getValue()).map(Object::toString).orElse("3600");
|
||||
GenPreScheduleTaskReq gpsReq = GenPreScheduleTaskReq.builder()
|
||||
.positionCode(instruction.getStart_device_code())
|
||||
.nextTask(ctuWaitTime)
|
||||
.agvTyp("10")
|
||||
.build();
|
||||
acsToHkService.genPreScheduleTask(gpsReq, null);
|
||||
}
|
||||
// if (StrUtil.equals(instruction.getIs_wait(), "1") && StrUtil.equals(instruction.getInstruction_type(), InstTypeEnum.CTU_OUT_TASK.getCode())) {
|
||||
// String ctuWaitTime = Optional.ofNullable(sysParamService.findByCode("ctuWaitTime").getValue()).map(Object::toString).orElse("3600");
|
||||
// GenPreScheduleTaskReq gpsReq = GenPreScheduleTaskReq.builder()
|
||||
// .positionCode(instruction.getStart_device_code())
|
||||
// .nextTask(ctuWaitTime)
|
||||
// .agvTyp("10")
|
||||
// .build();
|
||||
// acsToHkService.genPreScheduleTask(gpsReq, null);
|
||||
// }
|
||||
}
|
||||
//method 回调3、任务取消cancel
|
||||
else if (StrUtil.equals(method, "cancel")) {
|
||||
|
||||
@@ -364,9 +364,5 @@ public class InstructionDto implements Serializable {
|
||||
*/
|
||||
private String to_device_code;
|
||||
|
||||
/**
|
||||
* 任务完成是否等待
|
||||
*/
|
||||
private String is_wait;
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.agv.hk.UnifiedResponse;
|
||||
import org.nl.acs.agv.hk.service.AcsToHkService;
|
||||
import org.nl.acs.agv.hk.service.data.GenAgvSchedulingTaskReq;
|
||||
import org.nl.acs.agv.server.NDCAgvService;
|
||||
import org.nl.acs.agv.server.XianGongAgvService;
|
||||
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
||||
@@ -34,6 +37,7 @@ import org.nl.acs.ext.wms.liKuData.*;
|
||||
import org.nl.acs.ext.wms.service.AcsToLiKuService;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
import org.nl.acs.instruction.domain.InstructionMybatis;
|
||||
import org.nl.acs.instruction.enums.InstTypeEnum;
|
||||
import org.nl.acs.instruction.enums.InstructionStatusEnum;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.instruction.service.dto.InstructionDto;
|
||||
@@ -46,6 +50,8 @@ import org.nl.acs.route.service.dto.RouteLineDto;
|
||||
import org.nl.acs.route.service.impl.RouteLineServiceImpl;
|
||||
import org.nl.acs.task.TaskInstructionLock;
|
||||
import org.nl.acs.task.domain.Task;
|
||||
import org.nl.acs.task.enums.AgvSystemTypeEnum;
|
||||
import org.nl.acs.task.enums.TaskTypeEnum;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.acs.task.service.mapper.TaskMapper;
|
||||
@@ -55,6 +61,7 @@ import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.common.utils.FileUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.config.MapOf;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.config.language.LangProcess;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
@@ -99,6 +106,8 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
private AcsToLiKuService acsToLiKuService;
|
||||
@Autowired
|
||||
private XianGongAgvService xiangGongAgvService;
|
||||
@Autowired
|
||||
private AcsToHkService acsToHkService;
|
||||
|
||||
private List<Instruction> instructions = new CopyOnWriteArrayList();
|
||||
|
||||
@@ -429,6 +438,24 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class);
|
||||
ndcAgvService.sendAgvInstToNDC(task.getAgv_system_type(), dto);
|
||||
}
|
||||
// 下发指令到海康调度
|
||||
if (dto.getAgv_system_type().equals(AgvSystemTypeEnum.Hik_System_Type.getIndex())) {
|
||||
List<Map<String, String>> positionCodePath = Arrays.asList(MapOf.of("positionCode", dto.getStart_parent_code(), "type", "00"), MapOf.of("positionCode", dto.getNext_parent_code(), "type", "00"));
|
||||
GenAgvSchedulingTaskReq gasReq = GenAgvSchedulingTaskReq
|
||||
.builder()
|
||||
.taskTyp(dto.getInstruction_type())
|
||||
.positionCodePath(positionCodePath)
|
||||
.priority(dto.getPriority())
|
||||
.taskCode(dto.getInstruction_code())
|
||||
.build();
|
||||
UnifiedResponse<String> resp = acsToHkService.genAgvSchedulingTask(gasReq, String.class);
|
||||
if (!resp.isSuccess()) {
|
||||
dto.setRemark(resp.getMessage());
|
||||
dto.setSend_status("2");
|
||||
} else {
|
||||
dto.setSend_status("1");
|
||||
}
|
||||
}
|
||||
//判断是否是仙工AGV
|
||||
/* if(CommonFinalParam.ONE.equals(route.getType())){
|
||||
HttpResponse response = xiangGongAgvService.sendOrderSequencesToXZ(dto);
|
||||
|
||||
@@ -21,7 +21,11 @@ public enum AgvSystemTypeEnum {
|
||||
/**
|
||||
* 仙工AGV系统
|
||||
*/
|
||||
XG_System_Type("3", "3", "仙工AGV系统");
|
||||
// XG_System_Type("3", "3", "仙工AGV系统");
|
||||
/**
|
||||
* 海康调度系统
|
||||
*/
|
||||
Hik_System_Type("3", "3", "HIK AGV系统");
|
||||
|
||||
/**
|
||||
* 索引
|
||||
|
||||
Reference in New Issue
Block a user