海亮海柔接口
This commit is contained in:
@@ -61,6 +61,10 @@ public enum DriverTypeEnum {
|
||||
|
||||
HAILIANG_PACKER_STATION(26, "hailiang_packer_station", "海亮-包装机工位", "conveyor"),
|
||||
|
||||
LIKU_AGV(27, "liku_agv", "LIKUAGV机器人查询", "agv"),
|
||||
|
||||
HAILIANG_HR_SSX(28, "hailiang_hr_ssx_station", "海亮-海柔-输送线", "conveyor"),
|
||||
|
||||
//HAILIANG_XJ_PLC_TEST(27, "hailiang_xj_plc_test", "海亮-信捷PLC", "conveyor"),
|
||||
|
||||
//HAILIANG_SMART_PLC_TEST(28, "hailiang_smart_plc_test", "海亮-西门子SMART200PLC", "conveyor"),
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.nl.acs.device_driver;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* @author: geng by
|
||||
* @createDate: 2023/4/21
|
||||
*/
|
||||
public interface FeedLmsRealFailed {
|
||||
public JSONObject feedLmsRealFailedInfo();
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.nl.acs.device_driver.basedriver.agv.liku_agv;
|
||||
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.DeviceDriverDefination;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@Service
|
||||
public class LiKuDefination implements DeviceDriverDefination {
|
||||
@Override
|
||||
public String getDriverCode() {
|
||||
return "liku_agv";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDriverName() {
|
||||
return "LK机器人查询";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDriverDescription() {
|
||||
return "LK机器人查询";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceDriver getDriverInstance(Device device) {
|
||||
return (new LiKuDeviceDriver()).setDevice(device).setDriverDefination(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends DeviceDriver> getDeviceDriverType() {
|
||||
return LiKuDeviceDriver.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeviceType> getFitDeviceTypes() {
|
||||
List<DeviceType> types = new LinkedList();
|
||||
types.add(DeviceType.agv);
|
||||
return types;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package org.nl.acs.device_driver.basedriver.agv.liku_agv;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.agv.server.NDCAgvService;
|
||||
import org.nl.acs.agv.server.impl.NDCAgvServiceImpl;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.ext.wms.liKuData.a.Tray;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.instruction.service.impl.InstructionServiceImpl;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl;
|
||||
import org.nl.acs.monitor.DeviceStageMonitor;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.impl.TaskServiceImpl;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*立库驱动
|
||||
*/
|
||||
@Slf4j
|
||||
@Data
|
||||
@RequiredArgsConstructor
|
||||
public class LiKuDeviceDriver extends AbstractDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor {
|
||||
|
||||
private InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class);
|
||||
private NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvServiceImpl.class);
|
||||
private DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class);
|
||||
private DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class);
|
||||
private DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogServiceImpl.class);
|
||||
private TaskService taskService = SpringContextHolder.getBean(TaskServiceImpl.class);
|
||||
|
||||
|
||||
|
||||
String robotCode = "";
|
||||
String robotTypeCode = "";
|
||||
String pointCode = "";
|
||||
Long positionX = 0l;
|
||||
Long positionY = 0l;
|
||||
Integer theta = 0;
|
||||
Long forkHeight = 0l;
|
||||
Long forkLength = 0l;
|
||||
Integer forkTheta = 0;
|
||||
String stationCode = "";
|
||||
String locationCode = "";
|
||||
String state = "";
|
||||
String hardwareState = "";
|
||||
List<Tray> trays=new ArrayList<>();
|
||||
|
||||
String locationTypeCode = "";
|
||||
String stationModelCode = "";
|
||||
Long positionZ = 0l;
|
||||
String loadContainerCode = "";
|
||||
Long updateTime = 0l;
|
||||
|
||||
Integer trayLevel = 0;
|
||||
String containerCode = "";
|
||||
List<String> taskCodes=null;
|
||||
String positionCode = "";
|
||||
public JSONObject getDeviceStatusName() {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("robotCode",robotCode);
|
||||
jo.put("robotTypeCode", robotTypeCode);
|
||||
jo.put("pointCode", pointCode);
|
||||
jo.put("positionX",this.getPositionX());
|
||||
jo.put("positionY",this. getPositionY());
|
||||
jo.put("theta", this.getTheta());
|
||||
jo.put("forkHeight", this.getForkHeight());
|
||||
jo.put("forkLength", this.getForkLength());
|
||||
jo.put("forkTheta", this.getForkTheta());
|
||||
jo.put("stationCode", stationCode);
|
||||
jo.put("locationCode", locationCode);
|
||||
jo.put("state", state);
|
||||
jo.put("hardwareState",hardwareState);
|
||||
jo.put("trays", this.getTrayList());
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDeviceStatus(JSONObject data) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
private JSONArray getTrayList(){
|
||||
JSONArray ja=new JSONArray();
|
||||
for (Tray tray : trays) {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("trayLevel", tray.getTrayLevel());
|
||||
jo.put("containerCode", tray.containerCode);
|
||||
jo.put("taskCodes", tray.getTaskCodes());
|
||||
jo.put("positionCode", tray.positionCode);
|
||||
ja.add(jo);
|
||||
}
|
||||
return ja;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package org.nl.acs.device_driver.basedriver.hailiang_hr_ssx;
|
||||
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@Service
|
||||
public class HailiangHrSsxDefination implements OpcDeviceDriverDefination {
|
||||
@Override
|
||||
public String getDriverCode() { return "hailiang_hr_ssx_station"; }
|
||||
|
||||
@Override
|
||||
public String getDriverName() {
|
||||
return "海亮-海柔-输送线";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDriverDescription() {
|
||||
return "海亮-海柔-输送线";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceDriver getDriverInstance(Device device) {
|
||||
return (new HailiangHrSsxDeviceDriver()).setDevice(device).setDriverDefination(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends DeviceDriver> getDeviceDriverType() {
|
||||
return HailiangHrSsxDeviceDriver.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeviceType> getFitDeviceTypes() {
|
||||
List<DeviceType> types = new LinkedList();
|
||||
types.add(DeviceType.conveyor);
|
||||
return types;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemDto> getReadableItemDtos() {
|
||||
return ItemProtocol.getReadableItemDtos();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemDto> getWriteableItemDtos() {return ItemProtocol.getWriteableItemDtos();}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
package org.nl.acs.device_driver.basedriver.hailiang_hr_ssx;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.acsEnum.WorkerOrderEnum;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.hailiang_one.IssuedDeviceOrderInfo;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.ext.wms.liKuData.Resp;
|
||||
import org.nl.acs.ext.wms.liKuData.a.ContainerArrivedRequest;
|
||||
import org.nl.acs.ext.wms.liKuData.a.NodeStates;
|
||||
import org.nl.acs.ext.wms.service.AcsToLiKuService;
|
||||
import org.nl.acs.ext.wms.service.LiKuToAcsService;
|
||||
import org.nl.acs.ext.wms.service.impl.AcsToLiKuServiceImpl;
|
||||
import org.nl.acs.ext.wms.service.impl.LiKuToAcsServiceImpl;
|
||||
import org.nl.acs.history.ErrorUtil;
|
||||
import org.nl.acs.history.service.DeviceErrorLogService;
|
||||
import org.nl.acs.history.service.dto.DeviceErrorLogDto;
|
||||
import org.nl.acs.history.service.impl.DeviceErrorLogServiceImpl;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.acs.monitor.DeviceStageMonitor;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.order.service.dto.EalingOrderDto;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@Slf4j
|
||||
@Data
|
||||
@RequiredArgsConstructor
|
||||
public class HailiangHrSsxDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor, IssuedDeviceOrderInfo {
|
||||
protected ItemProtocol itemProtocol=new ItemProtocol(this);
|
||||
DeviceExecuteLogService logServer = SpringContextHolder.getBean("deviceExecuteLogServiceImpl");
|
||||
@Autowired
|
||||
DeviceErrorLogService deviceErrorLogService = SpringContextHolder.getBean(DeviceErrorLogServiceImpl.class);
|
||||
@Autowired
|
||||
LiKuToAcsService liKuToAcsService = SpringContextHolder.getBean(LiKuToAcsServiceImpl.class);
|
||||
@Autowired
|
||||
AcsToLiKuService acsToLiKuService = SpringContextHolder.getBean(AcsToLiKuServiceImpl.class);
|
||||
|
||||
int heartbeat = 0;
|
||||
int mode = 0;
|
||||
int action = 0;
|
||||
int error = 0;
|
||||
int task = 0;
|
||||
int move = 0;
|
||||
int to_command = 0;
|
||||
String barcode,last_barcode;
|
||||
|
||||
int last_heartbeat = 0;
|
||||
int last_mode = 0;
|
||||
int last_error = 0;
|
||||
int last_task = 0;
|
||||
int last_move = 0;
|
||||
|
||||
|
||||
Boolean isonline = true;
|
||||
String message = null;
|
||||
Boolean iserror = false;
|
||||
private Date instruction_require_time = new Date();
|
||||
private int instruction_require_time_out = 3000;
|
||||
boolean requireSucess = false;
|
||||
|
||||
private int instruction_finished_time_out;
|
||||
String device_code = null;
|
||||
|
||||
@Override
|
||||
public Device getDevice() {
|
||||
return this.device;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void execute() throws Exception {
|
||||
try {
|
||||
device_code = this.getDeviceCode();
|
||||
mode = this.itemProtocol.getMode();
|
||||
move = this.itemProtocol.getMove();
|
||||
action = this.itemProtocol.getAction();
|
||||
error = this.itemProtocol.getError();
|
||||
task = this.itemProtocol.getTask();
|
||||
barcode = this.itemProtocol.getBarcode();
|
||||
to_command = this.itemProtocol.getToCommand();
|
||||
if (mode != last_mode) {
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode:" + last_mode + "->" + mode + "复位请求标记");
|
||||
}
|
||||
if (move != last_move){
|
||||
message = null;
|
||||
requireSucess =false;
|
||||
|
||||
}
|
||||
if (error != last_error) {
|
||||
if (error != 0) {
|
||||
DeviceErrorLogDto dto = new DeviceErrorLogDto();
|
||||
dto.setDevice_code(device_code);
|
||||
dto.setError_code(String.valueOf(error));
|
||||
dto.setError_info(ErrorUtil.getDictDetail("unbox_error_type", String.valueOf(error)));
|
||||
deviceErrorLogService.create(dto);
|
||||
}
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "信号error:" + last_error + "->" + error + "复位请求标记");
|
||||
}
|
||||
if (task != last_task) {
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "信号task:" + last_task + "->" + task + "复位请求标记");
|
||||
}
|
||||
|
||||
} catch (Exception var17) {
|
||||
var17.printStackTrace();
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17);
|
||||
}
|
||||
|
||||
if (mode == 0) {
|
||||
message = "未联机";
|
||||
} else {
|
||||
Instruction instruction = null;
|
||||
List toInstructions;
|
||||
|
||||
if(move ==1 && barcode.length()>0 && !requireSucess ){
|
||||
ContainerArrivedRequest containerArrivedRequest=new ContainerArrivedRequest();
|
||||
NodeStates nodeStates=new NodeStates();
|
||||
containerArrivedRequest.setSlotCode(device_code);
|
||||
containerArrivedRequest.setContainerCode(barcode);
|
||||
Date date = new Date();
|
||||
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
|
||||
nodeStates.setLastHasContainerTime(Long.parseLong(dateFormat.format(date)));
|
||||
nodeStates.setLastReadTime(Long.parseLong(dateFormat.format(date)));
|
||||
nodeStates.setLastReportTime(Long.parseLong(dateFormat.format(date)));
|
||||
Resp<JSONObject> containerArrivedResp=acsToLiKuService.containerArrived(containerArrivedRequest);
|
||||
JSONObject response1=JSONObject.parseObject(String.valueOf(containerArrivedResp));
|
||||
int code=response1.getInteger("code");
|
||||
String msg=response1.getString("msg");
|
||||
if(code == 0) {
|
||||
log.info("请求成功 请求结果{}", code,msg);
|
||||
requireSucess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
last_mode = mode;
|
||||
last_move = move;
|
||||
last_error = error;
|
||||
last_task = task;
|
||||
last_barcode = barcode;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject getDeviceStatusName() {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("device_name", this.getDevice().getDevice_name());
|
||||
String mode = "";
|
||||
String action = "";
|
||||
String move = "";
|
||||
if (this.getMode() == 0) {
|
||||
mode = "未联机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (this.getMode() == 1) {
|
||||
mode = "单机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (this.getMode() == 2) {
|
||||
mode = "联机";
|
||||
jo.put("isOnline", true);
|
||||
} else if (this.getMode() == 3) {
|
||||
mode = "运行中";
|
||||
jo.put("isOnline", true);
|
||||
}
|
||||
if (this.getMove() == 0) {
|
||||
move = "无货";
|
||||
jo.put("hasGoods", false);
|
||||
} else if (this.getMove() > 0) {
|
||||
move = "有货";
|
||||
jo.put("hasGoods", true);
|
||||
}
|
||||
jo.put("move", move);
|
||||
jo.put("mode", mode);
|
||||
jo.put("isOnline", this.getIsonline());
|
||||
jo.put("isError", this.getIserror());
|
||||
jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(error)));
|
||||
jo.put("task", task);
|
||||
jo.put("barcode", barcode);
|
||||
jo.put("isOnline", this.itemProtocol.getIsonline());
|
||||
jo.put("message", message);
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDeviceStatus(JSONObject data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void issuedOrderInfo(ProduceshiftorderDto dto) {
|
||||
EalingOrderDto ealingOrderDto = dto.getEalingOrderDto();
|
||||
if (ealingOrderDto != null) {
|
||||
String is_foreward = ealingOrderDto.getIs_foreward();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("to_clear", "1");
|
||||
map.put("to_is_foreward", is_foreward);
|
||||
map.put("to_order_box_num", ealingOrderDto.getOrder_box_num());
|
||||
map.put("to_order", ealingOrderDto.getOrder_code());
|
||||
this.writing(map);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void issuedOrderFinish(String autoFinish) {
|
||||
if (StrUtil.equals(autoFinish, WorkerOrderEnum.FORCEFINISH.getCode())) {
|
||||
this.writing("to_order_compel_finished", "1");
|
||||
} else {
|
||||
this.writing("to_confirm_finished", "1");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toStop() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toStart() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
package org.nl.acs.device_driver.basedriver.hailiang_hr_ssx;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Data
|
||||
public class ItemProtocol {
|
||||
public static String item_heartbeat = "heartbeat";
|
||||
public static String item_mode = "mode";
|
||||
public static String item_move = "move";
|
||||
public static String item_action = "action";
|
||||
public static String item_error = "error";
|
||||
public static String item_direction = "direction";
|
||||
public static String item_is_flip = "is_flip";
|
||||
public static String item_task = "task";
|
||||
public static String item_barcode = "barcode";
|
||||
|
||||
|
||||
public static String item_to_command = "to_command";
|
||||
public static String item_to_target = "to_target";
|
||||
public static String item_to_task = "to_task";
|
||||
public static String item_to_is_flip = "to_is_flip";
|
||||
public static String item_to_barcode = "to_barcode";
|
||||
|
||||
|
||||
|
||||
|
||||
private HailiangHrSsxDeviceDriver driver;
|
||||
|
||||
public ItemProtocol(HailiangHrSsxDeviceDriver driver) {
|
||||
this.driver = driver;
|
||||
}
|
||||
|
||||
public int getHeartbeat() {
|
||||
return this.getOpcIntegerValue(item_heartbeat);
|
||||
}
|
||||
|
||||
public int getMode() {
|
||||
return this.getOpcIntegerValue(item_mode);
|
||||
}
|
||||
|
||||
public int getMove() {
|
||||
return this.getOpcIntegerValue(item_move);
|
||||
}
|
||||
|
||||
public int getAction() {
|
||||
return this.getOpcIntegerValue(item_action);
|
||||
}
|
||||
|
||||
public String getBarcode() {
|
||||
return this.getOpcStringValue(item_barcode);
|
||||
}
|
||||
|
||||
public int getError() {
|
||||
return this.getOpcIntegerValue(item_error);
|
||||
}
|
||||
|
||||
public int getIsflip() {
|
||||
return this.getOpcIntegerValue(item_is_flip);
|
||||
}
|
||||
|
||||
public int getTask() {
|
||||
return this.getOpcIntegerValue(item_task);
|
||||
}
|
||||
|
||||
public int getToCommand() {
|
||||
return this.getOpcIntegerValue(item_to_command);
|
||||
}
|
||||
|
||||
public int getToTarget() {
|
||||
return this.getOpcIntegerValue(item_to_target);
|
||||
}
|
||||
|
||||
public int getToTask() {
|
||||
return this.getOpcIntegerValue(item_to_task);
|
||||
}
|
||||
|
||||
//是否有货
|
||||
public int hasGoods(int move) {
|
||||
return move;
|
||||
}
|
||||
|
||||
Boolean isonline;
|
||||
|
||||
public int getOpcIntegerValue(String protocol) {
|
||||
Integer value = this.driver.getIntegeregerValue(protocol);
|
||||
if (value == null) {
|
||||
setIsonline(false);
|
||||
} else {
|
||||
setIsonline(true);
|
||||
return value;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
public String getOpcStringValue(String protocol) {
|
||||
String value = this.driver.getStringValue(protocol);
|
||||
if (value == null) {
|
||||
setIsonline(false);
|
||||
} else {
|
||||
setIsonline(true);
|
||||
return value;
|
||||
}
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
public static List<ItemDto> getReadableItemDtos() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.W0"));
|
||||
list.add(new ItemDto(item_mode, "工作状态", "DB600.W2", Boolean.valueOf(true)));
|
||||
list.add(new ItemDto(item_move, "光电开关信号", "DB600.W4"));
|
||||
list.add(new ItemDto(item_action, "取放信号", "DB600.W6"));
|
||||
list.add(new ItemDto(item_direction, "电机方向", "DB600.W8"));
|
||||
list.add(new ItemDto(item_is_flip, "是否翻转", "DB600.W10"));
|
||||
list.add(new ItemDto(item_error, "报警信号", "DB600.W12"));
|
||||
list.add(new ItemDto(item_task, "任务号", "DB600.D14"));
|
||||
list.add(new ItemDto(item_barcode, "条码", "DB600.STRING18.20"));
|
||||
return list;
|
||||
}
|
||||
|
||||
public static List<ItemDto> getWriteableItemDtos() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add(new ItemDto(item_to_command, "下发作业命令", "DB610.W2", Boolean.valueOf(true)));
|
||||
list.add(new ItemDto(item_to_target, "下发目标站", "DB610.W4"));
|
||||
list.add(new ItemDto(item_to_is_flip, "下发是否翻转", "DB610.W6"));
|
||||
list.add(new ItemDto(item_to_task, "下发任务号", "DB610.D8"));
|
||||
list.add(new ItemDto(item_to_barcode, "下发条码", "DB610.STRING12.20"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
package org.nl.acs.device_driver.basedriver.siemens_conveyor;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Data
|
||||
public class ItemProtocol {
|
||||
|
||||
//心跳
|
||||
public static String item_heartbeat = "heartbeat";
|
||||
//工作模式
|
||||
public static String item_mode = "mode";
|
||||
//光电信号
|
||||
public static String item_move = "move";
|
||||
//托盘方向
|
||||
public static String item_carrier_direction = "carrier_direction";
|
||||
//报警
|
||||
public static String item_error = "error";
|
||||
//任务号
|
||||
public static String item_task = "task";
|
||||
|
||||
//下发命令
|
||||
public static String item_to_command = "to_command";
|
||||
//下发目标站
|
||||
public static String item_to_target = "to_target";
|
||||
//下发托盘类型
|
||||
public static String item_to_container_type = "to_container_type";
|
||||
//下发任务号
|
||||
public static String item_to_task = "to_task";
|
||||
//困扎次数
|
||||
public static String item_to_strap_times = "to_strap_times";
|
||||
//木箱长度
|
||||
public static String item_to_length = "to_length";
|
||||
//木箱宽度
|
||||
public static String item_to_weight = "to_weight";
|
||||
//木箱高度
|
||||
public static String item_to_height = "to_height";
|
||||
|
||||
|
||||
private SiemensConveyorDeviceDriver driver;
|
||||
|
||||
public ItemProtocol(SiemensConveyorDeviceDriver driver) {
|
||||
this.driver = driver;
|
||||
}
|
||||
|
||||
public int getHeartbeat() {
|
||||
return this.getOpcIntegerValue(item_heartbeat);
|
||||
}
|
||||
|
||||
public int getMode() {
|
||||
return this.getOpcIntegerValue(item_mode);
|
||||
}
|
||||
|
||||
public int getMove() {
|
||||
return this.getOpcIntegerValue(item_move);
|
||||
}
|
||||
|
||||
public int getCarrier_direction() {
|
||||
return this.getOpcIntegerValue(item_carrier_direction);
|
||||
}
|
||||
|
||||
public int getError() {
|
||||
return this.getOpcIntegerValue(item_error);
|
||||
}
|
||||
|
||||
public int getTask() {
|
||||
return this.getOpcIntegerValue(item_task);
|
||||
}
|
||||
|
||||
public int getTo_command() {
|
||||
return this.getOpcIntegerValue(item_to_command);
|
||||
}
|
||||
|
||||
public int getTo_target() {
|
||||
return this.getOpcIntegerValue(item_to_target);
|
||||
}
|
||||
|
||||
public int getTo_task() {
|
||||
return this.getOpcIntegerValue(item_to_task);
|
||||
}
|
||||
|
||||
public int getTo_strap_times() {
|
||||
return this.getOpcIntegerValue(item_to_strap_times);
|
||||
}
|
||||
|
||||
public int getTo_length() {
|
||||
return this.getOpcIntegerValue(item_to_length);
|
||||
}
|
||||
|
||||
public int getTo_weight() {
|
||||
return this.getOpcIntegerValue(item_to_weight);
|
||||
}
|
||||
|
||||
public int getTo_height() {
|
||||
return this.getOpcIntegerValue(item_to_height);
|
||||
}
|
||||
|
||||
|
||||
Boolean isonline;
|
||||
|
||||
public int getOpcIntegerValue(String protocol) {
|
||||
Integer value = this.driver.getIntegeregerValue(protocol);
|
||||
if (value == null) {
|
||||
// log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
|
||||
setIsonline(false);
|
||||
} else {
|
||||
setIsonline(true);
|
||||
return value;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
public String getOpcStringValue(String protocol) {
|
||||
String value = this.driver.getStringValue(protocol);
|
||||
if (StrUtil.isEmpty(value)) {
|
||||
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
return "0";
|
||||
}
|
||||
|
||||
public static List<ItemDto> getReadableItemDtos() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0"));
|
||||
list.add(new ItemDto(item_mode, "工作模式", "DB600.B2"));
|
||||
list.add(new ItemDto(item_move, "光电信号", "DB600.B3"));
|
||||
list.add(new ItemDto(item_carrier_direction, "托盘方向", "DB600.B4"));
|
||||
list.add(new ItemDto(item_error, "报警信号", "DB600.B6"));
|
||||
list.add(new ItemDto(item_task, "任务号", "DB600.D10"));
|
||||
return list;
|
||||
}
|
||||
|
||||
public static List<ItemDto> getWriteableItemDtos() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add(new ItemDto(item_to_command, "下发命令", "DB601.W2"));
|
||||
list.add(new ItemDto(item_to_target, "下发目标站", "DB601.W4"));
|
||||
list.add(new ItemDto(item_to_container_type, "下发托盘类型", "DB601.W6"));
|
||||
list.add(new ItemDto(item_to_task, "下发任务号", "DB601.D8"));
|
||||
list.add(new ItemDto(item_to_strap_times, "困扎次数", "DB601.W12"));
|
||||
list.add(new ItemDto(item_to_length, "木箱长度", "DB601.W14"));
|
||||
list.add(new ItemDto(item_to_weight, "木箱宽度", "DB601.W16"));
|
||||
list.add(new ItemDto(item_to_height, "木箱高度", "DB601.W18"));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package org.nl.acs.device_driver.basedriver.siemens_conveyor;
|
||||
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 西门子-输送机驱动
|
||||
*
|
||||
*/
|
||||
@Service
|
||||
public class SiemensConveyorDefination implements OpcDeviceDriverDefination {
|
||||
@Override
|
||||
public String getDriverCode() {
|
||||
return "siemens_conveyor";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDriverName() {
|
||||
return "西门子-输送机驱动";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDriverDescription() {
|
||||
return "西门子-输送机驱动";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceDriver getDriverInstance(Device device) {
|
||||
return (new SiemensConveyorDeviceDriver()).setDevice(device).setDriverDefination(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends DeviceDriver> getDeviceDriverType() {
|
||||
return SiemensConveyorDeviceDriver.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeviceType> getFitDeviceTypes() {
|
||||
List<DeviceType> types = new LinkedList();
|
||||
types.add(DeviceType.station);
|
||||
return types;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemDto> getReadableItemDtos() {
|
||||
return ItemProtocol.getReadableItemDtos();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemDto> getWriteableItemDtos() {
|
||||
return ItemProtocol.getWriteableItemDtos();
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,13 +3,11 @@ package org.nl.acs.device_driver.driver;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.jinterop.dcom.common.JIException;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||
import org.nl.acs.ext.wms.data.JsonUtl;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.acs.opc.OpcConfig;
|
||||
import org.nl.acs.opc.OpcServerService;
|
||||
import org.nl.acs.opc.OpcServerServiceImpl;
|
||||
import org.nl.acs.opc.WcsConfig;
|
||||
import org.nl.acs.opc.*;
|
||||
import org.nl.acs.udw.UnifiedDataAccessor;
|
||||
import org.nl.acs.udw.UnifiedDataAccessorFactory;
|
||||
import org.nl.acs.udw.UnifiedDataAppService;
|
||||
@@ -17,11 +15,14 @@ import org.nl.modules.lucene.service.LuceneExecuteLogService;
|
||||
import org.nl.modules.lucene.service.dto.LuceneLogDto;
|
||||
import org.nl.modules.wql.exception.WDKException;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
import org.openscada.opc.lib.da.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements OpcDeviceDriver {
|
||||
@Autowired
|
||||
private OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerService .class);
|
||||
UnifiedDataAccessor opcUdw;
|
||||
|
||||
private Date sendTime;
|
||||
@@ -38,6 +39,61 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc
|
||||
public UnifiedDataAccessor getOpcValueAccessor() {
|
||||
return this.opcUdw;
|
||||
}
|
||||
public void checkcontrol(Map<String, Object> itemValues) throws JIException, AddFailedException {
|
||||
Group group = opcServerService.getServer(this.getOpcServer());
|
||||
Map<String, Object> write = new HashMap();
|
||||
Map<String, Item> readitems = new LinkedHashMap();
|
||||
List<String> itemsString = new ArrayList();
|
||||
itemsString = new ArrayList<> (itemValues.keySet());
|
||||
Iterator is = itemsString.iterator();
|
||||
|
||||
while (is.hasNext()) {
|
||||
String string = (String) is.next();
|
||||
try {
|
||||
readitems.put(string, group.addItem(string));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
int i = 0;
|
||||
while(true) {
|
||||
//下发信号
|
||||
control( itemValues);
|
||||
Map<String, Object> read = new HashMap();
|
||||
Map<Item, ItemState> itemStatus = group.read(true, (Item[])readitems.values().toArray(new Item[0]));
|
||||
Set<Item> items = itemStatus.keySet();
|
||||
Iterator var15 = items.iterator();
|
||||
|
||||
while(var15.hasNext()) {
|
||||
Item item = (Item)var15.next();
|
||||
ItemState itemState = (ItemState)itemStatus.get(item);
|
||||
Object value = OpcUtl.getValue(item, itemState);
|
||||
read.put(item.getId(), value);
|
||||
}
|
||||
|
||||
boolean check = true;
|
||||
Iterator var24 = itemsString.iterator();
|
||||
|
||||
while(var24.hasNext()) {
|
||||
String itemString = (String)var24.next();
|
||||
if (!ObjectUtl.isEquals(itemValues.get(itemString), JsonUtl.parse(read.get(itemString)))) {
|
||||
check = false;
|
||||
}
|
||||
}
|
||||
if (check) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (i > 0) {
|
||||
ThreadUtl.sleep(300L);
|
||||
}
|
||||
|
||||
if (i > 3) {
|
||||
throw new WDKException("写入次数超过3次而失败");
|
||||
}
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean control(Map<String, Object> itemValues) {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.esotericsoftware.minlog.Log;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
|
||||
public interface ExecutableDeviceDriver extends DeviceDriver {
|
||||
default void executeAuto() {
|
||||
default void executeAuto() throws Exception {
|
||||
// try {
|
||||
// this.execute();
|
||||
// } catch (Throwable var6) {
|
||||
@@ -16,5 +16,5 @@ public interface ExecutableDeviceDriver extends DeviceDriver {
|
||||
|
||||
}
|
||||
|
||||
void execute();
|
||||
void execute() throws Exception;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
package org.nl.acs.ext.wms;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.log.LokiLog;
|
||||
import org.nl.acs.log.LokiLogType;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.service.ParamService;
|
||||
import org.nl.modules.system.service.impl.ParamServiceImpl;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
|
||||
/**
|
||||
* ACS连接外部系统工具类:
|
||||
*/
|
||||
@Slf4j
|
||||
public class AcsUtil {
|
||||
|
||||
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LK)
|
||||
public static <W> String notifyAcs(String api, W requestParam) {
|
||||
DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class);;
|
||||
ParamService paramService = SpringContextHolder.getBean(ParamServiceImpl.class);
|
||||
//判断是否连接立库WCS系统
|
||||
String isConnect = paramService.findByCode("is_connect_liKu_Wcs").getValue();
|
||||
if (StrUtil.equals("0", isConnect)) {
|
||||
throw new BadRequestException("参数配置表中-is_connect_liKu_Wcs为:0");
|
||||
}
|
||||
String liKu_wcs_url = paramService.findByCode("liKu_wcs_url").getValue();
|
||||
try {
|
||||
logServer.extLog(LokiLogType.ACS_TO_LK.name(),"下发立库任务请求参数:{}"+JSON.toJSONString(requestParam) );
|
||||
log.info("下发立库任务请求参数:{}", JSON.toJSONString(requestParam));
|
||||
String body = HttpRequest
|
||||
.post(liKu_wcs_url + api).setConnectionTimeout(3000)
|
||||
.body(JSON.toJSONString(requestParam))
|
||||
.execute()
|
||||
.body();
|
||||
log.info("下发立库任务返回参数:{}", body);
|
||||
return body;
|
||||
} catch (Exception e) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("result", "false");
|
||||
result.put("code", "1");
|
||||
result.put("comment", e.getMessage());
|
||||
log.info("下发立库任务异常返回参数:{}", String.valueOf(result));
|
||||
return String.valueOf(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.nl.acs.ext.wms;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.acs.ext.wms.liKuData.Resp;
|
||||
|
||||
/**
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
public class RespUtil {
|
||||
public static <T> Resp getResp(String result, T t) {
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
Resp<T> resp = new Resp<>();
|
||||
resp.setData(t);
|
||||
resp = JSONObject.toJavaObject(jsonObject, Resp.class);
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ApplyLabelingAndBindingRequest extends BaseRequest {
|
||||
private String vehicle_code;
|
||||
private String device_code;
|
||||
/**
|
||||
* 1:贴标申请
|
||||
* 2:捆扎申请
|
||||
* 3:烘箱
|
||||
*/
|
||||
private String type;
|
||||
|
||||
private String weight;
|
||||
|
||||
private String is_bind;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class ApplyLabelingAndBindingResponse extends BaseResponse {
|
||||
|
||||
private Map<String, String> data = new HashMap();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class BaseRequest {
|
||||
private Map<String, String> parameters = new HashMap();
|
||||
private String systemCode;
|
||||
private String houseCode;
|
||||
|
||||
public String getSystemCode() {
|
||||
return this.systemCode;
|
||||
}
|
||||
|
||||
public void setSystemCode(String systemCode) {
|
||||
this.systemCode = systemCode;
|
||||
}
|
||||
|
||||
public String getHouseCode() {
|
||||
return this.houseCode;
|
||||
}
|
||||
|
||||
public void setHouseCode(String houseCode) {
|
||||
this.houseCode = houseCode;
|
||||
}
|
||||
|
||||
public BaseRequest() {
|
||||
}
|
||||
|
||||
public Map<String, String> getParameters() {
|
||||
return this.parameters;
|
||||
}
|
||||
|
||||
public void setParameters(Map<String, String> parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
public Object getParameter(String key) {
|
||||
return this.parameters.get(key);
|
||||
}
|
||||
|
||||
public void putParameter(String key, String object) {
|
||||
this.parameters.put(key, object);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class BaseResponse {
|
||||
|
||||
private Integer status = 0;
|
||||
private String message;
|
||||
private JSONArray errArr = new JSONArray();
|
||||
private Map<String, String> parameters = new HashMap();
|
||||
|
||||
public BaseResponse() {
|
||||
}
|
||||
|
||||
public Integer getstatus() {
|
||||
return this.status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return this.message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public Map<String, String> getParameters() {
|
||||
return this.parameters;
|
||||
}
|
||||
|
||||
public void setParameters(Map<String, String> parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
public Object getParameter(String key) {
|
||||
return this.parameters.get(key);
|
||||
}
|
||||
|
||||
public void putParameter(String key, String object) {
|
||||
this.parameters.put(key, object);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class CancelTaskRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 任务标识
|
||||
*/
|
||||
private String ext_task_id;
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
*/
|
||||
private String task_code;
|
||||
|
||||
/**
|
||||
* 载具号
|
||||
*/
|
||||
String vehicle_code;
|
||||
|
||||
/**
|
||||
* 扩展属性
|
||||
*/
|
||||
Map<String,String> params;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
public class CancelTaskResponse extends BaseResponse {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class CreateTaskRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 任务标识
|
||||
*/
|
||||
private String ext_task_id;
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
*/
|
||||
private String task_code;
|
||||
|
||||
|
||||
/**
|
||||
* 取货点1
|
||||
*/
|
||||
String start_device_code;
|
||||
|
||||
/**
|
||||
* 放货点1
|
||||
*/
|
||||
String next_device_code;
|
||||
|
||||
/**
|
||||
* 取货点2
|
||||
*/
|
||||
String start_device_code2;
|
||||
|
||||
/**
|
||||
* 放货点2
|
||||
*/
|
||||
String next_device_code2;
|
||||
|
||||
/**
|
||||
* 烘箱对接位
|
||||
*/
|
||||
String put_device_code;
|
||||
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
String priority;
|
||||
|
||||
/**
|
||||
* 载具号
|
||||
*/
|
||||
String vehicle_code;
|
||||
|
||||
/**
|
||||
* 载具类型
|
||||
*/
|
||||
String vehicle_type;
|
||||
|
||||
/**
|
||||
* 路由方案
|
||||
*/
|
||||
String route_plan_code;
|
||||
|
||||
/**
|
||||
* 1、生箔;
|
||||
* 2、分切
|
||||
* 3、普通任务
|
||||
* 4、叉车任务
|
||||
* 5、输送任务
|
||||
* 6、行架
|
||||
* 7、立库
|
||||
* 任务类型
|
||||
*/
|
||||
String task_type;
|
||||
|
||||
/**
|
||||
* 立库任务类型
|
||||
*
|
||||
*/
|
||||
String dtl_type;
|
||||
|
||||
/**
|
||||
* Agv系统类型
|
||||
* 1:1楼叉车系统
|
||||
* 2:2楼1区域AGV系统
|
||||
* 3:2楼2区域AGV系统
|
||||
*/
|
||||
String agv_system_type;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
String remark;
|
||||
|
||||
/**
|
||||
* 烘箱时间
|
||||
*/
|
||||
String oven_time;
|
||||
|
||||
/**
|
||||
* 烘箱温度
|
||||
*/
|
||||
String temperature;
|
||||
|
||||
/**
|
||||
* agv取货高度
|
||||
*/
|
||||
private String start_height;
|
||||
|
||||
|
||||
/**
|
||||
* agv放货高度
|
||||
*/
|
||||
private String next_height;
|
||||
|
||||
/**
|
||||
* 扩展属性
|
||||
*/
|
||||
Map<String,String> params;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
public class CreateTaskResponse extends BaseResponse {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
@@ -10,7 +9,6 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
import com.fasterxml.jackson.databind.type.TypeFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -52,7 +50,7 @@ public class JsonUtl {
|
||||
synchronized(JsonUtl.class) {
|
||||
if (objectMapperLog == null) {
|
||||
objectMapperLog = init();
|
||||
objectMapperLog.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
objectMapperLog.setSerializationInclusion(Include.NON_NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LiKuApplyTakResponse extends BaseResponse {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LiKuApplyTaskRequest extends BaseRequest {
|
||||
private String vehicle_code;
|
||||
private String device_code;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class PutActionRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 设备号
|
||||
*/
|
||||
String device_code;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
String code;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
String value;
|
||||
|
||||
/**
|
||||
* 扩展属性
|
||||
*/
|
||||
Map<String,String> params;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
public class PutActionResponse extends BaseResponse {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UpdateLKTaskRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 任务标识
|
||||
*/
|
||||
private String ext_task_id;
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
*/
|
||||
private String task_code;
|
||||
|
||||
/**
|
||||
* 载具号
|
||||
*/
|
||||
String vehicle_code;
|
||||
|
||||
/**
|
||||
* 立库任务类型
|
||||
*/
|
||||
String dtl_type;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
String type;
|
||||
|
||||
/**
|
||||
* 原库位
|
||||
*/
|
||||
String srcLocation;
|
||||
|
||||
/**
|
||||
* 新库位
|
||||
*/
|
||||
String destLocation;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
public class UpdateLKTaskResponse extends BaseResponse {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 响应 data 公共基础类
|
||||
* 1、入库任务下发
|
||||
* 2、出库任务下发
|
||||
* 3、空托盘出库任务下发
|
||||
* 4、移库任务下发
|
||||
* 5、入库任务调整
|
||||
* 6、移库任务调整
|
||||
* 7、入库任务上报
|
||||
* 8、出库任务上报
|
||||
* 9、移库任务上报
|
||||
* 10、任务取消
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class BaseResponseData {
|
||||
public String orderId;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 任务上报请求参数基础类
|
||||
* 1、入库上报
|
||||
* 2、出库上报
|
||||
* 3、移库上报
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class BaseStoreReportRequest {
|
||||
/**
|
||||
* 任务编号
|
||||
* WCS内部任务编号,本次任务的唯一标识
|
||||
*/
|
||||
public String orderId;
|
||||
/**
|
||||
* 托盘条码信息
|
||||
*/
|
||||
public String palletCode;
|
||||
/**
|
||||
* 原库位号
|
||||
* 托盘的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String srcLocation;
|
||||
/**
|
||||
* 目的库位号
|
||||
* 托盘的目的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String destLocation;
|
||||
/**
|
||||
* 入库任务上报 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞
|
||||
* 出库任务上报 1已接收任务,2开始执行,3执行完成
|
||||
* 移库任务上报 1 已接收 2开始执行3 执行完成 4 起点库位有货被阻挡 5目的点库位无货被阻挡
|
||||
*/
|
||||
public String state;
|
||||
|
||||
public String robotId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 任务下发请求参数基础类
|
||||
* 1、入库任务下发
|
||||
* 2、出库任务-批量下发
|
||||
* 3、空托盘出库任务下发
|
||||
* 4、移库任务-批量下发
|
||||
* 5、入库任务调整
|
||||
* 6、移库任务调整
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class BaseStoreRequest {
|
||||
/**
|
||||
* 任务编号
|
||||
* WCS内部任务编号,本次任务的唯一标识
|
||||
*/
|
||||
public String orderId;
|
||||
/**
|
||||
* 楼层编号
|
||||
*/
|
||||
public int floorNo;
|
||||
/**
|
||||
* 托盘条码信息
|
||||
*/
|
||||
public String palletCode;
|
||||
/**
|
||||
* 原库位号
|
||||
* 托盘的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String srcLocation;
|
||||
/**
|
||||
* 目的库位号
|
||||
* 托盘的目的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String destLocation;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 取消任务请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class CancelTaskRequest {
|
||||
/**
|
||||
* 任务编号
|
||||
* WCS内部任务编号,本次任务的唯一标识
|
||||
*/
|
||||
public String orderId;
|
||||
/**
|
||||
* 托盘条码信息
|
||||
*/
|
||||
public String palletCode;
|
||||
/**
|
||||
* 原库位号
|
||||
* 托盘的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String srcLocation;
|
||||
/**
|
||||
* 目的库位号
|
||||
* 托盘的目的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String destLocation;
|
||||
/**
|
||||
* 任务类型
|
||||
* 1 入库,2 出库,3 移库,4 空托盘入库,5 空托盘出库
|
||||
*/
|
||||
public int taskType;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 取消任务响应参数 Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class CancelTaskResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeviceStatusData {
|
||||
|
||||
String deviceId;
|
||||
|
||||
String x;
|
||||
|
||||
String y;
|
||||
|
||||
//楼层
|
||||
String mapId;
|
||||
|
||||
//电量
|
||||
String power;
|
||||
|
||||
//托盘
|
||||
String pallet;
|
||||
|
||||
//有无货
|
||||
String load;
|
||||
|
||||
//报警
|
||||
String alarm;
|
||||
|
||||
//任务号
|
||||
String taskId;
|
||||
|
||||
//楼层
|
||||
String floor;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeviceStatusRequest {
|
||||
|
||||
String deviceId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
public class DeviceStatusResponse {
|
||||
|
||||
String result;
|
||||
|
||||
String code;
|
||||
|
||||
String comment;
|
||||
|
||||
DeviceStatusData data;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 空托盘出库任务下发 请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class EmptyVehicleOutStoreRequest extends BaseStoreRequest {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 空托盘任务下发响应参数Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class EmptyVehicleOutStoreResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务上报请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreReportRequest extends BaseStoreReportRequest {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务上报 响应参数Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreReportResponse extends BaseResponseData {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务下发请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreRequest extends BaseStoreRequest {
|
||||
/**
|
||||
* 任务类型
|
||||
* 1代表正常载货托盘入库,2代表空托盘入库
|
||||
*/
|
||||
public int type;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务调整请求参数类
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreResetRequest extends BaseStoreRequest {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务调整 响应参数Data类
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreResetResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 入库任务下发响应参数 Data类
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class InStoreResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class InStoreTaskUpdateRequest extends BaseResponseData {
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
* WCS内部任务编号,本次任务的唯一标识
|
||||
*/
|
||||
public String orderId;
|
||||
/**
|
||||
* 托盘条码信息
|
||||
*/
|
||||
public String palletCode;
|
||||
/**
|
||||
* 原库位号
|
||||
* 托盘的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String srcLocation;
|
||||
/**
|
||||
* 目的库位号
|
||||
* 托盘的目的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String destLocation;
|
||||
|
||||
/**
|
||||
* 楼层
|
||||
*/
|
||||
public int floorNo;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
|
||||
public class InStoreTaskUpdateResponse extends BaseStoreRequest {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
/**
|
||||
* 移库上报请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
public class MoveStoreReportRequest extends BaseStoreReportRequest {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 移库上报响应参数 Data类
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class MoveStoreReportResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 移库任务下发请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class MoveStoreRequest {
|
||||
/**
|
||||
* 任务组编号
|
||||
* WCS内部任务组编号,本组任务的唯一标识
|
||||
*/
|
||||
public String groupId;
|
||||
|
||||
/**
|
||||
* 任务信息,可批量下发
|
||||
*/
|
||||
public List<BaseStoreRequest> orderInfos;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 移库任务调整请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class MoveStoreResetRequest extends BaseStoreRequest {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 移库任务调整响应参数Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class MoveStoreResetResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 移库任务下发响应参数Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class MoveStoreResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class MoveStoreTaskUpdateRequest {
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
* WCS内部任务编号,本次任务的唯一标识
|
||||
*/
|
||||
public String orderId;
|
||||
/**
|
||||
* 托盘条码信息
|
||||
*/
|
||||
public String palletCode;
|
||||
/**
|
||||
* 原库位号
|
||||
* 托盘的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String srcLocation;
|
||||
/**
|
||||
* 目的库位号
|
||||
* 托盘的目的存储库位编号。具体库位编号需要双方商定
|
||||
*/
|
||||
public String destLocation;
|
||||
|
||||
/**
|
||||
* 楼层
|
||||
*/
|
||||
public int floorNo;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
|
||||
public class MoveStoreTaskUpdateResponse extends BaseStoreRequest {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 出库任务库位解锁Data类
|
||||
* @author: wangs
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutConfirmReportResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 出库库位解锁 请求参数类
|
||||
*
|
||||
* @author: wangs by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutConfirmRequest extends BaseStoreRequest {
|
||||
String outPortNo;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 出库任务上报请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutStoreReportRequest extends BaseStoreReportRequest {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 出库任务上报响应参数Data类
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutStoreReportResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 出库任务下发请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutStoreRequest {
|
||||
|
||||
/**
|
||||
* 任务组编号
|
||||
* WCS内部任务组编号,本组任务的唯一标识
|
||||
*/
|
||||
public String groupId;
|
||||
|
||||
/**
|
||||
* 任务信息,可批量下发
|
||||
*/
|
||||
public List<BaseStoreRequest> orderInfos;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 出库任务下发响应参数Data类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class OutStoreResponse extends BaseResponseData {
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 调用立库接口统一返回参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class Resp<T> {
|
||||
/**
|
||||
* 成功返回true,失败返回false
|
||||
*/
|
||||
public String result;
|
||||
|
||||
/**
|
||||
* 错误码(0表示成功)1代表入库目的位置有货,其他更多情况待定
|
||||
*/
|
||||
public String code;
|
||||
|
||||
/**
|
||||
* 错误信息,如果成功则为null
|
||||
*/
|
||||
public String comment;
|
||||
|
||||
/**
|
||||
* 报文携带的数据
|
||||
*/
|
||||
public T data;
|
||||
/**
|
||||
* 成功返回true,失败返回false
|
||||
*/
|
||||
public String msg;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.nl.acs.ext.wms.liKuData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 巷道锁定解锁请求参数类
|
||||
*
|
||||
* @author: geng by
|
||||
* @createDate: 2022/11/24
|
||||
*/
|
||||
@Data
|
||||
public class RoadWayIsLockRequest {
|
||||
/**
|
||||
* 楼层编号
|
||||
*/
|
||||
public int floorNo;
|
||||
/**
|
||||
* 是否锁定
|
||||
* true代表锁定,false代表解锁
|
||||
*/
|
||||
public String isLock;
|
||||
/**
|
||||
* 巷道编号
|
||||
* 需要解锁或锁定的巷道编号。具体巷道编号需要双方商定
|
||||
*/
|
||||
public String roadwayNo;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AbnormarReportingRequest {
|
||||
/**
|
||||
* 事件类型
|
||||
* location_abnormal:⼯作位异常
|
||||
* robot_abnormal:机器⼈异常
|
||||
*/
|
||||
public String eventType;
|
||||
/**
|
||||
* 机器⼈编码
|
||||
*
|
||||
*/
|
||||
public String robotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* ⼯作位编码
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* ⼯作站编码
|
||||
*/
|
||||
public String stationCode;
|
||||
/**
|
||||
* 描述信息
|
||||
* 异常原因/挂起原因等
|
||||
*/
|
||||
public String message;
|
||||
/**
|
||||
* 解决⽅案
|
||||
*系统建议的解决⽅案
|
||||
*/
|
||||
public String solution;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
public Long updateTime;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AbnormarReportingResponse{
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
||||
*
|
||||
* @author: zjj by
|
||||
* @createDate: 2023/6/26
|
||||
*/
|
||||
@Data
|
||||
public class BaseResponseData {
|
||||
public Integer code;
|
||||
public String msg;
|
||||
public String data;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
public class CancelRequest {
|
||||
/**
|
||||
* 任务编码
|
||||
* 业务任务和系统任务都可取消
|
||||
*/
|
||||
public List<String> taskCodes;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CancelResponse extends BaseResponseData{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ContainerArrivedRequest {
|
||||
/**
|
||||
* 输送线节点编码
|
||||
*
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
* 输送线有读码器可以识别或已知料⾝份时,该字段传料箱编码;否则空
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* 容器属性
|
||||
*/
|
||||
public Object containerAttribute;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ContainerArrivedResponse extends BaseResponseData{
|
||||
/**
|
||||
* 流动⽅向
|
||||
* 回库⼝:
|
||||
* 100:流向上料⼝
|
||||
* 200:等待
|
||||
*/
|
||||
public String direction;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Conveyors {
|
||||
/**
|
||||
* 输送线编码
|
||||
*/
|
||||
public String code;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public List<NodeStates> nodeStates;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Datas {
|
||||
List<Robots> robots;
|
||||
List<Locations> locations;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class InTaskDescribe extends TaskDescribe{
|
||||
|
||||
String containerCode;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LoadContainerFinishRequest {
|
||||
/**
|
||||
* 输送线节点编码
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.data.BaseResponse;
|
||||
|
||||
@Data
|
||||
public class LoadContainerFinishResponse{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class LocationQueryRequest {
|
||||
/**
|
||||
* ⼯作位编码
|
||||
* 可传多个⼯作位,若不传则查全部
|
||||
* 若多个字段均填写,则互为且关系
|
||||
*/
|
||||
public Map<String,List<String>> locationCodes ;
|
||||
/**
|
||||
* 容器编码
|
||||
* 查看容器下的所有⼯作位
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* ⼯作位类型编码
|
||||
* 可传多个⼯作位,若不传则查全部
|
||||
* 若多个字段均填写,则互为且关系
|
||||
*/
|
||||
public Map<String,List<String>> locationTypeCodes ;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LocationQueryResponse {
|
||||
String msg;
|
||||
|
||||
String code;
|
||||
|
||||
Datas datas;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
public class Locations {
|
||||
/**
|
||||
* ⼯作位编码
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* ⼯作位类型
|
||||
*/
|
||||
public String locationTypeCode;
|
||||
/**
|
||||
* ⼯作站编码
|
||||
* 若为⼯作位不会具有⼯作站编码
|
||||
*/
|
||||
public String pointCode;
|
||||
/**
|
||||
* 坐标x
|
||||
* 机器⼈实际坐标xmm
|
||||
*/
|
||||
public Long positionX;
|
||||
/**
|
||||
* 坐标y
|
||||
* 机器⼈实际坐标ymm
|
||||
*/
|
||||
public Long positionY;
|
||||
/**
|
||||
* 机器⼈⻆度
|
||||
*/
|
||||
public Integer theta;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class MoveContainerRequest {
|
||||
/**
|
||||
* 输送线节点编码
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* 流动⽅向
|
||||
* 拣选位
|
||||
* 100:向前流动,离开拣选位(只有
|
||||
* ⼀个流向的话,可以不传,默认向流)
|
||||
* 200:空箱取出
|
||||
*/
|
||||
public String direction;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
public class MoveContainerResponse{
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class NodeStates {
|
||||
/**
|
||||
* 输送线上的位置编码
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 是否有箱
|
||||
* 有箱则为true,否则为false
|
||||
*/
|
||||
public Boolean hasContainer;
|
||||
/**
|
||||
* 最近⼀次读取箱⼦状
|
||||
* 态的时间
|
||||
*/
|
||||
public Long lastReadTime;
|
||||
/**
|
||||
* 最后⼀次上报料箱到
|
||||
* 达的时间
|
||||
*/
|
||||
public Long lastReportTime;
|
||||
/**
|
||||
* 最后⼀次有箱⼦的时
|
||||
* 间
|
||||
*/
|
||||
public Long lastHasContainerTime;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class QueryConveyorRequest {
|
||||
/**
|
||||
* 输送线编码
|
||||
* 根据输送线编码列表查询状态
|
||||
*/
|
||||
public String conveyorCodes;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.liKuData.BaseStoreRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QueryConveyorResponse {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public List<Conveyors> conveyors;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
public class QueryNodeReaderRequest {
|
||||
public String slotCode;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class QueryNodeReaderResponse{
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String barcode;
|
||||
/**
|
||||
* 容器⾼度
|
||||
*/
|
||||
public Long height;
|
||||
/**
|
||||
* 容器长度
|
||||
*/
|
||||
public Long length;
|
||||
/**
|
||||
* 容器宽度
|
||||
*/
|
||||
public Long width;
|
||||
/**
|
||||
* 容器重量
|
||||
*/
|
||||
public Long weight;
|
||||
/**
|
||||
* 容器材料
|
||||
* 1.料箱2.纸箱
|
||||
*/
|
||||
public Long material;
|
||||
/**
|
||||
* 容器朝向
|
||||
*/
|
||||
public String orientation;
|
||||
/**
|
||||
* 容器材料
|
||||
* 料箱上⼆维码信息
|
||||
*/
|
||||
public String qrCode;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Rfid extends TaskstatusReportingRequest{
|
||||
/**
|
||||
* 背篓层号
|
||||
* 从0层开始编号,64表⽰放在了货叉上
|
||||
*/
|
||||
public Integer trayLevel;
|
||||
/**
|
||||
* rfid盘点信息
|
||||
* 仅限于rfid盘点
|
||||
*/
|
||||
public List<String> rfidInfo;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class RobotQueryRequest {
|
||||
/**
|
||||
* 机器⼈编码
|
||||
* 可传多个,若不传则查全部
|
||||
*/
|
||||
public Map<String,List<String>> robotCodes ;
|
||||
|
||||
//public List<String> robotCodes;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.liKuData.DeviceStatusData;
|
||||
import org.nl.acs.ext.wms.liKuData.b.AGVTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RobotQueryResponse{
|
||||
String msg;
|
||||
|
||||
String code;
|
||||
|
||||
Datas datas;
|
||||
// /**
|
||||
// * 任务
|
||||
// *
|
||||
// */
|
||||
// public List<Robots> robots;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
public class Robots {
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
public String robotCode;
|
||||
/**
|
||||
* 型号
|
||||
*/
|
||||
public String robotTypeCode;
|
||||
/**
|
||||
* 节点编码
|
||||
* 机器⼈当前所处节点
|
||||
*/
|
||||
public String pointCode;
|
||||
/**
|
||||
* 坐标x
|
||||
* 机器⼈实际坐标xmm
|
||||
*/
|
||||
public Long positionX;
|
||||
/**
|
||||
* 坐标y
|
||||
* 机器⼈实际坐标ymm
|
||||
*/
|
||||
public Long positionY;
|
||||
/**
|
||||
* 机器⼈⻆度
|
||||
*/
|
||||
public Integer theta;
|
||||
/**
|
||||
* 货叉⾼度
|
||||
*/
|
||||
public Long forkHeight;
|
||||
/**
|
||||
* 货叉⻓度
|
||||
*/
|
||||
public Long forkLength;
|
||||
/**
|
||||
* 货叉相对机
|
||||
* 器⼈⻆度
|
||||
*/
|
||||
public Integer forkTheta;
|
||||
/**
|
||||
* ⼯作站编码
|
||||
* 当机器⼈在⼯作站⼯作时会具有
|
||||
*/
|
||||
public String stationCode;
|
||||
/**
|
||||
* ⼯作位编码
|
||||
* 当机器⼈控制权在⼯作位上时会具有
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* 机器⼈状态
|
||||
* UNAVAILABLE =杀机器⼈后,在场外
|
||||
* 的状态
|
||||
* UNKNOWN =未知,待初始化
|
||||
* ERROR =错误(机器⼈状态更新超时)
|
||||
* IDLE =空闲
|
||||
* EXECUTING =执⾏任务中
|
||||
* AWAITING =原地等待
|
||||
*/
|
||||
public String state;
|
||||
/**
|
||||
* 机器⼈硬件状态
|
||||
* ROBOT_READY_TO_INIT? =机器⼈启动
|
||||
* 以后的初始状态,等待初始化指令
|
||||
* ROBOT_IDLE? =空闲状态,等待任务指
|
||||
* 令(MOVE、BIN_OP)
|
||||
* ROBOT_RUNNING? =运⾏状态(正在执
|
||||
* ⾏任务)
|
||||
* ROBOT_ABNORMAL? =异常状态(内部
|
||||
* 故障,或者执⾏任务过程中发⽣异常需
|
||||
* 要处理)
|
||||
* ROBOT_RECOVERY? =恢复状态
|
||||
* ROBOT_PAUSED? =暂停状态
|
||||
*/
|
||||
public String hardwareState;
|
||||
/**
|
||||
* 背篓描述
|
||||
*/
|
||||
public List<Tray> trays;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TaskDescribe {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TaskstatusReportingRequest {
|
||||
/**
|
||||
* 任务号
|
||||
*业务任务号
|
||||
*/
|
||||
public String taskCode;
|
||||
/**
|
||||
* 上报事件类型
|
||||
* task:上报任务状态
|
||||
* tote_load:上报取箱状态
|
||||
* tote_unload:上报放箱状态
|
||||
* robot_reach:机器⼈到达⼯作站
|
||||
* weight:称重事件回调
|
||||
* rfid:RFID识别事件回调
|
||||
*/
|
||||
public String eventType;
|
||||
/**
|
||||
* 状态
|
||||
* success:
|
||||
* fail:失败
|
||||
* cancel:取消
|
||||
* suspend:挂起
|
||||
*/
|
||||
public String status;
|
||||
/**
|
||||
* 机器⼈编码
|
||||
*
|
||||
*/
|
||||
public String robotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* ⼯作位编码
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* ⼯作站编码
|
||||
*/
|
||||
public String stationCode;
|
||||
/**
|
||||
* 描述信息
|
||||
* 异常原因/挂起原因等
|
||||
*/
|
||||
public String message;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TaskstatusReportingResponse{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.liKuData.b.AGVTask;
|
||||
|
||||
@Data
|
||||
public class ToteActionTask extends AGVTask {
|
||||
/**
|
||||
* 任务⾏为
|
||||
* load取货箱,⾃带移动
|
||||
* unload放货箱,⾃带移动
|
||||
* nop纯移动
|
||||
*/
|
||||
public String taskAction;
|
||||
/**
|
||||
* ⾏为结束是否暂停
|
||||
* 默认0。指任务结束后不暂停,机器
|
||||
* ⼈被释放。
|
||||
* 1,指任务结束后会暂停,直⾄使⽤
|
||||
* 暂停恢复接⼝继续执⾏后续任务。
|
||||
* ⾏为取消不再⽣效,成功会⽣效。
|
||||
* 暂停机器⼈后,可继续往机器⼈任
|
||||
* 务列表追加任务,再恢复后机器⼈
|
||||
* 会继续执⾏后续任务。
|
||||
*/
|
||||
public Boolean isFinallyPaused;
|
||||
/**
|
||||
* 容器编码
|
||||
*LOAD时容器和⼯作位⼆选⼀
|
||||
* UNLOAD时必填
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* ⼯作位编码
|
||||
*LOAD时容器和⼯作位⼆选⼀
|
||||
* UNLOAD时必填
|
||||
* NOP模式若填写,则系统会寻找该
|
||||
* ⼯作位对应的⼯作点进⾏停靠,若
|
||||
* ⼯作位和节点都填写,则优先⼯作
|
||||
* 位
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* 节点编码
|
||||
*仅NOP纯移动模式可⽤
|
||||
*/
|
||||
public String pointCode;
|
||||
/**
|
||||
* 机器⼈姿态⻆度
|
||||
* 仅NOP纯移动模式可⽤
|
||||
* 0,90,?180,270
|
||||
*/
|
||||
public Integer robotTheta;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.liKuData.b.AGVTask;
|
||||
|
||||
@Data
|
||||
public class ToteCarryTask extends AGVTask {
|
||||
/**
|
||||
* 容器编码
|
||||
* 容器和⼯作位⼆选⼀,优先取容器code,容器
|
||||
* 不存在则⾃动创建
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* 容器型号
|
||||
* 默认为“CT_KUBOT_STANDARD“
|
||||
*/
|
||||
public String containerType;
|
||||
/**
|
||||
* ⼯作位标签
|
||||
*⽤于逻辑分区分配对应⼯作位
|
||||
*/
|
||||
public String storageTag;
|
||||
/**
|
||||
* 起始⼯作位
|
||||
* containerCode、fromLocationCode⾄少⼀个
|
||||
* 不为空
|
||||
* 开启容器⾃动⼊场配置时,容器⼊场到
|
||||
* fromLocationCode
|
||||
*/
|
||||
public String fromLocationCode;
|
||||
/**
|
||||
* ⽬标⼯作位
|
||||
*toLocationCode、toStationCode⾄少⼀个不
|
||||
* 为空
|
||||
*/
|
||||
public Integer toLocationCode;
|
||||
/**
|
||||
* ⽬标⼯作站
|
||||
*/
|
||||
public Integer toStationCode;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.liKuData.b.AGVTask;
|
||||
|
||||
@Data
|
||||
public class ToteCheckTask extends AGVTask {
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* ⽬标⼯作位
|
||||
* 即要进⾏盘库的⽬标库位
|
||||
*/
|
||||
public String locationCode;
|
||||
/**
|
||||
* 盘库类型
|
||||
*/
|
||||
public String checkType;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Tray {
|
||||
/**
|
||||
* 背篓序号
|
||||
* 货叉标识64
|
||||
*/
|
||||
public Integer trayLevel;
|
||||
/**
|
||||
* 容器编码
|
||||
* 若背篓为空则为空
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* 业务任务
|
||||
*/
|
||||
public List<String> taskCodes;
|
||||
/**
|
||||
* 位置编码
|
||||
* 格式为机器⼈id#背篓序号
|
||||
*/
|
||||
public String positionCode;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UnloadContainerFinishRequest {
|
||||
/**
|
||||
* 输送线节点编码
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
/**
|
||||
* 容器属性
|
||||
*/
|
||||
public String containerAttribute;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UnloadContainerFinishResponse{
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UnloadContainerReqRequest {
|
||||
/**
|
||||
* 输送线节点编码
|
||||
*/
|
||||
public String slotCode;
|
||||
/**
|
||||
* 容器编码
|
||||
*/
|
||||
public String containerCode;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.nl.acs.ext.wms.liKuData.a;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UnloadContainerReqResponse{
|
||||
/**
|
||||
* 允许放箱
|
||||
*/
|
||||
public Boolean allow;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user