diff --git a/acs/nladmin-system/nlsso-server/pom.xml b/acs/nladmin-system/nlsso-server/pom.xml
index d17bd49..f6fabd4 100644
--- a/acs/nladmin-system/nlsso-server/pom.xml
+++ b/acs/nladmin-system/nlsso-server/pom.xml
@@ -45,6 +45,12 @@
pom
+
+ org.dromara.dynamictp
+ dynamic-tp-spring-boot-starter-adapter-webserver
+ 1.1.6
+
+
org.apache.lucene
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
index ae13392..2e9f7c1 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
@@ -328,7 +328,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (ObjectUtil.isNotEmpty(extraValue.get("ignore_release_check")) && "true".equals(extraValue.get("ignore_release_check"))) {
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
} else {
- data = feedBackStatus(data, index, 2, inst, task, 1, false);
+ data = feedBackStatus(data, index, 3, inst, task, 1, false);
}
} catch (Exception e) {
log.info("到达放货点反馈AGV状态失败:{}", e.getMessage());
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
index 7772e10..968d8a1 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
@@ -1,5 +1,6 @@
package org.nl.acs.device_driver.basedriver.plc_to_agv;
+import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
@@ -24,6 +25,8 @@ public class ItemProtocol {
private PlcToAgvDeviceDriver driver;
+ static Object msg;
+
public ItemProtocol(PlcToAgvDeviceDriver driver) {
this.driver = driver;
}
@@ -57,6 +60,7 @@ public class ItemProtocol {
Boolean isonline;
public int getOpcIntegerValue(String protocol) {
+ getExends();
Integer value = this.driver.getIntegeregerValue(protocol);
if (value == null) {
// log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
@@ -69,22 +73,36 @@ public class ItemProtocol {
}
+ public void getExends(){
+ Object upper_lower_levels = this.driver.getExtraValue().get("upper_lower_levels");
+ if(ObjectUtil.isNotEmpty(upper_lower_levels)){
+ msg = upper_lower_levels;
+ }
+ }
+
+
public static List getReadableItemDtos() {
ArrayList list = new ArrayList();
- list.add(new ItemDto(item_AGVSetInLowerAllowed, "下层允许上料", "DB600.B0"));
- list.add(new ItemDto(item_AGVSetOutLowerAllowed, "下层允许下料", "DB600.B2"));
- list.add(new ItemDto(item_AGVSetInUpperAllowed, "上层允许上料", "DB600.B3"));
- list.add(new ItemDto(item_AGVSetOutUpperAllowed, "上层允许下料", "DB600.B4"));
+ if(ObjectUtil.isNotEmpty(msg) && "1".equals(msg)){
+ list.add(new ItemDto(item_AGVSetInUpperAllowed, "上层允许上料", "DB600.B3"));
+ list.add(new ItemDto(item_AGVSetOutUpperAllowed, "上层允许下料", "DB600.B4"));
+ }else if(ObjectUtil.isNotEmpty(msg) && "2".equals(msg)){
+ list.add(new ItemDto(item_AGVSetInLowerAllowed, "下层允许上料", "DB600.B0"));
+ list.add(new ItemDto(item_AGVSetOutLowerAllowed, "下层允许下料", "DB600.B2"));
+ }
list.add(new ItemDto(item_AGVEnable, "agv动作使能", "DB600.D6"));
return list;
}
public static List getWriteableItemDtos() {
ArrayList list = new ArrayList();
- list.add(new ItemDto(item_AGVSetInReqLower, "下层上料请求", "DB600.B0"));
- list.add(new ItemDto(item_AGVSetOutReqLower, "下层下料请求", "DB600.B2"));
- list.add(new ItemDto(item_AGVSetInReqUpper, "上层上料请求", "DB600.B3"));
- list.add(new ItemDto(item_AGVSetOutReqUpper, "上层下料请求", "DB600.B4"));
+ if(ObjectUtil.isNotEmpty(msg) && "1".equals(msg)){
+ list.add(new ItemDto(item_AGVSetInReqUpper, "上层上料请求", "DB600.B3"));
+ list.add(new ItemDto(item_AGVSetOutReqUpper, "上层下料请求", "DB600.B4"));
+ }else if(ObjectUtil.isNotEmpty(msg) && "2".equals(msg)){
+ list.add(new ItemDto(item_AGVSetInReqLower, "下层上料请求", "DB600.B0"));
+ list.add(new ItemDto(item_AGVSetOutReqLower, "下层下料请求", "DB600.B2"));
+ }
list.add(new ItemDto(item_AGVInOP, "在工位内", "DB600.D6"));
return list;
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java
index d6ba183..5b8d2cd 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java
@@ -149,7 +149,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
if (log.isWarnEnabled()) {
tag = Thread.currentThread().getName();
if (this.OpcServer != null) {
- tag = tag + this.getOpcGroupID();
+ tag = tag + "," + this.getOpcGroupID();
}
}
@@ -189,6 +189,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
Object value = OpcUtl.getValue(item, itemState);
if (value != null) {
valueAllNotNull = true;
+ } else {
+ log.info("item:{},velue为空,value:{}", item.getId(), value);
}
String itemId = item.getId();
@@ -201,7 +203,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
if (!UnifiedDataAppService.isEquals(value, his)) {
OpcItemDto itemDto = this.getItem(itemId);
if (true) {
- this.logItemChanged(itemId, accessor_value, value, itemDto);
+// this.logItemChanged(itemId, accessor_value, value, itemDto);
}
if(!ObjectUtil.isEmpty(value) || "".equals(value)){
accessor_value.setValue(itemId, value);
@@ -225,13 +227,10 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
}
if (!valueAllNotNull) {
- int random = (new Random()).nextInt(10) + 1;
- random *= 1000;
if (this.all_null < 3) {
if (log.isWarnEnabled()) {
- log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3);
+ log.warn("OPC数据源: {} 所有内容都为空,检查网络, all_null:{} ,暂定{}s", tag, all_null,3);
}
-
ThreadUtl.sleep( 3000);
break start;
} else if (this.all_null < 6) {
@@ -253,9 +252,10 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, 5000);
}
ThreadUtl.sleep((long) (5000));
+ break start;
}
- ++this.all_null;
+// ++this.all_null;
} else {
this.all_null = 0;
}
@@ -415,7 +415,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
Object obj = accessor_value.getValue(relate);
sb.append("key:" + relate + "value:" + obj + ";");
}
- if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) {
+ if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")
+ && !itemDto.getItem_code().endsWith("x") && !itemDto.getItem_code().endsWith("y")) {
// 存在上次点位值为null情况 则不记录日志
if(!(his instanceof Float) && !(value instanceof Float)){
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
@@ -428,7 +429,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
}
}
} else {
- if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) {
+ if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")
+ && !itemDto.getItem_code().endsWith("x") && !itemDto.getItem_code().endsWith("y")) {
if(!(his instanceof Float) && !(value instanceof Float)){
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
String.valueOf(his), String.valueOf(value));
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcSynchronizeAutoRun.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcSynchronizeAutoRun.java
index 26fde22..69ee0c4 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcSynchronizeAutoRun.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcSynchronizeAutoRun.java
@@ -1,316 +1,109 @@
package org.nl.acs.opc;
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.lucene.util.NamedThreadFactory;
-import org.nl.acs.AcsConfig;
+import cn.hutool.core.util.ObjectUtil;
+import org.dromara.dynamictp.core.support.ThreadPoolBuilder;
import org.nl.acs.auto.run.AbstractAutoRunnable;
import org.nl.acs.opc.service.dto.OpcServerManageDto;
-import org.nl.acs.udw.UnifiedDataAccessor;
-import org.nl.acs.udw.UnifiedDataAccessorFactory;
-import org.nl.acs.udw.UnifiedDataAppService;
-import org.nl.common.enums.LogTypeEnum;
-import org.nl.config.SpringContextHolder;
-import org.nl.system.service.lucene.dto.LuceneLogDto;
-import org.nl.system.service.param.ISysParamService;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
+import org.nl.config.thread.TheadFactoryName;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.concurrent.*;
-import java.util.regex.Pattern;
+import javax.annotation.Resource;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+import static org.dromara.dynamictp.common.em.QueueTypeEnum.MEMORY_SAFE_LINKED_BLOCKING_QUEUE;
/**
* OPC设备同步启动
+ * @author 20220102CG\noblelift
*/
@Component
-@Slf4j
public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable {
- static boolean isRun = true;
+
+ public static boolean isRun = false;
+ ExecutorService executorService = ThreadPoolBuilder.newBuilder()
+ .threadPoolName("deviceOpc_thread")
+ .threadFactory("deviceOpc_thread")
+ .corePoolSize(80)
+ .maximumPoolSize(100)
+ .keepAliveTime(40)
+ .timeUnit(TimeUnit.SECONDS)
+ .workQueue(MEMORY_SAFE_LINKED_BLOCKING_QUEUE.getName(), 2000)
+ .buildDynamic();
+
@Autowired
private DeviceAppService deviceAppService;
@Autowired
private OpcServerManageService opcServerManageService;
-// @Autowired
-// LuceneExecuteLogService lucene;
-
- static ExecutorService executorService;
- public static Map opcServersConfig;
- public static Map itemCodeOpcItemDtoMapping = new ConcurrentHashMap();
-
- static boolean canRefreshOpcEntity = true;
- private long lastRefreshOpcEntityTime;
- static UnifiedDataAccessor udw;
- private static Map canReadOpcValues;
- private static volatile Map opcCodeOpcEntityMapping;
-
- public DeviceOpcSynchronizeAutoRun() {
- this.lastRefreshOpcEntityTime = 0L;
- }
+ @Override
public String getCode() {
return DeviceOpcSynchronizeAutoRun.class.getSimpleName();
}
+ @Override
public String getName() {
return "opc设备同步器";
}
- static Group getGroup(String opcCode) throws Exception {
- OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerService.class);
- return opcServerService.getServer(opcCode);
- }
-
- static void submitTimeLimitTask(Runnable runnable, String opcCode) {
- CompletableFuture future = CompletableFuture.runAsync(runnable, executorService);
-
-// try {
-// future.get(10L, TimeUnit.SECONDS);
-// } catch (InterruptedException var9) {
-// Thread.currentThread().interrupt();
-// } catch (ExecutionException var10) {
-// var10.printStackTrace();
-// } catch (TimeoutException var11) {
-// itemCodeOpcItemDtoMapping.keySet().forEach((key) -> {
-// udw.setValue(key, (Object) null);
-// });
-// canReadOpcValues = new ConcurrentHashMap<>();
-// System.out.println("opc设备同步器 任务执行超时,取消任务...");
-// future.cancel(true);
-// } finally {
-// canRefreshOpcEntity = true;
-// if (opcCode != null) {
-// canReadOpcValues.put(opcCode, true);
-// }
-//
-// }
- }
-
- private ExecutorService createThreadPool() {
- ThreadPoolExecutor executor = new ThreadPoolExecutor(32, 32, 10L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new NamedThreadFactory("opc-sync"));
- executor.allowCoreThreadTimeOut(true);
- return executor;
- }
-
- public void autoRun() {
- OpcStartTag.is_run = true;
- opcServersConfig = this.opcServerManageService.queryAllServerMap();
- executorService = this.createThreadPool();
- opcCodeOpcEntityMapping = new ConcurrentHashMap();
- itemCodeOpcItemDtoMapping.keySet().forEach((key) -> {
- udw.setValue(key, (Object) null);
- });
- canRefreshOpcEntity = true;
- canReadOpcValues.clear();
-
- while (true) {
- this.refreshOpcEntity();
- Iterator var1 = opcServersConfig.keySet().iterator();
-
- while (var1.hasNext()) {
- String opcCode = (String) var1.next();
- submitTimeLimitTask(() -> {
- boolean in = false;
- try {
- if (canReadOpcValues.computeIfAbsent(opcCode, (key) -> true)) {
- in = true;
- canReadOpcValues.put(opcCode, false);
- this.readOpcValues(opcCode);
- }
- } catch (Exception var3) {
- var3.printStackTrace();
- } finally {
- canRefreshOpcEntity = true;
- if (opcCode != null && in) {
- canReadOpcValues.put(opcCode, true);
- }
- }
- }, opcCode);
- }
-
- ThreadUtl.sleep((long) OpcConfig.synchronized_millisecond);
- }
- }
-
- private void readOpcValues(String opcCode) throws Exception {
- synchronized (opcCode.intern()) {
- OpcEntity opcEntity = (OpcEntity) opcCodeOpcEntityMapping.get(opcCode);
- if (opcEntity != null) {
- if (opcEntity.getItems().size() != 0) {
- long begin = System.currentTimeMillis();
- if (log.isTraceEnabled()) {
- log.trace("opc {} 开始计时{}", opcCode, begin);
- }
-
- new HashMap();
-
- Map- itemStatus;
- try {
- itemStatus = opcEntity.readAll();
- } catch (Exception var15) {
- itemStatus = opcEntity.readDividually();
- }
-
- long end = System.currentTimeMillis();
- long duration = end - begin;
- if (log.isTraceEnabled()) {
- log.trace("opc {} 读取耗时:{}", opcCode, duration);
- }
-
- if (duration > 1000L) {
- log.warn("opc {} 读取超时 : {}", opcCode, duration);
- }
-
-// boolean allNull = itemStatus.entrySet().stream().map((map) -> {
-// return OpcUtl.getValue((Item)map.getKey(), (ItemState)map.getValue());
-// }).allMatch(Objects::isNull);
-// if (allNull) {
-// opcEntity.getItems().clear();
-// }
-
- UnifiedDataAccessor udw = opcEntity.getUdw();
-
-
- Set
- items = itemStatus.keySet();
- Iterator var18 = items.iterator();
-
- while (var18.hasNext()) {
- Item item = (Item) var18.next();
- ItemState itemState = (ItemState) itemStatus.get(item);
- Object nowValue = OpcUtl.getValue(item, itemState);
- String itemId = item.getId();
- Object historyValue = udw.getValue(itemId);
- if (!ObjectUtl.isEquals(itemState.getQuality(), QualityTypeValue.OPC_QUALITY_GOOD) && historyValue != null) {
- log.warn("opc 值不健康 item: {}, 状态: {}", itemId, itemState.getQuality());
- }
- if (!UnifiedDataAppService.isEquals(nowValue, historyValue)) {
- OpcItemDto itemDto = (OpcItemDto) itemCodeOpcItemDtoMapping.get(itemId);
- if (true) {
- this.logItemChanged(itemId, udw, nowValue, itemDto);
- }
- udw.setValue(itemId, nowValue);
- }
-
- }
-
+ @Override
+ public void autoRun() throws Exception {
+ {
+ //Thread.sleep(10000L);
+ isRun = true;
+
+ Map servers = this.opcServerManageService.queryAllServerMap();
+ Map>> pros;
+ do {
+ Thread.sleep(1000L);
+ pros = this.deviceAppService.findAllFormatProtocolFromDriver();
+ } while (ObjectUtil.isEmpty(pros));
+ Set keys = pros.keySet();
+ Iterator var4 = keys.iterator();
+ //代码执行一次
+ while (var4.hasNext()) {
+ String key = (String) var4.next();
+ List
> list = (List) pros.get(key);
+ OpcServerManageDto opcServer = (OpcServerManageDto) servers.get(key);
+ Iterator var8 = list.iterator();
+ while (var8.hasNext()) {
+ List groupProtols = (List) var8.next();
+ DeviceOpcProtocolRunable runable = new DeviceOpcProtocolRunable();
+ runable.setProtocols(groupProtols);
+ runable.setOpcServer(opcServer);
+ this.executorService.submit(runable);
}
}
- }
- }
-
- private void refreshOpcEntity() {
- if (canRefreshOpcEntity) {
- canRefreshOpcEntity = false;
- long now = System.currentTimeMillis();
- if (now - this.lastRefreshOpcEntityTime >= 20000L) {
- this.lastRefreshOpcEntityTime = now;
- submitTimeLimitTask(() -> {
- try {
- Map>> protocol = this.deviceAppService.findAllFormatProtocolFromDriver();
- Iterator var2 = protocol.entrySet().iterator();
- while (var2.hasNext()) {
- Entry>> stringListEntry = (Entry) var2.next();
- String opcCode = (String) stringListEntry.getKey();
- List> opcItemDtos = (List) stringListEntry.getValue();
- ((OpcEntity) opcCodeOpcEntityMapping.computeIfAbsent(opcCode, OpcEntity::new)).reload(opcItemDtos);
- }
- } catch (Exception var6) {
- var6.printStackTrace();
- } finally {
- canRefreshOpcEntity = true;
- }
+ // 同步无光电设备信号
+ //Map>> pros1 = this.deviceAppService.findAllFormatProtocolFromDriver();
+ //List opcDrivers = this.deviceAppService.findDeviceDriver(DeviceDriver.class);
- }, (String) null);
+ while (true) {
+ Thread.sleep(3000L);
}
}
}
- private void logMessage(String errorMessage) {
- try {
-// issueLogger.setResource(OpcConfig.resource_code, OpcConfig.resource_name).setError(StringUtl.getString(100), "设备同步通信异常").log(errorMessage, new Object[0]);
-// businessLogger.setResource(OpcConfig.resource_code, OpcConfig.resource_name).setError(StringUtl.getString(100), "设备同步通信异常").log(errorMessage, new Object[0]);
- } catch (Exception var5) {
- var5.printStackTrace();
- }
-
- }
-
+ @Override
public void after() {
- OpcStartTag.is_run = false;
- opcCodeOpcEntityMapping.values().forEach((opcEntity) -> {
- opcEntity.cleanUdwCache();
- OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerService.class);
- opcServerService.cleanGroups(opcEntity.getOpcCode());
- });
- opcCodeOpcEntityMapping = new ConcurrentHashMap();
- itemCodeOpcItemDtoMapping = new ConcurrentHashMap();
- executorService.shutdownNow();
- }
-
- private void logItemChanged(String itemId, UnifiedDataAccessor accessor_value, Object value, OpcItemDto itemDto) {
- ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class);
- Object his = accessor_value.getValue(itemId);
- List relate_items = itemDto.getRelate_items();
- if (relate_items != null && !relate_items.isEmpty()) {
- StringBuilder sb = new StringBuilder();
- Iterator var8 = relate_items.iterator();
-
- while (var8.hasNext()) {
- String relate = (String) var8.next();
- Object obj = accessor_value.getValue(relate);
- sb.append("key:" + relate + "value: " + obj + ";");
- }
- if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) {
- // 存在上次点位值为null情况 则不记录日志
- if(!(his instanceof Float) && !(value instanceof Float)){
- LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
- String.valueOf(his), String.valueOf(value));
- luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
- String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue();
- if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){
- log.info("{}", JSON.toJSONString(luceneLogDto));
- }
- }
- }
- } else {
-
-// if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) {
-// if(!(his instanceof Float) && !(value instanceof Float)){
-// LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
-// String.valueOf(his), String.valueOf(value));
-// luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
-// log.info("{}", JSON.toJSONString(luceneLogDto));
-// }
-// }
-
- if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) {
- if(!(his instanceof Float) && !(value instanceof Float)){
- LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
- String.valueOf(his), String.valueOf(value));
- luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
- String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue();
- if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){
- log.info("{}", JSON.toJSONString(luceneLogDto));
- }
- }
- }
-
- }
- }
-
- static {
- udw = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key);
- canReadOpcValues = new ConcurrentHashMap();
- opcCodeOpcEntityMapping = new ConcurrentHashMap();
- }
-
- public static boolean isNumeric(String str) {
- return Pattern.compile("^[0-9]+$").matcher(str).matches();
+ isRun = false;
+ this.executorService.shutdownNow();
+ this.executorService = ThreadPoolBuilder.newBuilder()
+ .threadPoolName("deviceOpc_thread")
+ .threadFactory("deviceOpc_thread")
+ .corePoolSize(80)
+ .maximumPoolSize(100)
+ .keepAliveTime(40)
+ .timeUnit(TimeUnit.SECONDS)
+ .workQueue(MEMORY_SAFE_LINKED_BLOCKING_QUEUE.getName(), 2000)
+ .buildDynamic();
}
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcEntity.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcEntity.java
index b291a56..f885490 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcEntity.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcEntity.java
@@ -1,3 +1,4 @@
+/*
package org.nl.acs.opc;
import org.nl.acs.opc.DeviceOpcSynchronizeAutoRun;
@@ -178,3 +179,4 @@ public class OpcEntity {
return this.opcCode;
}
}
+*/
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneService.java
index ce75a3e..df3b89e 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneService.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneService.java
@@ -11,7 +11,6 @@ public interface LuceneService {
* 获取labels和values树
* @return
*/
-// JSONArray getLabelsValues();
/**
* 获取数据分页
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
index 5ca7cc5..92350d4 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
@@ -1,18 +1,28 @@
package org.nl.system.service.lucene.impl;
-import cn.hutool.core.util.CharsetUtil;
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSONArray;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.nl.config.lucene.Searcher;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.*;
+import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.util.BytesRef;
import org.nl.system.service.lucene.LuceneService;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
-import java.util.Map;
+import java.nio.file.Paths;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
@@ -20,66 +30,108 @@ import java.util.Map;
@Slf4j
public class LuceneServiceImpl implements LuceneService {
-// @Value("${loki.url}")
-// private String lokiUrl;
-
-// @Value("${loki.systemName}")
-// private String systemName;
-
//日志索引目录
- @Value("${lucene.index.path}")
- private String luceneUrl;
- /**
- * 获取labels和values树
- *
- * @return
- */
-// @Override
-// public JSONArray getLabelsValues() {
-// JSONArray result = new JSONArray();
-// // 获取所有标签
-// String labelString = HttpUtil.get(lokiUrl + "/labels", CharsetUtil.CHARSET_UTF_8);
-// JSONObject parse = (JSONObject) JSONObject.parse(labelString);
-// JSONArray labels = parse.getJSONArray("data");
-// for (int i=0; i getAll(Map whereJson, Pageable page) {
- JSONObject jo = new JSONObject();
+ //获取要查询的路径,也就是索引所在的位置
try {
- JSONObject jsonObject = (JSONObject) Searcher.search(luceneUrl, "", whereJson);
- JSONArray array = jsonObject.getJSONArray("content");
- int totalElements = Integer.parseInt(jsonObject.get("totalElements").toString());
- jo.put("content", array);
- jo.put("totalElements", totalElements);
+ Resource resource = new ClassPathResource("config/application.yml");
+ YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
+ yamlPropertiesFactoryBean.setResources(resource);
+ Properties properties = yamlPropertiesFactoryBean.getObject();
+ // 获取配置值
+ String luceneDir = properties.getProperty("lucene.index.path");
+ FSDirectory directory = FSDirectory.open(Paths.get(luceneDir));
+ DirectoryReader open = DirectoryReader.open(directory);
+ IndexSearcher searcher = new IndexSearcher(open);
+ // 实际上Lucene本身不支持分页。因此我们需要自己进行逻辑分页。我们要准备分页参数:
+ int pageSize = Integer.parseInt(whereJson.get("size").toString());// 每页条数
+ int pageNum = Integer.parseInt(whereJson.get("page").toString());// 当前页码
+
+ BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder();
+ //时间范围查询
+ String startDate = (String) whereJson.get("begin_time");
+ String endDate = (String) whereJson.get("end_time");
+
+ if (startDate == null){
+ Calendar calendar=Calendar.getInstance();
+ calendar.set(1970, 0, 1);
+ startDate = DateUtil.format(calendar.getTime(),"yyyy-MM-dd HH:mm:ss.SSS");
+ }else{
+ startDate = getDate(startDate);
+ }
+ if (endDate == null){
+ endDate = DateUtil.format(new DateTime(),"yyyy-MM-dd HH:mm:ss.SSS");
+ } else {
+ endDate = getDate(endDate);
+ }
+ TermRangeQuery termRangeQuery = new TermRangeQuery("logTime", new BytesRef(startDate), new BytesRef(endDate), true, true);
+ booleanQueryBuilder.add(termRangeQuery, BooleanClause.Occur.MUST);
+ if (whereJson.get("device_code") != null){
+ Query termQuery = new TermQuery(new Term("device_code", (String) whereJson.get("device_code")));
+ booleanQueryBuilder.add(termQuery,BooleanClause.Occur.MUST);
+ }
+ if (whereJson.get("method") != null){
+ Query termQuery = new TermQuery(new Term("method", (String) whereJson.get("method")));
+ booleanQueryBuilder.add(termQuery,BooleanClause.Occur.MUST);
+ }
+ if (whereJson.get("status_code") != null){
+ Query termQuery = new TermQuery(new Term("status_code", (String) whereJson.get("status_code")));
+ booleanQueryBuilder.add(termQuery,BooleanClause.Occur.MUST);
+ }
+ if (whereJson.get("requestparam") != null){
+ WildcardQuery query = new WildcardQuery(new Term("requestparam", "*"+(String) whereJson.get("requestparam")+"*"));
+ booleanQueryBuilder.add(query,BooleanClause.Occur.MUST);
+ }
+ if (whereJson.get("responseparam") != null){
+ WildcardQuery query = new WildcardQuery(new Term("responseparam", "*"+(String) whereJson.get("responseparam")+"*"));
+ booleanQueryBuilder.add(query,BooleanClause.Occur.MUST);
+ }
+ if (whereJson.get("blurry") != null) {
+ WildcardQuery query = new WildcardQuery(new Term("fieldContent", "*"+(String) whereJson.get("blurry")+"*"));
+ booleanQueryBuilder.add(query, BooleanClause.Occur.MUST);
+ }
+
+ TopFieldCollector collector = TopFieldCollector.create(new Sort(new SortField("logTime", SortField.Type.LONG,true)), 20000, 0);
+ searcher.search(booleanQueryBuilder.build(), collector);
+ TopDocs topDocs = collector.topDocs(pageNum*pageSize, pageSize);
+ int totalSize = collector.getTotalHits();
+ ScoreDoc[] scoreDocs = topDocs.scoreDocs;
+
+ List list = new ArrayList<>();
+ for (ScoreDoc scoreDoc : scoreDocs) {
+ Document doc = open.document(scoreDoc.doc);
+ JSONObject object = new JSONObject();
+ object.put("content",doc.get("fieldContent"));
+ object.put("device_code",doc.get("device_code"));
+ object.put("logTime",doc.get("logTime"));
+ object.put("method",doc.get("method"));
+ object.put("status_code",doc.get("status_code"));
+ object.put("requestparam",doc.get("requestparam"));
+ object.put("responseparam",doc.get("responseparam"));
+ if(doc.get("fieldContent") != null) {
+ list.add(object);
+ }
+ }
+ open.close();
+ directory.close();
+ JSONObject jo = new JSONObject();
+ jo.put("content", list);
+ jo.put("totalElements", totalSize);
+ return jo;
} catch (Exception e) {
log.error("索引查询为空", e);
throw new NullPointerException("索引查询为空");
}
+ }
- return jo;
+ public static String getDate(String timeString) throws ParseException {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");//时间格式
+ Date date = sdf.parse(timeString);
+ timeString = DateUtil.format(date, "yyyy-MM-dd HH:mm:ss.SSS");//格式化后的时间
+ return timeString;
}
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
index 32da9ff..39e9b71 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
@@ -384,27 +384,25 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
*/
private void releaseComplete(SchBaseTask schBaseTask, String status, String is_connector, String taskType, boolean is_empty) {
//TODO:空料容放货完成反馈给Connector
- if (!is_empty) {
- finishTask(schBaseTask.getTask_code(), schBaseTask.getPoint_code2());
- } else {
- finishTask(schBaseTask.getTask_code(), schBaseTask.getPoint_code1());
- if ("1".equals(is_connector)) {
+ if ("1".equals(is_connector)) {
+ if (!is_empty) {
+ finishTask(schBaseTask.getTask_code(), schBaseTask.getPoint_code2());
+ } else {
+ finishTask(schBaseTask.getTask_code(), schBaseTask.getPoint_code1());
JSONObject json = new JSONObject();
json.put("vehicle_code", schBaseTask.getVehicle_code());
json.put("status", status);
json.put("device_code", schBaseTask.getPoint_code2());
json.put("task_code", schBaseTask.getTask_code());
AcsResponse acsResponse = connectorService.feedAgvTaskStatus(json);
-
- }
- if ("2".equals(is_connector)) {
- JSONObject json = new JSONObject();
- json.put("vehicle_code", schBaseTask.getVehicle_code());
- json.put("status", status);
- json.put("device_code", schBaseTask.getPoint_code2());
- json.put("task_code", schBaseTask.getTask_code());
- AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
}
+ } else if ("2".equals(is_connector)) {
+ JSONObject json = new JSONObject();
+ json.put("vehicle_code", schBaseTask.getVehicle_code());
+ json.put("status", status);
+ json.put("device_code", schBaseTask.getPoint_code2());
+ json.put("task_code", schBaseTask.getTask_code());
+ AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
}
}
@@ -509,13 +507,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
boolean flag = true;
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
if (acsResponse.getStatus() != 200 || StringUtils.isNotEmpty(acsResponse.getErrMsg())) {
- throw new BadRequestException("申请失败,"+ acsResponse.getErrMsg());
+ throw new BadRequestException("申请失败," + acsResponse.getErrMsg());
}
}
}
/**
* 申请放货
+ *
* @param schBaseTask
* @param status
* @param is_connector
@@ -531,9 +530,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
boolean flag = true;
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
if (acsResponse.getStatus() != 200 || StringUtils.isNotEmpty(acsResponse.getErrMsg())) {
- throw new BadRequestException("申请失败,"+ acsResponse.getErrMsg());
+ throw new BadRequestException("申请失败," + acsResponse.getErrMsg());
}
- }else if("1".equals(is_connector)){
+ } else if ("1".equals(is_connector)) {
JSONObject json = new JSONObject();
json.put("vehicle_code", schBaseTask.getVehicle_code());
json.put("status", status);
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java
index 8058657..12f3361 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java
@@ -96,11 +96,7 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService {
param.put("task_code", task_code);
param.put("remark", remark);
param.put("ext_data", data);
- try{
- connectorTask.apply(param);
- }catch (Exception e){
- return MapOf.of("status", 400,"msg", e.getMessage());
- }
+ connectorTask.apply(param);
schBasePoint.setIs_lock(true);
schBasePointService.updateById(schBasePoint);
map1.put("task_code", task_code);
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java
index 3b74329..83b6cfb 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.gson.Gson;
+import lombok.extern.slf4j.Slf4j;
import org.nl.common.enums.region.RegionEnum;
import org.nl.config.IdUtil;
import org.nl.config.MapOf;
@@ -38,6 +39,7 @@ import java.util.Map;
/**
* @author LENOVO
*/
+@Slf4j
@Service
public class SortingServiceImpl implements SortingService {
@@ -51,6 +53,7 @@ public class SortingServiceImpl implements SortingService {
@Override
public Map createAgvTask(JSONObject jsonObject) {
+ log.info("sorting下发agv任务:{}",jsonObject);
try {
Assert.noNullElements(new Object[]{jsonObject,jsonObject.getString("pointCode"),jsonObject.getString("vehicle_code")
,jsonObject.getString("task_type"),jsonObject.getString("is_empty")},"请求参数不能为空");
@@ -85,20 +88,19 @@ public class SortingServiceImpl implements SortingService {
AbstractTask connectorTask = taskFactory.getTask("CNTTask");
if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
taskParam.put("config_code","SortingCNTTask");
+ connectorTask.apply(taskParam);
//TODO:叫料
}else if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
taskParam.put("config_code","SortingCMTTask");
+ connectorTask.apply(taskParam);
//TODO:将空托盘放到线边库
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
taskParam.put("config_code","SortingSNTTask");
+ connectorTask.apply(taskParam);
//TODO:将满料放到线边库
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
taskParam.put("config_code","SortingSMTTask");
- }
- try{
connectorTask.apply(taskParam);
- }catch (Exception e){
- return MapOf.of("status", 400,"msg", e.getMessage());
}
return MapOf.of("status", 200,"msg", "sucess");
}catch (Exception ex){
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java
index cbeea54..e5545e1 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java
@@ -122,7 +122,7 @@ public class ConnectorUtil {
return AcsResponse.requestRefuse("未连接ACS!");
}
String url = connectorUrl + api;
- log.info("下发acs任务的参数为:{}", JSON.toJSONString(object));
+ log.info("反馈sortingAGV状态:{},url:{}", JSON.toJSONString(object),url);
AcsResponse resultForAcs;
try {
String resultMsg = HttpRequest.post(url)
@@ -130,6 +130,7 @@ public class ConnectorUtil {
.execute().body();
result = JSONObject.parseObject(resultMsg);
resultForAcs = JSONObject.toJavaObject(result, AcsResponse.class);
+ log.info("反馈sortingAGV状态的响应:{}", JSON.toJSONString(resultMsg));
} catch (Exception e) {
String msg = e.getMessage();
//网络不通
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/connector/FTGTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/connector/FTGTask.java
index f5be582..8d4f939 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/connector/FTGTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/connector/FTGTask.java
@@ -71,6 +71,7 @@ public class FTGTask extends AbstractTask {
// 设置终点并修改创建成功状态
task.setPoint_code1(schBasePoint.getPoint_code());
task.setVehicle_type(schBasePoint.getCan_vehicle_type());
+ task.setVehicle_code(schBasePoint.getVehicle_code());
task.setRemark("");
task.setTask_status(TaskStatus.CREATED.getCode());
taskService.updateById(task);
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCMTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCMTTask.java
index e508342..7dc8267 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCMTTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCMTTask.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
+import org.nl.common.enums.GoodsEnum;
import org.nl.common.enums.region.RegionEnum;
import org.nl.common.exception.BadRequestException;
import org.nl.system.service.notice.ISysNoticeService;
@@ -25,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.GeneralDefinition;
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.TaskFinishedTypeEnum;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
import org.nl.wms.util.PointUtils;
@@ -98,6 +100,7 @@ public class SortingCMTTask extends AbstractTask {
pointService.update(new UpdateWrapper()
.set("ing_task_code",task.getTask_code())
.set("is_lock",true)
+ .set("point_status", GoodsEnum.OUT_OF_STOCK.getValue())
.eq("point_code",structPoint.getPoint_code()));
}
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCNTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCNTTask.java
index c0ef175..8c982f1 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCNTTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingCNTTask.java
@@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
+import org.nl.common.enums.GoodsEnum;
import org.nl.common.enums.VehicleEnum;
import org.nl.common.enums.region.RegionEnum;
+import org.nl.common.enums.wms.PointStatusEnum;
import org.nl.common.exception.BadRequestException;
import org.nl.system.service.notice.ISysNoticeService;
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
@@ -69,6 +71,7 @@ public class SortingCNTTask extends AbstractTask {
pointService.update(new UpdateWrapper()
.set("ing_task_code",task.getTask_code())
.set("is_lock",true)
+ .set("point_status", GoodsEnum.OUT_OF_STOCK.getValue())
.eq("point_code",basePoint.getPoint_code()));
}
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/log/ConnectorAndSorting.xml b/lms/nladmin-system/nlsso-server/src/main/resources/log/ConnectorAndSorting.xml
new file mode 100644
index 0000000..f55568f
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/log/ConnectorAndSorting.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+ ${LOG_HOME}/connectorOrSorting/%d{yyyy-MM-dd}.%i.log
+
+ 15
+
+ 200MB
+
+ 2GB
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ ${log.charset}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
index 3923d3b..a45f2a7 100644
--- a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
@@ -18,6 +18,7 @@
+