Browse Source

web service 更新

master
张江玮 2 years ago
parent
commit
c898f0c633
  1. 2
      acs/nladmin-system/src/main/java/org/nl/acs/agv/server/XianGongAgvService.java
  2. 2
      acs/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java
  3. 55
      acs/nladmin-system/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java
  4. 49
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
  5. 12
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/CancelTaskRequest.java
  6. 2
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java
  7. 72
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java
  8. 10
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/IWebServiceTest.java
  9. 4
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/PublishEndpoint.java
  10. 23
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WebServiceTest.java
  11. 12
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WmsToAcsWebService.java
  12. 62
      acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WmsToAcsWebServiceImpl.java
  13. 4
      acs/nladmin-system/src/main/java/org/nl/acs/task/service/TaskService.java
  14. 75
      acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java

2
acs/nladmin-system/src/main/java/org/nl/acs/agv/server/XianGongAgvService.java

@ -37,7 +37,7 @@ public interface XianGongAgvService {
* @return * @return
* @throws Exception * @throws Exception
*/ */
public HttpResponse markComplete(String code) throws Exception; public HttpResponse markComplete(String code);
/** /**
* 查询AGV状态 * 查询AGV状态

2
acs/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java

@ -84,7 +84,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
@LokiLog(type = LokiLogType.AGV) @LokiLog(type = LokiLogType.AGV)
@Override @Override
public HttpResponse markComplete(String code) throws Exception { public HttpResponse markComplete(String code) {
if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), "1")) { if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), "1")) {
String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue(); String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue();

55
acs/nladmin-system/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java

@ -159,61 +159,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
inst.setAgv_jobno(String.valueOf(index)); inst.setAgv_jobno(String.valueOf(index));
inst.setSend_status("1"); inst.setSend_status("1");
instructionService.update(inst); instructionService.update(inst);
TaskDto task = taskService.findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getExt_task_id());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "1");
request.put("AGVCODE", String.valueOf(index));
request.put("REQTIME", DateUtil.now());
acsToWmsService.taskExecution(request);
}
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} else if (phase == 0x03) {
// 到达取货点请求取货
if (ObjectUtil.isNotEmpty(inst)) {
TaskDto task = taskService.findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getExt_task_id());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "2");
request.put("AGVCODE", String.valueOf(index));
request.put("REQTIME", DateUtil.now());
acsToWmsService.taskExecution(request);
}
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} else if (phase == 0x05) {
// 取货完成请求离开
if (ObjectUtil.isNotEmpty(inst)) {
TaskDto task = taskService.findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getExt_task_id());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "3");
request.put("AGVCODE", String.valueOf(index));
request.put("REQTIME", DateUtil.now());
acsToWmsService.taskExecution(request);
}
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} else if (phase == 0x07) {
// 请求放货
if (ObjectUtil.isNotEmpty(inst)) {
TaskDto task = taskService.findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getExt_task_id());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "4");
request.put("AGVCODE", String.valueOf(index));
request.put("REQTIME", DateUtil.now());
acsToWmsService.taskExecution(request);
} }
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} }

49
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java

@ -1,7 +1,9 @@
package org.nl.acs.device_driver.basedriver.agv.ndcone; package org.nl.acs.device_driver.basedriver.agv.ndcone;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.Data; import lombok.Data;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -22,6 +24,9 @@ import org.nl.acs.log.LokiLogType;
import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.log.service.DeviceExecuteLogService;
import org.nl.acs.opc.Device; import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.acs.wsdl.org.tempuri.RTMSAGVSERVICE;
import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.ParamService;
import org.nl.modules.system.service.impl.ParamServiceImpl; import org.nl.modules.system.service.impl.ParamServiceImpl;
import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.SpringContextHolder;
@ -123,7 +128,16 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
inst.setCarno(String.valueOf(carno)); inst.setCarno(String.valueOf(carno));
instructionService.update(inst); instructionService.update(inst);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + "反馈:" + data);
TaskDto task = SpringContextHolder.getBean(TaskService.class).findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getTask_code());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "1");
request.put("AGVCODE", this.device_code);
request.put("REQTIME", DateUtil.now());
new RTMSAGVSERVICE().getBasicHttpBindingIRTMSAGVSERVICE().atrAgvCallback(request.toJSONString());
//到达取货点 //到达取货点
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x03) { } else if (phase == 0x03) {
@ -183,6 +197,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
TaskDto task = SpringContextHolder.getBean(TaskService.class).findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getTask_code());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "2");
request.put("AGVCODE", this.device_code);
request.put("REQTIME", DateUtil.now());
new RTMSAGVSERVICE().getBasicHttpBindingIRTMSAGVSERVICE().atrAgvCallback(request.toJSONString());
//取货完毕 //取货完毕
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x05) { } else if (phase == 0x05) {
@ -254,6 +279,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
TaskDto task = SpringContextHolder.getBean(TaskService.class).findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getTask_code());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "3");
request.put("AGVCODE", this.device_code);
request.put("REQTIME", DateUtil.now());
new RTMSAGVSERVICE().getBasicHttpBindingIRTMSAGVSERVICE().atrAgvCallback(request.toJSONString());
//到达放货点 //到达放货点
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x07) { } else if (phase == 0x07) {
@ -305,6 +341,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
TaskDto task = SpringContextHolder.getBean(TaskService.class).findByCodeFromCache(inst.getTask_code());
JSONObject request = new JSONObject();
request.put("REQCODE", task.getTask_code());
request.put("TASKCODE", task.getTask_code());
request.put("PODCODE", task.getVehicle_code());
request.put("TASKTYPE", task.getTask_type());
request.put("METHOD", "4");
request.put("AGVCODE", this.device_code);
request.put("REQTIME", DateUtil.now());
new RTMSAGVSERVICE().getBasicHttpBindingIRTMSAGVSERVICE().atrAgvCallback(request.toJSONString());
//放货完毕 //放货完毕
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x09) { } else if (phase == 0x09) {

12
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/CancelTaskRequest.java

@ -27,4 +27,16 @@ public class CancelTaskRequest extends BaseRequest {
*/ */
Map<String,String> params; Map<String,String> params;
String REQCODE;
String TASKCODE;
String TASKTYPE;
String METHOD;
String AGVCODE;
String REQTIME;
} }

2
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java

@ -24,7 +24,7 @@ public interface WmsToAcsService {
* *
* @param jsonObject 条件 * @param jsonObject 条件
*/ */
CancelTaskResponse cancelFromWms(String jsonObject) throws Exception; CancelTaskResponse cancelFromWms(String jsonObject);
/** /**
* 修改设置有无货属性 * 修改设置有无货属性

72
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java

@ -60,47 +60,38 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
private String log_type = "LMS请求ACS"; private String log_type = "LMS请求ACS";
@Override @Override
public CancelTaskResponse cancelFromWms(String param) throws Exception { public CancelTaskResponse cancelFromWms(String param) {
ParamService paramService = SpringContextHolder.getBean(ParamService.class); ParamService paramService = SpringContextHolder.getBean(ParamService.class);
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
JSONArray datas = JSONArray.parseArray(param); // JSONArray datas = JSONArray.parseArray(param);
CancelTaskResponse response = new CancelTaskResponse(); CancelTaskResponse response = new CancelTaskResponse();
JSONArray errArr = new JSONArray();
for (int i = 0; i < datas.size(); i++) {
String data = datas.get(i).toString();
CancelTaskRequest request = JsonUtl.format(param, CancelTaskRequest.class); CancelTaskRequest request = JsonUtl.format(param, CancelTaskRequest.class);
String task_uuid = request.getExt_task_id(); // String task_uuid = request.getExt_task_id();
String task_code = request.getTask_code(); String task_code = request.getTASKCODE();
String vehicle_code = request.getVehicle_code(); String vehicle_code = request.getVehicle_code();
if (StrUtil.isEmpty(task_uuid)) { // if (StrUtil.isEmpty(task_uuid)) {
throw new WDKException("任务标识不能为空"); // throw new WDKException("任务标识不能为空");
} // }
if (StrUtil.isEmpty(task_code)) { if (StrUtil.isEmpty(task_code)) {
throw new WDKException("任务号不能为空"); throw new WDKException("任务号不能为空");
} }
String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue(); String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue();
if (StrUtil.equals(cancelTaskCheck, "1")) { if (StrUtil.equals(cancelTaskCheck, "1")) {
taskService.cancel(task_uuid); taskService.cancelFromCode(task_code);
} else if (StrUtil.equals(cancelTaskCheck, "0")) { } else if (StrUtil.equals(cancelTaskCheck, "0")) {
Instruction inst = instructionService.findByTaskcode(task_code); Instruction inst = instructionService.findByTaskcode(task_code);
if (inst == null) { if (inst == null) {
taskService.cancel(task_uuid); taskService.cancelFromCode(task_code);
} else { } else {
throw new RuntimeException("指令正在执行中,操作失败!"); throw new RuntimeException("指令正在执行中,操作失败");
} }
} }
}
if (ObjectUtil.isEmpty(errArr)) { response.setStatus(HttpStatus.OK.value());
response.setStatus(200);
} else {
response.setStatus(400);
}
response.setMessage("success"); response.setMessage("success");
response.setErrArr(errArr);
log.info("cancelFromWms--------------:输出参数:" + response); log.info("cancelFromWms--------------:输出参数:" + response);
return response; return response;
@ -458,12 +449,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
try { try {
MDC.put(log_file_type, log_type); MDC.put(log_file_type, log_type);
log.info("crateTask-----输入参数{}", param); log.info("crateTask-----输入参数{}", param);
JSONArray datas = JSONArray.parseArray("[" + param + "]");
CreateTaskResponse response = new CreateTaskResponse(); CreateTaskResponse response = new CreateTaskResponse();
JSONArray errArr = new JSONArray(); JSONArray errArr = new JSONArray();
for (int i = 0; i < datas.size(); i++) { CreateTaskRequest request = JsonUtl.format(param, CreateTaskRequest.class);
String data = datas.get(i).toString();
CreateTaskRequest request = JsonUtl.format(data, CreateTaskRequest.class);
// String ext_task_id = request.getREQCODE(); // String ext_task_id = request.getREQCODE();
String task_code = request.getTASKCODE(); String task_code = request.getTASKCODE();
String start_device_code = request.getSTARTPOSITION(); String start_device_code = request.getSTARTPOSITION();
@ -494,21 +482,21 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
if (StrUtil.isEmpty(task_code)) { if (StrUtil.isEmpty(task_code)) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG("任务号不能为空!"); response.setRTMSG("任务号不能为空!");
return response; return response;
} }
if (StrUtil.isEmpty(start_device_code)) { if (StrUtil.isEmpty(start_device_code)) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG("起点不能为空!"); response.setRTMSG("起点不能为空!");
return response; return response;
} }
if (StrUtil.isEmpty(next_device_code)) { if (StrUtil.isEmpty(next_device_code)) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG("终点不能为空!"); response.setRTMSG("终点不能为空!");
return response; return response;
} }
@ -585,7 +573,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
if (taskDto != null) { if (taskDto != null) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG("不能存在相同的任务号!"); response.setRTMSG("不能存在相同的任务号!");
return response; return response;
} }
@ -594,7 +582,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
if (vehicle_dto != null) { if (vehicle_dto != null) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG("不能存在相同的料车号!"); response.setRTMSG("不能存在相同的料车号!");
return response; return response;
} }
@ -603,14 +591,14 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
if (StrUtil.isEmpty(start_point_code)) { if (StrUtil.isEmpty(start_point_code)) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG(start_device_code + "未找到对应点位!"); response.setRTMSG(start_device_code + "未找到对应点位!");
return response; return response;
} }
if (StrUtil.isEmpty(next_point_code)) { if (StrUtil.isEmpty(next_point_code)) {
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG(next_device_code + "未找到对应点位!"); response.setRTMSG(next_device_code + "未找到对应点位!");
return response; return response;
} }
@ -677,9 +665,8 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
// json.put("ext_task_id", ext_task_id); // json.put("ext_task_id", ext_task_id);
json.put("message", resp.getComment()); json.put("message", resp.getComment());
json.put("code", resp.code); json.put("code", resp.code);
json.put("data", data); json.put("data", param);
errArr.add(json); errArr.add(json);
continue;
} }
} else { } else {
@ -689,24 +676,15 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
// e.printStackTrace(); // e.printStackTrace();
response.setREQCODE(task_code); response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("1"); response.setRTCODE("1");
response.setRTMSG(e.getMessage()); response.setRTMSG(e.getMessage());
return response; return response;
} }
}
if (ObjectUtil.isEmpty(errArr)) { response.setREQCODE(task_code);
response.setREPLYTIME(DateUtil.now()); response.setREPLYTIME(DateUtil.now());
response.setREQCODE("0"); response.setRTCODE("0");
response.setRTMSG("success"); response.setRTMSG("success");
} else {
response.setStatus(400);
if (ObjectUtil.isNotEmpty(errArr)) {
response.setMessage(errArr.getJSONObject(0).getString("message"));
} else {
response.setMessage("false");
}
response.setErrArr(errArr);
}
log.info("createFromWms--------------:输出参数:" + JSON.toJSONString(response)); log.info("createFromWms--------------:输出参数:" + JSON.toJSONString(response));
return response; return response;

10
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/IWebServiceTest.java

@ -1,10 +0,0 @@
package org.nl.acs.ext.wms.service.wsdl;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(targetNamespace = "http://service.mrxu.com/")
public interface IWebServiceTest {
String getDept(@WebParam(name = "jsonStr")String jsonStr);
}

4
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/PublishEndpoint.java

@ -32,12 +32,12 @@ public class PublishEndpoint implements ApplicationRunner {
for(String beanName : beanNames) { for(String beanName : beanNames) {
String publishAddr = applicationConnect.getType(beanName).getAnnotation(AutoPublish.class).publishAddress(); String publishAddr = applicationConnect.getType(beanName).getAnnotation(AutoPublish.class).publishAddress();
EndpointImpl endpoint = new EndpointImpl(bus, applicationConnect.getBean(beanName)); EndpointImpl endpoint = new EndpointImpl(bus, applicationConnect.getBean(beanName));
endpoint.publish(publishAddr); endpoint.publish("/" + publishAddr);
log.info(String.format("发布接口地址:[%s]", publishAddr)); log.info(String.format("发布接口地址:[%s]", publishAddr));
} }
log.info("weBservice接口自动发布结束"); log.info("webService接口自动发布结束");
} }
} }

23
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WebServiceTest.java

@ -1,23 +0,0 @@
package org.nl.acs.ext.wms.service.wsdl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.jws.WebService;
import java.util.List;
@Service("WebServiceTest")
@AutoPublish(publishAddress = "ACS")
@WebService(endpointInterface = "org.nl.acs.ext.wms.service.wsdl.IWebServiceTest",
serviceName = "WebServiceTest",
targetNamespace = "http://127.0.0.1:8010/WebServiceTest/"
)
public class WebServiceTest implements IWebServiceTest {
@Override
public String getDept(String jsonStr) {
return "111";
}
}

12
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WmsToAcsWebService.java

@ -0,0 +1,12 @@
package org.nl.acs.ext.wms.service.wsdl;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(targetNamespace = "http://service.mrxu.com/")
public interface WmsToAcsWebService {
String createTask(@WebParam(name = "jsonStr") String jsonStr);
String cancelTask(@WebParam(name = "jsonStr") String jsonStr);
}

62
acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/wsdl/WmsToAcsWebServiceImpl.java

@ -0,0 +1,62 @@
package org.nl.acs.ext.wms.service.wsdl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import org.nl.acs.ext.wms.data.CreateTaskResponse;
import org.nl.acs.ext.wms.service.WmsToAcsService;
import org.springframework.stereotype.Service;
@Service("WmsToAcsWebService")
@RequiredArgsConstructor
@AutoPublish(publishAddress = "ACS")
@javax.jws.WebService(endpointInterface = "org.nl.acs.ext.wms.service.wsdl.WmsToAcsWebService",
serviceName = "WmsToAcsWebService",
targetNamespace = "http://127.0.0.1:8010/WmsToAcsWebService/"
)
public class WmsToAcsWebServiceImpl implements WmsToAcsWebService {
private final WmsToAcsService wmsToAcsService;
@Override
public String createTask(String jsonStr) {
CreateTaskResponse methodResult = wmsToAcsService.crateTask(jsonStr);
JSONObject response = new JSONObject();
response.put("REQCODE", methodResult.getREQCODE());
response.put("REPLYTIME", methodResult.getREPLYTIME());
response.put("RTCODE", methodResult.getRTCODE());
response.put("AGVCODE", methodResult.getAGVCODE());
response.put("RTMSG", methodResult.getRTMSG());
return response.toJSONString();
}
@Override
public String cancelTask(String jsonStr) {
JSONObject result = new JSONObject();
JSONObject json = JSONObject.parseObject(jsonStr);
if (ObjectUtil.isEmpty(json)) {
result.put("REPLYTIME", DateUtil.now());
result.put("RTCODE", "1");
result.put("RTMSG", "请求参数空!");
return result.toJSONString();
}
try {
wmsToAcsService.cancelFromWms(jsonStr);
result.put("REQCODE", json.getString("REQCODE"));
result.put("REPLYTIME", DateUtil.now());
result.put("RTCODE", "0");
result.put("RTMSG", "success");
return result.toJSONString();
} catch (Exception e) {
result.put("REQCODE", json.getString("REQCODE"));
result.put("REPLYTIME", DateUtil.now());
result.put("RTCODE", "1");
result.put("RTMSG", e.getMessage());
return result.toJSONString();
}
}
}

4
acs/nladmin-system/src/main/java/org/nl/acs/task/service/TaskService.java

@ -185,7 +185,7 @@ public interface TaskService {
* *
* @param ids * @param ids
*/ */
void cancel(String ids) throws Exception; void cancel(String ids);
/** /**
* 手动创建指令 * 手动创建指令
@ -314,5 +314,5 @@ public interface TaskService {
*/ */
Integer querySameDeviceReadyTask(String start_device,String next_device,String status); Integer querySameDeviceReadyTask(String start_device,String next_device,String status);
void cancelFromCode(String ids);
} }

75
acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java

@ -35,6 +35,7 @@ import org.nl.acs.task.service.TaskFeedbackService;
import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto; import org.nl.acs.task.service.dto.TaskDto;
import org.nl.acs.task.service.dto.TaskFeedbackDto; import org.nl.acs.task.service.dto.TaskFeedbackDto;
import org.nl.acs.wsdl.org.tempuri.RTMSAGVSERVICE;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.FileUtil; import org.nl.modules.common.utils.FileUtil;
import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.common.utils.SecurityUtils;
@ -70,16 +71,26 @@ import java.util.stream.Collectors;
public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
List<TaskDto> tasks = new CopyOnWriteArrayList<>(); List<TaskDto> tasks = new CopyOnWriteArrayList<>();
@Autowired DeviceAppService deviceAppService; @Autowired
@Autowired RouteLineService routelineserver; DeviceAppService deviceAppService;
@Autowired AcsToWmsService acstowmsService; @Autowired
@Autowired TaskFeedbackService taskFeedbackService; RouteLineService routelineserver;
@Autowired ParamService paramService; @Autowired
@Autowired XianGongAgvService agvService; AcsToWmsService acstowmsService;
@Autowired RouteLineService routeLineService; @Autowired
@Autowired DeviceAssignedService deviceAssignedService; TaskFeedbackService taskFeedbackService;
@Autowired InstructionService instructionService; @Autowired
@Autowired StorageCellService storageCellService; ParamService paramService;
@Autowired
XianGongAgvService agvService;
@Autowired
RouteLineService routeLineService;
@Autowired
DeviceAssignedService deviceAssignedService;
@Autowired
InstructionService instructionService;
@Autowired
StorageCellService storageCellService;
@Override @Override
public void autoInitial() throws Exception { public void autoInitial() throws Exception {
@ -144,7 +155,6 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
public Map<String, Object> queryAllByCache(Map whereJson, Pageable page) { public Map<String, Object> queryAllByCache(Map whereJson, Pageable page) {
this.reload(); this.reload();
String task_code = (String) whereJson.get("task_code"); String task_code = (String) whereJson.get("task_code");
String vehicle_code = (String) whereJson.get("vehicle_code"); String vehicle_code = (String) whereJson.get("vehicle_code");
@ -155,7 +165,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
String task_type = (String) whereJson.get("task_type"); String task_type = (String) whereJson.get("task_type");
List<TaskDto> taskList = new ArrayList(); List<TaskDto> taskList = new ArrayList();
synchronized (TaskServiceImpl.class){ synchronized (TaskServiceImpl.class) {
Iterator<TaskDto> it = tasks.iterator(); Iterator<TaskDto> it = tasks.iterator();
while (it.hasNext()) { while (it.hasNext()) {
TaskDto task = it.next(); TaskDto task = it.next();
@ -472,12 +482,15 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
dto.setMaterial(startdevice.getMaterial_type()); dto.setMaterial(startdevice.getMaterial_type());
if (StrUtil.equals(createTaskCheck, "1")) { if (StrUtil.equals(createTaskCheck, "1")) {
// 判断起点为输送设备 // 判断起点为输送设备
if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {} if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {
}
if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {} if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {
}
} else { } else {
// 判断起点为输送设备 // 判断起点为输送设备
if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {} if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {
}
if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) { if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {
// if (nextdevice.getDeviceDriver() instanceof // if (nextdevice.getDeviceDriver() instanceof
@ -525,12 +538,12 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
JSONObject json = (JSONObject) JSONObject.toJSON(dto); JSONObject json = (JSONObject) JSONObject.toJSON(dto);
wo.insert(json); wo.insert(json);
synchronized(TaskServiceImpl.class){ synchronized (TaskServiceImpl.class) {
System.out.println("-------------------"+dto.getTask_code()); System.out.println("-------------------" + dto.getTask_code());
System.out.println("-------------1"+tasks.size()); System.out.println("-------------1" + tasks.size());
tasks.add(dto); tasks.add(dto);
System.out.println("-------------2"+tasks.size()); System.out.println("-------------2" + tasks.size());
} }
} }
@ -823,7 +836,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
request.put("TASKTYPE", entity.getTask_type()); request.put("TASKTYPE", entity.getTask_type());
request.put("METHOD", "5"); request.put("METHOD", "5");
request.put("REQTIME", DateUtil.now()); request.put("REQTIME", DateUtil.now());
acstowmsService.taskExecution(request); new RTMSAGVSERVICE().getBasicHttpBindingIRTMSAGVSERVICE().atrAgvCallback(request.toJSONString());
} catch (Exception e) { } catch (Exception e) {
flag = true; flag = true;
message = e.getMessage(); message = e.getMessage();
@ -911,7 +924,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void cancel(String id) throws Exception { public void cancel(String id) {
TaskDto entity = this.findById(id); TaskDto entity = this.findById(id);
if (entity == null) { if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!"); throw new BadRequestException("被删除或无权限,操作失败!");
@ -951,7 +964,8 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
feed_jo.put("task_status", entity.getTask_status()); feed_jo.put("task_status", entity.getTask_status());
JSONArray ja = new JSONArray(); JSONArray ja = new JSONArray();
ja.add(feed_jo); ja.add(feed_jo);
acstowmsService.feedbackTaskStatusToWms(ja); HttpResponse response = acstowmsService.feedbackTaskStatusToWms(ja);
response.close();
} }
List<RouteLineDto> shortPathsList = List<RouteLineDto> shortPathsList =
routeLineService.getShortPathLines( routeLineService.getShortPathLines(
@ -962,7 +976,8 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
// != 0 为agv任务 // != 0 为agv任务
if (!StrUtil.equals(type, "0")) { if (!StrUtil.equals(type, "0")) {
if (StrUtil.equals(paramService.findByCode(AcsConfig.AGVTYPE).getValue(), "3")) { if (StrUtil.equals(paramService.findByCode(AcsConfig.AGVTYPE).getValue(), "3")) {
agvService.markComplete(entity.getTask_code()); HttpResponse response = agvService.markComplete(entity.getTask_code());
response.close();
} }
} }
} }
@ -1263,7 +1278,8 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
} }
@Override @Override
public void createTaskByClick(JSONObject json) {} public void createTaskByClick(JSONObject json) {
}
@Override @Override
public int checkAllowCreate(String devicecode) { public int checkAllowCreate(String devicecode) {
@ -1613,5 +1629,16 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
} }
return num; return num;
}
@Override
public void cancelFromCode(String code) {
TaskDto entity = this.findByCode(code);
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
this.cancel(entity.getTask_id());
} }
} }

Loading…
Cancel
Save