更新
This commit is contained in:
@@ -22,6 +22,7 @@ import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.start.auto.run.NDCSocketConnectionAutoRun;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -181,7 +182,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
||||
};
|
||||
log.info("下发AGV作业指令--{}", str1);
|
||||
|
||||
// NDCSocketConnectionAutoRun.write(b);
|
||||
NDCSocketConnectionAutoRun.write(b);
|
||||
System.out.println("下发agv指令数据:" + Bytes2HexString(b));
|
||||
}
|
||||
} finally {
|
||||
@@ -240,14 +241,8 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
||||
byte indexlow = (byte) IntToHexLow(index);
|
||||
byte phasehigh = (byte) IntToHexHigh(phase);
|
||||
byte phaselow = (byte) IntToHexLow(phase);
|
||||
byte resulthigh = (byte) IntToHexHigh(result);
|
||||
byte resultlow = (byte) IntToHexLow(result);
|
||||
|
||||
int type = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.BUSINESSTYPE));
|
||||
byte[] b = new byte[]{};
|
||||
switch (type) {
|
||||
case 0:
|
||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) 0X00, (byte) 0X0A,
|
||||
(byte) 0X00, (byte) 0X01,
|
||||
@@ -257,57 +252,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
||||
(byte) 0X01, (byte) 0X12,
|
||||
(byte) phasehigh, (byte) phaselow
|
||||
};
|
||||
break;
|
||||
case 1:
|
||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) 0X00, (byte) 0X0D,
|
||||
(byte) 0X00, (byte) 0X01,
|
||||
(byte) 0X00, (byte) 0X6D,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) indexhigh, (byte) indexlow,
|
||||
(byte) 0X01, (byte) 0X12,
|
||||
(byte) phasehigh, (byte) phaselow,
|
||||
(byte) resulthigh, (byte) resultlow
|
||||
};
|
||||
break;
|
||||
case 2:
|
||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) 0X00, (byte) 0X0A,
|
||||
(byte) 0X00, (byte) 0X01,
|
||||
(byte) 0X00, (byte) 0X6D,
|
||||
(byte) 0X00, (byte) 0X06,
|
||||
(byte) indexhigh, (byte) indexlow,
|
||||
(byte) 0X01, (byte) 0X12,
|
||||
(byte) phasehigh, (byte) phaselow
|
||||
};
|
||||
break;
|
||||
case 5:
|
||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) 0X00, (byte) 0X0A,
|
||||
(byte) 0X00, (byte) 0X01,
|
||||
(byte) 0X00, (byte) 0X6D,
|
||||
(byte) 0X00, (byte) 0X06,
|
||||
(byte) indexhigh, (byte) indexlow,
|
||||
(byte) 0X01, (byte) 0X12,
|
||||
(byte) phasehigh, (byte) phaselow
|
||||
};
|
||||
break;
|
||||
case 7:
|
||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||
(byte) 0X00, (byte) 0X08,
|
||||
(byte) 0X00, (byte) 0X0A,
|
||||
(byte) 0X00, (byte) 0X01,
|
||||
(byte) 0X00, (byte) 0X6D,
|
||||
(byte) 0X00, (byte) 0X06,
|
||||
(byte) indexhigh, (byte) indexlow,
|
||||
(byte) 0X01, (byte) 0X12,
|
||||
(byte) phasehigh, (byte) phaselow
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
log.info("反馈agv动作数据--index:" + hexToString(indexhigh & 0xFF) + hexToString(indexlow & 0xFF) + ",phase:" + hexToString(phasehigh & 0xFF) + hexToString(phaselow & 0xFF));
|
||||
|
||||
System.out.println("反馈agv动作数据:" + Bytes2HexString(b));
|
||||
|
||||
@@ -67,7 +67,7 @@ public class AcsConfigServiceImpl implements AcsConfigService, ApplicationAutoIn
|
||||
public List<AcsConfigDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("sys_param");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<AcsConfigDto> list =arr.toJavaList(AcsConfigDto.class);
|
||||
List<AcsConfigDto> list = arr.toJavaList(AcsConfigDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -83,8 +83,11 @@ public class AcsConfigServiceImpl implements AcsConfigService, ApplicationAutoIn
|
||||
public AcsConfigDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("sys_param");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final AcsConfigDto obj = json.toJavaObject(AcsConfigDto.class);
|
||||
return obj;
|
||||
if (ObjectUtil.isNotEmpty(json)) {
|
||||
final AcsConfigDto obj = json.toJavaObject(AcsConfigDto.class);
|
||||
return obj;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.nl.acs.device_driver.standard_scanner.StandardScannerDeviceDriver;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.start.auto.initial.ApplicationAutoInitial;
|
||||
@@ -238,7 +239,12 @@ public class DeviceServiceImpl implements DeviceService, ApplicationAutoInitial
|
||||
|
||||
log.info("设备删除成功!");
|
||||
if (deviceByCode != null) {
|
||||
if (StrUtil.equals("storage", deviceByCode.getDeviceDriverDefination().getFitDeviceTypes().get(0).name())) {
|
||||
DeviceDriverDefination deviceDriverDefination = deviceByCode.getDeviceDriverDefination();
|
||||
String name = "";
|
||||
if (ObjectUtil.isNotEmpty(deviceDriverDefination)){
|
||||
name = deviceByCode.getDeviceDriverDefination().getFitDeviceTypes().get(0).name();
|
||||
}
|
||||
if (StrUtil.equals("storage", name)) {
|
||||
storageTab.delete("substring_index( storage_code,'-',1)= '" + device_code + "'");
|
||||
|
||||
} else {
|
||||
|
||||
@@ -129,4 +129,11 @@ public class AcsToWmsController {
|
||||
public ResponseEntity<Object> feedbackDeviceStatus(@RequestBody String device_code, String code, String value) {
|
||||
return new ResponseEntity<>(acstowmsService.feedbackDeviceStatus(device_code, code, value), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/feedbackAgvTakePutStatus")
|
||||
@Log("反馈agv取放货状态")
|
||||
@ApiOperation("反馈agv取放货状态")
|
||||
public ResponseEntity<Object> feedbackAgvTakePutStatus(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(acstowmsService.feedbackAgvTakePutStatus(param), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,6 +132,14 @@ public interface AcsToWmsService {
|
||||
*/
|
||||
HttpResponse feedbackDeviceStatus(String device_code, String code, String value);
|
||||
|
||||
/**
|
||||
* 反馈AGV取放货状态
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
HttpResponse feedbackAgvTakePutStatus(JSONObject param);
|
||||
|
||||
/**
|
||||
* 反馈AGV设备信息
|
||||
*
|
||||
|
||||
@@ -50,8 +50,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
@Value("${acsTowms.token}")
|
||||
public String token;
|
||||
|
||||
private String log_file_type="log_file_type";
|
||||
private String log_type="ACS请求WMS";
|
||||
private String log_file_type = "log_file_type";
|
||||
private String log_type = "ACS请求WMS";
|
||||
|
||||
@Override
|
||||
public String applyTaskToWms(String device_code, String container_code, int height, int weight) {
|
||||
@@ -96,7 +96,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
// logServer.log("", "applyTaskToWms", type, jo.toString(), result2.body(), String.valueOf(result2.getStatus()), url, container_code);
|
||||
log.info("applyTaskToWms-----输出参数{}", result2.body());
|
||||
return result2.body();
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("applyTaskManipulatorToWms-----输出参数{}", result2.body());
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("applyOuttoKiln-----输出参数{}", result2.body());
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -218,14 +218,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("lnshApplyTaskToWms-----输出参数{}", result2.body());
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public HttpResponse applyBarcode(JSONObject json) {
|
||||
try {
|
||||
@@ -261,7 +260,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("lnshApplyTaskToWms-----输出参数{}", result2.body());
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -302,7 +301,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("lnshApplyTaskToWms-----输出参数{}", result2.body());
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -332,7 +331,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
JSONObject jo = JSONObject.parseObject(result.body());
|
||||
return jo;
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -361,7 +360,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
log.info("getVehicleTokiln----返回参数{}", result.body());
|
||||
JSONObject jo = JSONObject.parseObject(result.body());
|
||||
return jo;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -390,7 +389,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
log.info("getVehicleTokiln----返回参数{}", result.body());
|
||||
return result;
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -419,7 +418,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
log.info("outKiln----返回参数{}", result.body());
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -448,7 +447,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
log.info("enterOrder----返回参数{}", result.body());
|
||||
return result;
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -459,7 +458,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
@@ -468,7 +467,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String url = wmsurl + methods_url;
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("device_code",device_code);
|
||||
json.put("device_code", device_code);
|
||||
|
||||
log.info("getVehicleCode----请求参数{}", json.toString());
|
||||
HttpResponse result = null;
|
||||
@@ -490,7 +489,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
@@ -499,7 +498,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String url = wmsurl + methods_url;
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("vehicle_code",vehicle_code);
|
||||
json.put("vehicle_code", vehicle_code);
|
||||
|
||||
log.info("getVehiclePoint----请求参数{}", json.toString());
|
||||
HttpResponse result = null;
|
||||
@@ -519,49 +518,39 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
@Override
|
||||
public HttpResponse feedbackTaskStatusToWms(JSONArray data) {
|
||||
log.info("feedbackTaskStatusToWms-----请求参数{}", data.toString());
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
HttpResponse result2 = null;
|
||||
AddressDto addressDto = addressService.findByCode("feedbackTaskStatusToWms");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
try {
|
||||
result2 = HttpRequest.post(wmsurl + methods_url)
|
||||
.header("Authorization", token).body(String.valueOf(data))
|
||||
.execute();
|
||||
System.out.println(result2);
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
//网络不通
|
||||
System.out.println(msg);
|
||||
}
|
||||
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
|
||||
String task_code = "";
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
JSONObject json = (JSONObject) data.get(i);
|
||||
task_code = json.getString("task_code");
|
||||
}
|
||||
TaskDto taskDto = taskService.findByCode(task_code);
|
||||
String vehicle_code = taskDto.getVehicle_code();
|
||||
|
||||
HttpResponse result2 = null;
|
||||
log.info("feedbackTaskStatusToWms-----请求参数{}", data.toString());
|
||||
|
||||
AddressDto addressDto = addressService.findByCode("feedbackTaskStatusToWms");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
try {
|
||||
result2 = HttpRequest.post(wmsurl + methods_url)
|
||||
.header("Authorization", token).body(String.valueOf(data))
|
||||
.execute();
|
||||
System.out.println(result2);
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
//网络不通
|
||||
System.out.println(msg);
|
||||
}
|
||||
|
||||
String type = "";
|
||||
if (result2.getStatus() == 200) {
|
||||
type = "info";
|
||||
} else {
|
||||
type = "error";
|
||||
}
|
||||
String type = "";
|
||||
if (result2.getStatus() == 200) {
|
||||
type = "info";
|
||||
} else {
|
||||
type = "error";
|
||||
}
|
||||
|
||||
// logServer.log(task_code, "feedbackTaskStatusToWms", type, data.toString(), result2.body(), String.valueOf(result2.getStatus()), wmsurl + methods_url, vehicle_code);
|
||||
JSONObject jo = JSONObject.parseObject(result2.body());
|
||||
log.info("feedbackTaskStatusToWms-----输出参数{}", jo.toString());
|
||||
return result2;
|
||||
JSONObject jo = JSONObject.parseObject(result2.body());
|
||||
log.info("feedbackTaskStatusToWms-----输出参数{}", jo.toString());
|
||||
return result2;
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -597,7 +586,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
resultJson.put("data", new JSONArray());
|
||||
log.info("feedbackPointStatusToWms----输出参数{}", resultJson.toString());
|
||||
return resultJson;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -605,26 +594,26 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
@Override
|
||||
public JSONArray getDeviceStatusToWms() {
|
||||
try {
|
||||
MDC.put(log_file_type,log_type);
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
AddressDto addressDto = addressService.findByCode("getDeviceStatusToWms");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsurl + methods_url;
|
||||
String result = "";
|
||||
try {
|
||||
result = HttpRequest.get(url)
|
||||
.execute().body();
|
||||
System.out.println(result);
|
||||
log.info("getTaskStatusToWms----返回参数{}", result);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
JSONArray jsonArray = JSONArray.parseArray(result);
|
||||
return jsonArray;
|
||||
}finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
AddressDto addressDto = addressService.findByCode("getDeviceStatusToWms");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsurl + methods_url;
|
||||
String result = "";
|
||||
try {
|
||||
result = HttpRequest.get(url)
|
||||
.execute().body();
|
||||
System.out.println(result);
|
||||
log.info("getTaskStatusToWms----返回参数{}", result);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
JSONArray jsonArray = JSONArray.parseArray(result);
|
||||
return jsonArray;
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -656,7 +645,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -692,7 +681,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -733,7 +722,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -765,7 +754,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result2;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -800,7 +789,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -839,7 +828,38 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResponse feedbackAgvTakePutStatus(JSONObject param) {
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
String wmsUrl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(param);
|
||||
AddressDto addressDto = addressService.findByCode("feedbackAgvTakePutStatus");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsUrl + methods_url;
|
||||
HttpResponse result = null;
|
||||
log.info("feedbackDeviceStatus----请求参数{}", param);
|
||||
|
||||
try {
|
||||
result = HttpRequest.post(url)
|
||||
.body(String.valueOf(ja))
|
||||
.execute();
|
||||
System.out.println(result);
|
||||
log.info("feedbackDeviceStatus----返回参数{}", result);
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
//网络不通
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -868,7 +888,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -899,7 +919,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
System.out.println(msg);
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
@@ -927,7 +947,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.acs.ext.wms.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@@ -64,6 +65,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
String task_code = task.getString("task_code");
|
||||
String start_point_code = task.getString("start_device_code");
|
||||
String next_point_code = task.getString("next_device_code");
|
||||
String priority = task.getString("priority");
|
||||
String start_device_code = "";
|
||||
String next_device_code = "";
|
||||
String start_parent_code = "";
|
||||
@@ -77,6 +79,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
if (StrUtil.isEmpty(next_point_code)) {
|
||||
throw new WDKException("终点不能为空");
|
||||
}
|
||||
if (StrUtil.isEmpty(priority)){
|
||||
throw new WDKException("优先级不能为空");
|
||||
}
|
||||
|
||||
JSONObject start_device_json = WQLObject.getWQLObject("acs_storage_cell").query("parent_storage_code ='" + start_point_code + "'").uniqueResult(0);
|
||||
if (!ObjectUtil.isEmpty(start_device_json)) {
|
||||
@@ -88,7 +93,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
next_point_code = (String) next_device_json.get("parent_storage_code") == null ? next_point_code : (String) next_device_json.get("storage_code");
|
||||
next_parent_code = next_device_json.get("parent_storage_code") == null ? next_point_code : (String) next_device_json.get("parent_storage_code");
|
||||
}
|
||||
String priority = task.getString("priority");
|
||||
|
||||
String vehicle_code = task.getString("vehicle_code");
|
||||
String vehicle_type = task.getString("vehicle_type");
|
||||
String route_plan_code = task.getString("route_plan_code");
|
||||
@@ -129,6 +134,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
}
|
||||
}
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("task_id", IdUtil.simpleUUID());
|
||||
jo.put("task_code", task_code);
|
||||
jo.put("ext_task_uuid", ext_task_uuid);
|
||||
jo.put("start_point_code", start_point_code);
|
||||
@@ -207,17 +213,18 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
log.info("cancelFromWms--------------:输入参数" + tasks.toString());
|
||||
for (int i = 0; i < tasks.size(); i++) {
|
||||
JSONObject task = tasks.getJSONObject(i);
|
||||
String task_uuid = task.getString("task_id");
|
||||
//String task_uuid = task.getString("task_id");
|
||||
String task_code = task.getString("task_code");
|
||||
String vehicle_code = task.getString("vehicle_code");
|
||||
String params = task.getString("params");
|
||||
|
||||
if (StrUtil.isEmpty(task_uuid)) {
|
||||
throw new WDKException("任务标识不能为空");
|
||||
}
|
||||
if (StrUtil.isEmpty(task_code)) {
|
||||
throw new WDKException("任务号不能为空");
|
||||
}
|
||||
TaskDto taskDto = TaskService.findByCode(task_code);
|
||||
String task_uuid = taskDto.getTask_id();
|
||||
if (StrUtil.isEmpty(task_uuid)) {
|
||||
throw new WDKException("任务标识不能为空");
|
||||
}
|
||||
String cancelTaskCheck = acsConfigService.findConfigFromCache().get(AcsConfig.CANCELTASKCHECK);
|
||||
if (StrUtil.equals(cancelTaskCheck, "1")) {
|
||||
TaskService.cancel(task_uuid);
|
||||
|
||||
@@ -508,7 +508,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finish(String id) throws Exception {
|
||||
Instruction entity = this.findById(id);
|
||||
//if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
entity.setUpdate_time(now);
|
||||
|
||||
@@ -605,10 +605,10 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
||||
TaskFeedbackDto feefbackdto = taskFeedbackService.findByCode(entity.getTask_code());
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
Instruction inst = instructionservice.findByTaskcodeToWms(entity.getTask_code());
|
||||
feed_jo.put("ext_task_uuid", entity.getExt_task_uuid());
|
||||
//feed_jo.put("ext_task_uuid", entity.getExt_task_uuid());
|
||||
feed_jo.put("task_code", entity.getTask_code());
|
||||
feed_jo.put("task_status", entity.getTask_status());
|
||||
feed_jo.put("car_no", inst.getCarno());
|
||||
//feed_jo.put("car_no", inst.getCarno());
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
String message = null;
|
||||
@@ -729,13 +729,19 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
||||
//判断是否为WMS下发的任务,如果是反馈任务状态给WMS
|
||||
String hasWms = acsConfigService.findConfigFromCache().get(AcsConfig.HASWMS);
|
||||
if (!StrUtil.startWith(entity.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) {
|
||||
//反馈wms任务状态---取消
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("ext_task_uuid", entity.getExt_task_uuid());
|
||||
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);
|
||||
try {
|
||||
acstowmsService.feedbackTaskStatusToWms(ja);
|
||||
log.info("agv取消任务反馈成功,任务号{}",entity.getTask_code());
|
||||
} catch (Exception e){
|
||||
log.info("agv取消任务反馈失败,任务号{}",entity.getTask_code());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
List<RouteLineDto> shortPathsList = routeLineService.getShortPathLines(entity.getStart_device_code(), entity.getNext_device_code(), entity.getRoute_plan_code());
|
||||
String type = shortPathsList.get(0).getType();
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.nl.start.auto.run;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.nl.acs.agv.server.NDCAgvService;
|
||||
import org.nl.acs.agv.server.dto.AgvDto;
|
||||
import org.nl.acs.config.AcsConfig;
|
||||
@@ -17,6 +17,7 @@ import org.nl.acs.device_driver.standard_autodoor.StandardAutodoorDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_conveyor_control.StandardCoveyorControlDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_emptypallet_site.StandardEmptyPalletSiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_inspect_site.StandardInspectSiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_storage.StandardStorageDeviceDriver;
|
||||
import org.nl.acs.device_driver.traffic_light.TrafficLightDeviceDriver;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
@@ -26,10 +27,6 @@ import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.instruction.service.impl.InstructionServiceImpl;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.acs.task.service.impl.TaskServiceImpl;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -93,6 +90,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
port = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT));
|
||||
byte[] b = new byte[1028];
|
||||
s = new Socket(ip, port);
|
||||
System.out.println("Agv链接成功");
|
||||
dos = new DataOutputStream(s.getOutputStream());
|
||||
dis = new DataInputStream(s.getInputStream());
|
||||
|
||||
@@ -159,18 +157,28 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
StandardStorageDeviceDriver standardStorageDeviceDriver;
|
||||
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver;
|
||||
StandardEmptyPalletSiteDeviceDriver standardEmptyPalletSiteDeviceDriver;
|
||||
StandardOrdinarySiteDeviceDriver standardOrdinarySiteDeviceDriver;
|
||||
OumulongPlcDeviceDriver oumulongPlcDeviceDriver;
|
||||
TrafficLightDeviceDriver trafficLightDeviceDriver;
|
||||
int type = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.BUSINESSTYPE));
|
||||
|
||||
if (phase == 0x01) {
|
||||
data = AgvService.sendAgvOneModeInst(phase, index);
|
||||
//data = AgvService.sendAgvOneModeInst(phase, index);
|
||||
if (!ObjectUtil.isEmpty(inst)) {
|
||||
inst.setInstruction_status("1");
|
||||
inst.setAgv_jobno(String.valueOf(index));
|
||||
inst.setSend_status("1");
|
||||
instructionService.update(inst);
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
// 反馈wms任务状态---执行中
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("task_code", inst.getTask_code());
|
||||
feed_jo.put("task_status", "1");
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
|
||||
acsToWmsService.feedbackTaskStatusToWms(ja);
|
||||
log.info("agv任务状态-执行中反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
|
||||
}
|
||||
flag = true;
|
||||
}
|
||||
@@ -187,6 +195,29 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
log.info("未找到指令号{}对应的指令", ikey);
|
||||
break;
|
||||
}
|
||||
|
||||
//普通站点
|
||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("task_code", inst.getTask_code());
|
||||
map.put("status", "1");
|
||||
map.put("device_code", device_code);
|
||||
map.put("vehicle_code", inst.getVehicle_code());
|
||||
HttpResponse httpResponse = acsToWmsService.feedbackAgvTakePutStatus(map);
|
||||
String body = httpResponse.body();
|
||||
JSONObject resJson = JSONObject.parseObject(body);
|
||||
String message = resJson.getString("message");
|
||||
int status = Integer.parseInt(resJson.getString("status"));
|
||||
if (status == 200) {
|
||||
inst.setExecute_status("1");
|
||||
instructionService.update(inst);
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
log.info("agv请求取货反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
} else {
|
||||
log.info("agv请求取货,wms系统不允许取货,设备号{},任务号{},原因{}", device_code, inst.getTask_code(), message);
|
||||
}
|
||||
}
|
||||
//检测站点
|
||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||
@@ -238,6 +269,29 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
break;
|
||||
}
|
||||
|
||||
//普通站点
|
||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("task_code", inst.getTask_code());
|
||||
map.put("status", "2");
|
||||
map.put("device_code", device_code);
|
||||
map.put("vehicle_code", inst.getVehicle_code());
|
||||
HttpResponse httpResponse = acsToWmsService.feedbackAgvTakePutStatus(map);
|
||||
String body = httpResponse.body();
|
||||
JSONObject resJson = JSONObject.parseObject(body);
|
||||
String message = resJson.getString("message");
|
||||
int status = Integer.parseInt(resJson.getString("status"));
|
||||
if (status == 200) {
|
||||
inst.setExecute_status("5");
|
||||
instructionService.update(inst);
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
log.info("agv取货完成反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
} else {
|
||||
log.info("agv请求取货完成请求离开,wms系统不允许离开,设备号{},任务号{},原因{}", device_code, inst.getTask_code(), message);
|
||||
}
|
||||
}
|
||||
|
||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||
if (standardInspectSiteDeviceDriver.getMove() == 0) {
|
||||
@@ -288,6 +342,30 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
log.info("未找到指令号{}对应的指令", ikey);
|
||||
break;
|
||||
}
|
||||
|
||||
//普通站点
|
||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("task_code", inst.getTask_code());
|
||||
map.put("status", "3");
|
||||
map.put("device_code", device_code);
|
||||
map.put("vehicle_code", inst.getVehicle_code());
|
||||
HttpResponse httpResponse = acsToWmsService.feedbackAgvTakePutStatus(map);
|
||||
String body = httpResponse.body();
|
||||
JSONObject resJson = JSONObject.parseObject(body);
|
||||
String message = resJson.getString("message");
|
||||
int status = Integer.parseInt(resJson.getString("status"));
|
||||
if (status == 200) {
|
||||
inst.setExecute_status("3");
|
||||
instructionService.update(inst);
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
log.info("agv请求放货反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
} else {
|
||||
log.info("agv请求放货,wms系统不允许放货,设备号{},任务号{},原因{}", device_code, inst.getTask_code(), message);
|
||||
}
|
||||
}
|
||||
|
||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||
if (standardInspectSiteDeviceDriver.getMove() == 0) {
|
||||
@@ -325,6 +403,29 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
break;
|
||||
}
|
||||
|
||||
//普通站点
|
||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("task_code", inst.getTask_code());
|
||||
map.put("status", "4");
|
||||
map.put("device_code", device_code);
|
||||
map.put("vehicle_code", inst.getVehicle_code());
|
||||
HttpResponse httpResponse = acsToWmsService.feedbackAgvTakePutStatus(map);
|
||||
String body = httpResponse.body();
|
||||
JSONObject resJson = JSONObject.parseObject(body);
|
||||
String message = resJson.getString("message");
|
||||
int status = Integer.parseInt(resJson.getString("status"));
|
||||
if (status == 200) {
|
||||
inst.setExecute_status("6");
|
||||
instructionService.update(inst);
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
log.info("agv放货完成反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
} else {
|
||||
log.info("agv放货完成请求离开,wms系统不允许离开,设备号{},任务号{},原因{}", device_code, inst.getTask_code(), message);
|
||||
}
|
||||
}
|
||||
|
||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||
if (standardInspectSiteDeviceDriver.getMove() != 0) {
|
||||
@@ -363,6 +464,15 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
if (!ObjectUtil.isEmpty(inst)) {
|
||||
inst.setInstruction_status("2");
|
||||
instructionService.finish(inst);
|
||||
|
||||
//反馈wms任务状态---完成
|
||||
JSONObject feed_jo = new JSONObject();
|
||||
feed_jo.put("task_code", inst.getTask_code());
|
||||
feed_jo.put("task_status", "2");
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.add(feed_jo);
|
||||
acsToWmsService.feedbackTaskStatusToWms(ja);
|
||||
log.info("agv任务完成反馈成功,设备号{},任务号{}", device_code, inst.getTask_code());
|
||||
}
|
||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
}
|
||||
@@ -503,6 +613,9 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
dto.setName(String.valueOf(carno));
|
||||
dto.setEnergyLevel(String.valueOf(ikey));
|
||||
}
|
||||
if (!ObjectUtil.isEmpty(data)) {
|
||||
write(data);
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("agv上报不是0073类型动作,不处理");
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.nl.start.auto.run;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.config.AcsConfig;
|
||||
import org.nl.acs.config.server.AcsConfigService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* ndc掉线自动重连
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class NdcAutoReconnection {
|
||||
|
||||
@Autowired
|
||||
AcsConfigService acsConfigService;
|
||||
|
||||
@Autowired
|
||||
AutoRunService autoRunService;
|
||||
|
||||
public void run(String threadCode) throws Exception {
|
||||
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.NDC_RECONNECTION).toString(), "1")) {
|
||||
|
||||
if (!autoRunService.getThreadByCode(threadCode).isAlive()) {
|
||||
autoRunService.startThread(threadCode);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,11 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:szhr}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:rljn_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
# password: ${DB_PWD:P@ssw0rd}
|
||||
password: ${DB_PWD:Root.123456}
|
||||
password: ${DB_PWD:password}
|
||||
# password: ${DB_PWD:123456}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
|
||||
Reference in New Issue
Block a user