opt: 优化connector交互逻辑

This commit is contained in:
yanps
2024-08-07 20:09:12 +08:00
parent 220c5aab4b
commit e51f6c74dc
20 changed files with 252 additions and 86 deletions

View File

@@ -42,6 +42,7 @@ import org.nl.config.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
import java.util.List;
import java.util.Map;
/**
* NDC单工位AGV
@@ -396,8 +397,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
try {
StandardOrdinarySiteDeviceDriver standar = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
boolean is_empty = (boolean)standar.getDevice().getExtraValue().get("is_empty");
data = feedBackStatus(data, index, 2, inst, task,1,false);
Map<String, Object> extraValue = standar.getDevice().getExtraValue();
boolean is_empty = false;
if(ObjectUtil.isNotEmpty(extraValue.get("is_empty"))){
is_empty = (boolean)extraValue.get("is_empty");
}
data = feedBackStatus(data, index, 4, inst, task,1,is_empty);
} catch (Exception e) {
log.info("放货完成反馈AGV状态失败:{},", e.getMessage());
}
@@ -482,7 +487,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
jo.put("task_code", inst.getTask_code());
jo.put("is_empty", is_empty);
ja.add(jo);
HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(jo);
log.info("指令号:{},phase:{},acs反馈wms结果:{}", inst.getInstruction_code(), phase, httpResponse);
if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);

View File

@@ -386,7 +386,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -427,7 +427,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -464,7 +464,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -499,7 +499,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -529,7 +529,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -550,7 +550,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
jo.put("status", "6");
jo.put("device_code", this.device_code);
ja.add(jo);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
if (resp.getStatus() == 200) {
writing("to_di_height", 0);
writing("to_di_low", 0);
@@ -563,7 +563,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
jo.put("status", "7");
jo.put("device_code", this.device_code);
ja.add(jo);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
if (resp.getStatus() == 200) {
writing("to_di_low", 0);
} else {
@@ -593,7 +593,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
.method("feedAgvTaskStatus")
.build();
luceneExecuteLogService.deviceExecuteLog(reqlogDto);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
LuceneLogDto resplogDto = LuceneLogDto.builder()
.device_code(device_code)
.content("返回参数:"+resp.body())
@@ -614,7 +614,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
jo.put("status", "6");
jo.put("device_code", "A4");
ja.add(jo);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
if (resp.getStatus() == 200) {
writing("to_di_height", 0);
writing("to_di_low", 0);
@@ -628,7 +628,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device
jo.put("status", "7");
jo.put("device_code", "A4");
ja.add(jo);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja);
HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo);
if (resp.getStatus() == 200) {
writing("to_di_height", 0);
} else {

View File

@@ -32,13 +32,11 @@ public class LmsUtil {
}
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();

View File

@@ -109,7 +109,7 @@ public class AcsToWmsController {
@PostMapping("/feedAgvTaskStatus")
@Log(value = "反馈AGV取放货状态")
@ApiOperation("反馈AGV取放货状态")
public ResponseEntity<Object> feedAgvTaskStatus(@RequestBody JSONArray from) {
public ResponseEntity<Object> feedAgvTaskStatus(@RequestBody JSONObject from) {
return new ResponseEntity<>(acstowmsService.feedAgvTaskStatus(from), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,64 @@
package org.nl.acs.ext.wms.rest;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.ext.wms.liKuData.InStoreReportRequest;
import org.nl.common.logging.annotation.Log;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequiredArgsConstructor
@Api(tags = "connector")
@RequestMapping("/api/iot/agvtask")
@Slf4j
public class ConnectorController {
@SaIgnore
@PostMapping
@Log(value = "立库反馈入库任务状态")
@ApiOperation("立库反馈入库任务状态")
public Map inStoreReport(@RequestBody JSONObject requestParam) throws Exception {
Map map = new HashMap();
String msg = "[\n" +
"{\n" +
"\"ID\":\"C202404281545\",\n" +
"\"Jobname\":\"N319001\",\n" +
"\"PalletID\":\"N319001_1_3\",\n" +
"\"ProductID\":\"A7E44207473001_0B\",\n" +
"\"Currentqty\":\"36\",\n" +
"\"SizeX\":\"140.98\",\n" +
"\"SizeY\":\"642\",\n" +
"\"Angle\":\"90\",\n" +
"\"Thickness\":\"2\",\n" +
"\"PositionX\":\"-227.379\",\n" +
"\"PositionY\":\"60\",\n" +
"\"vehicle_code\":\"T0001\", \n" +
"\"ProductionOrder\":\"800032285176\",\n" +
"\"Finished\": \"Y\",\n" +
"\"NextOperation\": \"\",\n" +
"\"DueDate\": \"\"\n" +
"} \n" +
"]";
JSONArray jo = JSONArray.parseArray(msg);
map.put("status",200);
map.put("message","请求成功");
map.put("data",jo);
return map;
}
}

View File

@@ -111,7 +111,7 @@ public interface AcsToWmsService {
* @param from
* @return
*/
HttpResponse feedAgvTaskStatus(JSONArray from);
HttpResponse feedAgvTaskStatus(JSONObject from);
/**

View File

@@ -531,7 +531,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
@Override
public HttpResponse feedAgvTaskStatus(JSONArray from) {
public HttpResponse feedAgvTaskStatus(JSONObject from) {
String wmsUrl = paramService.findByCode(AcsConfig.WMSURL).getValue();
AddressDto addressDto = addressService.findByCode("feedAgvTaskStatus");

View File

@@ -870,7 +870,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
request.setTask_code(entity.getTask_code());
request.setTask_id(entity.getExt_task_id());
request.setTask_status(entity.getTask_status());
request.setTask_status(task.getTask_status());
request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode());
request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName());
boolean flag = false;