rev:自动门
This commit is contained in:
@@ -3,9 +3,9 @@ package org.nl.acs.agv.hk;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.acs.AcsConfig;
|
import org.nl.acs.AcsConfig;
|
||||||
import org.nl.acs.common.base.CommonFinalParam;
|
import org.nl.acs.common.base.CommonFinalParam;
|
||||||
import org.nl.acs.agv.hk.log.ToOthersInterfaceLog;
|
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
|
|||||||
* @Date 2024/4/22
|
* @Date 2024/4/22
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
|
@Slf4j
|
||||||
public class HkHttpUtil {
|
public class HkHttpUtil {
|
||||||
|
|
||||||
private static final RequestAdapter REQUEST_ADAPTER = new HkRequestAdapter();
|
private static final RequestAdapter REQUEST_ADAPTER = new HkRequestAdapter();
|
||||||
@@ -24,11 +25,11 @@ public class HkHttpUtil {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISysParamService paramService;
|
private ISysParamService paramService;
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam, Class<T> type) {
|
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
}
|
}
|
||||||
|
log.info("sendPostRequest-----请求参数{}", requestParam.toString());
|
||||||
try {
|
try {
|
||||||
String body = HttpRequest
|
String body = HttpRequest
|
||||||
.post(REQUEST_ADAPTER.getUrl() + path)
|
.post(REQUEST_ADAPTER.getUrl() + path)
|
||||||
@@ -36,17 +37,18 @@ public class HkHttpUtil {
|
|||||||
.body(JSON.toJSONString(requestParam))
|
.body(JSON.toJSONString(requestParam))
|
||||||
.execute()
|
.execute()
|
||||||
.body();
|
.body();
|
||||||
|
log.info("sendPostRequest-----返回参数{}", body);
|
||||||
return RESPONSE_ADAPTER.adapt(body, type);
|
return RESPONSE_ADAPTER.adapt(body, type);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new UnifiedResponse<>(false, e.getMessage());
|
return new UnifiedResponse<>(false, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam) {
|
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
}
|
}
|
||||||
|
log.info("sendPostRequest-----请求参数{}", requestParam.toString());
|
||||||
try {
|
try {
|
||||||
String body = HttpRequest
|
String body = HttpRequest
|
||||||
.post(REQUEST_ADAPTER.getUrl() + path)
|
.post(REQUEST_ADAPTER.getUrl() + path)
|
||||||
@@ -54,13 +56,13 @@ public class HkHttpUtil {
|
|||||||
.body(JSON.toJSONString(requestParam))
|
.body(JSON.toJSONString(requestParam))
|
||||||
.execute()
|
.execute()
|
||||||
.body();
|
.body();
|
||||||
|
log.info("sendPostRequest-----返回参数{}", body);
|
||||||
return RESPONSE_ADAPTER.adapt(body, null);
|
return RESPONSE_ADAPTER.adapt(body, null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new UnifiedResponse<>(false, e.getMessage());
|
return new UnifiedResponse<>(false, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T> UnifiedResponse<T> sendPostRequest(String path, Class<T> type) {
|
public <T> UnifiedResponse<T> sendPostRequest(String path, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -77,7 +79,6 @@ public class HkHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T> UnifiedResponse<T> sendPostRequest(String path) {
|
public <T> UnifiedResponse<T> sendPostRequest(String path) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -94,7 +95,6 @@ public class HkHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T> UnifiedResponse<T> sendGetRequest(String path, Class<T> type) {
|
public <T> UnifiedResponse<T> sendGetRequest(String path, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -111,7 +111,6 @@ public class HkHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->HK")
|
|
||||||
public <T> UnifiedResponse<T> sendGetRequest(String path) {
|
public <T> UnifiedResponse<T> sendGetRequest(String path) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HAS_HK).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
|
|||||||
@@ -1,109 +0,0 @@
|
|||||||
package org.nl.acs.agv.hk.log;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
|
||||||
import org.aspectj.lang.annotation.Around;
|
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
|
||||||
import org.nl.acs.agv.hk.utils.IpUtil;
|
|
||||||
import org.nl.common.exception.BadRequestException;
|
|
||||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
|
||||||
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description TODO
|
|
||||||
* @Author Gengby
|
|
||||||
* @Date 2024/7/8
|
|
||||||
*/
|
|
||||||
@Aspect
|
|
||||||
@Component
|
|
||||||
public class OtherToInterfaceLogAspect {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private LuceneExecuteLogService logService;
|
|
||||||
|
|
||||||
@Around("@annotation(org.nl.acs.ext.hk.log.OthersToInterfaceLog)")
|
|
||||||
public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {
|
|
||||||
long startTime = System.currentTimeMillis();
|
|
||||||
|
|
||||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
|
||||||
Method method = signature.getMethod();
|
|
||||||
|
|
||||||
Class<?> targetClass = joinPoint.getTarget().getClass();
|
|
||||||
RequestMapping classRequestMapping = targetClass.getAnnotation(RequestMapping.class);
|
|
||||||
String classUrlValue = classRequestMapping != null ? String.join(",", classRequestMapping.value()) : "No Class Annotation";
|
|
||||||
|
|
||||||
String methodUrlValue = "";
|
|
||||||
if (method.isAnnotationPresent(GetMapping.class)) {
|
|
||||||
GetMapping getMapping = method.getAnnotation(GetMapping.class);
|
|
||||||
methodUrlValue = String.join(",", getMapping.value());
|
|
||||||
} else if (method.isAnnotationPresent(PostMapping.class)) {
|
|
||||||
PostMapping postMapping = method.getAnnotation(PostMapping.class);
|
|
||||||
methodUrlValue = String.join(",", postMapping.value());
|
|
||||||
} else if (method.isAnnotationPresent(PutMapping.class)) {
|
|
||||||
PutMapping putMapping = method.getAnnotation(PutMapping.class);
|
|
||||||
methodUrlValue = String.join(",", putMapping.value());
|
|
||||||
} else if (method.isAnnotationPresent(DeleteMapping.class)) {
|
|
||||||
DeleteMapping deleteMapping = method.getAnnotation(DeleteMapping.class);
|
|
||||||
methodUrlValue = String.join(",", deleteMapping.value());
|
|
||||||
} else if (method.isAnnotationPresent(RequestMapping.class)) {
|
|
||||||
RequestMapping methodRequestMapping = method.getAnnotation(RequestMapping.class);
|
|
||||||
methodUrlValue = String.join(",", methodRequestMapping.value());
|
|
||||||
}
|
|
||||||
String request_direction = "";
|
|
||||||
if (method.isAnnotationPresent(OthersToInterfaceLog.class)) {
|
|
||||||
OthersToInterfaceLog interfaceLog = method.getAnnotation(OthersToInterfaceLog.class);
|
|
||||||
request_direction = interfaceLog.value();
|
|
||||||
}
|
|
||||||
|
|
||||||
String methodName = joinPoint.getSignature().getName();
|
|
||||||
Object[] args = joinPoint.getArgs();
|
|
||||||
|
|
||||||
LuceneLogDto logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(IpUtil.localIP() + classUrlValue + methodUrlValue)
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(args))
|
|
||||||
.method(methodName)
|
|
||||||
.content("开始请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
Object result = null;
|
|
||||||
try {
|
|
||||||
result = joinPoint.proceed();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(IpUtil.localIP() + classUrlValue + methodUrlValue)
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(args))
|
|
||||||
.method(methodName)
|
|
||||||
.response_param(e.getMessage())
|
|
||||||
.executeTime(System.currentTimeMillis() - startTime)
|
|
||||||
.content("响应请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
throw new BadRequestException(e.getMessage());
|
|
||||||
}
|
|
||||||
logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(IpUtil.localIP() + classUrlValue + methodUrlValue)
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(args))
|
|
||||||
.method(methodName)
|
|
||||||
.response_param(JSON.toJSONString(result))
|
|
||||||
.executeTime(System.currentTimeMillis() - startTime)
|
|
||||||
.content("响应请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package org.nl.acs.agv.hk.log;
|
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
|
||||||
import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
|
||||||
import java.lang.annotation.Target;
|
|
||||||
|
|
||||||
@Target(ElementType.METHOD)
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
|
||||||
public @interface OthersToInterfaceLog {
|
|
||||||
String value() default "";
|
|
||||||
}
|
|
||||||
@@ -1,139 +0,0 @@
|
|||||||
package org.nl.acs.agv.hk.log;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
|
||||||
import org.aspectj.lang.annotation.Around;
|
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
|
||||||
import org.nl.common.exception.BadRequestException;
|
|
||||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
|
||||||
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.util.ReflectionUtils;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.concurrent.ConcurrentMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description TODO
|
|
||||||
* @Author Gengby
|
|
||||||
* @Date 2024/7/8
|
|
||||||
*/
|
|
||||||
@Aspect
|
|
||||||
@Component
|
|
||||||
public class ToOtherInterfaceLogAspect {
|
|
||||||
|
|
||||||
private static final ConcurrentMap<Class<?>, Field> fieldCache = new ConcurrentHashMap<>();
|
|
||||||
private static final ConcurrentMap<Class<?>, Method> methodCache = new ConcurrentHashMap<>();
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private LuceneExecuteLogService logService;
|
|
||||||
|
|
||||||
@Around("@annotation(org.nl.acs.ext.hk.log.ToOthersInterfaceLog)")
|
|
||||||
public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {
|
|
||||||
long startTime = System.currentTimeMillis();
|
|
||||||
|
|
||||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
|
||||||
Method method = signature.getMethod();
|
|
||||||
|
|
||||||
|
|
||||||
String request_direction = "";
|
|
||||||
if (method.isAnnotationPresent(ToOthersInterfaceLog.class)) {
|
|
||||||
ToOthersInterfaceLog interfaceLog = method.getAnnotation(ToOthersInterfaceLog.class);
|
|
||||||
request_direction = interfaceLog.value();
|
|
||||||
}
|
|
||||||
String methodName = joinPoint.getSignature().getName();
|
|
||||||
Object[] args = joinPoint.getArgs();
|
|
||||||
Object url = "";
|
|
||||||
Object requesr_param = "";
|
|
||||||
if (args.length > 1) {
|
|
||||||
url = args[0];
|
|
||||||
requesr_param = args[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
Class<?> targetClass = joinPoint.getTarget().getClass();
|
|
||||||
|
|
||||||
Object ipPort = "";
|
|
||||||
try {
|
|
||||||
Field requestAdapterField = fieldCache.computeIfAbsent(targetClass, clazz -> {
|
|
||||||
try {
|
|
||||||
Field field = clazz.getDeclaredField("REQUEST_ADAPTER");
|
|
||||||
ReflectionUtils.makeAccessible(field);
|
|
||||||
return field;
|
|
||||||
} catch (NoSuchFieldException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Object requestAdapterObject = requestAdapterField.get(null);
|
|
||||||
|
|
||||||
Method getUrlMethod = methodCache.computeIfAbsent(requestAdapterObject.getClass(), clazz -> {
|
|
||||||
try {
|
|
||||||
Method m = clazz.getDeclaredMethod("getUrl");
|
|
||||||
ReflectionUtils.makeAccessible(m);
|
|
||||||
return m;
|
|
||||||
} catch (NoSuchMethodException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ipPort = getUrlMethod.invoke(requestAdapterObject);
|
|
||||||
} catch (Exception e) {
|
|
||||||
LuceneLogDto logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(ipPort + String.valueOf(url))
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(requesr_param))
|
|
||||||
.method(methodName)
|
|
||||||
.content("开始请求,获取url失败," + e.getMessage())
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
}
|
|
||||||
|
|
||||||
LuceneLogDto logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(ipPort + String.valueOf(url))
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(requesr_param))
|
|
||||||
.method(methodName)
|
|
||||||
.content("开始请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
Object result = null;
|
|
||||||
try {
|
|
||||||
result = joinPoint.proceed();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(ipPort + String.valueOf(url))
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(requesr_param))
|
|
||||||
.method(methodName)
|
|
||||||
.response_param(e.getMessage())
|
|
||||||
.executeTime(System.currentTimeMillis() - startTime)
|
|
||||||
.content("响应请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
throw new BadRequestException(e.getMessage());
|
|
||||||
}
|
|
||||||
logDto =
|
|
||||||
LuceneLogDto.builder()
|
|
||||||
.logType("接口日志")
|
|
||||||
.request_url(ipPort + String.valueOf(url))
|
|
||||||
.request_direction(request_direction)
|
|
||||||
.request_param(JSON.toJSONString(requesr_param))
|
|
||||||
.method(methodName)
|
|
||||||
.response_param(JSON.toJSONString(result))
|
|
||||||
.executeTime(System.currentTimeMillis() - startTime)
|
|
||||||
.content("响应请求")
|
|
||||||
.build();
|
|
||||||
logService.interfaceExecuteLog(logDto);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package org.nl.acs.agv.hk.log;
|
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
|
||||||
import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
|
||||||
import java.lang.annotation.Target;
|
|
||||||
|
|
||||||
@Target(ElementType.METHOD)
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
|
||||||
public @interface ToOthersInterfaceLog {
|
|
||||||
String value() default "";
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaIgnore;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.acs.agv.hk.log.OthersToInterfaceLog;
|
|
||||||
import org.nl.acs.agv.hk.service.HkToAcsService;
|
import org.nl.acs.agv.hk.service.HkToAcsService;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@@ -27,14 +26,12 @@ public class HkToACSController {
|
|||||||
|
|
||||||
@SaIgnore
|
@SaIgnore
|
||||||
@PostMapping("/agv/agvCallbackService/agvCallback")
|
@PostMapping("/agv/agvCallbackService/agvCallback")
|
||||||
@OthersToInterfaceLog("HK->ACS")
|
|
||||||
public ResponseEntity<Object> agvCallback(@RequestBody JSONObject requestParam) {
|
public ResponseEntity<Object> agvCallback(@RequestBody JSONObject requestParam) {
|
||||||
return new ResponseEntity<>(hkToAcsService.agvCallback(requestParam), HttpStatus.OK);
|
return new ResponseEntity<>(hkToAcsService.agvCallback(requestParam), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaIgnore
|
@SaIgnore
|
||||||
@PostMapping("/agvCallbackService/warnCallback")
|
@PostMapping("/agvCallbackService/warnCallback")
|
||||||
@OthersToInterfaceLog("HK->ACS")
|
|
||||||
public ResponseEntity<Object> warnCallback(@RequestBody JSONObject requestParam) {
|
public ResponseEntity<Object> warnCallback(@RequestBody JSONObject requestParam) {
|
||||||
return new ResponseEntity<>(hkToAcsService.warnCallback(requestParam), HttpStatus.OK);
|
return new ResponseEntity<>(hkToAcsService.warnCallback(requestParam), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
|||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("to_out", "0");
|
map.put("to_out", "0");
|
||||||
robotArmDeviceDriver.writing(map);
|
robotArmDeviceDriver.writing(map);
|
||||||
robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
// robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||||
robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
// robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//method 回调6、放料箱申请outApply
|
//method 回调6、放料箱申请outApply
|
||||||
@@ -216,8 +216,8 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
|||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("to_in", "0");
|
map.put("to_in", "0");
|
||||||
robotArmDeviceDriver.writing(map);
|
robotArmDeviceDriver.writing(map);
|
||||||
robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
// robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||||
robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
// robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
resp.put("code", "0");
|
resp.put("code", "0");
|
||||||
|
|||||||
@@ -223,8 +223,11 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||||
|
|
||||||
log.info("agv车号为"+carno+",进入自动门:"+device_code+"区域,请求开门中");
|
log.info("agv车号为"+carno+",进入自动门:"+device_code+"区域,请求开门中");
|
||||||
// 状态不为0且门开到位
|
// 下发开门
|
||||||
if (driver.getMode() != 0) {
|
driver.writing(ItemProtocol.to_open,"1");
|
||||||
|
log.info("agv车号为"+carno+",进入自动门区域"+"自动门:"+device_code+"已联机,允许开门。");
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "允许开门。");
|
||||||
|
if (driver.getOpen() == 1) {
|
||||||
flag = true;
|
flag = true;
|
||||||
} else {
|
} else {
|
||||||
String message = "自动门未联机或未开到位,无法开门。";
|
String message = "自动门未联机或未开到位,无法开门。";
|
||||||
@@ -233,13 +236,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
log.error("agv车号为"+carno+",进入自动门区域:"+"自动门:"+device_code+"未联机,无法开门。");
|
log.error("agv车号为"+carno+",进入自动门区域:"+"自动门:"+device_code+"未联机,无法开门。");
|
||||||
}
|
}
|
||||||
if (flag) {
|
if (flag) {
|
||||||
driver.writing(ItemProtocol.item_to_command,"1");
|
|
||||||
driver.setMessage("");
|
|
||||||
log.info("agv车号为"+carno+",进入自动门区域"+"自动门:"+device_code+"已联机,允许开门。");
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "允许开门。");
|
|
||||||
}
|
|
||||||
log.info("自动门:"+device_code+"开门的action的值此时为:"+driver.getAction()+"该值应为1");
|
|
||||||
if (driver.getAction() == 1) {
|
|
||||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
log.info("自动门:"+device_code+"返回开门到位,"+"agv车号为"+carno+",进入自动门。");
|
log.info("自动门:"+device_code+"返回开门到位,"+"agv车号为"+carno+",进入自动门。");
|
||||||
}
|
}
|
||||||
@@ -266,28 +262,11 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
|
|
||||||
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||||
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||||
|
// 关门
|
||||||
|
driver.writing(ItemProtocol.to_open,"0");
|
||||||
log.info("agv车号为"+carno+",准备离开自动门:"+device_code+"区域,请求关门中");
|
log.info("agv车号为"+carno+",准备离开自动门:"+device_code+"区域,请求关门中");
|
||||||
if (driver.getMode() != 0) {
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
String message = "自动门未联机,无法关门。";
|
|
||||||
log.error("agv车号为"+carno+",准备离开自动门区域:"+"自动门:"+device_code+"未联机,无法关门。");
|
|
||||||
driver.setMessage(message);
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", message);
|
|
||||||
}
|
|
||||||
log.info("自动门:"+device_code+"关门的action的值此时为:"+driver.getAction()+"该值应为0");
|
|
||||||
if (flag) {
|
|
||||||
driver.writing(ItemProtocol.item_to_command,"2");
|
|
||||||
driver.setMessage("");
|
|
||||||
log.info("自动门:"+device_code+"工作模式正常,"+"agv车号为"+carno+",写入关门信号2,准备离开自动门。");
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "允许关门。");
|
|
||||||
}
|
|
||||||
//百济没有2已关,0就当作已关门
|
|
||||||
if (driver.getAction() == 0) {
|
|
||||||
log.info("自动门:"+device_code+"接收到agv写入2信号,返回action信号为0,交互成功,"+"agv车号为"+carno+",离开自动门。");
|
|
||||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
//上报异常信息
|
//上报异常信息
|
||||||
//(不需要WCS反馈)
|
//(不需要WCS反馈)
|
||||||
|
|||||||
@@ -8,13 +8,10 @@ import java.util.List;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ItemProtocol {
|
public class ItemProtocol {
|
||||||
public static String item_heartbeat = "heartbeat";
|
public static String close = "close";
|
||||||
public static String item_mode = "mode";
|
public static String open = "open";
|
||||||
public static String item_state = "state";
|
public static String to_close = "to_close";
|
||||||
public static String item_action = "action";
|
public static String to_open = "to_open";
|
||||||
public static String item_error = "error";
|
|
||||||
public static String item_to_command = "to_command";
|
|
||||||
public static String item_to_state = "to_state";
|
|
||||||
|
|
||||||
|
|
||||||
private StandardAutodoorDeviceDriver driver;
|
private StandardAutodoorDeviceDriver driver;
|
||||||
@@ -23,31 +20,22 @@ public class ItemProtocol {
|
|||||||
this.driver = driver;
|
this.driver = driver;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getHeartbeat() {
|
public int getClose() {
|
||||||
return this.getOpcIntegerValue(item_heartbeat);
|
return this.getOpcIntegerValue(close);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMode() {
|
public int getOpen() {
|
||||||
return this.getOpcIntegerValue(item_mode);
|
return this.getOpcIntegerValue(open);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAction() {
|
public int getToClose() {
|
||||||
return this.getOpcIntegerValue(item_action);
|
return this.getOpcIntegerValue(to_close);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getError() {
|
public int getToOpen() {
|
||||||
return this.getOpcIntegerValue(item_error);
|
return this.getOpcIntegerValue(to_open);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getToCommand() {
|
|
||||||
return this.getOpcIntegerValue(item_to_command);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getToState() {
|
|
||||||
return this.getOpcIntegerValue(item_to_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public int getOpcIntegerValue(String protocol) {
|
public int getOpcIntegerValue(String protocol) {
|
||||||
Integer value = this.driver.getIntegeregerValue(protocol);
|
Integer value = this.driver.getIntegeregerValue(protocol);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@@ -61,15 +49,15 @@ public class ItemProtocol {
|
|||||||
|
|
||||||
public static List<ItemDto> getReadableItemDtos() {
|
public static List<ItemDto> getReadableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_heartbeat, "心跳", "VB100"));
|
list.add(new ItemDto(open, "开门到位", "10001"));
|
||||||
list.add(new ItemDto(item_mode, "工作模式", "VB101", Boolean.valueOf(true)));
|
list.add(new ItemDto(close, "关门到位", "10002"));
|
||||||
list.add(new ItemDto(item_action, "动作信号", "VB102"));
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ItemDto> getWriteableItemDtos() {
|
public static List<ItemDto> getWriteableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_to_command, "作业命令", "VW200", Boolean.valueOf(true)));
|
list.add(new ItemDto(to_open, "开门", "00001", Boolean.valueOf(true)));
|
||||||
|
list.add(new ItemDto(to_close, "关门", "00002", Boolean.valueOf(true)));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,10 +56,8 @@ public class StandardAutodoorDefination implements OpcDeviceDriverDefination {
|
|||||||
|
|
||||||
public static List<ItemDto> getReadableItemDtos2() {
|
public static List<ItemDto> getReadableItemDtos2() {
|
||||||
List<ItemDto> list = new ArrayList();
|
List<ItemDto> list = new ArrayList();
|
||||||
list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB600.B0"));
|
list.add(new ItemDto(ItemProtocol.close, "关门到位", "10002"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", true));
|
list.add(new ItemDto(ItemProtocol.open, "开门到位", "10001"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_action, "动作信号", "DB600.B2"));
|
|
||||||
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B4"));
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,18 +57,19 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
//有货标记
|
//有货标记
|
||||||
protected boolean has_goods_tag = false;
|
protected boolean has_goods_tag = false;
|
||||||
String devicecode;
|
String devicecode;
|
||||||
int mode = 0;
|
int close = 0;
|
||||||
int action = 0;
|
int open = 0;
|
||||||
|
int to_close = 0;
|
||||||
|
int to_open = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
Boolean iserror = false;
|
Boolean iserror = false;
|
||||||
|
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int task = 0;
|
int task = 0;
|
||||||
int last_action = 0;
|
int last_close= 0;
|
||||||
int last_mode = 0;
|
int last_open= 0;
|
||||||
int last_error = 0;
|
int last_to_close= 0;
|
||||||
int last_move = 0;
|
int last_to_open= 0;
|
||||||
int last_task = 0;
|
|
||||||
|
|
||||||
boolean hasVehicle = false;
|
boolean hasVehicle = false;
|
||||||
boolean isReady = false;
|
boolean isReady = false;
|
||||||
@@ -108,31 +109,19 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
devicecode = this.getDevice().getDevice_code();
|
devicecode = this.getDevice().getDevice_code();
|
||||||
mode = this.itemProtocol.getMode();
|
open = this.itemProtocol.getOpen();
|
||||||
action = this.itemProtocol.getAction();
|
close = this.itemProtocol.getClose();
|
||||||
error = this.itemProtocol.getError();
|
to_close = this.itemProtocol.getToClose();
|
||||||
|
to_open = this.itemProtocol.getToOpen();
|
||||||
|
|
||||||
last_action = action;
|
last_close = close;
|
||||||
last_mode = mode;
|
last_open = open;
|
||||||
last_error = error;
|
last_to_close = to_close;
|
||||||
|
last_to_open = to_open;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized String getStatus() {
|
public synchronized String getStatus() {
|
||||||
JSONObject jo = new JSONObject();
|
return null;
|
||||||
|
|
||||||
if (action == 1) {
|
|
||||||
jo.put("name", this.getDevice().getDevice_code());
|
|
||||||
jo.put("status", "OPEN");
|
|
||||||
|
|
||||||
} else if (action == 2) {
|
|
||||||
jo.put("name", this.getDevice().getDevice_code());
|
|
||||||
jo.put("status", "CLOSE");
|
|
||||||
|
|
||||||
} else {
|
|
||||||
jo.put("name", this.getDevice().getDevice_code());
|
|
||||||
jo.put("status", "ERROR");
|
|
||||||
}
|
|
||||||
return jo.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -195,13 +184,6 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
|
|
||||||
public synchronized void OpenOrClose(String type) {
|
public synchronized void OpenOrClose(String type) {
|
||||||
|
|
||||||
//开门
|
|
||||||
if (CommonFinalParam.ONE.equals(type)) {
|
|
||||||
writing(ItemProtocol.item_to_command, "1");
|
|
||||||
} else {
|
|
||||||
writing(ItemProtocol.item_to_command, "2");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,6 +228,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
// 到达机械手
|
// 到达机械手
|
||||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||||
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||||
|
if (deviceDriver.getHeartbeat() == 1) {
|
||||||
// 下发正在取货
|
// 下发正在取货
|
||||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_out, "1");
|
deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_out, "1");
|
||||||
log.info("到达{}取货点开始取货", device_code);
|
log.info("到达{}取货点开始取货", device_code);
|
||||||
@@ -236,10 +237,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 到达拆盘机
|
// 到达拆盘机
|
||||||
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
||||||
PalletDispenseDeviceDriver deviceDriver = (PalletDispenseDeviceDriver) device.getDeviceDriver();
|
PalletDispenseDeviceDriver deviceDriver = (PalletDispenseDeviceDriver) device.getDeviceDriver();
|
||||||
|
// 判断是否允许取
|
||||||
|
if (deviceDriver.getEmp_ready() == 1) {
|
||||||
// 下发正在取货
|
// 下发正在取货
|
||||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_out, "1");
|
deviceDriver.writing(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_out, "1");
|
||||||
log.info("到达{}取货点开始取货", device_code);
|
log.info("到达{}取货点开始取货", device_code);
|
||||||
@@ -248,6 +252,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else if (phase == 0x04) {
|
} else if (phase == 0x04) {
|
||||||
data = getData(data, index, inst, task);
|
data = getData(data, index, inst, task);
|
||||||
@@ -315,6 +320,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
|
|
||||||
// 到达机械手取货完成
|
// 到达机械手取货完成
|
||||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||||
|
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||||
|
// 取货复位
|
||||||
|
deviceDriver.writing("to_out","0");
|
||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
log.info("agv进入" + device_code + "取货完成");
|
log.info("agv进入" + device_code + "取货完成");
|
||||||
flag = true;
|
flag = true;
|
||||||
@@ -322,6 +330,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
|
|
||||||
// 到达拆盘机手取货完成
|
// 到达拆盘机手取货完成
|
||||||
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
||||||
|
PalletDispenseDeviceDriver deviceDriver = (PalletDispenseDeviceDriver) device.getDeviceDriver();
|
||||||
|
deviceDriver.writing("to_out","0");
|
||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
log.info("agv进入" + device_code + "取货完成");
|
log.info("agv进入" + device_code + "取货完成");
|
||||||
flag = true;
|
flag = true;
|
||||||
@@ -402,6 +412,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
// 机械手
|
// 机械手
|
||||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||||
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||||
|
if (deviceDriver.getHeartbeat() == 1) {
|
||||||
// 下发请求放货
|
// 下发请求放货
|
||||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_in, "1");
|
deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_in, "1");
|
||||||
log.info("到达{}放货点开始放货", device_code);
|
log.info("到达{}放货点开始放货", device_code);
|
||||||
@@ -410,17 +421,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拆盘机
|
|
||||||
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
|
||||||
PalletDispenseDeviceDriver deviceDriver = (PalletDispenseDeviceDriver) device.getDeviceDriver();
|
|
||||||
// 下发请求放货
|
|
||||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_in, "1");
|
|
||||||
log.info("到达{}放货点开始放货", device_code);
|
|
||||||
inst.setExecute_status("1");
|
|
||||||
instructionService.update(inst);
|
|
||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
|
||||||
flag = true;
|
|
||||||
}
|
}
|
||||||
//放货完毕
|
//放货完毕
|
||||||
//(需要WCS反馈)
|
//(需要WCS反馈)
|
||||||
@@ -491,13 +491,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
|
|
||||||
// 到达机械手放货完成
|
// 到达机械手放货完成
|
||||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||||
log.info("{}放货完成", device_code);
|
deviceDriver.writing("to_in","0");
|
||||||
flag = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 到达拆盘机放货完成
|
|
||||||
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
|
||||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
log.info("{}放货完成", device_code);
|
log.info("{}放货完成", device_code);
|
||||||
flag = true;
|
flag = true;
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class PalletDispenseDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
last_emp_ready = emp_ready;
|
last_emp_ready = emp_ready;
|
||||||
last_emp_apply = emp_apply;
|
last_emp_apply = emp_apply;
|
||||||
|
|
||||||
if (last_heartbeat == 1) {
|
/* if (last_heartbeat == 1) {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||||
@@ -123,7 +123,7 @@ public class PalletDispenseDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
this.instruction_require_time = date;
|
this.instruction_require_time = date;
|
||||||
this.executeTask();
|
this.executeTask();
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ public class RobotArmDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 申请下料任务
|
// 申请下料任务
|
||||||
if (pallet_apply == 1) {
|
if (last_pallet_apply == 1) {
|
||||||
List<Task> list = taskserver.list(
|
List<Task> list = taskserver.list(
|
||||||
new QueryWrapper<Task>().lambda()
|
new QueryWrapper<Task>().lambda()
|
||||||
.eq(Task::getStart_device_code, devicecode)
|
.eq(Task::getStart_device_code, devicecode)
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.nl.acs.AcsConfig;
|
|||||||
import org.nl.acs.agv.hk.RequestAdapter;
|
import org.nl.acs.agv.hk.RequestAdapter;
|
||||||
import org.nl.acs.agv.hk.ResponseAdapter;
|
import org.nl.acs.agv.hk.ResponseAdapter;
|
||||||
import org.nl.acs.agv.hk.UnifiedResponse;
|
import org.nl.acs.agv.hk.UnifiedResponse;
|
||||||
import org.nl.acs.agv.hk.log.ToOthersInterfaceLog;
|
|
||||||
import org.nl.acs.common.base.CommonFinalParam;
|
import org.nl.acs.common.base.CommonFinalParam;
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -27,7 +26,6 @@ public class LmsHttpUtil {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISysParamService paramService;
|
private ISysParamService paramService;
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam, Class<T> type) {
|
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -45,7 +43,6 @@ public class LmsHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam) {
|
public <T, W> UnifiedResponse<T> sendPostRequest(String path, W requestParam) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -63,7 +60,6 @@ public class LmsHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T> UnifiedResponse<T> sendPostRequest(String path, Class<T> type) {
|
public <T> UnifiedResponse<T> sendPostRequest(String path, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -80,7 +76,6 @@ public class LmsHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T> UnifiedResponse<T> sendPostRequest(String path) {
|
public <T> UnifiedResponse<T> sendPostRequest(String path) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -97,7 +92,6 @@ public class LmsHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T> UnifiedResponse<T> sendGetRequest(String path, Class<T> type) {
|
public <T> UnifiedResponse<T> sendGetRequest(String path, Class<T> type) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
@@ -114,7 +108,6 @@ public class LmsHttpUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ToOthersInterfaceLog("ACS->WMS")
|
|
||||||
public <T> UnifiedResponse<T> sendGetRequest(String path) {
|
public <T> UnifiedResponse<T> sendGetRequest(String path) {
|
||||||
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
if (!StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
|
||||||
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
return new UnifiedResponse<>(false, "未开启连接该系统!");
|
||||||
|
|||||||
@@ -434,7 +434,12 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
|||||||
if (ObjectUtil.isEmpty(route)) {
|
if (ObjectUtil.isEmpty(route)) {
|
||||||
throw new BadRequestException(LangProcess.msg("error_isNull", "route"));
|
throw new BadRequestException(LangProcess.msg("error_isNull", "route"));
|
||||||
}
|
}
|
||||||
if (StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE)) {
|
/*if (StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE)) {
|
||||||
|
NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class);
|
||||||
|
ndcAgvService.sendAgvInstToNDC(task.getAgv_system_type(), dto);
|
||||||
|
}*/
|
||||||
|
// 下发ndc系统
|
||||||
|
if (dto.getAgv_system_type().equals(AgvSystemTypeEnum.NDC_System_Type.getIndex())) {
|
||||||
NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class);
|
NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class);
|
||||||
ndcAgvService.sendAgvInstToNDC(task.getAgv_system_type(), dto);
|
ndcAgvService.sendAgvInstToNDC(task.getAgv_system_type(), dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,17 +11,9 @@ import lombok.Getter;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum AgvSystemTypeEnum {
|
public enum AgvSystemTypeEnum {
|
||||||
/**
|
/**
|
||||||
* 一期1楼叉车NDC系统
|
* NDC系统
|
||||||
*/
|
*/
|
||||||
One_NDC_System_Type("1", "1", "一期1楼叉车NDC系统"),
|
NDC_System_Type("2", "2", "NDC系统"),
|
||||||
/**
|
|
||||||
* 一期2楼NDC系统
|
|
||||||
*/
|
|
||||||
Two_NDC_System_Type("2", "2", "一期2楼NDC系统"),
|
|
||||||
/**
|
|
||||||
* 仙工AGV系统
|
|
||||||
*/
|
|
||||||
// XG_System_Type("3", "3", "仙工AGV系统");
|
|
||||||
/**
|
/**
|
||||||
* 海康调度系统
|
* 海康调度系统
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2,16 +2,15 @@
|
|||||||
<included>
|
<included>
|
||||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
<property name="LOG_HOME" value="${logPath}"/>
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
<!--<define name="DEVICECODE" class="org.nl.common.logging.DeviceCodeDir"/>-->
|
|
||||||
<!-- 按照每天生成日志文件 -->
|
<!-- 按照每天生成日志文件 -->
|
||||||
<appender name="FILE_XGAGV" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="AcsToHK" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
<!--日志文件输出的文件名-->
|
<!--日志文件输出的文件名-->
|
||||||
<FileNamePattern>${LOG_HOME}/XgAgvDeviceDriver/${DEVICECODE}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
<FileNamePattern>${LOG_HOME}/下发HK任务/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||||
<!--日志文件保留天数-->
|
<!--日志文件保留天数-->
|
||||||
<maxHistory>15</maxHistory>
|
<maxHistory>15</maxHistory>
|
||||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
<maxFileSize>200MB</maxFileSize>
|
<maxFileSize>100MB</maxFileSize>
|
||||||
<!--所有日志最多占多大容量-->
|
<!--所有日志最多占多大容量-->
|
||||||
<totalSizeCap>2GB</totalSizeCap>
|
<totalSizeCap>2GB</totalSizeCap>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
@@ -20,15 +19,14 @@
|
|||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
<charset>${log.charset}</charset>
|
<charset>${log.charset}</charset>
|
||||||
</encoder>
|
</encoder>
|
||||||
|
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
|
||||||
<appender-ref ref="FILE3"/>
|
<appender-ref ref="AcsToHK" />
|
||||||
</logger>-->
|
<!-- 设置队列大小,根据您的需求调整 -->
|
||||||
|
<queueSize>512</queueSize>
|
||||||
<!-- 打印sql -->
|
</appender>
|
||||||
<logger name="org.nl.system.service.lucene.impl.LuceneExecuteLogServiceImpl" level="info" additivity="false">
|
<logger name="org.nl.acs.agv.hk.HkHttpUtil" level="info" additivity="true">
|
||||||
<appender-ref ref="FILE_XGAGV"/>
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
</logger>
|
</logger>
|
||||||
</included>
|
</included>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<included>
|
||||||
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
|
<!-- 按照每天生成日志文件 -->
|
||||||
|
<appender name="HKToAcs" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
|
<!--日志文件输出的文件名-->
|
||||||
|
<FileNamePattern>${LOG_HOME}/HK请求ACS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||||
|
<!--日志文件保留天数-->
|
||||||
|
<maxHistory>15</maxHistory>
|
||||||
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
|
<maxFileSize>100MB</maxFileSize>
|
||||||
|
<!--所有日志最多占多大容量-->
|
||||||
|
<totalSizeCap>2GB</totalSizeCap>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>${log.charset}</charset>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
|
||||||
|
<appender-ref ref="HKToAcs" />
|
||||||
|
<!-- 设置队列大小,根据您的需求调整 -->
|
||||||
|
<queueSize>512</queueSize>
|
||||||
|
</appender>
|
||||||
|
<logger name="org.nl.acs.agv.hk.service.impl.HkToAcsServiceImpl" level="info" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
</included>
|
||||||
@@ -25,6 +25,8 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<include resource="log/NDCAgvServiceImpl.xml"/>
|
<include resource="log/NDCAgvServiceImpl.xml"/>
|
||||||
<include resource="log/NDCSocketConnectionAutoRun.xml"/>
|
<include resource="log/NDCSocketConnectionAutoRun.xml"/>
|
||||||
<include resource="log/WmsToAcs.xml"/>
|
<include resource="log/WmsToAcs.xml"/>
|
||||||
|
<include resource="log/AcsToHK.xml"/>
|
||||||
|
<include resource="log/HKToAcs.xml"/>
|
||||||
|
|
||||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<!--withJansi 参数改为true-->
|
<!--withJansi 参数改为true-->
|
||||||
|
|||||||
Reference in New Issue
Block a user