|
@ -64,6 +64,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
private final TaskService taskService; |
|
|
private final TaskService taskService; |
|
|
private final DeviceAppService deviceAppService; |
|
|
private final DeviceAppService deviceAppService; |
|
|
private final AcsToWmsZDServiceImpl acsToWmsZDService; |
|
|
private final AcsToWmsZDServiceImpl acsToWmsZDService; |
|
|
|
|
|
private final InstructionService instructionService; |
|
|
@Autowired |
|
|
@Autowired |
|
|
LogServer logServer; |
|
|
LogServer logServer; |
|
|
|
|
|
|
|
@ -71,25 +72,26 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
@Override |
|
|
@Override |
|
|
public Map<String, Object> waitpointRequest(JSONObject param) { |
|
|
public Map<String, Object> waitpointRequest(JSONObject param) { |
|
|
// TODO 待定
|
|
|
// TODO 待定
|
|
|
String task_code = param.getString("task_code"); |
|
|
String inst_code = param.getString("task_code"); |
|
|
String car_id = param.getString("device_code"); |
|
|
String car_id = param.getString("device_code"); |
|
|
String address = param.getString("address"); |
|
|
String address = param.getString("address"); |
|
|
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; |
|
|
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; |
|
|
StandardConveyorLineDeviceDriver standardConveyorLineDeviceDriver; |
|
|
StandardConveyorLineDeviceDriver standardConveyorLineDeviceDriver; |
|
|
TaskDto taskDto = taskService.findByCode(task_code); |
|
|
Instruction instructionDto = instructionService.findByCode(inst_code); |
|
|
|
|
|
String task_code = instructionDto.getTask_code(); |
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
Map<String, Object> feedMap = new HashMap(); |
|
|
Map<String, Object> feedMap = new HashMap(); |
|
|
feedMap.put("taskCode", task_code); |
|
|
feedMap.put("taskCode", task_code); |
|
|
feedMap.put("carId", car_id); |
|
|
feedMap.put("carId", car_id); |
|
|
feedMap.put("taskType", taskDto.getTask_type()); |
|
|
feedMap.put("taskType", instructionDto.getInstruction_type()); |
|
|
if (ObjectUtil.isEmpty(taskDto)) { |
|
|
if (ObjectUtil.isEmpty(instructionDto)) { |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
return map; |
|
|
return map; |
|
|
} |
|
|
} |
|
|
String type = ""; |
|
|
String type = ""; |
|
|
String start_device_code = taskDto.getStart_device_code(); |
|
|
String start_device_code = instructionDto.getStart_device_code(); |
|
|
String next_device_code = taskDto.getNext_device_code(); |
|
|
String next_device_code = instructionDto.getNext_device_code(); |
|
|
if (address.contains("IN")) { |
|
|
if (address.contains("IN")) { |
|
|
String deviceCodeNow = address.substring(0, address.length() - 2); |
|
|
String deviceCodeNow = address.substring(0, address.length() - 2); |
|
|
Device deviceNow = deviceAppService.findDeviceByCode(deviceCodeNow); |
|
|
Device deviceNow = deviceAppService.findDeviceByCode(deviceCodeNow); |
|
@ -99,14 +101,16 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
if (standardConveyorLineDeviceDriver.getMove() == 1) { |
|
|
if (standardConveyorLineDeviceDriver.getMove() == 1) { |
|
|
feedMap.put("feedbackStatus", "applyTake"); |
|
|
feedMap.put("feedbackStatus", "applyTake"); |
|
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap); |
|
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap); |
|
|
int responseCode = (int) feedback.get("responseCode"); |
|
|
int responseCode = Integer.parseInt((String) feedback.get("responseCode")); |
|
|
String responseMessage = (String) feedback.get("responseMessage"); |
|
|
String responseMessage = (String) feedback.get("responseMessage"); |
|
|
if (responseCode == 0) { |
|
|
if (responseCode == 0) { |
|
|
|
|
|
feedback.put("feedbackStatus","“taking"); |
|
|
|
|
|
acsToWmsZDService.taskFeedback(feedMap); |
|
|
map.put("status", 200); |
|
|
map.put("status", 200); |
|
|
map.put("message", "操作成功"); |
|
|
map.put("message", "操作成功"); |
|
|
type = "info"; |
|
|
type = "info"; |
|
|
} else { |
|
|
} else { |
|
|
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
type = "erro"; |
|
|
type = "erro"; |
|
@ -124,14 +128,16 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
} else { |
|
|
} else { |
|
|
feedMap.put("feedbackStatus", "applyPut"); |
|
|
feedMap.put("feedbackStatus", "applyPut"); |
|
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap); |
|
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap); |
|
|
int responseCode = (int) feedback.get("responseCode"); |
|
|
int responseCode = Integer.parseInt((String) feedback.get("responseCode")) ; |
|
|
String responseMessage = (String) feedback.get("responseMessage"); |
|
|
String responseMessage = (String) feedback.get("responseMessage"); |
|
|
if (responseCode == 0) { |
|
|
if (responseCode == 0) { |
|
|
|
|
|
feedback.put("feedbackStatus","puting"); |
|
|
|
|
|
acsToWmsZDService.taskFeedback(feedMap); |
|
|
map.put("status", 200); |
|
|
map.put("status", 200); |
|
|
map.put("message", "操作成功"); |
|
|
map.put("message", "操作成功"); |
|
|
type = "info"; |
|
|
type = "info"; |
|
|
} else { |
|
|
} else { |
|
|
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
type = "erro"; |
|
|
type = "erro"; |
|
@ -140,6 +146,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
return map; |
|
|
} |
|
|
} |
|
|
if (address.contains("OUT")) { |
|
|
if (address.contains("OUT")) { |
|
|
String deviceCodeNow = address.substring(0, address.length() - 3); |
|
|
String deviceCodeNow = address.substring(0, address.length() - 3); |
|
@ -158,7 +165,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
map.put("message", "操作成功"); |
|
|
map.put("message", "操作成功"); |
|
|
type = "info"; |
|
|
type = "info"; |
|
|
} else { |
|
|
} else { |
|
|
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id); |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
type = "erro"; |
|
|
type = "erro"; |
|
@ -166,13 +173,14 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
} else { |
|
|
} else { |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
|
|
|
type = "erro"; |
|
|
} |
|
|
} |
|
|
} else if (next_device_code.equals(deviceCodeNow)) { |
|
|
} else if (next_device_code.equals(deviceCodeNow)) { |
|
|
if (standardConveyorLineDeviceDriver.getMove() == 0) { |
|
|
if (standardConveyorLineDeviceDriver.getMove() == 0) { |
|
|
map.put("status", 400); |
|
|
map.put("status", 400); |
|
|
map.put("message", "操作失败"); |
|
|
map.put("message", "操作失败"); |
|
|
type = "info"; |
|
|
type = "info"; |
|
|
logServer.log(task_code, "waitpointRequest", type, param.toString(), "取货完成时,光电信号为0", "400", "waitpointRequest", car_id); |
|
|
logServer.log(inst_code, "waitpointRequest", type, param.toString(), "取货完成时,光电信号为0", "400", "waitpointRequest", car_id); |
|
|
} else { |
|
|
} else { |
|
|
//standardConveyorLineDeviceDriver.writing(1,2);
|
|
|
//standardConveyorLineDeviceDriver.writing(1,2);
|
|
|
feedMap.put("feedbackStatus", "putFinish"); |
|
|
feedMap.put("feedbackStatus", "putFinish"); |
|
@ -191,7 +199,10 @@ public class AgvToAcsServiceImpl implements AgvToAcsService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
return map; |
|
|
} |
|
|
} |
|
|
|
|
|
map.put("status",400); |
|
|
|
|
|
map.put("message","操作失败,IN OUT 站点错误!"); |
|
|
return map; |
|
|
return map; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|