rev:注释不必要的日志记录
This commit is contained in:
@@ -245,7 +245,6 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
|||||||
|
|
||||||
};
|
};
|
||||||
log.info("下发AGV充电任务--{}", str1);
|
log.info("下发AGV充电任务--{}", str1);
|
||||||
|
|
||||||
try{
|
try{
|
||||||
OneNDCSocketConnectionAutoRun.write(b);
|
OneNDCSocketConnectionAutoRun.write(b);
|
||||||
} catch (Exception e){
|
} catch (Exception e){
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ import org.nl.acs.instruction.service.InstructionService;
|
|||||||
import org.nl.acs.instruction.service.impl.InstructionServiceImpl;
|
import org.nl.acs.instruction.service.impl.InstructionServiceImpl;
|
||||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||||
import org.nl.acs.opc.DeviceAppService;
|
import org.nl.acs.opc.DeviceAppService;
|
||||||
|
import org.nl.config.SpringContextHolder;
|
||||||
import org.nl.system.service.dict.ISysDictService;
|
import org.nl.system.service.dict.ISysDictService;
|
||||||
import org.nl.system.service.dict.dao.Dict;
|
import org.nl.system.service.dict.dao.Dict;
|
||||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
import org.nl.config.SpringContextHolder;
|
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
@@ -187,45 +187,33 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
//任务删除确认
|
//任务删除确认
|
||||||
//(需要WCS反馈)
|
//(需要WCS反馈)
|
||||||
else if (phase == 0xFF) {
|
else if (phase == 0xFF) {
|
||||||
|
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
if (!ObjectUtil.isEmpty(inst)) {
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
if (!ObjectUtil.isEmpty(inst)) {
|
||||||
instructionService.cancelNOSendAgv(inst.getInstruction_id());
|
instructionService.cancelNOSendAgv(inst.getInstruction_id());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||||
|
|
||||||
//充电任务下发成功上报
|
//充电任务下发成功上报
|
||||||
}else if (phase == 0x64){
|
} else if (phase == 0x64) {
|
||||||
log.info("AGV车号{}反馈充电任务下发成功,锁定充电桩{}",agvaddr,station);
|
log.info("充电任务,NDC反馈phase值64,AGV车号{}充电任务下发成功,锁定充电桩{}", agvaddr, station);
|
||||||
List<Dict> dictList= dictService.getDictByName("station");
|
List<Dict> dictList = dictService.getDictByName("station");
|
||||||
for(Dict dict : dictList){
|
for (Dict dict : dictList) {
|
||||||
if (Integer.parseInt(dict.getPara1())==station){
|
if (Integer.parseInt(dict.getPara1()) == station) {
|
||||||
dict.setValue("1");
|
dict.setValue("1");
|
||||||
dict.setPara2(String.valueOf(agvaddr));
|
dict.setPara2(String.valueOf(agvaddr));
|
||||||
dictService.updateDetail(dict);
|
dictService.updateDetail(dict);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//充电成功
|
//充电中
|
||||||
}else if (phase == 0x65){
|
} else if (phase == 0x65) {
|
||||||
log.info("AGV车号{}反馈充电中,充电桩{}",agvaddr,station);
|
log.info("充电任务,NDC反馈phase值65,AGV车号{}状态为正在充电中,占用充电桩{}值为1", agvaddr, station);
|
||||||
// log.info("AGV车号{}反馈充电成功,释放充电桩{}",agvaddr,station);
|
|
||||||
// List<Dict> dictList= dictService.getDictByName("station");
|
|
||||||
// for(Dict dict : dictList){
|
|
||||||
// if (Integer.parseInt(dict.getPara1())==station){
|
|
||||||
// dict.setValue("0");
|
|
||||||
// dict.setPara2("");
|
|
||||||
// dictService.updateDetail(dict);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//充电取消上报
|
//充电取消上报
|
||||||
}else if (phase == 0x66){
|
} else if (phase == 0x66) {
|
||||||
log.info("AGV车号{}反馈充电任务已取消,释放充电桩{}",agvaddr,station);
|
log.info("充电任务,NDC反馈phase值66,AGV车号{}充电任务完成或已手动取消,释放充电桩{}值为0", agvaddr, station);
|
||||||
List<Dict> dictList= dictService.getDictByName("station");
|
List<Dict> dictList = dictService.getDictByName("station");
|
||||||
for(Dict dict : dictList){
|
for (Dict dict : dictList) {
|
||||||
if (Integer.parseInt(dict.getPara1())==station){
|
if (Integer.parseInt(dict.getPara1()) == station) {
|
||||||
dict.setValue("0");
|
dict.setValue("0");
|
||||||
dict.setPara2("");
|
dict.setPara2("");
|
||||||
dictService.updateDetail(dict);
|
dictService.updateDetail(dict);
|
||||||
@@ -235,8 +223,8 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
} else {
|
} else {
|
||||||
//上报异常信息
|
//上报异常信息
|
||||||
//(不需要WCS反馈)
|
//(不需要WCS反馈)
|
||||||
if (phase == 0x67 ||phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) {
|
if (phase == 0x67 || phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) {
|
||||||
device = deviceAppService.findDeviceByCode("AGV0" +agvaddr);
|
device = deviceAppService.findDeviceByCode("AGV0" + agvaddr);
|
||||||
} else {
|
} else {
|
||||||
device = deviceAppService.findDeviceByCode("AGV0" + Integer.toString(arr[20]));
|
device = deviceAppService.findDeviceByCode("AGV0" + Integer.toString(arr[20]));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -324,28 +324,15 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
SiteDeviceDriver siteDeviceDriver = (SiteDeviceDriver) device.getDeviceDriver();
|
SiteDeviceDriver siteDeviceDriver = (SiteDeviceDriver) device.getDeviceDriver();
|
||||||
try {
|
try {
|
||||||
siteDeviceDriver.writing(12);
|
siteDeviceDriver.writing(12);
|
||||||
siteDeviceDriver.writing(12);
|
log.error("子母车放货完成,离开,写入{}输送线信号:12成功!", siteDeviceDriver.getDeviceCode());
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
log.error("tofix子母车放货完成,离开,写入{}输送线信号:12成功!", siteDeviceDriver.getDeviceCode());
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
for (int i = 0; i < 15; i++) {
|
for (int i = 0; i < 15; i++) {
|
||||||
try {
|
try {
|
||||||
siteDeviceDriver.writing(12);
|
siteDeviceDriver.writing(12);
|
||||||
siteDeviceDriver.writing(12);
|
log.error("子母车放货完成,离开,写入{}输送线信号:12失败,再次写入,成功!{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage());
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
siteDeviceDriver.writing(12);
|
|
||||||
log.error("tofix子母车放货完成,离开,写入{}输送线信号:12失败,再次写入,成功!{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage());
|
|
||||||
return;
|
return;
|
||||||
} catch (Exception e1) {
|
} catch (Exception e1) {
|
||||||
log.error("tofix子母车放货完成,离开,写入{}输送线信号:12失败:{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage());
|
log.error("子母车放货完成,离开,写入{}输送线信号:12失败:{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -289,8 +289,6 @@ public class SiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceD
|
|||||||
public void writing(int command) {
|
public void writing(int command) {
|
||||||
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
+ "." + ItemProtocol.item_to_command;
|
+ "." + ItemProtocol.item_to_command;
|
||||||
//String opcservcerid = this.getDevice().getOpc_server_id();
|
|
||||||
//Server server = ReadUtil.getServer(opcservcerid);
|
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
itemMap.put(to_command, command);
|
itemMap.put(to_command, command);
|
||||||
this.control(itemMap);
|
this.control(itemMap);
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_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:acs_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
# password: ${DB_PWD:Root.123456}
|
# password: ${DB_PWD:Root.123456}
|
||||||
password: ${DB_PWD:123456}
|
password: ${DB_PWD:123456}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
@@ -72,8 +72,8 @@ spring:
|
|||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:2}
|
database: ${REDIS_DB:2}
|
||||||
# host: ${REDIS_HOST:10.44.101.19}
|
host: ${REDIS_HOST:10.44.101.19}
|
||||||
host: ${REDIS_HOST:127.0.0.1}
|
# host: ${REDIS_HOST:127.0.0.1}
|
||||||
port: ${REDIS_PORT:6379}
|
port: ${REDIS_PORT:6379}
|
||||||
# password: ${REDIS_PWD:}
|
# password: ${REDIS_PWD:}
|
||||||
|
|
||||||
@@ -166,13 +166,13 @@ sa-token:
|
|||||||
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
|
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
|
||||||
is-read-cookie: true
|
is-read-cookie: true
|
||||||
is-print: false
|
is-print: false
|
||||||
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
|
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
|
||||||
token-session-check-login: false
|
token-session-check-login: false
|
||||||
alone-redis:
|
alone-redis:
|
||||||
# Redis数据库索引(默认为0)
|
# Redis数据库索引(默认为0)
|
||||||
database: 2
|
database: 2
|
||||||
# Redis服务器地址
|
# Redis服务器地址
|
||||||
host: 127.0.0.1
|
host: 10.44.101.19
|
||||||
# Redis服务器连接端口
|
# Redis服务器连接端口
|
||||||
port: 6379
|
port: 6379
|
||||||
# Redis服务器连接密码(默认为空)
|
# Redis服务器连接密码(默认为空)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ spring:
|
|||||||
freemarker:
|
freemarker:
|
||||||
check-template-location: false
|
check-template-location: false
|
||||||
profiles:
|
profiles:
|
||||||
active: prod
|
active: dev
|
||||||
jackson:
|
jackson:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -22,10 +22,6 @@
|
|||||||
|
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
|
||||||
<appender-ref ref="FILE3"/>
|
|
||||||
</logger>-->
|
|
||||||
|
|
||||||
<!-- 打印sql -->
|
<!-- 打印sql -->
|
||||||
<logger name="org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun" level="info" additivity="false">
|
<logger name="org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun" level="info" additivity="false">
|
||||||
<appender-ref ref="OneNDCSocketConnectionAutoRun"/>
|
<appender-ref ref="OneNDCSocketConnectionAutoRun"/>
|
||||||
|
|||||||
@@ -1,23 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--配置说明:
|
|
||||||
https://www.cnblogs.com/jybky/p/12204586.html
|
|
||||||
https://blog.csdn.net/wzygis/article/details/103189490
|
|
||||||
https://www.cnblogs.com/xrq730/p/8628945.html
|
|
||||||
https://www.jianshu.com/p/af5a7bab0e59
|
|
||||||
https://blog.csdn.net/wzygis/article/details/103189490
|
|
||||||
https://juejin.cn/post/6844903775631572999
|
|
||||||
-->
|
|
||||||
|
|
||||||
<configuration scan="true" scanPeriod="30 seconds" debug="false">
|
<configuration scan="true" scanPeriod="30 seconds" debug="false">
|
||||||
<contextName>nlAdmin</contextName>
|
<contextName>nlAdmin</contextName>
|
||||||
<property name="log.charset" value="utf-8"/>
|
<property name="log.charset" value="utf-8"/>
|
||||||
<property name="log.pattern"
|
<property name="log.pattern"
|
||||||
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
<!-- <springProperty scope="context" name="lokiUrl" source="loki.url"/>-->
|
<property name="SYSTEM_NAME" value="acs"/>
|
||||||
<!-- <springProperty scope="context" name="systemName" source="loki.systemName"/>-->
|
|
||||||
<!-- <property name="LOKI_URL" value="${lokiUrl}"/>-->
|
|
||||||
<!-- <property name="SYSTEM_NAME" value="${systemName}"/>-->
|
|
||||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||||
<property name="LOG_HOME" value="${logPath}"/>
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
<!--引入默认的一些设置-->
|
<!--引入默认的一些设置-->
|
||||||
@@ -25,6 +13,7 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<include resource="log/AcsToWms.xml"/>
|
<include resource="log/AcsToWms.xml"/>
|
||||||
<include resource="log/WmsToAcs.xml"/>
|
<include resource="log/WmsToAcs.xml"/>
|
||||||
<include resource="log/NDCSocketConnectionAutoRun.xml"/>
|
<include resource="log/NDCSocketConnectionAutoRun.xml"/>
|
||||||
|
<include resource="log/OneNDCSocketConnectionAutoRun.xml"/>
|
||||||
<include resource="log/AgvNdcOneDeviceDriver.xml"/>
|
<include resource="log/AgvNdcOneDeviceDriver.xml"/>
|
||||||
<include resource="log/NDCAgvServiceImpl.xml"/>
|
<include resource="log/NDCAgvServiceImpl.xml"/>
|
||||||
|
|
||||||
@@ -44,7 +33,7 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<!--日志文件保留天数-->
|
<!--日志文件保留天数-->
|
||||||
<maxHistory>15</maxHistory>
|
<maxHistory>15</maxHistory>
|
||||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
<maxFileSize>100MB</maxFileSize>
|
<maxFileSize>60MB</maxFileSize>
|
||||||
<!--所有日志最多占多大容量-->
|
<!--所有日志最多占多大容量-->
|
||||||
<totalSizeCap>20GB</totalSizeCap>
|
<totalSizeCap>20GB</totalSizeCap>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
window.g = {
|
window.g = {
|
||||||
dev: {
|
dev: {
|
||||||
VUE_APP_BASE_API: 'http://127.0.0.1:8011'
|
VUE_APP_BASE_API: 'http://127.0.0.1:8010'
|
||||||
},
|
},
|
||||||
prod: {
|
prod: {
|
||||||
VUE_APP_BASE_API: 'http://127.0.0.1:8011'
|
VUE_APP_BASE_API: 'http://127.0.0.1:8010'
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
@@ -110,8 +109,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
AbstractTask task = taskFactory.getTask(requestMethodCode);
|
AbstractTask task = taskFactory.getTask(requestMethodCode);
|
||||||
// 执行创建任务
|
// 执行创建任务
|
||||||
task.apply(param);
|
task.apply(param);
|
||||||
// acs对接记录
|
|
||||||
interactRecordService.saveRecord(requestMethodCode, param, result, GeneralDefinition.ACS_LMS);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String message = e.getMessage();
|
String message = e.getMessage();
|
||||||
log.error("ACS请求LMS出现错误,acsApply请求参数为:{},错误信息为:{},{}", param, e, message);
|
log.error("ACS请求LMS出现错误,acsApply请求参数为:{},错误信息为:{},{}", param, e, message);
|
||||||
@@ -121,6 +118,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 消息通知
|
// 消息通知
|
||||||
noticeService.createNotice("异常信息:" + message, device_code, NoticeTypeEnum.EXCEPTION.getCode());
|
noticeService.createNotice("异常信息:" + message, device_code, NoticeTypeEnum.EXCEPTION.getCode());
|
||||||
}
|
}
|
||||||
|
// acs对接记录
|
||||||
|
interactRecordService.saveRecord(requestMethodCode, param, result, GeneralDefinition.ACS_LMS);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,19 +243,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// id / code
|
// id / code
|
||||||
String pointCode = task1.againApply(task.getString("task_id"));
|
String pointCode = task1.againApply(task.getString("task_id"));
|
||||||
result.setNext_point_code(pointCode);
|
result.setNext_point_code(pointCode);
|
||||||
// acs对接记录
|
|
||||||
interactRecordService.saveRecord(task.getString("request_method_name"), task, result, GeneralDefinition.ACS_LMS);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String message = ObjectUtil.isEmpty(e.getMessage())
|
String message = e.getMessage();
|
||||||
? ((InvocationTargetException) e).getTargetException().getMessage()
|
log.error("ACS请求LMS出现错误,againApply请求参数为:{},错误信息为:{},{}", task, e, message);
|
||||||
: e.getMessage();
|
noticeService.createNotice("ACS请求LMS出现错误,againApply二次请求任务信息:" + JSONObject.toJSONString(task),
|
||||||
log.error("ACS请求LMS出现错误,againApply请求参数为:{},错误信息为:{},{}",task,e, message);
|
task2.getConfig_code(), NoticeTypeEnum.EXCEPTION.getCode());
|
||||||
// 消息通知
|
|
||||||
noticeService.createNotice("ACS请求LMS出现错误,againApply二次请求任务信息:" + JSONObject.toJSONString(task), task2.getConfig_code(), NoticeTypeEnum.EXCEPTION.getCode());
|
|
||||||
result.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
result.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
||||||
result.setMessage(message);
|
result.setMessage(message);
|
||||||
result.setRequestNo(task.getString("requestNo"));
|
result.setRequestNo(task.getString("requestNo"));
|
||||||
}
|
}
|
||||||
|
// acs对接记录
|
||||||
|
interactRecordService.saveRecord(task.getString("request_method_name"), task, result, GeneralDefinition.ACS_LMS);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
|||||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||||
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||||
@@ -41,7 +42,6 @@ import org.springframework.stereotype.Component;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -191,23 +191,23 @@ public class GHCMLTask extends AbstractTask {
|
|||||||
// 多个数据选择一个:Limit 1, 还需要考虑任务数,尽量一排排满
|
// 多个数据选择一个:Limit 1, 还需要考虑任务数,尽量一排排满
|
||||||
List<SchBasePoint> sameMaterialPoints = autoMapper.getZCSameMaterialPoint(jsonObject.getString("pcsn")
|
List<SchBasePoint> sameMaterialPoints = autoMapper.getZCSameMaterialPoint(jsonObject.getString("pcsn")
|
||||||
, jsonObject.getString("material_id"));
|
, jsonObject.getString("material_id"));
|
||||||
SchBasePoint temp=null;
|
SchBasePoint temp = null;
|
||||||
int row_num=0;
|
int row_num = 0;
|
||||||
//检查当前列前面是否有货
|
//检查当前列前面是否有货
|
||||||
for(SchBasePoint schBasePoint:sameMaterialPoints){
|
for (SchBasePoint schBasePoint : sameMaterialPoints) {
|
||||||
if(row_num==schBasePoint.getRow_num()){
|
if (row_num == schBasePoint.getRow_num()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
if(PointStatusEnum.EMPTY_POINT.getCode().equals(schBasePoint.getPoint_status())
|
|
||||||
&& StringUtil.isEmpty(schBasePoint.getIng_task_code())){
|
|
||||||
temp = schBasePoint;
|
|
||||||
}else{
|
|
||||||
row_num=schBasePoint.getRow_num();
|
|
||||||
}
|
}
|
||||||
|
if (PointStatusEnum.EMPTY_POINT.getCode().equals(schBasePoint.getPoint_status())
|
||||||
|
&& StringUtil.isEmpty(schBasePoint.getIng_task_code())) {
|
||||||
|
temp = schBasePoint;
|
||||||
|
} else {
|
||||||
|
row_num = schBasePoint.getRow_num();
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(temp)) {
|
}
|
||||||
return temp;
|
if (ObjectUtil.isNotEmpty(temp)) {
|
||||||
}
|
return temp;
|
||||||
|
}
|
||||||
//如果没有找到。或者分配等待点失败,就选择一个空列存放
|
//如果没有找到。或者分配等待点失败,就选择一个空列存放
|
||||||
return autoMapper.getZCEmptyMaterialPoint(nextRegionStr.get(0), jsonObject.getString("material_id"));
|
return autoMapper.getZCEmptyMaterialPoint(nextRegionStr.get(0), jsonObject.getString("material_id"));
|
||||||
}
|
}
|
||||||
@@ -356,62 +356,71 @@ public class GHCMLTask extends AbstractTask {
|
|||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new BadRequestException("任务:[" + task_id + "]不存在!");
|
throw new BadRequestException("任务:[" + task_id + "]不存在!");
|
||||||
}
|
}
|
||||||
// String waitPoint = task.getNext_wait_point();
|
// String waitPoint = task.getNext_wait_point();
|
||||||
// if (ObjectUtil.isEmpty(waitPoint)) {
|
// if (ObjectUtil.isEmpty(waitPoint)) {
|
||||||
// throw new BadRequestException("找不到任务:[" + task_id + "]等待点!");
|
// throw new BadRequestException("找不到任务:[" + task_id + "]等待点!");
|
||||||
// }
|
// }
|
||||||
if (!"DDD".equals(task.getPoint_code2())) {
|
if (!"DDD".equals(task.getPoint_code2())) {
|
||||||
log.info("任务号{}已请求过二次分配,直接返回已分配地址{}", task_id, task.getPoint_code2());
|
log.info("任务号{}已请求过二次分配,直接返回已分配地址{}", task_id, task.getPoint_code2());
|
||||||
return task.getPoint_code2();
|
return task.getPoint_code2();
|
||||||
}
|
}
|
||||||
// SchBasePoint waitPointObj = pointService.getById(waitPoint);
|
// SchBasePoint waitPointObj = pointService.getById(waitPoint);
|
||||||
// SchBasePoint result;
|
// SchBasePoint result;
|
||||||
// // 找到这排对应的准确货位,
|
// // 找到这排对应的准确货位,
|
||||||
// // hint: 需要考虑前后空,中间有货的情况,有货之后的即使是空也不能放。
|
// // hint: 需要考虑前后空,中间有货的情况,有货之后的即使是空也不能放。
|
||||||
// // 寻找有货的数据
|
// // 寻找有货的数据
|
||||||
// List<SchBasePoint> points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
// List<SchBasePoint> points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
||||||
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
||||||
// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode())
|
// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode())
|
||||||
// .eq(SchBasePoint::getIs_used, true)
|
// .eq(SchBasePoint::getIs_used, true)
|
||||||
// .orderByDesc(SchBasePoint::getIn_order_seq));
|
// .orderByDesc(SchBasePoint::getIn_order_seq));
|
||||||
// if (points.size() > 0) {
|
// if (points.size() > 0) {
|
||||||
// SchBasePoint basePoint = points.get(0);
|
// SchBasePoint basePoint = points.get(0);
|
||||||
// // 找到物料位置的下一个位置
|
// // 找到物料位置的下一个位置
|
||||||
// result = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
// result = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
||||||
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
||||||
// .eq(SchBasePoint::getCol_num, basePoint.getCol_num() - 1)
|
// .eq(SchBasePoint::getCol_num, basePoint.getCol_num() - 1)
|
||||||
// // 当前执行的任务为空或者NULL,有数据表示锁住
|
// // 当前执行的任务为空或者NULL,有数据表示锁住
|
||||||
// .and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
// .and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
||||||
// .or()
|
// .or()
|
||||||
// .eq(SchBasePoint::getIng_task_code, ""))
|
// .eq(SchBasePoint::getIng_task_code, ""))
|
||||||
// .eq(SchBasePoint::getIs_used, true));
|
// .eq(SchBasePoint::getIs_used, true));
|
||||||
// if (ObjectUtil.isEmpty(result)) {
|
// if (ObjectUtil.isEmpty(result)) {
|
||||||
// throw new BadRequestException("点位错误");
|
// throw new BadRequestException("点位错误");
|
||||||
// }
|
// }
|
||||||
// } else {
|
// } else {
|
||||||
// // 空的话代表这排是新的一排,找个位置就行
|
// // 空的话代表这排是新的一排,找个位置就行
|
||||||
// points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
// points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code())
|
||||||
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num())
|
||||||
// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||||
// // 当前执行的任务为空或者NULL,有数据表示锁住
|
// // 当前执行的任务为空或者NULL,有数据表示锁住
|
||||||
// .and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
// .and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
||||||
// .or()
|
// .or()
|
||||||
// .eq(SchBasePoint::getIng_task_code, ""))
|
// .eq(SchBasePoint::getIng_task_code, ""))
|
||||||
// .eq(SchBasePoint::getIs_used, true)
|
// .eq(SchBasePoint::getIs_used, true)
|
||||||
// .orderByAsc(SchBasePoint::getIn_order_seq));
|
// .orderByAsc(SchBasePoint::getIn_order_seq));
|
||||||
// // 获取第一条
|
// // 获取第一条
|
||||||
// result = points.get(0);
|
// result = points.get(0);
|
||||||
// }
|
// }
|
||||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||||
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
|
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
JSONObject jsonObject = JSONObject.parseObject(task.getRequest_param());
|
JSONObject jsonObject = JSONObject.parseObject(task.getRequest_param());
|
||||||
|
if (ObjectUtil.isEmpty(jsonObject.getString("pcsn")) || ObjectUtil.isEmpty(jsonObject.getString("material_id"))) {
|
||||||
|
throw new BadRequestException("tofix,againApply二次分配任务:pcsn和material_id参数错误");
|
||||||
|
}
|
||||||
SchBasePoint result = findNextPoint(nextRegionStr, jsonObject);
|
SchBasePoint result = findNextPoint(nextRegionStr, jsonObject);
|
||||||
log.info("任务{}二次分配找到目标点位{}",task_id, result.getPoint_code());
|
if (ObjectUtil.isEmpty(result)) {
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice("失败原因:固化室出口找不到符合条件的空架终点", task.getPoint_code1() + "固化室出库失败",
|
||||||
|
NoticeTypeEnum.EXCEPTION.getCode());
|
||||||
|
throw new BadRequestException(task.getPoint_code1() + ":固化室出库失败,失败原因:固化室出口找不到符合条件的空架终点");
|
||||||
|
}
|
||||||
|
log.info("任务{}二次分配找到目标点位{}", task_id, result.getPoint_code());
|
||||||
// 锁住货位点
|
// 锁住货位点
|
||||||
PointUtils.setUpdateByAcs(result);
|
PointUtils.setUpdateByAcs(result);
|
||||||
result.setIng_task_code(task.getTask_code());
|
result.setIng_task_code(task.getTask_code());
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ server:
|
|||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSourceQ
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
|
||||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
password: ${DB_PWD:123456}
|
password: ${DB_PWD:123456}
|
||||||
# password: ${DB_PWD:P@ssw0rd}
|
# password: ${DB_PWD:P@ssw0rd}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
# 最小连接数
|
# 最小连接数
|
||||||
@@ -47,8 +47,8 @@ spring:
|
|||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:2}
|
database: ${REDIS_DB:2}
|
||||||
# host: ${REDIS_HOST:10.44.101.112}
|
# host: ${REDIS_HOST:10.44.101.112}
|
||||||
host: ${REDIS_HOST:127.0.0.1}
|
host: ${REDIS_HOST:10.44.101.19}
|
||||||
port: ${REDIS_PORT:6379}
|
port: ${REDIS_PORT:6379}
|
||||||
password: ${REDIS_PWD:}
|
password: ${REDIS_PWD:}
|
||||||
redisson:
|
redisson:
|
||||||
@@ -58,9 +58,10 @@ spring:
|
|||||||
singleServerConfig:
|
singleServerConfig:
|
||||||
connectionMinimumIdleSize: 8
|
connectionMinimumIdleSize: 8
|
||||||
connectionPoolSize: 8
|
connectionPoolSize: 8
|
||||||
address: redis://127.0.0.1:6379
|
address: redis://10.44.101.19:6379
|
||||||
idleConnectionTimeout: 10000
|
idleConnectionTimeout: 10000
|
||||||
timeout: 3000
|
timeout: 3000
|
||||||
|
|
||||||
# 登录相关配置
|
# 登录相关配置
|
||||||
login:
|
login:
|
||||||
# 登录缓存
|
# 登录缓存
|
||||||
@@ -150,19 +151,16 @@ sa-token:
|
|||||||
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
|
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
|
||||||
is-read-cookie: true
|
is-read-cookie: true
|
||||||
is-print: false
|
is-print: false
|
||||||
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
|
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
|
||||||
token-session-check-login: false
|
token-session-check-login: false
|
||||||
alone-redis:
|
alone-redis:
|
||||||
# Redis数据库索引(默认为0)
|
# Redis数据库索引(默认为0)
|
||||||
database: 2
|
database: 2
|
||||||
# Redis服务器地址
|
# Redis服务器地址
|
||||||
host: 127.0.0.1
|
host: 10.44.101.19
|
||||||
# Redis服务器连接端口
|
# Redis服务器连接端口
|
||||||
port: 6379
|
port: 6379
|
||||||
# Redis服务器连接密码(默认为空)
|
# Redis服务器连接密码(默认为空)
|
||||||
password:
|
password:
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lucene:
|
|
||||||
index:
|
|
||||||
path: D:\lucene\index
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<!--日志文件保留天数-->
|
<!--日志文件保留天数-->
|
||||||
<maxHistory>15</maxHistory>
|
<maxHistory>15</maxHistory>
|
||||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
<maxFileSize>150MB</maxFileSize>
|
<maxFileSize>50MB</maxFileSize>
|
||||||
<!--所有日志最多占多大容量-->
|
<!--所有日志最多占多大容量-->
|
||||||
<totalSizeCap>50GB</totalSizeCap>
|
<totalSizeCap>50GB</totalSizeCap>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
|
|||||||
Reference in New Issue
Block a user