ACS基线接口改造
This commit is contained in:
@@ -23,4 +23,19 @@ public class AgvUtil {
|
||||
String nowAsISO = df.format(date);
|
||||
return nowAsISO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得之后num个天的时间
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getDate() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
Date date = calendar.getTime();
|
||||
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
df.setTimeZone(tz);
|
||||
String nowAsISO = df.format(date);
|
||||
return nowAsISO;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.acs.device.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@@ -68,6 +69,7 @@ import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device.service.dto.DeviceDto;
|
||||
import org.nl.acs.device.service.dto.DeviceQueryParam;
|
||||
import org.nl.acs.device.service.mapper.DeviceMapper;
|
||||
import org.nl.system.service.dict.dao.Dict;
|
||||
import org.nl.system.service.logicflow.dao.mapper.StageMapper;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
@@ -470,6 +472,7 @@ public class DeviceServiceImpl extends CommonServiceImpl<DeviceMapper, Device> i
|
||||
public JSONArray selectList() {
|
||||
List<Device> deviceList= new LambdaQueryChainWrapper<>(deviceMapper)
|
||||
.apply("is_delete= '0' AND is_active= '1' AND is_config = 'true'")
|
||||
.orderByAsc(Device::getDevice_code)
|
||||
.list();
|
||||
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList));
|
||||
JSONArray result = new JSONArray();
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
package org.nl.acs.device_driver;
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* 驱动类型
|
||||
* https://blog.csdn.net/moneyshi/article/details/82978073
|
||||
*/
|
||||
public enum RequestMethodEnum {
|
||||
apply_mjxl(1, "apply_mjxl", "涂板线满架下料","1"),
|
||||
feedback_task_status(2, "feedback_task_status", "反馈任务状态","1");
|
||||
|
||||
|
||||
//驱动索引
|
||||
private int index;
|
||||
//驱动编码
|
||||
private String code;
|
||||
// 驱动名字
|
||||
private String name;
|
||||
//驱动描述
|
||||
private String desc;
|
||||
//设备驱动类型
|
||||
private String type;
|
||||
//是否隐藏显示 0否1是
|
||||
private String isHidden;
|
||||
|
||||
// 构造方法
|
||||
RequestMethodEnum(int index, String code, String name, String isHidden) {
|
||||
this.index = index;
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.isHidden = isHidden;
|
||||
}
|
||||
|
||||
|
||||
//只反馈未隐藏的
|
||||
public static JSONArray getList() {
|
||||
JSONArray arr = new JSONArray();
|
||||
for (RequestMethodEnum em : RequestMethodEnum.values()) {
|
||||
JSONObject json = new JSONObject();
|
||||
if(StrUtil.equals(em.getIsHidden(),"0")){
|
||||
json.put("code", em.getCode());
|
||||
json.put("name", em.getName());
|
||||
arr.add(json);
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getIsHidden() {
|
||||
return isHidden;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public static String getName(String code) {
|
||||
for (RequestMethodEnum c : RequestMethodEnum.values()) {
|
||||
if ( StrUtil.equals(c.code,code)) {
|
||||
return c.name;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getIndex() {
|
||||
return index;
|
||||
}
|
||||
|
||||
public void setIndex(int index) {
|
||||
this.index = index;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.utils.ReadUtil;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
@@ -29,14 +30,16 @@ import java.util.Map;
|
||||
@RequiredArgsConstructor
|
||||
public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver {
|
||||
protected ItemProtocol itemProtocol = new ItemProtocol(this);
|
||||
@Autowired
|
||||
|
||||
InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl");
|
||||
@Autowired
|
||||
|
||||
DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl");
|
||||
@Autowired
|
||||
|
||||
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
|
||||
@Autowired
|
||||
|
||||
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
|
||||
|
||||
AcsToWmsService acsToWmsService=SpringContextHolder.getBean("acsToWmsServiceImpl");
|
||||
String container;
|
||||
String container_type_desc;
|
||||
String last_container_type_desc;
|
||||
@@ -107,11 +110,15 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
if (action != last_action) {
|
||||
}
|
||||
if (error != last_error) {
|
||||
//this.execute_log.setContainer("");
|
||||
}
|
||||
if (state != last_state) {
|
||||
//固化室状态变更后通知lms更新固化室状态
|
||||
acsToWmsService.feedbackDeviceStatus(this.devicecode,String.valueOf(state));
|
||||
}
|
||||
last_action = action;
|
||||
last_mode = mode;
|
||||
last_error = error;
|
||||
last_state = state;
|
||||
//message = StringFormatUtl.format("设备报警:{}", new Object[]{});
|
||||
|
||||
// String manual_create_task = this.getDevice().getExtraValue().get("manual_create_task").toString();
|
||||
|
||||
@@ -10,9 +10,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.RequestMethodEnum;
|
||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.ext.wms.data.feedBackTaskStatus.FeedBackTaskStatusRequest;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
@@ -151,6 +153,7 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
||||
task = this.itemProtocol.getTask();
|
||||
hasGoods = this.itemProtocol.getMove();
|
||||
action = this.itemProtocol.getAction();
|
||||
material_type = this.itemProtocol.getMaterialType();
|
||||
if (mode != last_mode) {
|
||||
this.setRequireSucess(false);
|
||||
}
|
||||
@@ -192,25 +195,25 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
||||
case 2:
|
||||
break;
|
||||
case 4:
|
||||
//todo 叫料
|
||||
//叫料
|
||||
if (move==0){
|
||||
apply(4);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
//todo 满料出库
|
||||
//满料出库
|
||||
if(move==1){
|
||||
apply(5);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
//todo 申请空盘
|
||||
//申请空盘
|
||||
if (move==0){
|
||||
apply(6);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
//todo 空托盘出库
|
||||
//空托盘出库
|
||||
if(move==1){
|
||||
apply(7);
|
||||
}
|
||||
@@ -234,6 +237,7 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
||||
last_error = error;
|
||||
last_move = move;
|
||||
last_task = task;
|
||||
last_material_type = material_type;
|
||||
|
||||
}
|
||||
|
||||
@@ -436,12 +440,13 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
||||
return false;
|
||||
} else {
|
||||
this.time = date;
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("device_code", devicecode);
|
||||
json.put("barcode", barcode);
|
||||
json.put("is_auto_issue", "0");
|
||||
json.put("type", type);
|
||||
String resp = acsToWmsService.applyTaskToWms(json);
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setDevice_code(devicecode);
|
||||
request.setVehicle_code(String.valueOf(barcode));
|
||||
request.setTask_type(String.valueOf(type));
|
||||
request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode());
|
||||
request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName());
|
||||
String resp = acsToWmsService.applyTask(request);
|
||||
JSONObject res_jo = JSONObject.parseObject(resp);
|
||||
if (StrUtil.equals(res_jo.getString("status"), "200")) {
|
||||
this.writing(type);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
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.service.DeviceExecuteLogService;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
|
||||
/**
|
||||
* ACS连接外部系统工具类:
|
||||
*/
|
||||
@Slf4j
|
||||
public class LmsUtil {
|
||||
|
||||
public static <W> String notifyAcs(String api, W requestParam) {
|
||||
DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class);;
|
||||
ISysParamService paramService = SpringContextHolder.getBean(SysParamServiceImpl.class);
|
||||
//判断是否连接立库WCS系统
|
||||
String isConnect = paramService.findByCode("hasWms").getValue();
|
||||
if (StrUtil.equals("0", isConnect)) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("400", "500");
|
||||
result.put("message", "参数配置表中-hasWms为:0");
|
||||
log.info("请求LMS异常返回参数:{}", String.valueOf(result));
|
||||
return String.valueOf(result);
|
||||
//throw new BadRequestException("参数配置表中-hasWms为:0");
|
||||
}
|
||||
String liKu_wcs_url = paramService.findByCode("wmsurl").getValue();
|
||||
try {
|
||||
// log.info("请求LMS参数:{}", JSON.toJSONString(requestParam));
|
||||
String body = HttpRequest
|
||||
.post(liKu_wcs_url + api).setConnectionTimeout(3000)
|
||||
.body(JSON.toJSONString(requestParam))
|
||||
.execute()
|
||||
.body();
|
||||
// log.info("请求LMS参数返回参数:{}", body);
|
||||
return body;
|
||||
} catch (Exception e) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("code", "500");
|
||||
result.put("message", e.getMessage());
|
||||
// log.info("请求LMS异常返回参数:{}", String.valueOf(result));
|
||||
return String.valueOf(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,49 +1,57 @@
|
||||
package org.nl.acs.ext.wms.data;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.nl.acs.agv.AgvUtil;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BaseRequest {
|
||||
private Map<String, String> parameters = new HashMap();
|
||||
|
||||
/**
|
||||
* 请求号:uuid 唯一,LMS需要返回对应值
|
||||
*/
|
||||
private String requestNo = IdUtil.simpleUUID();
|
||||
|
||||
/**
|
||||
* 请求时间
|
||||
*/
|
||||
private String requestDate = AgvUtil.getDate();
|
||||
|
||||
/**
|
||||
* 请求方法编号
|
||||
*/
|
||||
private String request_medthod_code;
|
||||
|
||||
/**
|
||||
* 请求方法名称
|
||||
*/
|
||||
private String request_medthod_name;
|
||||
|
||||
/**
|
||||
* 设备号
|
||||
*/
|
||||
private String device_code;
|
||||
|
||||
|
||||
/**
|
||||
* 系统编号
|
||||
*/
|
||||
private String systemCode;
|
||||
private String houseCode;
|
||||
|
||||
public String getSystemCode() {
|
||||
return this.systemCode;
|
||||
}
|
||||
/**
|
||||
* 扩展参数:砖型等
|
||||
*/
|
||||
private Map<String, String> parameters = new HashMap();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,10 @@ import java.util.Map;
|
||||
@Data
|
||||
public class CreateTaskRequest extends BaseRequest {
|
||||
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
*/
|
||||
private String task_id;
|
||||
|
||||
/**
|
||||
* 任务编号
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package org.nl.acs.ext.wms.data.feedBackTaskStatus;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.acs.ext.wms.data.BaseRequest;
|
||||
|
||||
@Data
|
||||
public class FeedBackTaskStatusRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String task_id;
|
||||
|
||||
/**
|
||||
* 任务code
|
||||
*/
|
||||
private String task_code;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private String task_status;
|
||||
|
||||
/**
|
||||
* 任务类型
|
||||
*/
|
||||
private String task_type;
|
||||
|
||||
/**
|
||||
* 车号
|
||||
*/
|
||||
private String car_no;
|
||||
|
||||
/**
|
||||
* 载具号
|
||||
*/
|
||||
private String vehicle_code;
|
||||
|
||||
/**
|
||||
* 动作 1请求取货 2取货完成 3请求放货 4放货完成
|
||||
*/
|
||||
private String action;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.nl.acs.ext.wms.data.feedBackTaskStatus;
|
||||
|
||||
import org.nl.acs.ext.wms.data.BaseResponse;
|
||||
|
||||
public class FeedBackTaskStatusResponse extends BaseResponse {
|
||||
}
|
||||
@@ -67,7 +67,7 @@ public class AcsToWmsController {
|
||||
@Log(value = "反馈设备状态")
|
||||
@ApiOperation("反馈设备状态")
|
||||
public ResponseEntity<Object> feedbackDeviceStatus(@RequestBody String device_code, String code, String value) {
|
||||
return new ResponseEntity<>(acstowmsService.feedbackDeviceStatus(device_code, code, value), HttpStatus.OK);
|
||||
return new ResponseEntity<>(acstowmsService.feedbackDeviceStatus(device_code, value), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/feedbackOrderStatus")
|
||||
|
||||
@@ -38,7 +38,7 @@ public interface AcsToWmsService {
|
||||
* @param device_code
|
||||
* @return
|
||||
*/
|
||||
HttpResponse feedbackDeviceStatus(String device_code, String code, String value);
|
||||
HttpResponse feedbackDeviceStatus(String device_code, String state);
|
||||
|
||||
/**
|
||||
* 反馈AGV设备信息
|
||||
@@ -112,4 +112,9 @@ public interface AcsToWmsService {
|
||||
* @return
|
||||
*/
|
||||
HttpResponse feedAgvTaskStatus(JSONArray from);
|
||||
|
||||
/**
|
||||
* ACS向WMS申请晟华任务
|
||||
*/
|
||||
public String applyTask(BaseRequest request);
|
||||
}
|
||||
|
||||
@@ -8,12 +8,14 @@ import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.address.service.AddressService;
|
||||
import org.nl.acs.address.service.dto.AddressDto;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.ext.wms.LmsUtil;
|
||||
import org.nl.acs.ext.wms.data.*;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
@@ -199,18 +201,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResponse feedbackDeviceStatus(String device_code, String code, String value) {
|
||||
public HttpResponse feedbackDeviceStatus(String device_code, String state) {
|
||||
String wmsUrl = paramService.findByCode(AcsConfig.WMSURL).getValue();
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("device_code", device_code);
|
||||
json.put("back_time", DateUtil.format(DateUtil.date(), "yyyyMMddHHmmssSSS"));
|
||||
JSONArray ja = new JSONArray();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("code", code);
|
||||
jo.put("value", value);
|
||||
ja.add(jo);
|
||||
json.put("data", ja);
|
||||
json.put("state", state);
|
||||
AddressDto addressDto = addressService.findByCode("feedbackDeviceStatus");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsUrl + methods_url;
|
||||
@@ -553,4 +550,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String applyTask(BaseRequest requestParam) {
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
String api = addressService.findByCode("applyTaskToWms").getMethods_url();
|
||||
log.info("applyTaskToWms-----输入参数{}", JSON.toJSONString(requestParam, SerializerFeature.DisableCircularReferenceDetect));
|
||||
String result = LmsUtil.notifyAcs(api, requestParam);
|
||||
log.info("applyTaskToWms-----输出参数{}", result);
|
||||
return result;
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,6 +464,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
for (int i = 0; i < reqs.size(); i++) {
|
||||
CreateTaskRequest req = reqs.get(i);
|
||||
String task_code = req.getTask_code();
|
||||
String task_id =req.getTask_id();
|
||||
String start_device_code = req.getStart_device_code();
|
||||
String next_device_code = req.getNext_device_code();
|
||||
String priority = req.getPriority();
|
||||
@@ -475,6 +476,13 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
|
||||
String start_point_code = "";
|
||||
String next_point_code = "";
|
||||
if (StrUtil.isEmpty(task_id)) {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("task_id", task_id);
|
||||
json.put("message", "任务号不能为空");
|
||||
errArr.add(json);
|
||||
continue;
|
||||
}
|
||||
if (StrUtil.isEmpty(task_code)) {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("task_code", task_code);
|
||||
@@ -566,6 +574,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
}
|
||||
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("ext_task_id",task_id);
|
||||
jo.put("task_code", task_code);
|
||||
jo.put("task_id", IdUtil.simpleUUID());
|
||||
jo.put("start_point_code", start_point_code);
|
||||
|
||||
@@ -312,11 +312,11 @@ public class RouteLineServiceImpl extends CommonServiceImpl<RouteLineMapper, Rou
|
||||
for (int j = 0; j < next_arr.size(); j++) {
|
||||
String next_device_code = next_arr.get(j);
|
||||
RouteLineDto dto = new RouteLineDto();
|
||||
dto.setWeights((String) whereJson.get("weights"));
|
||||
dto.setRoute_plan_id((String) whereJson.get("route_plan_id"));
|
||||
dto.setWeights(String.valueOf(whereJson.get("weights")));
|
||||
dto.setRoute_plan_id(String.valueOf(whereJson.get("route_plan_id")));
|
||||
dto.setDevice_code(device_code);
|
||||
dto.setNext_device_code(next_device_code);
|
||||
dto.setType((String) whereJson.get("type"));
|
||||
dto.setType(String.valueOf(whereJson.get("type")));
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@ import org.nl.acs.device.service.DeviceAssignedService;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device.service.dto.DeviceAssignedDto;
|
||||
import org.nl.acs.device.service.impl.DeviceServiceImpl;
|
||||
import org.nl.acs.device_driver.RequestMethodEnum;
|
||||
import org.nl.acs.ext.wms.data.feedBackTaskStatus.FeedBackTaskStatusRequest;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
@@ -619,7 +621,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
String start_device_code = dto.getStart_device_code();
|
||||
String next_device_code = dto.getNext_device_code();
|
||||
String route_plan_code = dto.getRoute_plan_code();
|
||||
dto.setCreate_by(currentUsername);
|
||||
dto.setCreate_by("auto");
|
||||
dto.setUpdate_by(currentUsername);
|
||||
dto.setUpdate_time(now);
|
||||
dto.setCreate_time(now);
|
||||
@@ -865,89 +867,21 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue();
|
||||
if (!StrUtil.startWith(dto.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) {
|
||||
TaskFeedbackDto feefbackdto = taskFeedbackService.findByCode(entity.getTask_code());
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("task_id", entity.getExt_task_id());
|
||||
feed_jo.put("task_code", dto.getTask_code());
|
||||
feed_jo.put("task_status", dto.getTask_status());
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
String message = null;
|
||||
HttpResponse body = null;
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setTask_code(entity.getTask_code());
|
||||
request.setTask_status(entity.getTask_status());
|
||||
request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode());
|
||||
request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName());
|
||||
boolean flag = false;
|
||||
String resp = null;
|
||||
try {
|
||||
body = acstowmsService.feedbackTaskStatusToWms(ja);
|
||||
resp = acstowmsService.applyTask(request);
|
||||
log.info("任务号:{},反馈wms任务状态完成成功,响应信息:{}!", entity.getTask_code(), resp);
|
||||
} catch (Exception e) {
|
||||
flag = true;
|
||||
message = e.getMessage();
|
||||
e.printStackTrace();
|
||||
log.error("任务号:{},反馈wms任务状态失败,原因:{}!", entity.getTask_code(), e.getMessage());
|
||||
} finally {
|
||||
|
||||
}
|
||||
if (flag) {
|
||||
if (ObjectUtil.isEmpty(feefbackdto)) {
|
||||
feefbackdto = new TaskFeedbackDto();
|
||||
feefbackdto.setTask_id(entity.getTask_id());
|
||||
feefbackdto.setTask_code(entity.getTask_code());
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setVehicle_type(entity.getVehicle_type());
|
||||
feefbackdto.setVehicle_code(entity.getVehicle_code());
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getStart_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setError_code("400");
|
||||
feefbackdto.setIs_finished("0");
|
||||
feefbackdto.setRemark(message);
|
||||
taskFeedbackService.create(feefbackdto);
|
||||
} else {
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getStart_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setError_code("400");
|
||||
feefbackdto.setRemark(message);
|
||||
taskFeedbackService.update(feefbackdto);
|
||||
}
|
||||
} else {
|
||||
int status = body.getStatus();
|
||||
JSONObject jo = JSONObject.parseObject(body.body());
|
||||
if (ObjectUtil.isEmpty(feefbackdto)) {
|
||||
feefbackdto = new TaskFeedbackDto();
|
||||
feefbackdto.setTask_id(entity.getTask_id());
|
||||
feefbackdto.setTask_code(entity.getTask_code());
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setVehicle_type(entity.getVehicle_type());
|
||||
feefbackdto.setVehicle_code(entity.getVehicle_code());
|
||||
feefbackdto.setError_code(String.valueOf(body.getStatus()));
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
if (status == 200) {
|
||||
if (StrUtil.equals(entity.getTask_status(), "2")) {
|
||||
feefbackdto.setIs_finished("1");
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
}
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
feefbackdto.setRemark(jo.getString("message"));
|
||||
}
|
||||
taskFeedbackService.create(feefbackdto);
|
||||
} else {
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
if (status == 200) {
|
||||
} else {
|
||||
if (StrUtil.equals(entity.getTask_status(), "2")) {
|
||||
feefbackdto.setIs_finished("1");
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
}
|
||||
}
|
||||
taskFeedbackService.update(feefbackdto);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -981,95 +915,24 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
// 判断是否为WMS下发的任务,如果是反馈任务状态给WMS
|
||||
String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue();
|
||||
if (!StrUtil.startWith(entity.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) {
|
||||
TaskFeedbackDto feefbackdto = taskFeedbackService.findByCode(entity.getTask_code());
|
||||
System.out.println(feefbackdto == null);
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("task_id", entity.getTask_id());
|
||||
feed_jo.put("task_code", entity.getTask_code());
|
||||
feed_jo.put("task_status", entity.getTask_status());
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
String message = null;
|
||||
HttpResponse body = null;
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setTask_id(entity.getExt_task_id());
|
||||
request.setTask_code(entity.getTask_code());
|
||||
request.setTask_status(entity.getTask_status());
|
||||
request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode());
|
||||
request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName());
|
||||
boolean flag = false;
|
||||
String resp = null;
|
||||
try {
|
||||
body = acstowmsService.feedbackTaskStatusToWms(ja);
|
||||
log.info("任务号:{},反馈wms任务状态完成成功,响应信息:{}!", entity.getTask_code(), body.body());
|
||||
resp = acstowmsService.applyTask(request);
|
||||
log.info("任务号:{},反馈wms任务状态完成成功,响应信息:{}!", entity.getTask_code(), resp);
|
||||
} catch (Exception e) {
|
||||
log.error("任务号:{},反馈wms任务状态失败,原因:{}!", entity.getTask_code(), e.getMessage());
|
||||
flag = true;
|
||||
message = e.getMessage();
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
|
||||
}
|
||||
if (flag) {
|
||||
if (ObjectUtil.isEmpty(feefbackdto)) {
|
||||
feefbackdto = new TaskFeedbackDto();
|
||||
feefbackdto.setTask_id(entity.getTask_id());
|
||||
feefbackdto.setTask_code(entity.getTask_code());
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setVehicle_type(entity.getVehicle_type());
|
||||
feefbackdto.setVehicle_code(entity.getVehicle_code());
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getStart_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setError_code("400");
|
||||
feefbackdto.setIs_finished("0");
|
||||
feefbackdto.setRemark(message);
|
||||
taskFeedbackService.create(feefbackdto);
|
||||
} else {
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getStart_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setError_code("400");
|
||||
feefbackdto.setRemark(message);
|
||||
taskFeedbackService.update(feefbackdto);
|
||||
}
|
||||
} else {
|
||||
int status = body.getStatus();
|
||||
JSONObject jo = JSONObject.parseObject(body.body());
|
||||
if (ObjectUtil.isEmpty(feefbackdto)) {
|
||||
feefbackdto = new TaskFeedbackDto();
|
||||
feefbackdto.setTask_id(entity.getTask_id());
|
||||
feefbackdto.setTask_code(entity.getTask_code());
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
feefbackdto.setVehicle_type(entity.getVehicle_type());
|
||||
feefbackdto.setVehicle_code(entity.getVehicle_code());
|
||||
feefbackdto.setError_code(String.valueOf(body.getStatus()));
|
||||
feefbackdto.setStart_device_code(entity.getStart_device_code());
|
||||
feefbackdto.setStart_point_code(entity.getNext_point_code());
|
||||
feefbackdto.setNext_device_code(entity.getNext_device_code());
|
||||
feefbackdto.setNext_point_code(entity.getNext_point_code());
|
||||
if (status == 200) {
|
||||
if (StrUtil.equals(entity.getTask_status(), "2")) {
|
||||
feefbackdto.setIs_finished("1");
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
}
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
feefbackdto.setRemark(jo.getString("message"));
|
||||
}
|
||||
taskFeedbackService.create(feefbackdto);
|
||||
} else {
|
||||
feefbackdto.setTask_status(entity.getTask_status());
|
||||
if (status == 200) {
|
||||
if (StrUtil.equals(entity.getTask_status(), "2")) {
|
||||
feefbackdto.setIs_finished("1");
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
}
|
||||
} else {
|
||||
feefbackdto.setIs_finished("0");
|
||||
feefbackdto.setRemark(jo.getString("message"));
|
||||
}
|
||||
taskFeedbackService.update(feefbackdto);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 如果属于先知AGV,关闭运单序列
|
||||
if (StrUtil.equals(paramService.findByCode(AcsConfig.AGVTYPE).getValue(), "3")) {
|
||||
@@ -1118,13 +981,23 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
// 判断是否为WMS下发的任务,如果是反馈任务状态给WMS
|
||||
String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue();
|
||||
if (!StrUtil.startWith(entity.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) {
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("task_id", entity.getTask_id());
|
||||
feed_jo.put("task_code", entity.getTask_code());
|
||||
feed_jo.put("task_status", entity.getTask_status());
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
acstowmsService.feedbackTaskStatusToWms(ja);
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setTask_id(entity.getExt_task_id());
|
||||
request.setTask_id(entity.getExt_task_id());
|
||||
request.setTask_code(entity.getTask_code());
|
||||
request.setTask_status(entity.getTask_status());
|
||||
request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode());
|
||||
request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName());
|
||||
boolean flag = false;
|
||||
String resp = null;
|
||||
try {
|
||||
resp = acstowmsService.applyTask(request);
|
||||
log.info("任务号:{},反馈wms任务状态完成成功,响应信息:{}!", entity.getTask_code(), resp);
|
||||
} catch (Exception e) {
|
||||
log.error("任务号:{},反馈wms任务状态失败,原因:{}!", entity.getTask_code(), e.getMessage());
|
||||
} finally {
|
||||
|
||||
}
|
||||
}
|
||||
List<RouteLineDto> shortPathsList =
|
||||
routeLineService.getShortPathLines(
|
||||
|
||||
@@ -81,7 +81,7 @@ spring:
|
||||
threads: 4
|
||||
nettyThreads: 4
|
||||
singleServerConfig:
|
||||
database: 1
|
||||
database: 3
|
||||
connectionMinimumIdleSize: 8
|
||||
connectionPoolSize: 8
|
||||
address: redis://127.0.0.1:6379
|
||||
|
||||
Reference in New Issue
Block a user