diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/api/agvKit/service/impl/KitToAcsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/api/agvKit/service/impl/KitToAcsServiceImpl.java index 7f3e1ed..fab5247 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/api/agvKit/service/impl/KitToAcsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/api/agvKit/service/impl/KitToAcsServiceImpl.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; +import org.nl.acs.device.device.service.entity.Device; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; import org.nl.acs.api.agvKit.service.enums.MsgTypeEnum; import org.nl.acs.api.agvKit.service.enums.TaskPhaseEnum; import org.nl.acs.api.agvKit.service.enums.TaskStateEnum; @@ -16,8 +16,9 @@ import org.nl.acs.device.storageMgt.service.entity.StorageCell; import org.nl.acs.task.instruction.domain.Instruction; import org.nl.acs.task.instruction.enums.InstructionStatusEnum; import org.nl.acs.task.instruction.service.InstructionService; -import org.nl.acs.iot.opc.DeviceAppService; +import org.nl.acs.iot.opc.service.DeviceAppService; import org.nl.acs.device.storageMgt.service.StorageCellService; +import org.nl.config.MapOf; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -89,7 +90,7 @@ public class KitToAcsServiceImpl implements KitToAcsService { return resp; } DeviceDriver deviceDriver = device.getDeviceDriver(); - deviceDriver.setDeviceInnerParam(instTaskId,taskPhase); + deviceDriver.setDeviceInnerParam(MapOf.of("taskId",instTaskId,"agvphase",taskPhase)); break; case PICKUP_REQUEST_OR_RESPONSE: case PICKUP_COMPLETE: @@ -108,7 +109,7 @@ public class KitToAcsServiceImpl implements KitToAcsService { log.info("---响应kit请求---"+resp.toString()); return resp; } - device.getDeviceDriver().setDeviceInnerParam(instTaskId,taskPhase); + device.getDeviceDriver().setDeviceInnerParam(MapOf.of("taskId",instTaskId,"agvphase",taskPhase)); if (!taskPhase.equals(instruction.getExecute_status())){ instruction.setExecute_status(taskPhase); instructionService.update(instruction); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/AbstractAutoRunnable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/AbstractAutoRunnable.java similarity index 97% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/AbstractAutoRunnable.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/AbstractAutoRunnable.java index 506a5a2..aad7be0 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/AbstractAutoRunnable.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/AbstractAutoRunnable.java @@ -1,4 +1,4 @@ -package org.nl.acs.autoThread; +package org.nl.acs.autoThread.autoRun; import lombok.Data; import lombok.extern.slf4j.Slf4j; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/DeviceExecuteAutoRunable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/DeviceExecuteAutoRunable.java new file mode 100644 index 0000000..f4f30af --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/DeviceExecuteAutoRunable.java @@ -0,0 +1,92 @@ +package org.nl.acs.autoThread.autoRun.impl.deviceAuto; + +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.autoThread.autoRun.AbstractAutoRunnable; +import org.nl.acs.autoThread.service.AutoRunService; +import org.nl.acs.device.deviceDriver.service.impl.BaseDeviceDriver; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.config.OpcConfig; +import org.nl.acs.iot.udw.UnifiedDataAccessor; +import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; +import org.nl.common.utils.BlockedRunable; +import org.nl.config.thread.ThreadPoolExecutorUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; +import java.util.concurrent.*; + +@Component +@Slf4j +public class DeviceExecuteAutoRunable extends AbstractAutoRunnable { + @Autowired + DeviceAppService deviceAppService; + @Autowired + private AutoRunService autoRunService; + int cache_thread = 3; + + int corePoolSize = 50; + int maximumPoolSize = 100; + int queueLength = maximumPoolSize * cache_thread; + + int multiple = cache_thread; + + int loop_time_millions = 100; + + + Map runs; + + public DeviceExecuteAutoRunable() { + this.runs = Collections.synchronizedMap(new LinkedHashMap()); + } + + @Override + public String getCode() { + return DeviceExecuteAutoRunable.class.getSimpleName(); + } + + + @Override + public String getName() { + return "设备执行线程"; + } + + @Override + public void autoRun() throws Exception { + for (int i = 0; !OpcConfig.OPC_START_TAG; ++i) { + log.info("设备执行线程等待opc同步线程..."); + Thread.sleep(1000L); + if (i > 60) { + UnifiedDataAccessor accessor_value = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); + if (accessor_value.getAllKey().size() < 1) { + autoRunService.startThread("DeviceOpcSynchronizeAutoRun"); + } + log.info("设备执行线程放弃等待opc同步线程..."); + break; + } + } + log.info("设备执行线程开始..."); + while (true) { + Thread.sleep(this.loop_time_millions); + List deviceDrivers = this.deviceAppService.findDeviceDriver(BaseDeviceDriver.class); + for (BaseDeviceDriver driver : deviceDrivers) { + if (!this.runs.keySet().contains(driver.getDeviceCode())) { + BlockedRunable runnable = new BlockedRunable() { + @Override + public void subRun(){ + driver.executeAuto(); + } + @Override + public String getCode() { + return driver.getDeviceCode(); + } + }; + this.runs.put(driver.getDeviceCode(), runnable); + runnable.setIndex(this.runs); + ExecutorService executorService = (ExecutorService) ThreadPoolExecutorUtil.getPoll(); + executorService.submit(runnable); + } + } + } + } +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/SocketListenerAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/SocketListenerAutoRun.java similarity index 94% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/SocketListenerAutoRun.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/SocketListenerAutoRun.java index b56e7b3..ce5e7be 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/SocketListenerAutoRun.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/deviceAuto/SocketListenerAutoRun.java @@ -1,8 +1,11 @@ -package org.nl.common.utils.socket; +package org.nl.acs.autoThread.autoRun.impl.deviceAuto; import cn.hutool.core.util.StrUtil; import org.dromara.dynamictp.core.support.ThreadPoolBuilder; -import org.nl.acs.autoThread.AbstractAutoRunnable; +import org.nl.acs.autoThread.autoRun.AbstractAutoRunnable; +import org.nl.common.utils.socket.ClientUDWReceive; +import org.nl.common.utils.socket.SocketProperties; +import org.nl.common.utils.socket.SocketService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcSynchronizeAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncAutoRunnable.java similarity index 71% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcSynchronizeAutoRun.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncAutoRunnable.java index c7d7b6e..9184e0d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcSynchronizeAutoRun.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncAutoRunnable.java @@ -1,8 +1,11 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.autoThread.autoRun.impl.opcSignalAuto; import cn.hutool.core.util.ObjectUtil; import org.dromara.dynamictp.core.support.ThreadPoolBuilder; -import org.nl.acs.autoThread.AbstractAutoRunnable; +import org.nl.acs.autoThread.autoRun.AbstractAutoRunnable; +import org.nl.acs.iot.opc.service.DeviceAppService; +ximport org.nl.acs.iot.opc.OpcServerService; +import org.nl.acs.iot.opc.opc.service.dto.OpcItemDto; import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -21,7 +24,7 @@ import static org.dromara.dynamictp.common.em.QueueTypeEnum.MEMORY_SAFE_LINKED_B * @author 20220102CG\noblelift */ @Component -public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable { +public class OpcSignalSyncAutoRunnable extends AbstractAutoRunnable { public static boolean isRun = false; ExecutorService executorService = ThreadPoolBuilder.newBuilder() @@ -36,12 +39,11 @@ public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable { @Autowired private DeviceAppService deviceAppService; - @Autowired - private OpcServerManageService opcServerManageService; + @Override public String getCode() { - return DeviceOpcSynchronizeAutoRun.class.getSimpleName(); + return OpcSignalSyncAutoRunnable.class.getSimpleName(); } @Override @@ -54,8 +56,7 @@ public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable { { //Thread.sleep(10000L); isRun = true; - - Map servers = this.opcServerManageService.queryAllServerMap(); + Map servers = deviceAppService.queryAllServerMap(); Map>> pros; do { Thread.sleep(1000L); @@ -67,11 +68,11 @@ public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable { while (var4.hasNext()) { String key = (String) var4.next(); List> list = (List) pros.get(key); - OpcServerManageDto opcServer = (OpcServerManageDto) servers.get(key); + OpcServerManageDto opcServer = servers.get(key); Iterator var8 = list.iterator(); while (var8.hasNext()) { List groupProtols = (List) var8.next(); - DeviceOpcProtocolRunable runable = new DeviceOpcProtocolRunable(); + OpcSignalSyncExecutor runable = new OpcSignalSyncExecutor(); runable.setProtocols(groupProtols); runable.setOpcServer(opcServer); this.executorService.submit(runable); @@ -91,15 +92,15 @@ public class DeviceOpcSynchronizeAutoRun extends AbstractAutoRunnable { @Override public void after() { 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(); + if (this.executorService != null && !this.executorService.isShutdown()) { + this.executorService.shutdownNow(); + try { + if (!this.executorService.awaitTermination(30, TimeUnit.SECONDS)) { + // 等待线程池终止 + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcProtocolRunable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncExecutor.java similarity index 92% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcProtocolRunable.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncExecutor.java index 4e81bfc..38776ba 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceOpcProtocolRunable.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/autoRun/impl/opcSignalAuto/OpcSignalSyncExecutor.java @@ -1,16 +1,22 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.autoThread.autoRun.impl.opcSignalAuto; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; +import org.nl.acs.iot.opc.service.OpcServerService; +import org.nl.acs.iot.opc.OpcOperator; +import org.nl.acs.iot.opc.config.OpcConfig; +import org.nl.acs.iot.opc.opc.service.dto.OpcItemDto; +import org.nl.acs.iot.opc.service.dto.QualityTypeValue; import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; import org.nl.acs.iot.udw.UnifiedDataAccessor; import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; import org.nl.acs.iot.udw.UnifiedDataAppService; +import org.nl.common.utils.ObjectUtl; +import org.nl.common.utils.ThreadUtl; import org.nl.config.SpringContextHolder; -import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.system.service.param.ISysParamService; import org.openscada.opc.lib.da.*; @@ -19,10 +25,9 @@ import java.util.regex.Pattern; @Slf4j -public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerConnectionStateListener { +public class OpcSignalSyncExecutor implements Runnable, DataCallback, ServerConnectionStateListener { List protocols; OpcServerManageDto OpcServer; - LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class); int error_num; String message; int maxResartNum; @@ -33,7 +38,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC private Map itemSearchCache; - public DeviceOpcProtocolRunable() { + public OpcSignalSyncExecutor() { this.error_num = 0; this.all_null = 0; this.message = null; @@ -102,7 +107,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC log.trace("清理server..."); } // this.server = OpcServerUtl.getServerWithOutException(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); - this.server = OpcUtl.getServer(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); + this.server = OpcOperator.getServer(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); this.server.addStateListener(this); group = this.server.addGroup(); List itemsString = new ArrayList(); @@ -140,8 +145,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC log.warn("{}:{}", OpcConfig.resource_code, tag); } - if (!OpcStartTag.is_run) { - OpcStartTag.is_run = true; + if (!OpcConfig.OPC_START_TAG) { + OpcConfig.OPC_START_TAG = true; } tag = ""; @@ -155,7 +160,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC UnifiedDataAccessor accessor_value = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); boolean time_out = false; - while (DeviceOpcSynchronizeAutoRun.isRun) { + while (OpcSignalSyncAutoRunnable.isRun) { long begin = System.currentTimeMillis(); if (log.isTraceEnabled()) { log.trace("{} 开始记时{}", tag, DateUtil.now()); @@ -185,7 +190,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC while (var18.hasNext()) { Item item = (Item) var18.next(); ItemState itemState = (ItemState) itemStatus.get(item); - Object value = OpcUtl.getValue(item, itemState); + Object value = OpcOperator.getValue(item, itemState); if (value != null) { valueAllNotNull = true; } else { @@ -278,7 +283,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC } this.server = null; - if (!DeviceOpcSynchronizeAutoRun.isRun) { + if (!OpcSignalSyncAutoRunnable.isRun) { log.warn("opc线程停止2。。。"); return; } @@ -308,7 +313,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC try { if (this.server == null) { // this.server = OpcServerUtl.getServerWithOutException(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); - this.server = OpcUtl.getServer(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); + this.server = OpcOperator.getServer(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); this.server.addStateListener(this); accessor = new Async20Access(this.server, OpcConfig.synchronized_millisecond, true); Iterator var9 = this.protocols.iterator(); @@ -394,7 +399,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC String itemId = item.getId(); try { - Object value = OpcUtl.getValue(item, itemState); + Object value = OpcOperator.getValue(item, itemState); UnifiedDataAccessor accessor_value = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); accessor_value.setValue(itemId, value); log.trace("Item {} new value: {}, Timestamp: {}", new Object[]{itemId, itemState.getValue(), itemState.getTimestamp().getTime()}); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/controller/AutoRunController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/controller/AutoRunController.java index 4dbc96e..f4ee572 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/controller/AutoRunController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/controller/AutoRunController.java @@ -2,8 +2,8 @@ package org.nl.acs.autoThread.controller; import org.nl.acs.autoThread.service.AutoRunService; import org.nl.acs.autoThread.service.dto.AutoRunDto; -import org.nl.common.utils.utils.PageUtil; import org.nl.common.logging.annotation.Log; +import org.nl.common.utils.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/service/impl/AutoRunServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/service/impl/AutoRunServiceImpl.java index 61c0cc7..76fdfc6 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/service/impl/AutoRunServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/autoThread/service/impl/AutoRunServiceImpl.java @@ -5,7 +5,7 @@ import cn.hutool.core.bean.BeanUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.nl.ApplicationAutoInitial; -import org.nl.acs.autoThread.AbstractAutoRunnable; +import org.nl.acs.autoThread.autoRun.AbstractAutoRunnable; import org.nl.acs.autoThread.StartConfig; import org.nl.acs.autoThread.autoRunThread.service.enums.ThreadUsedStatusEnum; import org.nl.acs.autoThread.service.AutoRunService; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceAssignedController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceAssignedController.java deleted file mode 100644 index 43ddf99..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceAssignedController.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.nl.acs.device.device.controller; - - -import lombok.RequiredArgsConstructor; -import org.nl.acs.device.device.service.DeviceAssignedService; -import org.nl.acs.device.device.service.dto.DeviceAssignedQueryParam; -import org.nl.common.logging.annotation.Log; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - **/ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/deviceAssigned") -public class DeviceAssignedController { - - private final DeviceAssignedService deviceAssignedService; - - @GetMapping - @Log("查询设备任务分配信息") - public ResponseEntity query(DeviceAssignedQueryParam query, Pageable pageable) { - return new ResponseEntity<>(deviceAssignedService.queryAll(query, pageable), HttpStatus.OK); - } - - @PostMapping - @Log("新增设备任务分配信息") - public ResponseEntity create(@Validated @RequestBody Map resources) { - deviceAssignedService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改设备任务分配信息") - public ResponseEntity update(@Validated @RequestBody Map resources) { - deviceAssignedService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除设备任务分配信息") - public ResponseEntity delete(@RequestBody Set ids) { - deviceAssignedService.removeByIds(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceDbitemController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceDbitemController.java deleted file mode 100644 index 40e3723..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceDbitemController.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.nl.acs.device.device.controller; - -import org.nl.common.logging.annotation.Log; -import org.nl.acs.device.device.service.DeviceDbitemService; -import org.nl.acs.device.device.service.dto.DeviceDbitemDto; -import org.nl.acs.device.device.service.dto.DeviceDbitemQueryParam; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - **/ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/deviceDbitem") -public class DeviceDbitemController { - - private final DeviceDbitemService deviceDbitemService; - - @GetMapping - @Log("查询设备DB项") - public ResponseEntity query(DeviceDbitemQueryParam query, Pageable pageable) { - return new ResponseEntity<>(deviceDbitemService.queryAll(query, pageable), HttpStatus.OK); - } - - @PostMapping - @Log("新增设备DB项") - public ResponseEntity create(@Validated @RequestBody DeviceDbitemDto resources) { - return new ResponseEntity<>(deviceDbitemService.insert(resources), HttpStatus.CREATED); - } - - @PutMapping - @Log("修改设备DB项") - public ResponseEntity update(@Validated @RequestBody DeviceDbitemDto resources) { - deviceDbitemService.updateById(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除设备DB项") - public ResponseEntity delete(@RequestBody Set ids) { - deviceDbitemService.removeByIds(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - /* - @Log("导出设备DB项") - - @GetMapping(value = "/download") - //@PreAuthorize("@el.check('deviceDbitem:list')") - public void download(HttpServletResponse response, DeviceDbitemQueryParam query) throws IOException { - deviceDbitemService.download(deviceDbitemService.queryAll(query), response); - }*/ - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceErpmappingController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceErpmappingController.java deleted file mode 100644 index 61a0dc1..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceErpmappingController.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.nl.acs.device.device.controller; - -import org.nl.common.logging.annotation.Log; -import org.nl.acs.device.device.service.DeviceErpmappingService; -import org.nl.acs.device.device.service.dto.AcsDeviceErpmappingDto; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Map; - -/** - * @author jiaolm - * @date 2023-05-09 - **/ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/acsDeviceErpmapping") -public class DeviceErpmappingController { - - private final DeviceErpmappingService acsDeviceErpmappingService; - - - @GetMapping - @Log("查询设备-ERP映射") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(acsDeviceErpmappingService.queryAll(whereJson, page), HttpStatus.OK); - } - @PostMapping - @Log("新增设备-ERP映射") - public ResponseEntity create(@Validated @RequestBody AcsDeviceErpmappingDto dto) { - acsDeviceErpmappingService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改设备-ERP映射") - public ResponseEntity update(@Validated @RequestBody AcsDeviceErpmappingDto dto) { - acsDeviceErpmappingService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除设备-ERP映射") - @DeleteMapping - public ResponseEntity delete(@RequestBody String[] ids) { - acsDeviceErpmappingService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - @Log("导出设备-ERP映射") - @GetMapping(value = "/download") - public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { - acsDeviceErpmappingService.download(acsDeviceErpmappingService.queryAll(whereJson), response); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceRunpointController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceRunpointController.java deleted file mode 100644 index cf2bd46..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceRunpointController.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.nl.acs.device.device.controller; - -import org.nl.common.logging.annotation.Log; -import org.nl.acs.device.device.service.DeviceRunpointService; -import org.nl.acs.device.device.service.dto.DeviceRunpointDto; -import org.nl.acs.device.device.service.dto.DeviceRunpointQueryParam; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - **/ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/deviceRunpoint") -public class DeviceRunpointController { - - private final DeviceRunpointService deviceRunpointService; - - @GetMapping - @Log("查询设备点位") - public ResponseEntity query(DeviceRunpointQueryParam query, Pageable pageable) { - return new ResponseEntity<>(deviceRunpointService.queryAll(query, pageable), HttpStatus.OK); - } - - @PostMapping - @Log("新增设备点位") - public ResponseEntity create(@Validated @RequestBody DeviceRunpointDto resources) { - return new ResponseEntity<>(deviceRunpointService.insert(resources), HttpStatus.CREATED); - } - - @PutMapping - @Log("修改设备点位") - public ResponseEntity update(@Validated @RequestBody DeviceRunpointDto resources) { - deviceRunpointService.updateById(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除设备点位") - public ResponseEntity delete(@RequestBody Set ids) { - deviceRunpointService.removeByIds(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - /* - @Log("导出设备点位") - - @GetMapping(value = "/download") - //@PreAuthorize("@el.check('deviceRunpoint:list')") - public void download(HttpServletResponse response, DeviceRunpointQueryParam query) throws IOException { - deviceRunpointService.download(deviceRunpointService.queryAll(query), response); - }*/ - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceisonlineController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceisonlineController.java deleted file mode 100644 index 586fde9..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceisonlineController.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.nl.acs.device.device.controller; - -import org.nl.common.logging.annotation.Log; -import org.nl.acs.device.device.service.DeviceisonlineService; -import org.nl.acs.device.device.service.dto.DeviceisonlineDto; -import org.nl.acs.device.device.service.dto.DeviceisonlineQueryParam; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - **/ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/deviceisonline") -public class DeviceisonlineController { - - private final DeviceisonlineService deviceisonlineService; - - @GetMapping - @Log("查询设备在线状态") - public ResponseEntity query(DeviceisonlineQueryParam query, Pageable pageable) { - return new ResponseEntity<>(deviceisonlineService.queryAll(query, pageable), HttpStatus.OK); - } - - @PostMapping - @Log("新增设备在线状态") - public ResponseEntity create(@Validated @RequestBody DeviceisonlineDto resources) { - return new ResponseEntity<>(deviceisonlineService.insert(resources), HttpStatus.CREATED); - } - - @PutMapping - @Log("修改设备在线状态") - public ResponseEntity update(@Validated @RequestBody DeviceisonlineDto resources) { - deviceisonlineService.updateById(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除设备在线状态") - public ResponseEntity delete(@RequestBody Set ids) { - deviceisonlineService.removeByIds(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - /* - @Log("导出设备在线状态") - - @GetMapping(value = "/download") - //@PreAuthorize("@el.check('deviceisonline:list')") - public void download(HttpServletResponse response, DeviceisonlineQueryParam query) throws IOException { - deviceisonlineService.download(deviceisonlineService.queryAll(query), response); - }*/ - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceAssignedService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceAssignedService.java deleted file mode 100644 index 758af8d..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceAssignedService.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.nl.acs.device.device.service; - -import org.nl.acs.device.device.service.domain.DeviceAssigned; -import org.nl.acs.device.device.service.dto.DeviceAssignedDto; -import org.nl.acs.device.device.service.dto.DeviceAssignedQueryParam; -import org.nl.common.db.CommonService; -import org.nl.common.db.PageInfo; -import org.springframework.data.domain.Pageable; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -public interface DeviceAssignedService extends CommonService { - - static final String CACHE_KEY = "deviceAssigned"; - - /** - * 查询数据分页 - * - * @param query 条件 - * @param pageable 分页参数 - * @return PageInfo - */ - PageInfo queryAll(DeviceAssignedQueryParam query, Pageable pageable); - - /** - * 查询所有数据不分页 - * - * @param query 条件参数 - * @return List - */ - List queryAll(DeviceAssignedQueryParam query); - - /** - * 根据id获取DeviceAssigned - * @param id - * @return - */ - DeviceAssigned getById(String id); - - /** - * 根据id获取DeviceAssignedDto - * @param id - * @return - */ - DeviceAssignedDto findById(String id); - - /** - * 插入 - * @param resources - * @return - */ - int insert(DeviceAssignedDto resources); - - /** - * 更新 - * @param resources - * @return - */ - int updateById(DeviceAssignedDto resources); - - /** - * 删除 - * @param id - * @return - */ - int removeById(String id); - - /** - * 批量删除 - * @param ids - * @return - */ - int removeByIds(Set ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - // void download(List all, HttpServletResponse response) throws IOException; - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param assigned_id ID - * @return DeviceAssigned - */ -// DeviceAssignedDto findById(String assigned_id); - - /** - * 根据编码查询 - * - * @param code code - * @return DeviceAssigned - */ -// DeviceAssignedDto findByCode(String code); - - - /** - * 创建 - * - * @param whereJson / - */ - void create(Map whereJson); - - /** - * 编辑 - * @param whereJson - */ - void update(Map whereJson); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(String[] ids); - - /** - * 导出数据 - * - * @param dtos 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List dtos, HttpServletResponse response) throws IOException; - - /** - * queryAssignedBydevice - * @param device_code - * @param task_nextDeice_code - * @return - */ - List queryAssignedByDevice(String device_code, String task_nextDeice_code); -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDbitemService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDbitemService.java deleted file mode 100644 index a742cbf..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDbitemService.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.nl.acs.device.device.service; - -import org.nl.acs.device.device.service.domain.DeviceDbitem; -import org.nl.acs.device.device.service.dto.DeviceDbitemDto; -import org.nl.common.db.PageInfo; -import org.nl.common.db.CommonService; -import org.nl.acs.device.device.service.dto.DeviceDbitemQueryParam; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -public interface DeviceDbitemService extends CommonService { - - static final String CACHE_KEY = "deviceDbitem"; - - /** - * 查询数据分页 - * - * @param query 条件 - * @param pageable 分页参数 - * @return PageInfo - */ - PageInfo queryAll(DeviceDbitemQueryParam query, Pageable pageable); - - /** - * 查询所有数据不分页 - * - * @param query 条件参数 - * @return List - */ - List queryAll(DeviceDbitemQueryParam query); - - /** - * 根据id获取DeviceDbitem - * @param id - * @return - */ - DeviceDbitem getById(String id); - - /** - * 根据id获取DeviceDbitemDto - * @param id - * @return - */ - DeviceDbitemDto findById(String id); - - /** - * 插入 - * @param resources - * @return - */ - int insert(DeviceDbitemDto resources); - - /** - * 更新 - * @param resources - * @return - */ - int updateById(DeviceDbitemDto resources); - - /** - * 删除 - * @param id - * @return - */ - int removeById(String id); - - /** - * 批量删除 - * @param ids - * @return - */ - int removeByIds(Set ids); - - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDriverDefinationAppService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDriverDefinationAppService.java index 2ab1ef2..acf2487 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDriverDefinationAppService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceDriverDefinationAppService.java @@ -1,8 +1,8 @@ package org.nl.acs.device.device.service; import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import java.util.List; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceErpmappingService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceErpmappingService.java deleted file mode 100644 index 2bc0b23..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceErpmappingService.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.nl.acs.device.device.service; - -import org.nl.common.db.PageInfo; -import org.nl.common.db.CommonService; -import org.nl.acs.device.device.service.domain.DeviceErpmapping; -import org.nl.acs.device.device.service.dto.AcsDeviceErpmappingDto; -import org.nl.acs.device.device.service.dto.DeviceErpmappingQueryParam; -import org.springframework.data.domain.Pageable; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -public interface DeviceErpmappingService extends CommonService { - - static final String CACHE_KEY = "deviceErpmapping"; - - /** - * 查询数据分页 - * - * @param query 条件 - * @param pageable 分页参数 - * @return PageInfo - */ - PageInfo queryAll(DeviceErpmappingQueryParam query, Pageable pageable); - - /** - * 查询所有数据不分页 - * - * @param query 条件参数 - * @return List - */ - List queryAll(DeviceErpmappingQueryParam query); - /** - * 根据id获取Dto - * @param id - * @return - */ - DeviceErpmapping getById(String id); - /** - * 根据id获取类 - * @param id - * @return - */ - AcsDeviceErpmappingDto findById(String id); - - /** - * 插入 - * @param resources - * @return - */ - int insert(AcsDeviceErpmappingDto resources); - - /** - * 更新 - * @param resources - * @return - */ - int updateById(AcsDeviceErpmappingDto resources); - - /** - * 删除 - * @param id - * @return - */ - int removeById(String id); - - /** - * 批量删除 - * @param ids - * @return - */ - int removeByIds(Set ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - // void download(List all, HttpServletResponse response) throws IOException; - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param device_id ID - * @return AcsDeviceErpmapping - */ -// AcsDeviceErpmappingDto findById(String device_id); - - /** - * 根据编码查询 - * - * @param code code - * @return AcsDeviceErpmapping - */ -// AcsDeviceErpmappingDto findByCode(String code); - - - /** - * 创建 - * - * @param dto / - */ - void create(AcsDeviceErpmappingDto dto); - - /** - * 编辑 - * - * @param dto / - */ - void update(AcsDeviceErpmappingDto dto); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(String[] ids); - - /** - * 导出数据 - * - * @param dtos 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List dtos, HttpServletResponse response) throws IOException; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceRunpointService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceRunpointService.java deleted file mode 100644 index a9b0cd7..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceRunpointService.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.nl.acs.device.device.service; - -import org.nl.acs.device.device.service.domain.DeviceRunpoint; -import org.nl.common.db.PageInfo; -import org.nl.common.db.CommonService; -import org.nl.acs.device.device.service.dto.DeviceRunpointDto; -import org.nl.acs.device.device.service.dto.DeviceRunpointQueryParam; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -public interface DeviceRunpointService extends CommonService { - - static final String CACHE_KEY = "deviceRunpoint"; - - /** - * 查询数据分页 - * - * @param query 条件 - * @param pageable 分页参数 - * @return PageInfo - */ - PageInfo queryAll(DeviceRunpointQueryParam query, Pageable pageable); - - /** - * 查询所有数据不分页 - * - * @param query 条件参数 - * @return List - */ - List queryAll(DeviceRunpointQueryParam query); - /** - * 根据id获取类 - * @param id - * @return - */ - DeviceRunpoint getById(String id); - /** - * 根据id获取Dto - * @param id - * @return - */ - DeviceRunpointDto findById(String id); - - /** - * 插入 - * @param resources - * @return - */ - int insert(DeviceRunpointDto resources); - /** - * 更新 - * @param resources - * @return - */ - int updateById(DeviceRunpointDto resources); - /** - * 删除 - * @param id - * @return - */ - int removeById(String id); - /** - * 批量删除 - * @param ids - * @return - */ - int removeByIds(Set ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - // void download(List all, HttpServletResponse response) throws IOException; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceService.java index 061235f..c683544 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceService.java @@ -2,7 +2,7 @@ package org.nl.acs.device.device.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.dto.DeviceDto; import org.nl.acs.device.device.service.dto.DeviceQueryParam; import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceisonlineService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceisonlineService.java deleted file mode 100644 index a0609f9..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceisonlineService.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.nl.acs.device.device.service; - -import org.nl.acs.device.device.service.domain.Deviceisonline; -import org.nl.common.db.PageInfo; -import org.nl.common.db.CommonService; -import org.nl.acs.device.device.service.dto.DeviceisonlineDto; -import org.nl.acs.device.device.service.dto.DeviceisonlineQueryParam; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Set; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -public interface DeviceisonlineService extends CommonService { - - static final String CACHE_KEY = "deviceisonline"; - - /** - * 查询数据分页 - * - * @param query 条件 - * @param pageable 分页参数 - * @return PageInfo - */ - PageInfo queryAll(DeviceisonlineQueryParam query, Pageable pageable); - - /** - * 查询所有数据不分页 - * - * @param query 条件参数 - * @return List - */ - List queryAll(DeviceisonlineQueryParam query); - /** - * 根据id获取类 - * @param id - * @return - */ - Deviceisonline getById(String id); - /** - * 根据id获取Dto - * @param id - * @return - */ - DeviceisonlineDto findById(String id); - - /** - * 插入 - * @param resources - * @return - */ - int insert(DeviceisonlineDto resources); - /** - * 更新 - * @param resources - * @return - */ - int updateById(DeviceisonlineDto resources); - /** - * 删除 - * @param id - * @return - */ - int removeById(String id); - /** - * 批量删除 - * @param ids - * @return - */ - int removeByIds(Set ids); - - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceAssigned.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceAssigned.java deleted file mode 100644 index cdc937c..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceAssigned.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import com.baomidou.mybatisplus.annotation.*; - -import lombok.*; -import lombok.experimental.Accessors; -import org.nl.common.db.CommonModel; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_device_assigned") -public class DeviceAssigned extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String assigned_id; - - - @NotBlank - private String device_code; - - - private String inst_nextDevice_code; - - - private String task_nextDevice_code; - - - private String param; - - - private String remark; - - - @NotBlank - private String is_active; - - - @NotBlank - private String is_delete; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_by; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_time; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_by; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_time; - - public void copyFrom(DeviceAssigned source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceDbitem.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceDbitem.java deleted file mode 100644 index ae642e8..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceDbitem.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import org.nl.common.db.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; - -import javax.validation.constraints.*; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_device_dbitem") -public class DeviceDbitem extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String item_id; - - - @NotBlank - private String item_code; - - - @NotBlank - private String item_name; - - - private String db_code; - - - private String db_value; - - - private String value_type; - - - private String collect_type; - - - @NotBlank - private String device_id; - - - private String remark; - - - @NotBlank - private String is_active; - - - @NotBlank - private String is_delete; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_by; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_time; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_by; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_time; - - public void copyFrom(DeviceDbitem source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceErpmapping.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceErpmapping.java deleted file mode 100644 index 558f848..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceErpmapping.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import org.nl.common.db.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; - -import javax.validation.constraints.*; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_device_erpmapping") -public class DeviceErpmapping extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String device_id; - - - @NotBlank - private String device_code; - - - @NotBlank - private String device_name; - - - @NotBlank - private String device_type; - - - @NotBlank - private String driver_code; - - - @NotBlank - private String erp_code; - - public void copyFrom(DeviceErpmapping source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceMybatis.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceMybatis.java deleted file mode 100644 index df81b19..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceMybatis.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import org.nl.common.db.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; - -import javax.validation.constraints.*; -import java.math.BigDecimal; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-12 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_device") -public class DeviceMybatis extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String device_id; - - - @NotBlank - private String device_code; - - - @NotBlank - private String device_name; - - - private String device_type; - - - private String region; - - - private String manufacturer; - - - private String manufacturer_phone; - - - @NotBlank - private String is_config; - - - private String opc_server_id; - - - private String opc_plc_id; - - - @NotBlank - private String is_route; - - - private String driver_code; - - - private String remark; - - - @NotBlank - private String is_active; - - - @NotNull - private BigDecimal seq_num; - - - @NotBlank - private String is_delete; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_by; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_time; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_by; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_time; - - - private String address; - - public void copyFrom(Device source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceRunpoint.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceRunpoint.java deleted file mode 100644 index 51a1168..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceRunpoint.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import org.nl.common.db.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; - -import javax.validation.constraints.*; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_device_runpoint") -public class DeviceRunpoint extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String device_id; - - - @NotBlank - private String device_code; - - - @NotBlank - private String hasgoods; - - - private String container; - - - private String taskno; - - - private String remark; - - - @NotBlank - private String is_active; - - - @NotBlank - private String is_delete; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_by; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_time; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_by; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_time; - - - private String material_type; - - - private String batch; - - - private String islock; - - public void copyFrom(DeviceRunpoint source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Deviceisonline.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Deviceisonline.java deleted file mode 100644 index f59f716..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Deviceisonline.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.nl.acs.device.device.service.domain; - -import org.nl.common.db.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; - -import javax.validation.constraints.*; -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -@TableName("acs_deviceisonline") -public class Deviceisonline extends CommonModel implements Serializable { - private static final long serialVersionUID = 1L; - - - @TableId(type = IdType.ASSIGN_ID) - private String online_id; - - - @NotBlank - private String device_code; - - - @NotBlank - private String order_code; - - - @NotBlank - private String online_status; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_by; - - - @NotBlank - @TableField(fill = FieldFill.INSERT) - private String create_time; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_by; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - private String update_time; - - public void copyFrom(Deviceisonline source) { - BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/AcsDeviceErpmappingDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/AcsDeviceErpmappingDto.java deleted file mode 100644 index f4d74ed..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/AcsDeviceErpmappingDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.*; -import lombok.experimental.Accessors; -import java.io.Serializable; - - - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class AcsDeviceErpmappingDto implements Serializable { - private static final long serialVersionUID = 1L; - - - private String device_id; - - - private String device_code; - - - private String device_name; - - - private String device_type; - - - private String driver_code; - - - private String erp_code; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedDto.java deleted file mode 100644 index 6e4003f..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.nl.acs.device.device.service.dto; - - -import lombok.*; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class DeviceAssignedDto implements Serializable { - private static final long serialVersionUID = 1L; - - - private String assigned_id; - - - private String device_code; - - - private String inst_nextDevice_code; - - - private String task_nextDevice_code; - - - private String param; - - - private String remark; - - - private String is_active; - - - private String is_delete; - - - private String create_by; - - - private String create_time; - - - private String update_by; - - - private String update_time; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedQueryParam.java deleted file mode 100644 index 64529a5..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceAssignedQueryParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.Getter; -import lombok.Setter; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Getter -@Setter -public class DeviceAssignedQueryParam { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemDto.java deleted file mode 100644 index c5a2a61..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemDto.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.*; -import lombok.experimental.Accessors; -import java.io.Serializable; - - - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class DeviceDbitemDto implements Serializable { - private static final long serialVersionUID = 1L; - - - private String item_id; - - - private String item_code; - - - private String item_name; - - - private String db_code; - - - private String db_value; - - - private String value_type; - - - private String collect_type; - - - private String device_id; - - - private String remark; - - - private String is_active; - - - private String is_delete; - - - private String create_by; - - - private String create_time; - - - private String update_by; - - - private String update_time; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemQueryParam.java deleted file mode 100644 index 420c78b..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceDbitemQueryParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.Getter; -import lombok.Setter; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Getter -@Setter -public class DeviceDbitemQueryParam { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceErpmappingQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceErpmappingQueryParam.java deleted file mode 100644 index 7e1a0eb..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceErpmappingQueryParam.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.Getter; -import lombok.Setter; -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Getter -@Setter -public class DeviceErpmappingQueryParam { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointDto.java deleted file mode 100644 index 17e396c..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointDto.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.*; -import lombok.experimental.Accessors; - -import java.io.Serializable; - - - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class DeviceRunpointDto implements Serializable { - private static final long serialVersionUID = 1L; - - - private String device_id; - - - private String device_code; - - - private String hasgoods; - - - private String container; - - - private String taskno; - - - private String remark; - - - private String is_active; - - - private String is_delete; - - - private String create_by; - - - private String create_time; - - - private String update_by; - - - private String update_time; - - - private String material_type; - - - private String batch; - - - private String islock; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointQueryParam.java deleted file mode 100644 index e59e8c8..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceRunpointQueryParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.Getter; -import lombok.Setter; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Getter -@Setter -public class DeviceRunpointQueryParam { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineDto.java deleted file mode 100644 index f06219c..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineDto.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.*; -import lombok.experimental.Accessors; -import java.io.Serializable; - - - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class DeviceisonlineDto implements Serializable { - private static final long serialVersionUID = 1L; - - - private String online_id; - - - private String device_code; - - - private String order_code; - - - private String online_status; - - - private String create_by; - - - private String create_time; - - - private String update_by; - - - private String update_time; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineQueryParam.java deleted file mode 100644 index 62428df..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceisonlineQueryParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.dto; - -import lombok.Getter; -import lombok.Setter; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Getter -@Setter -public class DeviceisonlineQueryParam { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Device.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/entity/Device.java similarity index 94% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Device.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/entity/Device.java index 61189eb..1113011 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/Device.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/entity/Device.java @@ -1,8 +1,8 @@ -package org.nl.acs.device.device.service.domain; +package org.nl.acs.device.device.service.entity; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.nl.acs.iot.opc.DeviceExtraManageDto; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; +import org.nl.acs.iot.opc.service.dto.DeviceExtraManageDto; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceAssignedServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceAssignedServiceImpl.java deleted file mode 100644 index b3ffe76..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceAssignedServiceImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -package org.nl.acs.device.device.service.impl; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.DeviceAssigned; -import org.nl.acs.device.device.service.DeviceAssignedService; -import org.nl.acs.device.device.service.mapper.DeviceAssignedMapper; -import org.nl.common.db.CommonFinalParam; -import org.nl.acs.device.device.service.dto.DeviceAssignedDto; -import org.nl.acs.device.device.service.dto.DeviceAssignedQueryParam; -import org.nl.common.db.PageInfo; -import org.nl.common.db.QueryHelpMybatisPlus; -import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.common.utils.ConvertUtil; -import org.nl.common.utils.FileUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.common.utils.SecurityUtils; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Service -@AllArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class DeviceAssignedServiceImpl extends CommonServiceImpl implements DeviceAssignedService { - - private final DeviceAssignedMapper deviceAssignedMapper; - - @Override - public PageInfo queryAll(DeviceAssignedQueryParam query, Pageable pageable) { - IPage queryPage = PageUtil.toMybatisPage(pageable); - IPage page = deviceAssignedMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); - return ConvertUtil.convertPage(page, DeviceAssignedDto.class); - } - - @Override - public List queryAll(DeviceAssignedQueryParam query) { - return ConvertUtil.convertList(deviceAssignedMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), DeviceAssignedDto.class); - } - - @Override - public DeviceAssigned getById(String id) { - return deviceAssignedMapper.selectById(id); - } - - @Override - public DeviceAssignedDto findById(String id) { - return ConvertUtil.convert(getById(id), DeviceAssignedDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(DeviceAssignedDto resources) { - DeviceAssigned entity = ConvertUtil.convert(resources, DeviceAssigned.class); - return deviceAssignedMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateById(DeviceAssignedDto resources) { - DeviceAssigned entity = ConvertUtil.convert(resources, DeviceAssigned.class); - int ret = deviceAssignedMapper.updateById(entity); - return ret; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids) { - return deviceAssignedMapper.deleteBatchIds(ids); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeById(String id) { - Set set = new HashSet<>(1); - set.add(id); - return this.removeByIds(set); - } - - - @Override - public Map queryAll(Map whereJson, Pageable page) { - IPage queryPage = PageUtil.toMybatisPage(page); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.orderByDesc(DeviceAssigned::getUpdate_time); - IPage deviceAssignedIPage = deviceAssignedMapper.selectPage(queryPage, wrapper); - final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(deviceAssignedIPage, DeviceAssigned.class)); - return json; - } - - @Override - public List queryAll(Map whereJson) { - List list = new LambdaQueryChainWrapper<>(deviceAssignedMapper) - .list(); - return ConvertUtil.convertList(list, DeviceAssignedDto.class); - } - - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(Map whereJson) { - JSONObject param = new JSONObject(); - String currentUsername = SecurityUtils.getCurrentNickName(); - String device_code = whereJson.get("device_code").toString(); - String task_nextdevice = String.join(",", (List) whereJson.get("task_nextDevice_code")); - String inst_nextdevice = String.join(",", (List) whereJson.get("inst_nextDevice_code")); - ArrayList list = (ArrayList) whereJson.get("tableData"); - JSONObject jo = new JSONObject(); - for (int i = 0; i < list.size(); i++) { - Map one = (Map) list.get(i); - String device = one.get("device").toString(); - String limit = one.get("limit").toString(); - String scale = one.get("scale").toString(); - Boolean inOut = (Boolean) one.get("inOut"); - JSONObject data = new JSONObject(); - data.put("limit", limit); - data.put("scale", scale); - data.put("inOut", inOut); - jo.put(device, data); - } - String now = DateUtil.now(); - param.put("assigned_id", IdUtil.simpleUUID()); - param.put("device_code", device_code); - param.put("task_nextDevice_code", task_nextdevice.toString()); - param.put("inst_nextDevice_code", inst_nextdevice.toString()); - param.put("param", jo); - param.put("is_active", CommonFinalParam.ONE); - param.put("is_delete", CommonFinalParam.ONE); - param.put("create_by", currentUsername); - param.put("create_time", now); - param.put("update_by", currentUsername); - param.put("update_time", now); - DeviceAssigned entity = ConvertUtil.convert(param, DeviceAssigned.class); - deviceAssignedMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(Map whereJson) { - JSONObject param = new JSONObject(); - String device_code = whereJson.get("device_code").toString(); - String task_nextdevice = String.join(",", (List) whereJson.get("task_nextDevice_code")); - String inst_nextdevice = String.join(",", (List) whereJson.get("inst_nextDevice_code")); - String assigned_id = whereJson.get("assigned_id").toString(); - param.put("assigned_id", assigned_id); - param.put("device_code", device_code); - param.put("task_nextDevice_code", task_nextdevice.toString()); - param.put("inst_nextDevice_code", inst_nextdevice.toString()); - ArrayList list = (ArrayList) whereJson.get("tableData"); - JSONObject jo = new JSONObject(); - for (int i = 0; i < list.size(); i++) { - Map one = (Map) list.get(i); - String device = one.get("device").toString(); - String limit = one.get("limit").toString(); - String scale = one.get("scale").toString(); - Boolean inOut = (Boolean) one.get("inOut"); - JSONObject data = new JSONObject(); - data.put("limit", limit); - data.put("scale", scale); - data.put("inOut", inOut); - jo.put(device, data); - } - param.put("param", jo); - String currentUsername = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - param.put("update_by", currentUsername); - param.put("update_time", now); - DeviceAssigned storageCell = ConvertUtil.convert(param, DeviceAssigned.class); - deviceAssignedMapper.updateById(storageCell); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(String[] ids) { - for (String assigned_id : ids) { - this.removeById(assigned_id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (DeviceAssignedDto deviceAssigned : all) { - Map map = new LinkedHashMap<>(); - map.put("设备编码", deviceAssigned.getDevice_code()); - map.put("指令终点", deviceAssigned.getInst_nextDevice_code()); - map.put("任务终点", deviceAssigned.getTask_nextDevice_code()); - map.put("参数", deviceAssigned.getParam()); - map.put("备注", deviceAssigned.getRemark()); - map.put("是否启用", deviceAssigned.getIs_active()); - map.put("是否删除", deviceAssigned.getIs_delete()); - map.put("创建者", deviceAssigned.getCreate_by()); - map.put("创建时间", deviceAssigned.getCreate_time()); - map.put("修改者", deviceAssigned.getUpdate_by()); - map.put("修改时间", deviceAssigned.getUpdate_time()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - @Override - public List queryAssignedByDevice(String device_code, String task_nextDeice_code) { - List oldList = new LambdaQueryChainWrapper<>(deviceAssignedMapper) - .eq(DeviceAssigned::getDevice_code, device_code) - .list(); - List newList = new ArrayList<>(); - Optional - .ofNullable(oldList) - .orElse(new ArrayList<>()) - .stream() - .forEach(olDeviceAssigned -> { - Arrays.stream((olDeviceAssigned.getTask_nextDevice_code() == null ? "" : olDeviceAssigned.getTask_nextDevice_code()).split(",")) - .forEach(task_code -> { - if (task_code.equals(task_nextDeice_code)) { - DeviceAssigned deviceAssigned = new DeviceAssigned(); - deviceAssigned.setAssigned_id(olDeviceAssigned.getAssigned_id()); - deviceAssigned.setDevice_code(olDeviceAssigned.getDevice_code()); - deviceAssigned.setInst_nextDevice_code(olDeviceAssigned.getInst_nextDevice_code()); - deviceAssigned.setTask_nextDevice_code(task_nextDeice_code); - deviceAssigned.setParam(olDeviceAssigned.getParam()); - newList.add(deviceAssigned); - } - }); - }); - return ConvertUtil.convertList(newList, DeviceAssignedDto.class); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceDbitemServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceDbitemServiceImpl.java deleted file mode 100644 index 7b9f77f..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceDbitemServiceImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.nl.acs.device.device.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.DeviceDbitem; -import org.nl.acs.device.device.service.mapper.DeviceDbitemMapper; -import org.nl.common.db.PageInfo; -import org.nl.common.db.QueryHelpMybatisPlus; -import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.common.utils.ConvertUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.acs.device.device.service.DeviceDbitemService; -import org.nl.acs.device.device.service.dto.DeviceDbitemDto; -import org.nl.acs.device.device.service.dto.DeviceDbitemQueryParam; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Pageable; - -import java.util.*; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Service -@AllArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class DeviceDbitemServiceImpl extends CommonServiceImpl implements DeviceDbitemService { - - private final DeviceDbitemMapper deviceDbitemMapper; - - @Override - public PageInfo queryAll(DeviceDbitemQueryParam query, Pageable pageable) { - IPage queryPage = PageUtil.toMybatisPage(pageable); - IPage page = deviceDbitemMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); - return ConvertUtil.convertPage(page, DeviceDbitemDto.class); - } - - @Override - public List queryAll(DeviceDbitemQueryParam query) { - return ConvertUtil.convertList(deviceDbitemMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), DeviceDbitemDto.class); - } - - @Override - public DeviceDbitem getById(String id) { - return deviceDbitemMapper.selectById(id); - } - - @Override - public DeviceDbitemDto findById(String id) { - return ConvertUtil.convert(getById(id), DeviceDbitemDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(DeviceDbitemDto resources) { - DeviceDbitem entity = ConvertUtil.convert(resources, DeviceDbitem.class); - return deviceDbitemMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateById(DeviceDbitemDto resources) { - DeviceDbitem entity = ConvertUtil.convert(resources, DeviceDbitem.class); - int ret = deviceDbitemMapper.updateById(entity); - // delCaches(resources.id); - return ret; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids) { - // delCaches(ids); - return deviceDbitemMapper.deleteBatchIds(ids); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeById(String id) { - Set set = new HashSet<>(1); - set.add(id); - return this.removeByIds(set); - } - - /* - private void delCaches(String id) { - redisUtils.delByKey(CACHE_KEY + "::id:", id); - } - - private void delCaches(Set ids) { - for (String id: ids) { - delCaches(id); - } - }*/ - - /* - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (DeviceDbitemDto deviceDbitem : all) { - Map map = new LinkedHashMap<>(); - map.put("项编码", deviceDbitem.getItemCode()); - map.put("项名字", deviceDbitem.getItemName()); - map.put("DB块编码", deviceDbitem.getDbCode()); - map.put("DB块值", deviceDbitem.getDbValue()); - map.put("值类型", deviceDbitem.getValueType()); - map.put("采集类型", deviceDbitem.getCollectType()); - map.put("设备标识", deviceDbitem.getDeviceId()); - map.put("备注", deviceDbitem.getRemark()); - map.put("是否启用", deviceDbitem.getIsActive()); - map.put("是否删除", deviceDbitem.getIsDelete()); - map.put("创建者", deviceDbitem.getCreateBy()); - map.put("创建时间", deviceDbitem.getCreateTime()); - map.put("修改者", deviceDbitem.getUpdateBy()); - map.put("修改时间", deviceDbitem.getUpdateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - }*/ -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceErpmappingServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceErpmappingServiceImpl.java deleted file mode 100644 index 2a08be3..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceErpmappingServiceImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -package org.nl.acs.device.device.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.DeviceErpmapping; -import org.nl.acs.device.device.service.DeviceErpmappingService; -import org.nl.acs.device.device.service.mapper.DeviceErpmappingMapper; -import org.nl.acs.device.device.service.mapper.DeviceMapper; -import org.nl.common.db.PageInfo; -import org.nl.common.db.QueryHelpMybatisPlus; -import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.acs.device.device.service.dto.AcsDeviceErpmappingDto; -import org.nl.acs.device.device.service.dto.DeviceErpmappingQueryParam; -import org.nl.common.utils.ConvertUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.common.exception.BadRequestException; -import org.nl.common.utils.FileUtil; -import org.nl.config.language.LangProcess; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Service -@AllArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class DeviceErpmappingServiceImpl extends CommonServiceImpl implements DeviceErpmappingService { - - private final DeviceErpmappingMapper deviceErpmappingMapper; - private final DeviceMapper deviceMapper; - - @Override - public PageInfo queryAll(DeviceErpmappingQueryParam query, Pageable pageable) { - IPage queryPage = PageUtil.toMybatisPage(pageable); - IPage page = deviceErpmappingMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); - return ConvertUtil.convertPage(page, AcsDeviceErpmappingDto.class); - } - - @Override - public List queryAll(DeviceErpmappingQueryParam query) { - return ConvertUtil.convertList(deviceErpmappingMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), AcsDeviceErpmappingDto.class); - } - - @Override - public DeviceErpmapping getById(String id) { - return deviceErpmappingMapper.selectById(id); - } - - @Override - public AcsDeviceErpmappingDto findById(String id) { - return ConvertUtil.convert(getById(id), AcsDeviceErpmappingDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(AcsDeviceErpmappingDto resources) { - DeviceErpmapping entity = ConvertUtil.convert(resources, DeviceErpmapping.class); - return deviceErpmappingMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateById(AcsDeviceErpmappingDto resources) { - DeviceErpmapping entity = ConvertUtil.convert(resources, DeviceErpmapping.class); - int ret = deviceErpmappingMapper.updateById(entity); - // delCaches(resources.id); - return ret; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids) { - // delCaches(ids); - return deviceErpmappingMapper.deleteBatchIds(ids); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeById(String id) { - Set set = new HashSet<>(1); - set.add(id); - return this.removeByIds(set); - } - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String device_code = (String) whereJson.get("device_code"); - String erp_code = (String) whereJson.get("erp_code"); - IPage queryPage = PageUtil.toMybatisPage(page); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(device_code), DeviceErpmapping::getDevice_code, device_code); - wrapper.eq(StringUtils.isNotBlank(erp_code), DeviceErpmapping::getErp_code, erp_code); - wrapper.orderByDesc(DeviceErpmapping::getDevice_code); - IPage IPage = deviceErpmappingMapper.selectPage(queryPage, wrapper); - final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(IPage, DeviceErpmapping.class)); - return json; - } - - @Override - public List queryAll(Map whereJson) { - List list = new LambdaQueryChainWrapper<>(deviceErpmappingMapper) - .list(); - return ConvertUtil.convertList(list, AcsDeviceErpmappingDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(AcsDeviceErpmappingDto dto) { - String device_code = dto.getDevice_code(); - if (StrUtil.isEmpty(device_code)) { - throw new BadRequestException("设备编号不能为空!"); - } - Device device = new LambdaQueryChainWrapper<>(deviceMapper) - .eq(Device::getDevice_code, device_code) - .one(); - DeviceErpmapping map = new LambdaQueryChainWrapper<>(deviceErpmappingMapper) - .eq(DeviceErpmapping::getDevice_id, device.getDevice_id()) - .one(); - if (map != null) { - throw new BadRequestException("该设备已经插入过映射表,请重新选择!"); - } - dto.setDevice_id(device.getDevice_id()); - dto.setDevice_name(device.getDevice_name()); - dto.setDevice_type(device.getDevice_type()); - dto.setDriver_code(device.getDriver_code()); - - DeviceErpmapping entity = ConvertUtil.convert(dto, DeviceErpmapping.class); - deviceErpmappingMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(AcsDeviceErpmappingDto dto) { - AcsDeviceErpmappingDto entity = this.findById(dto.getDevice_id()); - if (entity == null) { - throw new BadRequestException(LangProcess.msg("error_sysAuth")); - } - DeviceErpmapping deviceErpmapping = ConvertUtil.convert(dto, DeviceErpmapping.class); - deviceErpmappingMapper.updateById(deviceErpmapping); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(String[] ids) { - for (String device_id : ids) { - deviceErpmappingMapper.deleteById(device_id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (AcsDeviceErpmappingDto acsDeviceErpmapping : all) { - Map map = new LinkedHashMap<>(); - map.put("设备编码", acsDeviceErpmapping.getDevice_code()); - map.put("设备名字", acsDeviceErpmapping.getDevice_name()); - map.put("设备类型", acsDeviceErpmapping.getDevice_type()); - map.put("设备驱动类型", acsDeviceErpmapping.getDriver_code()); - map.put("所属ERP设备", acsDeviceErpmapping.getErp_code()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceRunpointServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceRunpointServiceImpl.java deleted file mode 100644 index 97b151e..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceRunpointServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.nl.acs.device.device.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.DeviceRunpoint; -import org.nl.acs.device.device.service.DeviceRunpointService; -import org.nl.acs.device.device.service.mapper.DeviceRunpointMapper; -import org.nl.common.db.PageInfo; -import org.nl.common.db.QueryHelpMybatisPlus; -import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.common.utils.ConvertUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.acs.device.device.service.dto.DeviceRunpointDto; -import org.nl.acs.device.device.service.dto.DeviceRunpointQueryParam; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Pageable; - -import java.util.*; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Service -@AllArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class DeviceRunpointServiceImpl extends CommonServiceImpl implements DeviceRunpointService { - - private final DeviceRunpointMapper deviceRunpointMapper; - - @Override - public PageInfo queryAll(DeviceRunpointQueryParam query, Pageable pageable) { - IPage queryPage = PageUtil.toMybatisPage(pageable); - IPage page = deviceRunpointMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); - return ConvertUtil.convertPage(page, DeviceRunpointDto.class); - } - - @Override - public List queryAll(DeviceRunpointQueryParam query) { - return ConvertUtil.convertList(deviceRunpointMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), DeviceRunpointDto.class); - } - - @Override - public DeviceRunpoint getById(String id) { - return deviceRunpointMapper.selectById(id); - } - - @Override - public DeviceRunpointDto findById(String id) { - return ConvertUtil.convert(getById(id), DeviceRunpointDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(DeviceRunpointDto resources) { - DeviceRunpoint entity = ConvertUtil.convert(resources, DeviceRunpoint.class); - return deviceRunpointMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateById(DeviceRunpointDto resources) { - DeviceRunpoint entity = ConvertUtil.convert(resources, DeviceRunpoint.class); - int ret = deviceRunpointMapper.updateById(entity); - return ret; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids) { - return deviceRunpointMapper.deleteBatchIds(ids); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeById(String id) { - Set set = new HashSet<>(1); - set.add(id); - return this.removeByIds(set); - } - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceServiceImpl.java index 15ce74c..1ab301a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceServiceImpl.java @@ -19,14 +19,12 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.map.ListOrderedMap; import org.nl.ApplicationAutoInitial; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.domain.DeviceRunpoint; -import org.nl.acs.device.device.service.domain.ItemDto; +import org.nl.acs.device.device.service.entity.Device; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; +import org.nl.acs.device.deviceDriver.service.dto.ItemDto; import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.device.service.mapper.DeviceExtraMapper; +import org.nl.acs.device.deviceExtInfo.service.mapper.DeviceExtraMapper; import org.nl.acs.device.device.service.mapper.DeviceMapper; -import org.nl.acs.device.device.service.mapper.DeviceRunpointMapper; import org.nl.acs.task.route.domain.RouteLine; import org.nl.acs.task.route.service.mapper.RouteLineMapper; import org.nl.acs.device.storageMgt.service.entity.StorageCell; @@ -35,18 +33,15 @@ import org.nl.common.utils.ConvertUtil; import org.nl.common.utils.utils.PageUtil; import org.nl.common.utils.ReadUtil; import org.nl.acs.device.device.service.DeviceDriverDefinationAppService; -import org.nl.acs.device.device.service.DeviceExtraService; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.nl.acs.device.deviceDriver.conveyor.standard_inspect_site.StandardInspectSiteDeviceDriver; -import org.nl.acs.device.deviceDriver.conveyor.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.OpcDeviceDriverDefination; -import org.nl.acs.device.device.service.dto.DeviceRunpointDto; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.iot.opc.DeviceAppServiceImpl; -import org.nl.acs.iot.opc.service.OpcService; -import org.nl.acs.iot.opc.service.dto.OpcDto; +import org.nl.acs.device.deviceExtInfo.DeviceExtraService; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.impl.opcDefination.OpcDeviceDriverDefination; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.service.impl.DeviceAppServiceImpl; +import org.nl.acs.iot.opc.opc.service.OpcService; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; import org.nl.acs.iot.plc.service.OpcPlcService; -import org.nl.acs.iot.opc.service.dto.OpcPlcDto; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcDto; import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; import org.nl.common.utils.ExportCSVUtil; import org.nl.common.db.PageInfo; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceisonlineServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceisonlineServiceImpl.java deleted file mode 100644 index 638e537..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceisonlineServiceImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.nl.acs.device.device.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.Deviceisonline; -import org.nl.acs.device.device.service.DeviceisonlineService; -import org.nl.acs.device.device.service.mapper.DeviceisonlineMapper; -import org.nl.common.db.PageInfo; -import org.nl.common.db.QueryHelpMybatisPlus; -import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.common.utils.ConvertUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.acs.device.device.service.dto.DeviceisonlineDto; -import org.nl.acs.device.device.service.dto.DeviceisonlineQueryParam; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Pageable; - -import java.util.*; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Service -@AllArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class DeviceisonlineServiceImpl extends CommonServiceImpl implements DeviceisonlineService { - - private final DeviceisonlineMapper deviceisonlineMapper; - - @Override - public PageInfo queryAll(DeviceisonlineQueryParam query, Pageable pageable) { - IPage queryPage = PageUtil.toMybatisPage(pageable); - IPage page = deviceisonlineMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); - return ConvertUtil.convertPage(page, DeviceisonlineDto.class); - } - - @Override - public List queryAll(DeviceisonlineQueryParam query) { - return ConvertUtil.convertList(deviceisonlineMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), DeviceisonlineDto.class); - } - - @Override - public Deviceisonline getById(String id) { - return deviceisonlineMapper.selectById(id); - } - - @Override - public DeviceisonlineDto findById(String id) { - return ConvertUtil.convert(getById(id), DeviceisonlineDto.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int insert(DeviceisonlineDto resources) { - Deviceisonline entity = ConvertUtil.convert(resources, Deviceisonline.class); - return deviceisonlineMapper.insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateById(DeviceisonlineDto resources) { - Deviceisonline entity = ConvertUtil.convert(resources, Deviceisonline.class); - int ret = deviceisonlineMapper.updateById(entity); - // delCaches(resources.id); - return ret; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids) { - // delCaches(ids); - return deviceisonlineMapper.deleteBatchIds(ids); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int removeById(String id) { - Set set = new HashSet<>(1); - set.add(id); - return this.removeByIds(set); - } - - /* - private void delCaches(String id) { - redisUtils.delByKey(CACHE_KEY + "::id:", id); - } - - private void delCaches(Set ids) { - for (String id: ids) { - delCaches(id); - } - }*/ - - /* - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (DeviceisonlineDto deviceisonline : all) { - Map map = new LinkedHashMap<>(); - map.put("设备编码", deviceisonline.getDeviceCode()); - map.put("订单编码", deviceisonline.getOrderCode()); - map.put("在线状态", deviceisonline.getOnlineStatus()); - map.put("创建者", deviceisonline.getCreateBy()); - map.put("创建时间", deviceisonline.getCreateTime()); - map.put("修改者", deviceisonline.getUpdateBy()); - map.put("修改时间", deviceisonline.getUpdateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - }*/ -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceAssignedMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceAssignedMapper.java deleted file mode 100644 index 6e27ef8..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceAssignedMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import org.nl.acs.device.device.service.domain.DeviceAssigned; -import org.nl.common.db.CommonMapper; -import org.springframework.stereotype.Repository; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Repository -public interface DeviceAssignedMapper extends CommonMapper { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceDbitemMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceDbitemMapper.java deleted file mode 100644 index 959c2cc..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceDbitemMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import org.nl.acs.device.device.service.domain.DeviceDbitem; -import org.nl.common.db.CommonMapper; -import org.springframework.stereotype.Repository; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Repository -public interface DeviceDbitemMapper extends CommonMapper { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceErpmappingMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceErpmappingMapper.java deleted file mode 100644 index 8f5437c..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceErpmappingMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import org.nl.common.db.CommonMapper; -import org.nl.acs.device.device.service.domain.DeviceErpmapping; -import org.springframework.stereotype.Repository; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Repository -public interface DeviceErpmappingMapper extends CommonMapper { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMapper.java index 40084af..72a12ff 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMapper.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMapper.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.common.db.CommonMapper; import org.springframework.stereotype.Repository; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMappers.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMappers.java deleted file mode 100644 index 406ed60..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceMappers.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.nl.acs.device.device.service.domain.Device; - -@Mapper -public interface DeviceMappers extends BaseMapper { -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceRunpointMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceRunpointMapper.java deleted file mode 100644 index 103d838..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceRunpointMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import org.nl.acs.device.device.service.domain.DeviceRunpoint; -import org.nl.common.db.CommonMapper; -import org.springframework.stereotype.Repository; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Repository -public interface DeviceRunpointMapper extends CommonMapper { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceisonlineMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceisonlineMapper.java deleted file mode 100644 index 99f3b3e..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceisonlineMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.nl.acs.device.device.service.mapper; - -import org.nl.acs.device.device.service.domain.Deviceisonline; -import org.nl.common.db.CommonMapper; -import org.springframework.stereotype.Repository; - -/** - * @author jiaolm - * @date 2023-05-09 - */ -@Repository -public interface DeviceisonlineMapper extends CommonMapper { - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/AbstractDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/AbstractDeviceDriver.java deleted file mode 100644 index 50d16a2..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/AbstractDeviceDriver.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.nl.acs.device.deviceDriver.driver; - -import lombok.Data; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.nl.acs.device.device.service.domain.Device; - -@Data -public class AbstractDeviceDriver implements DeviceDriver { - - public Device device; - private DeviceDriverDefination driverDefination; - private boolean stop = false; - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ExecutableDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ExecutableDeviceDriver.java deleted file mode 100644 index 43acc80..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ExecutableDeviceDriver.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.nl.acs.device.deviceDriver.driver; - -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; - -public interface ExecutableDeviceDriver extends DeviceDriver { - /** - * executeAuto - * - * @throws Exception - */ - default void executeAuto() throws Exception { - try { - this.execute(); - } catch (Throwable var6) { - String message = "线程调用异常:" + var6.getMessage(); - } -// this.execute(); - - } - - /** - * execute - * - * @throws Exception - */ - void execute() throws Exception; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/OpcDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/OpcDeviceDriver.java deleted file mode 100644 index 0fa3110..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/OpcDeviceDriver.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.nl.acs.device.deviceDriver.driver; - - -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.mapper.DeviceExtraMapper; -import org.nl.acs.iot.opc.OpcItemDto; -import org.nl.acs.iot.udw.UnifiedDataAccessor; -import org.nl.config.SpringContextHolder; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public interface OpcDeviceDriver extends DeviceDriver { - /** - * getOpcValueAccessor - * - * @return - */ - UnifiedDataAccessor getOpcValueAccessor(); - - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriver.java new file mode 100644 index 0000000..476d471 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriver.java @@ -0,0 +1,36 @@ +package org.nl.acs.device.deviceDriver.service; + +import org.nl.acs.device.device.service.entity.Device; + +import java.util.Map; + +public abstract class DeviceDriver { + private Device device; + private String deviceCode; + private DeviceDriverDefination deviceDriverDefination; + private boolean stop; + + public Device getDevice() { + return device; + } + public String getDeviceCode() { + return deviceCode; + } + public DeviceDriverDefination getDriverDefination() { + return deviceDriverDefination; + } + + /** + * 设置驱动内部参数 + * @param innerParamss + */ + public void setDeviceInnerParam(Map innerParamss) { + throw new RuntimeException("not such method"); + } + public DeviceDriver init(Device device,DeviceDriverDefination deviceDriverDefination){ + this.device = device; + this.deviceCode = device.getDevice_code(); + this.deviceDriverDefination = deviceDriverDefination; + return this; + }; +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriverDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriverDefination.java similarity index 86% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriverDefination.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriverDefination.java index 20415e4..eee0966 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriverDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/DeviceDriverDefination.java @@ -1,6 +1,6 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动; +package org.nl.acs.device.deviceDriver.service; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; import java.util.List; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/ItemDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemDto.java similarity index 90% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/ItemDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemDto.java index fa9798e..efc103a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/ItemDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.device.service.domain; +package org.nl.acs.device.deviceDriver.service.dto; import lombok.Data; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ItemValue.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemValue.java similarity index 92% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ItemValue.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemValue.java index 576a850..78082fd 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/driver/ItemValue.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/dto/ItemValue.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.deviceDriver.driver; +package org.nl.acs.device.deviceDriver.service.dto; /** * @author ldjun diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractOpcDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractOpcDeviceDriver.java new file mode 100644 index 0000000..7f62feb --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractOpcDeviceDriver.java @@ -0,0 +1,370 @@ +package org.nl.acs.device.deviceDriver.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.service.mapper.DeviceExtraMapper; +import org.nl.acs.device.deviceDriver.service.dto.ItemValue; +import org.nl.acs.iot.opc.config.OpcConfig; +import org.nl.acs.iot.opc.service.OpcServerService; +import org.nl.acs.iot.opc.opc.service.dto.OpcItemDto; +import org.nl.acs.iot.opc.service.impl.OpcServerServiceImpl; +import org.nl.acs.iot.udw.UnifiedDataAccessor; +import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; +import org.nl.acs.iot.udw.UnifiedDataAppService; +import org.nl.common.utils.JsonUtl; +import org.nl.common.utils.ThreadUtl; +import org.nl.config.SpringContextHolder; +import org.openscada.opc.lib.da.Group; +import org.openscada.opc.lib.da.Item; +import org.springframework.util.CollectionUtils; + +import java.util.*; + +@Slf4j +public abstract class AbstractOpcDeviceDriver extends BaseDeviceDriver { + + public UnifiedDataAccessor opcUdw; + + OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerService.class); + DeviceExtraMapper deviceExtraMapper = SpringContextHolder.getBean("deviceExtraMapper"); + + public AbstractOpcDeviceDriver() { + this.opcUdw = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); + } + + private Date sendTime; + private String last_items; + private int noLog_sendTimeOut; + private Date noLog_sendTime; + private String noLog_last_items; + + public UnifiedDataAccessor getOpcValueAccessor() { + return this.opcUdw; + } + + public void checkcontrol(Map itemValues){ + Group group; + try { + group = opcServerService.getServer(this.getOpcServer()); + } catch (Exception e) { + e.printStackTrace(); + group = opcServerService.getServer(this.getOpcServer()); + } + Map readItems = new LinkedHashMap(); + //像opcServer注册lable,如果已经注册从缓存获取 + for (String itemLable : itemValues.keySet()) { + try { + readItems.put(itemLable, group.addItem(itemLable)); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println("-----注册lable结束-----"+readItems.size()); + int i = 0; + while (true) { + //下发信号 + boolean result = false; + try { + if (i < 2) { + result = control(itemValues); + } else { + result = controlByNewConn(itemValues); + } + } catch (Exception e) { + e.printStackTrace(); + } + //-----写完读取----- +// ThreadUtl.sleep(1000L); +// Map itemStatus = new HashMap<>(); +// boolean check = true; +// try { +// if (i > 0) { +// group = opcServerService.getServer(this.getOpcServer()); +// for (String itemLable : itemValues.keySet()) { +// try { +// readItems.put(itemLable, group.addItem(itemLable)); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// itemStatus = group.read(true, (Item[]) readItems.values().toArray(new Item[0])); +// +// } else { +// itemStatus = group.read(true, (Item[]) readItems.values().toArray(new Item[0])); +// } +// Set itemSet = itemStatus.keySet(); +// Iterator itemI = itemSet.iterator(); +// Map read = new HashMap(); +// +// while (itemI.hasNext()) { +// Item item = itemI.next(); +// ItemState itemState = itemStatus.get(item); +// Object value = OpcUtl.getValue(item, itemState); +// read.put(item.getId(), value); +// } +// for (String itemLable : readItems.keySet()) { +// if (!ObjectUtl.isEquals(String.valueOf(itemValues.get(itemLable)), String.valueOf(read.get(itemLable)))) { +// check = false; +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// check = false; +// } + if (result) { + return; + } + if (i > 0) { + ThreadUtl.sleep(200L); + } + if (i >= 2) { + log.error(itemValues + "写入次数超过3次而失败"); + throw new RuntimeException("写入次数超过3次而失败"); + } + ++i; + } + } + + + private boolean controlByNewConn(Map itemValues) { + + Iterator> it = itemValues.entrySet().iterator(); + + ItemValue[] p2; + p2 = new ItemValue[itemValues.size()]; + int i = 0; + while (it.hasNext()) { + Map.Entry entry = it.next(); + System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue()); + p2[i] = new ItemValue(); + p2[i].setItem_code(entry.getKey()); + p2[i].setItem_value(entry.getValue()); + i++; + } + + return this.controlByNewConn(p2); + } + + public boolean control(Map itemValues) { + + Iterator> it = itemValues.entrySet().iterator(); + + ItemValue[] p2; + p2 = new ItemValue[itemValues.size()]; + int i = 0; + while (it.hasNext()) { + Map.Entry entry = it.next(); + System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue()); + p2[i] = new ItemValue(); + p2[i].setItem_code(entry.getKey()); + p2[i].setItem_value(entry.getValue()); + i++; + } + return this.control(p2); + } + + + private boolean control(ItemValue[] itemValues) { + try { + String this_items = JsonUtl.parseWithoutException(itemValues); + boolean need_write = false; + StringBuilder sb = new StringBuilder(); + ItemValue[] var5 = itemValues; + int var6 = itemValues.length; + for (int var7 = 0; var7 < var6; ++var7) { + ItemValue itemValue = var5[var7]; + String code = itemValue.getItem_code(); + Object udw_value = this.getUdwValue(code); + Object write_value = itemValue.getItem_value(); + sb.append(code); + sb.append(":"); + sb.append(JsonUtl.parseWithoutException(udw_value)); + sb.append(";"); + if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) { + need_write = true; + } + } + if (need_write) { + Date date = new Date(); + /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { + log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); + return false; + }*/ + this.last_items = this_items; + this.sendTime = date; + //写入失败则会抛异常报错 + opcServerService.writeInteger(this.getOpcServer(), itemValues); + UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); + ItemValue[] var17 = itemValues; + int var18 = itemValues.length; + for (int var19 = 0; var19 < var18; ++var19) { + ItemValue itemValue = var17[var19]; + String code = itemValue.getItem_code(); + Object value = itemValue.getItem_value(); + opcValueAccessor.setValue(code, value); + } + } + return true; + }catch (Exception ex){ + return false; + } +} + + + private boolean controlByNewConn(ItemValue[] itemValues) { + if (itemValues != null && itemValues.length != 0) { + String this_items = JsonUtl.parseWithoutException(itemValues); + boolean need_write = false; + StringBuilder sb = new StringBuilder(); + ItemValue[] var5 = itemValues; + int var6 = itemValues.length; +// for (int var7 = 0; var7 < var6; ++var7) { +// ItemValue itemValue = var5[var7]; +// String code = itemValue.getItem_code(); +// Object udw_value = this.getUdwValue(code); +// Object write_value = itemValue.getItem_value(); +// sb.append(code); +// sb.append(":"); +// sb.append(JsonUtl.parseWithoutException(udw_value)); +// sb.append(";"); +// if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) { +// need_write = true; +// } else { +// log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value ); +// } +// } + need_write = true; + if (need_write) { + Date date = new Date(); + /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { + log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); + return false; + }*/ + + this.last_items = this_items; + this.sendTime = date; + OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class); + + opcServerService.writeIntegerByNewConn(this.getOpcServer(), itemValues); + + + UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); + ItemValue[] var17 = itemValues; + int var18 = itemValues.length; + + for (int var19 = 0; var19 < var18; ++var19) { + ItemValue itemValue = var17[var19]; + String code = itemValue.getItem_code(); + Object value = itemValue.getItem_value(); + opcValueAccessor.setValue(code, value); + } + } + + return true; + } else { + throw new RuntimeException("下发 无内容"); + } + } + + /** + * getOpcItems + * + * @return + */ + public List getOpcItems() { + List returns = new ArrayList(); + List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper) + .apply(" (filed_type='02' or filed_type='03' )and device_id = '" + this.getDevice().getDevice_id() + "'") + .list(); + if (!CollectionUtils.isEmpty(deviceExtraList)){ + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + OpcItemDto dto = new OpcItemDto(); + dto.setDevice_code(this.getDeviceCode()); + dto.setDevice_name(this.getDevice().getDevice_name()); + dto.setDriver_code(this.getDevice().getDriver_code()); + dto.setOpc_plc_code(this.getOpcPlc()); + dto.setOpc_server_code(this.getOpcServer()); + dto.setItem_code(json.getString("extra_code")); + dto.setItem_value(json.getString("extra_value")); + returns.add(dto); + } + } + return returns; + } + + /** + * getExtraValue + * + * @return + */ + public Map getExtraValue() { + return this.getDevice().getExtraValue(); + } + + /** + * getOpcServer + * + * @return + */ + public String getOpcServer() { + return this.getDevice().getOpc_server_code(); + } + + /** + * getOpcPlc + * + * @return + */ + public String getOpcPlc() { + return this.getDevice().getOpc_plc_code(); + } + + /** + * getIntegeregerValue + * + * @param protocol + * @return + */ + public Integer getIntegeregerValue(String protocol) { + if (ObjectUtil.isEmpty(this.getValue(protocol)) && "heartbeat".equals(protocol)) { + return null; + } + return (Integer) (ObjectUtil.isEmpty(this.getValue(protocol)) ? 0 : this.getValue(protocol)); + } + + /** + * getValue + * + * @param protocol + * @return + */ + public Object getValue(String protocol) { + return this.getOpcValueAccessor().getValue(this.getItem(protocol)); + } + /** + * getItem + * + * @param item + * @return + */ + public String getItem(String item) { + return this.getOpcServer() + "." + this.getOpcPlc() + "." + this.getDeviceCode() + "." + item; + } + /** + * getUdwValue + * + * @param protocol + * @return + */ + public Object getUdwValue(String protocol) { + return this.getOpcValueAccessor().getValue(protocol); + } + +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractStandardDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractStandardDeviceDriver.java new file mode 100644 index 0000000..cefe25a --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/AbstractStandardDeviceDriver.java @@ -0,0 +1,8 @@ +package org.nl.acs.device.deviceDriver.service.impl; + +import lombok.Data; + +@Data +public abstract class AbstractStandardDeviceDriver extends BaseDeviceDriver { + +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/BaseDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/BaseDeviceDriver.java new file mode 100644 index 0000000..4d9be29 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/BaseDeviceDriver.java @@ -0,0 +1,8 @@ +package org.nl.acs.device.deviceDriver.service.impl; + +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.设备驱动执行插件.DeviceStageMonitorPlugin; +import org.nl.acs.device.deviceDriver.service.设备驱动执行插件.DriverExecutePlugin; + +public abstract class BaseDeviceDriver extends DeviceDriver implements DeviceStageMonitorPlugin, DriverExecutePlugin { +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/ItemProtocolP.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/ItemProtocolP.java similarity index 79% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/ItemProtocolP.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/ItemProtocolP.java index a4e0a6b..2782d0f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/ItemProtocolP.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/ItemProtocolP.java @@ -1,4 +1,6 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination; +package org.nl.acs.device.deviceDriver.service.impl.opcDefination; + +import org.nl.acs.device.deviceDriver.service.impl.AbstractOpcDeviceDriver; import java.util.HashMap; import java.util.Map; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/OpcDeviceDriverDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/OpcDeviceDriverDefination.java similarity index 61% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/OpcDeviceDriverDefination.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/OpcDeviceDriverDefination.java index 4aa3835..0e4d8f6 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/OpcDeviceDriverDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/OpcDeviceDriverDefination.java @@ -1,7 +1,7 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination; +package org.nl.acs.device.deviceDriver.service.impl.opcDefination; -import org.nl.acs.device.device.service.domain.ItemDto; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.dto.ItemDto; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import java.util.List; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/ItemProtocol.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/ItemProtocol.java similarity index 86% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/ItemProtocol.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/ItemProtocol.java index ca3e300..f181d55 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/ItemProtocol.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/ItemProtocol.java @@ -1,9 +1,9 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.standardInspectSite; +package org.nl.acs.device.deviceDriver.service.impl.opcDefination.standardInspectSite; import lombok.Data; import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.domain.ItemDto; -import org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.ItemProtocolP; +import org.nl.acs.device.deviceDriver.service.dto.ItemDto; +import org.nl.acs.device.deviceDriver.service.impl.opcDefination.ItemProtocolP; import java.util.ArrayList; import java.util.List; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java similarity index 78% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java index 87b0df0..91ffdde 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDefination.java @@ -1,10 +1,10 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.standardInspectSite; +package org.nl.acs.device.deviceDriver.service.impl.opcDefination.standardInspectSite; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.ItemDto; +import org.nl.acs.device.device.service.entity.Device; +import org.nl.acs.device.deviceDriver.service.dto.ItemDto; import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.OpcDeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.impl.opcDefination.OpcDeviceDriverDefination; import org.springframework.stereotype.Service; import java.util.LinkedList; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java similarity index 90% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java index 05d1e6e..2d85e15 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/opcDefination/standardInspectSite/StandardInspectSiteDeviceDriver.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.standardInspectSite; +package org.nl.acs.device.deviceDriver.service.impl.opcDefination.standardInspectSite; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -9,15 +9,10 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.nl.acs.api.agvKit.service.AcsToKitService; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.RouteableDeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination.AbstractOpcDeviceDriver; -import org.nl.acs.device.deviceDriver.driver.ExecutableDeviceDriver; +import org.nl.acs.device.deviceDriver.service.impl.AbstractOpcDeviceDriver; import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; import org.nl.acs.device.storageMgt.service.impl.StorageCellServiceImpl; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.layout.device.DeviceStageMonitor; +import org.nl.acs.iot.opc.service.DeviceAppService; import org.nl.acs.task.history.ErrorUtil; import org.nl.acs.task.instruction.domain.Instruction; import org.nl.acs.task.instruction.service.InstructionService; @@ -37,7 +32,7 @@ import java.util.Map; @Slf4j @Data @RequiredArgsConstructor -public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor { +public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver { protected ItemProtocol itemProtocol = new ItemProtocol(this); @@ -154,15 +149,10 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp String devicecode; - @Override - public Device getDevice() { - return this.device; - } @Override public void execute() { - try { Thread.sleep(2000); this.devicecode = this.getDevice().getDevice_code(); @@ -172,7 +162,6 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp log.info("点位上报状态,{},{}",instruction.getTask_code(),agvphase); if (ObjectUtil.isNotEmpty(instruction) && StrUtil.equals(instruction.getStart_point_code(), this.devicecode)) { if (agvphase == 1) { - device = deviceAppService.findDeviceByCode(this.devicecode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); if ((StrUtil.startWith(task.getTask_code(), "-"))) { @@ -200,7 +189,6 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp } } if (agvphase == 2) { - device = deviceAppService.findDeviceByCode(this.devicecode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); @@ -232,7 +220,6 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp //放货申请 else if (ObjectUtil.isNotEmpty(instruction) && StrUtil.equals(instruction.getNext_point_code(), this.devicecode)) { if (agvphase == 3) { - device = deviceAppService.findDeviceByCode(this.devicecode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); if ((StrUtil.startWith(task.getTask_code(), "-"))) { @@ -260,7 +247,6 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp } } if (agvphase == 4) { - device = deviceAppService.findDeviceByCode(this.devicecode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); if ((StrUtil.startWith(task.getTask_code(), "-"))) { @@ -312,17 +298,7 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp + "." + ItemProtocol.item_to_command; Map itemMap = new HashMap(); itemMap.put(to_command, command); - try { - this.checkcontrol(itemMap); - } catch (Exception e) { - e.printStackTrace(); - } -// LuceneLogDto logDto = LuceneLogDto.builder() -// .device_code(devicecode) -// .content("下发多个电气信号" + itemMap) -// .build(); -// logDto.setLog_level(3); -// luceneExecuteLogService.deviceExecuteLog(logDto); + this.checkcontrol(itemMap); } public void writing(int type, int command) { @@ -402,16 +378,16 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp } @Override - public void setDeviceInnerParam(String taskId, String agvphase) { - System.out.println("任务号:"+taskId+"-------"+agvphase); + public void setDeviceInnerParam(Map innerParamss) { synchronized (lock) { // 不允许设置和上次处理相同的taskId + final String taskId = innerParamss.get("taskId"); if (taskId.equals(lastTakeInstCode)) { // 可以记录日志并返回,或者抛出异常 return; } // 设置新任务 - this.agvphase = Integer.valueOf(agvphase); +// this.agvPhase = Integer.valueOf(innerParamss.get("agvphase")); this.reqTakeInstCode = taskId; this.reqTakeRequireSuccess = true; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java similarity index 72% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDefination.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java index 37b9ca5..3990098 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java @@ -1,9 +1,9 @@ -package org.nl.acs.device.deviceDriver.conveyor.standard_ordinary_site; +package org.nl.acs.device.deviceDriver.service.impl.ordinaryDefination.standardOrdinarySite; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import org.springframework.stereotype.Service; import java.util.LinkedList; @@ -31,7 +31,7 @@ public class StandardOrdinarySiteDefination implements DeviceDriverDefination { @Override public DeviceDriver getDriverInstance(Device device) { - return (new StandardOrdinarySiteDeviceDriver()).setDevice(device).setDriverDefination(this); + return (new StandardOrdinarySiteDeviceDriver()).init(device,this); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java similarity index 89% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java index 4d11ba5..d607e66 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.deviceDriver.conveyor.standard_ordinary_site; +package org.nl.acs.device.deviceDriver.service.impl.ordinaryDefination.standardOrdinarySite; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -8,28 +8,26 @@ import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.RouteableDeviceDriver; -import org.nl.acs.device.deviceDriver.driver.AbstractDeviceDriver; -import org.nl.acs.device.deviceDriver.driver.ExecutableDeviceDriver; import org.nl.acs.api.agvKit.service.AcsToKitService; -import org.nl.acs.task.instruction.domain.Instruction; -import org.nl.acs.task.instruction.service.InstructionService; -import org.nl.acs.layout.device.DeviceStageMonitor; -import org.nl.acs.iot.opc.DeviceAppService; +import org.nl.acs.device.deviceDriver.service.impl.AbstractStandardDeviceDriver; import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; import org.nl.acs.device.storageMgt.service.impl.StorageCellServiceImpl; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.task.instruction.domain.Instruction; +import org.nl.acs.task.instruction.service.InstructionService; import org.nl.acs.task.task.service.TaskService; import org.nl.acs.task.task.service.dto.TaskDto; import org.nl.config.SpringContextHolder; +import java.util.Map; + /** * 普通站点 */ @Slf4j @Data @RequiredArgsConstructor -public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor { +public class StandardOrdinarySiteDeviceDriver extends AbstractStandardDeviceDriver { private final InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); private final DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); @@ -74,7 +72,6 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple public void execute() { try { Thread.sleep(2000); - this.deviceCode = this.getDevice().getDevice_code(); if (this.reqTakeRequireSuccess && ObjectUtil.isNotEmpty(this.reqTakeInstCode)) { Instruction instruction = instructionService.findByCodeFromCache(this.reqTakeInstCode); //取货申请F @@ -82,7 +79,7 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple if (ObjectUtil.isNotEmpty(instruction) && StrUtil.equals(instruction.getStart_point_code(), this.deviceCode)) { if (agvPhase == 1) { - device = deviceAppService.findDeviceByCode(this.deviceCode); +// device = deviceAppService.findDeviceByCode(this.deviceCode); StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getStart_point_code()); if (dto == null) { log.error(instruction.getStart_point_code() + "Storage_Cache_Map数据不存在"); @@ -98,7 +95,6 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple } } if (agvPhase == 2) { - device = deviceAppService.findDeviceByCode(this.deviceCode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getStart_point_code()); @@ -136,7 +132,6 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple } instruction.setOffSet(dto.getAddress1()); instruction.setOffSetName(instruction.getNext_point_code()); - device = deviceAppService.findDeviceByCode(this.deviceCode); HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { return; @@ -145,7 +140,6 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple } } if (agvPhase == 4) { - device = deviceAppService.findDeviceByCode(this.deviceCode); TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); TaskDto task = taskService.findByCode(instruction.getTask_code()); StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getNext_point_code()); @@ -203,17 +197,17 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple } - // B设置新任务 @Override - public void setDeviceInnerParam(String taskId, String agvphase) { + public void setDeviceInnerParam(Map innerParamss) { synchronized (lock) { // 不允许设置和上次处理相同的taskId + final String taskId = innerParamss.get("taskId"); if (taskId.equals(lastTakeInstCode)) { // 可以记录日志并返回,或者抛出异常 return; } // 设置新任务 - this.agvPhase = Integer.valueOf(agvphase); + this.agvPhase = Integer.valueOf(innerParamss.get("agvphase")); this.reqTakeInstCode = taskId; this.reqTakeRequireSuccess = true; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/DeviceStageMonitor.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DeviceStageMonitorPlugin.java similarity index 61% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/DeviceStageMonitor.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DeviceStageMonitorPlugin.java index f353340..4d4c3c4 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/DeviceStageMonitor.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DeviceStageMonitorPlugin.java @@ -1,4 +1,4 @@ -package org.nl.acs.layout.device; +package org.nl.acs.device.deviceDriver.service.设备驱动执行插件; import com.alibaba.fastjson.JSONObject; @@ -7,18 +7,18 @@ import com.alibaba.fastjson.JSONObject; * @Description: 设备监控服务 * @Date: 2022-08-17 */ -public interface DeviceStageMonitor { +public interface DeviceStageMonitorPlugin { /** * 根据设备获取设备状态(中文名:如故障、联机等) * @return * @throws Exception */ - public JSONObject getDeviceStatusName() throws Exception; + JSONObject getDeviceStatusName() throws Exception; /** * 根据舞台数据修改设备驱动状态 * * @param data */ - public void setDeviceStatus(JSONObject data); + void setDeviceStatus(JSONObject data); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DriverExecutePlugin.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DriverExecutePlugin.java new file mode 100644 index 0000000..c229bda --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/service/设备驱动执行插件/DriverExecutePlugin.java @@ -0,0 +1,19 @@ +package org.nl.acs.device.deviceDriver.service.设备驱动执行插件; + +public interface DriverExecutePlugin { + + default void executeAuto() { + try { + this.execute(); + } catch (Exception ex) { + ex.printStackTrace(); + System.out.println(this.getClass()+"_:驱动执行异常"+ex.getMessage()); + } + } + + /** + * 设备驱动具体执行代码 + * @throws Exception + */ + void execute() throws Exception; +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriver.java deleted file mode 100644 index f49a1ae..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/DeviceDriver.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import org.nl.acs.device.deviceDriver.RequestMethodEnum; -import org.nl.common.db.CommonFinalParam; -import org.nl.acs.device.device.service.domain.Device; - -import java.util.ArrayList; -import java.util.List; - -public interface DeviceDriver { - /** - * getDeviceCode - * @return - */ - default String getDeviceCode() { - return this.getDevice().getDevice_code(); - } - - /** - * getDevice - * @return - */ - Device getDevice(); - - /** - * getDriverDefination - * @return - */ - DeviceDriverDefination getDriverDefination(); - - /** - * setDriverDefination - * @param var1 - * @return - */ - DeviceDriver setDriverDefination(DeviceDriverDefination var1); - - /** - * getDriverDefinationCode - * @return - */ - default String getDriverDefinationCode() { - return this.getDriverDefination().getDriverCode(); - } - - /** - * 将扩展表中的字符串数组数据转换成集合 - * @param extraName - * @return - */ - default List getExtraDeviceCodes(String extraName) { - String extraValue = (String) this.getDevice().getExtraValue().get(extraName); - if (StrUtil.isEmpty(extraValue)) { - return new ArrayList<>(); - } - String devicesString = extraValue.substring(1, extraValue.length() - 1); - List devicesList = new ArrayList<>(); - String[] devices = devicesString.split(","); - for (int i = 0; i < devices.length; i++) { - String s = devices[i].replace("\"", "").replace("\"", ""); - devicesList.add(s); - } - return devicesList; - } - - /** - * getModeName - * @param mode - * @return - */ - default String getModeName(String mode) { - if (StrUtil.equals("0", mode)) { - mode = "脱机"; - } else if (StrUtil.equals(CommonFinalParam.TWO, mode)) { - mode = "联机"; - } else { - mode = RequestMethodEnum.getName(mode); - } - return ObjectUtil.isEmpty(mode) ? "无效的请求,驱动中未配置" : mode; - } - - default void setDeviceInnerParam(String taskId, String agvphase) { - throw new RuntimeException("not such method"); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/AbstractOpcDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/AbstractOpcDeviceDriver.java deleted file mode 100644 index 6fdecc8..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/opcDefination/AbstractOpcDeviceDriver.java +++ /dev/null @@ -1,419 +0,0 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.opcDefination; - -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.mapper.DeviceExtraMapper; -import org.nl.acs.device.deviceDriver.driver.ItemValue; -import org.nl.acs.device.deviceDriver.driver.OpcDeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.nl.acs.iot.opc.*; -import org.nl.acs.iot.udw.UnifiedDataAccessor; -import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; -import org.nl.acs.iot.udw.UnifiedDataAppService; -import org.nl.config.SpringContextHolder; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -import java.util.*; - -@Slf4j -public abstract class AbstractOpcDeviceDriver implements DeviceDriver { - - public UnifiedDataAccessor opcUdw; - public Device device; - private DeviceDriverDefination driverDefination; - private boolean stop = false; - - DeviceExtraMapper deviceExtraMapper = SpringContextHolder.getBean("deviceExtraMapper"); - private OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerService.class); - - public AbstractOpcDeviceDriver() { - this.opcUdw = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); - } - - - private Date sendTime; - private String last_items; - private int noLog_sendTimeOut; - private Date noLog_sendTime; - private String noLog_last_items; - - @Override - public UnifiedDataAccessor getOpcValueAccessor() { - return this.opcUdw; - } - - - public void checkcontrol(Map itemValues) throws Exception { - Group group; - try { - group = opcServerService.getServer(this.getOpcServer()); - } catch (Exception e) { - e.printStackTrace(); - group = opcServerService.getServer(this.getOpcServer()); - } - Map write = new HashMap(); - Map readitems = new LinkedHashMap(); - List itemsString = new ArrayList(); - itemsString = new ArrayList<>(itemValues.keySet()); - Iterator is = itemsString.iterator(); - - while (is.hasNext()) { - String string = (String) is.next(); - try { - readitems.put(string, group.addItem(string)); - } catch (Exception e) { - e.printStackTrace(); - } - } - int i = 0; - while (true) { - //下发信号 - try { - if (i == 0) { - control(itemValues); - } else { - controlByNewConn(itemValues); - } - - } catch (Exception e) { - e.printStackTrace(); - } -// ThreadUtl.sleep(1000L); - Map read = new HashMap(); - Map itemStatus = null; - boolean check = true; - try { - if (i > 0) { - group = opcServerService.getServer(this.getOpcServer()); - itemsString = new ArrayList<>(itemValues.keySet()); - Iterator nis = itemsString.iterator(); - - while (nis.hasNext()) { - String string = (String) nis.next(); - try { - readitems.put(string, group.addItem(string)); - } catch (Exception e) { - e.printStackTrace(); - } - } - itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0])); - - } else { - itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0])); - } - Set items = itemStatus.keySet(); - Iterator var15 = items.iterator(); - while (var15.hasNext()) { - Item item = (Item) var15.next(); - ItemState itemState = (ItemState) itemStatus.get(item); - Object value = OpcUtl.getValue(item, itemState); - read.put(item.getId(), value); - } - - Iterator var24 = itemsString.iterator(); - - while (var24.hasNext()) { - String itemString = (String) var24.next(); - if (!ObjectUtl.isEquals(String.valueOf(itemValues.get(itemString)), String.valueOf(read.get(itemString)))) { - check = false; - } - } - } catch (Exception e) { - e.printStackTrace(); - check = false; - } - - if (check) { - return; - } - - if (i > 0) { - ThreadUtl.sleep(100L); - } - - if (i >= 2) { - log.info(itemValues + "写入次数超过3次而失败"); - throw new RuntimeException("写入次数超过3次而失败"); - } - ++i; - } - } - - - public boolean controlByNewConn(Map itemValues) { - - Iterator> it = itemValues.entrySet().iterator(); - - ItemValue[] p2; - p2 = new ItemValue[itemValues.size()]; - int i = 0; - while (it.hasNext()) { - Map.Entry entry = it.next(); - System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue()); - p2[i] = new ItemValue(); - p2[i].setItem_code(entry.getKey()); - p2[i].setItem_value(entry.getValue()); - i++; - } - - return this.controlByNewConn(p2); - } - - public boolean control(Map itemValues) { - - Iterator> it = itemValues.entrySet().iterator(); - - ItemValue[] p2; - p2 = new ItemValue[itemValues.size()]; - int i = 0; - while (it.hasNext()) { - Map.Entry entry = it.next(); - System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue()); - p2[i] = new ItemValue(); - p2[i].setItem_code(entry.getKey()); - p2[i].setItem_value(entry.getValue()); - i++; - } - - return this.control(p2); - } - - - public boolean control(ItemValue[] itemValues) { - if (itemValues != null && itemValues.length != 0) { - String this_items = JsonUtl.parseWithoutException(itemValues); - boolean need_write = false; - StringBuilder sb = new StringBuilder(); - ItemValue[] var5 = itemValues; - int var6 = itemValues.length; - - for (int var7 = 0; var7 < var6; ++var7) { - ItemValue itemValue = var5[var7]; - String code = itemValue.getItem_code(); - Object udw_value = this.getUdwValue(code); - Object write_value = itemValue.getItem_value(); - sb.append(code); - sb.append(":"); - sb.append(JsonUtl.parseWithoutException(udw_value)); - sb.append(";"); - if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) { - need_write = true; - } else { - //log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value ); - } - } - // need_write = true; - - if (need_write) { - Date date = new Date(); - /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { - log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); - return false; - }*/ - - this.last_items = this_items; - this.sendTime = date; - /* this.execute_log.setResource(this.getDevice().getCode(), this.getDevice().getName()); - this.execute_log.log("原始记录{}->变更为{}", new Object[]{sb, this_items}); - OpcServerService opcServerService = OpcServerFactory.getOpcServerService();*/ - - OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class); - - opcServerService.writeInteger(this.getOpcServer(), itemValues); - UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); - ItemValue[] var17 = itemValues; - int var18 = itemValues.length; - - for (int var19 = 0; var19 < var18; ++var19) { - ItemValue itemValue = var17[var19]; - String code = itemValue.getItem_code(); - Object value = itemValue.getItem_value(); - opcValueAccessor.setValue(code, value); - } - } - - return true; - } else { - throw new RuntimeException("下发 无内容"); - } - } - - - public boolean controlByNewConn(ItemValue[] itemValues) { - if (itemValues != null && itemValues.length != 0) { - String this_items = JsonUtl.parseWithoutException(itemValues); - boolean need_write = false; - StringBuilder sb = new StringBuilder(); - ItemValue[] var5 = itemValues; - int var6 = itemValues.length; -// for (int var7 = 0; var7 < var6; ++var7) { -// ItemValue itemValue = var5[var7]; -// String code = itemValue.getItem_code(); -// Object udw_value = this.getUdwValue(code); -// Object write_value = itemValue.getItem_value(); -// sb.append(code); -// sb.append(":"); -// sb.append(JsonUtl.parseWithoutException(udw_value)); -// sb.append(";"); -// if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) { -// need_write = true; -// } else { -// log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value ); -// } -// } - need_write = true; - if (need_write) { - Date date = new Date(); - /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { - log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); - return false; - }*/ - - this.last_items = this_items; - this.sendTime = date; - OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class); - - opcServerService.writeIntegerByNewConn(this.getOpcServer(), itemValues); - - - UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); - ItemValue[] var17 = itemValues; - int var18 = itemValues.length; - - for (int var19 = 0; var19 < var18; ++var19) { - ItemValue itemValue = var17[var19]; - String code = itemValue.getItem_code(); - Object value = itemValue.getItem_value(); - opcValueAccessor.setValue(code, value); - } - } - - return true; - } else { - throw new RuntimeException("下发 无内容"); - } - } - - - /** - * getOpcItems - * - * @return - */ - default List getOpcItems() { - - List returns = new ArrayList(); - Map map = this.getExtraValue(); - Iterator var3 = map.keySet().iterator(); - - //设备扩展表【acs_device_extra】 -// WQLObject extraTab = WQLObject.getWQLObject("acs_device_extra"); -// JSONArray arr = extraTab.query(" (filed_type='02' or filed_type='03' )and device_id = '" + this.getDevice().getDevice_id() + "'").getResultJSONArray(0); - List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper) - .apply(" (filed_type='02' or filed_type='03' )and device_id = '" + this.getDevice().getDevice_id() + "'") - .list(); - JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); - for (int i = 0; i < arr.size(); i++) { - JSONObject json = arr.getJSONObject(i); - OpcItemDto dto = new OpcItemDto(); - dto.setDevice_code(this.getDeviceCode()); - dto.setDevice_name(this.getDevice().getDevice_name()); - dto.setDriver_code(this.getDevice().getDriver_code()); - dto.setOpc_plc_code(this.getOpcPlc()); - dto.setOpc_server_code(this.getOpcServer()); - - dto.setItem_code(json.getString("extra_code")); - dto.setItem_value(json.getString("extra_value")); - returns.add(dto); - } - return returns; - } - - /** - * getExtraValue - * - * @return - */ - default Map getExtraValue() { - return this.getDevice().getExtraValue(); - } - - /** - * getOpcServer - * - * @return - */ - default String getOpcServer() { - return this.getDevice().getOpc_server_code(); - } - - /** - * getDevice - * - * @return - */ - @Override - Device getDevice(); - - /** - * getOpcPlc - * - * @return - */ - default String getOpcPlc() { - return this.getDevice().getOpc_plc_code(); - } - - /** - * getIntegeregerValue - * - * @param protocol - * @return - */ - default Integer getIntegeregerValue(String protocol) { - if (ObjectUtil.isEmpty(this.getValue(protocol)) && "heartbeat".equals(protocol)) { - return null; - } - return (Integer) (ObjectUtil.isEmpty(this.getValue(protocol)) ? 0 : this.getValue(protocol)); - } - - /** - * getValue - * - * @param protocol - * @return - */ - default Object getValue(String protocol) { - return this.getOpcValueAccessor().getValue(this.getItem(protocol)); - } - - /** - * getItem - * - * @param item - * @return - */ - default String getItem(String item) { - return this.getOpcServer() + "." + this.getOpcPlc() + "." + this.getDeviceCode() + "." + item; - } - - /** - * getUdwValue - * - * @param protocol - * @return - */ - default Object getUdwValue(String protocol) { - return this.getOpcValueAccessor().getValue(protocol); - } - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java deleted file mode 100644 index 25116fa..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDefination.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.ordinaryDefination.standardOrdinarySite; - -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.springframework.stereotype.Service; - -import java.util.LinkedList; -import java.util.List; - -/** - * 普通站点定义 - */ -@Service -public class StandardOrdinarySiteDefination implements DeviceDriverDefination { - @Override - public String getDriverCode() { - return "standard_ordinary_site"; - } - - @Override - public String getDriverName() { - return "标准版-无光电普通站点"; - } - - @Override - public String getDriverDescription() { - return "标准版-无光电普通站点"; - } - - @Override - public DeviceDriver getDriverInstance(Device device) { - return (new StandardOrdinarySiteDeviceDriver()).setDevice(device).setDriverDefination(this); - - } - - @Override - public Class getDeviceDriverType() { - return StandardOrdinarySiteDeviceDriver.class; - } - - @Override - public List getFitDeviceTypes() { - List types = new LinkedList(); - types.add(DeviceType.conveyor); - return types; - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java deleted file mode 100644 index c9ed27e..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceDriver/设备类型驱动/impl/ordinaryDefination/standardOrdinarySite/StandardOrdinarySiteDeviceDriver.java +++ /dev/null @@ -1,236 +0,0 @@ -package org.nl.acs.device.deviceDriver.设备类型驱动.impl.ordinaryDefination.standardOrdinarySite; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpResponse; -import com.alibaba.fastjson.JSONObject; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.ObjectUtils; -import org.nl.acs.api.agvKit.service.AcsToKitService; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.RouteableDeviceDriver; -import org.nl.acs.device.deviceDriver.driver.AbstractDeviceDriver; -import org.nl.acs.device.deviceDriver.driver.ExecutableDeviceDriver; -import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; -import org.nl.acs.device.storageMgt.service.impl.StorageCellServiceImpl; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.layout.device.DeviceStageMonitor; -import org.nl.acs.task.instruction.domain.Instruction; -import org.nl.acs.task.instruction.service.InstructionService; -import org.nl.acs.task.task.service.TaskService; -import org.nl.acs.task.task.service.dto.TaskDto; -import org.nl.config.SpringContextHolder; - -/** - * 普通站点 - */ -@Slf4j -@Data -@RequiredArgsConstructor -public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor { - - private final InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); - private final DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); - private final AcsToKitService acsToKitService = SpringContextHolder.getBean(AcsToKitService.class); - - private int flag; - - private String deviceCode = null; - /** - * 备注 - */ - private String remark = ""; - /** - * 数量 - */ - private String qty = ""; - /** - * 批次 - */ - private String batch = ""; - /** - * 物料 - */ - private String material = ""; - /** - * 当前指令 - */ - private Instruction inst = null; - - private boolean requireSuccess = false; - - private int agvPhase = 0; - /** - * agv请求标志和任务号 - */ - private volatile String reqTakeInstCode = null; - private volatile Boolean reqTakeRequireSuccess = false; - private volatile String lastTakeInstCode = null; // 上次处理的taskId,处理完成后更新 - private final Object lock = new Object(); - - @Override - public void execute() { - try { - Thread.sleep(2000); - this.deviceCode = this.getDevice().getDevice_code(); - if (this.reqTakeRequireSuccess && ObjectUtil.isNotEmpty(this.reqTakeInstCode)) { - Instruction instruction = instructionService.findByCodeFromCache(this.reqTakeInstCode); - //取货申请F - log.info("点位上报状态,{},{}", instruction.getTask_code(), agvPhase); - - if (ObjectUtil.isNotEmpty(instruction) && StrUtil.equals(instruction.getStart_point_code(), this.deviceCode)) { - if (agvPhase == 1) { - device = deviceAppService.findDeviceByCode(this.deviceCode); - StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getStart_point_code()); - if (dto == null) { - log.error(instruction.getStart_point_code() + "Storage_Cache_Map数据不存在"); - return; - } - instruction.setOffSet(dto.getAddress()); - instruction.setOffSetName(instruction.getStart_point_code()); - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - resetInstTask(agvPhase); - } - } - if (agvPhase == 2) { - device = deviceAppService.findDeviceByCode(this.deviceCode); - TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); - TaskDto task = taskService.findByCode(instruction.getTask_code()); - StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getStart_point_code()); - if (dto == null) { - log.error(instruction.getStart_point_code() + "Storage_Cache_Map数据不存在"); - return; - } - instruction.setOffSet(dto.getAddress()); - instruction.setOffSetName(instruction.getStart_point_code()); - if ((StrUtil.startWith(task.getTask_code(), "-"))) { - log.info("定点任务下发agv允许取货信号"); - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - resetInstTask(agvPhase); - } - } else { - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - resetInstTask(agvPhase); - } - } - } - } - //放货申请 - else if (ObjectUtil.isNotEmpty(instruction) && StrUtil.equals(instruction.getNext_point_code(), this.deviceCode)) { - if (agvPhase == 3) { - StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getNext_point_code()); - if (dto == null) { - log.error(instruction.getStart_point_code() + "Storage_Cache_Map数据不存在"); - return; - } - instruction.setOffSet(dto.getAddress1()); - instruction.setOffSetName(instruction.getNext_point_code()); - device = deviceAppService.findDeviceByCode(this.deviceCode); - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - resetInstTask(agvPhase); - } - } - if (agvPhase == 4) { - device = deviceAppService.findDeviceByCode(this.deviceCode); - TaskService taskService = SpringContextHolder.getBean("taskServiceImpl"); - TaskDto task = taskService.findByCode(instruction.getTask_code()); - StorageCellDto dto = StorageCellServiceImpl.Storage_Cache_Map.get(instruction.getNext_point_code()); - if (dto == null) { - log.error(instruction.getStart_point_code() + "Storage_Cache_Map数据不存在"); - return; - } - instruction.setOffSet(dto.getAddress1()); - instruction.setOffSetName(instruction.getNext_point_code()); - if ((StrUtil.startWith(task.getTask_code(), "-"))) { - log.info("定点任务下发agv允许取货信号"); - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - try { - instructionService.finish(instruction.getInstruction_id()); - } catch (Exception e) { - e.printStackTrace(); - } - resetInstTask(agvPhase); - } - } else { - log.info("放货完成申请成功,指令号:" + instruction.getInstruction_code()); - HttpResponse result = acsToKitService.genAgvSchedulingTask(instruction, 10); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - return; - } else { - try { - instructionService.finish(instruction.getInstruction_id()); - } catch (Exception e) { - e.printStackTrace(); - } - resetInstTask(agvPhase); - } - } - } - } - } - } catch (Exception ex) { - ex.printStackTrace(); - log.info("设备执行失败" + ex.getMessage()); - } - } - - @Override - public JSONObject getDeviceStatusName() { - JSONObject jo = new JSONObject(); - return jo; - } - - - @Override - public void setDeviceStatus(JSONObject data) { - - } - - // B设置新任务 - @Override - public void setDeviceInnerParam(String taskId, String agvphase) { - synchronized (lock) { - // 不允许设置和上次处理相同的taskId - if (taskId.equals(lastTakeInstCode)) { - // 可以记录日志并返回,或者抛出异常 - return; - } - // 设置新任务 - this.agvPhase = Integer.valueOf(agvphase); - this.reqTakeInstCode = taskId; - this.reqTakeRequireSuccess = true; - } - } - - // B设置新任务 - public void resetInstTask(Integer agvphase) { - synchronized (lock) { - // 设置新任务 - // 处理完成,更新状态 - if (Integer.valueOf(4).equals(agvphase)){ - this.lastTakeInstCode = reqTakeInstCode; - } - this.reqTakeRequireSuccess = false; - this.reqTakeInstCode = null; - this.agvPhase = 0; - } - } -} - diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceExtraService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/DeviceExtraService.java similarity index 92% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceExtraService.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/DeviceExtraService.java index b22867a..e3b7203 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/DeviceExtraService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/DeviceExtraService.java @@ -1,13 +1,12 @@ -package org.nl.acs.device.device.service; +package org.nl.acs.device.deviceExtInfo; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.dto.DeviceExtraDto; -import org.nl.acs.device.device.service.dto.DeviceExtraQueryParam; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraDto; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraQueryParam; import org.nl.common.db.CommonService; import org.nl.common.db.PageInfo; import org.springframework.data.domain.Pageable; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceExtraController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/controller/DeviceExtraController.java similarity index 87% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceExtraController.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/controller/DeviceExtraController.java index b3af203..22172dc 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/controller/DeviceExtraController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/controller/DeviceExtraController.java @@ -1,11 +1,11 @@ -package org.nl.acs.device.device.controller; +package org.nl.acs.device.deviceExtInfo.controller; import lombok.RequiredArgsConstructor; -import org.nl.acs.device.device.service.DeviceExtraService; -import org.nl.acs.device.device.service.dto.DeviceExtraDto; -import org.nl.acs.device.device.service.dto.DeviceExtraQueryParam; +import org.nl.acs.device.deviceExtInfo.DeviceExtraService; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraDto; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraQueryParam; import org.nl.common.logging.annotation.Log; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraDto.java similarity index 96% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraDto.java index 40ba528..5471e77 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.device.service.dto; +package org.nl.acs.device.deviceExtInfo.service.dto; import lombok.*; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraQueryParam.java similarity index 73% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraQueryParam.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraQueryParam.java index a2e8a33..65ceb90 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/dto/DeviceExtraQueryParam.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/dto/DeviceExtraQueryParam.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.device.service.dto; +package org.nl.acs.device.deviceExtInfo.service.dto; import lombok.Getter; import lombok.Setter; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceExtra.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/entity/DeviceExtra.java similarity index 97% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceExtra.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/entity/DeviceExtra.java index 85b7ba5..64b826f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/domain/DeviceExtra.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/entity/DeviceExtra.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.device.service.domain; +package org.nl.acs.device.deviceExtInfo.service.entity; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceExtraServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/impl/DeviceExtraServiceImpl.java similarity index 94% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceExtraServiceImpl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/impl/DeviceExtraServiceImpl.java index 2dabccd..43071c3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/impl/DeviceExtraServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/impl/DeviceExtraServiceImpl.java @@ -1,4 +1,4 @@ -package org.nl.acs.device.device.service.impl; +package org.nl.acs.device.deviceExtInfo.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -9,14 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.AllArgsConstructor; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.DeviceExtraService; -import org.nl.acs.device.device.service.mapper.DeviceExtraMapper; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.DeviceExtraService; +import org.nl.acs.device.deviceExtInfo.service.mapper.DeviceExtraMapper; import org.nl.common.db.PageInfo; import org.nl.common.db.QueryHelpMybatisPlus; import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.acs.device.device.service.dto.DeviceExtraDto; -import org.nl.acs.device.device.service.dto.DeviceExtraQueryParam; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraDto; +import org.nl.acs.device.deviceExtInfo.service.dto.DeviceExtraQueryParam; import org.nl.common.utils.ConvertUtil; import org.nl.common.utils.utils.PageUtil; import org.nl.common.exception.BadRequestException; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceExtraMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/mapper/DeviceExtraMapper.java similarity index 94% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceExtraMapper.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/mapper/DeviceExtraMapper.java index 8aa8d3c..c072eec 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device/service/mapper/DeviceExtraMapper.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceExtInfo/service/mapper/DeviceExtraMapper.java @@ -1,10 +1,10 @@ -package org.nl.acs.device.device.service.mapper; +package org.nl.acs.device.deviceExtInfo.service.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import org.nl.acs.device.device.service.domain.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; import org.nl.common.db.CommonMapper; import org.springframework.stereotype.Repository; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/DeviceProtocolService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/DeviceProtocolService.java index bc280c1..b833954 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/DeviceProtocolService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/DeviceProtocolService.java @@ -1,22 +1,11 @@ package org.nl.acs.device.deviceProtocol.service; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.dto.DeviceDto; -import org.nl.acs.device.device.service.dto.DeviceQueryParam; -import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; -import org.nl.common.db.CommonService; -import org.nl.common.db.PageInfo; import org.springframework.data.domain.Pageable; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.List; import java.util.Map; -import java.util.Set; /** * @author jiaolm diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/impl/DeviceProtocolServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/impl/DeviceProtocolServiceImpl.java index 1aac4ba..bf3a874 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/impl/DeviceProtocolServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/deviceProtocol/service/impl/DeviceProtocolServiceImpl.java @@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.DeviceExtraService; -import org.nl.acs.device.device.service.domain.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.DeviceExtraService; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; import org.nl.acs.device.deviceProtocol.service.DeviceProtocolService; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.*; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/storageMgt/service/impl/StorageCellServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/storageMgt/service/impl/StorageCellServiceImpl.java index 2720158..e26b722 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/storageMgt/service/impl/StorageCellServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/storageMgt/service/impl/StorageCellServiceImpl.java @@ -3,19 +3,16 @@ package org.nl.acs.device.storageMgt.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import lombok.AllArgsConstructor; import org.nl.ApplicationAutoInitial; import org.nl.common.db.PageInfo; import org.nl.common.db.QueryHelpMybatisPlus; import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.acs.device.device.service.DeviceService; import org.nl.acs.device.storageMgt.service.entity.StorageCell; import org.nl.acs.device.storageMgt.service.mapper.StorageCellMapper; import org.nl.common.exception.BadRequestException; @@ -27,10 +24,7 @@ import org.nl.acs.device.storageMgt.service.dto.StorageCellDto; import org.nl.acs.device.storageMgt.service.dto.StorageCellQueryParam; import org.nl.common.utils.SecurityUtils; import org.nl.config.language.LangProcess; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; // 默认不使用缓存 //import org.springframework.cache.annotation.CacheConfig; //import org.springframework.cache.annotation.CacheEvict; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppServiceImpl.java deleted file mode 100644 index 89a1895..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppServiceImpl.java +++ /dev/null @@ -1,406 +0,0 @@ -package org.nl.acs.iot.opc; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import lombok.extern.slf4j.Slf4j; -import org.nl.ApplicationAutoInitial; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.device.service.DeviceDriverDefinationAppService; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; -import org.nl.acs.device.deviceDriver.driver.OpcDeviceDriver; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * @author 20220102CG\noblelift - */ -@Slf4j -@Service -public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoInitial { - /** - * 所有设备链表 - */ - private List devices = new ArrayList(); - /** - * 设备对应的下表 - */ - private List code_indexs = new ArrayList(); - @Autowired - private DeviceManageService deviceManageService; - @Autowired - private DeviceDriverDefinationAppService deviceDriverDefinationAppService; - - @Override - public List findAllDevice() { - return devices; - } - - @Override - public Device findDeviceByCode(String device_code) { - Iterator var2 = this.findAllDevice().iterator(); - - Device device; - do { - if (!var2.hasNext()) { - return null; - } - - device = (Device) var2.next(); - } while (!StrUtil.equals(device.getDevice_code(), device_code)); - - return device; - } - - @Override - public Device findDeviceByAddress(String address) { - Iterator var2 = this.findAllDevice().iterator(); - - Device device; - do { - if (!var2.hasNext()) { - return null; - } - - device = (Device) var2.next(); - } while (!StrUtil.equals(device.getAddress(), address)); - - return device; - } - - @Override - public int deviceSize() { - return this.findAllDevice().size(); - } - - @Override - public Map>> findAllFormatProtocolFromDriver() { - Map>> result = new LinkedHashMap(); - List dtos = new ArrayList(); - List opcDrivers = this.findDeviceDriver(OpcDeviceDriver.class); - Iterator var4 = opcDrivers.iterator(); - while (var4.hasNext()) { - OpcDeviceDriver opcDriver = (OpcDeviceDriver) var4.next(); - List items = opcDriver.getOpcItems(); - if (items != null && items.size() > 0) { - dtos.addAll(items); - } - } - - Map> map = new HashMap(); - List servers = new ArrayList(); - Iterator var18 = dtos.iterator(); - - ArrayList serverResult; - while (var18.hasNext()) { - OpcItemDto dto = (OpcItemDto) var18.next(); - - if (!StrUtil.isEmpty(dto.getOpc_plc_code())) { - if (!servers.contains(dto.getOpc_plc_code())) { - serverResult = new ArrayList(); - serverResult.add(dto); - map.put(dto.getOpc_plc_code(), serverResult); - servers.add(dto.getOpc_plc_code()); - } else { - ((List) map.get(dto.getOpc_plc_code())).add(dto); - } - } - } - var18 = map.keySet().iterator(); - - while (var18.hasNext()) { - String serverCode = (String) var18.next(); - serverResult = new ArrayList(); - Map> deviceMap = new HashMap(); - List devices = (List) map.get(serverCode); - List deviceStrings = new ArrayList(); - Iterator var12 = devices.iterator(); - - while (var12.hasNext()) { - OpcItemDto dto = (OpcItemDto) var12.next(); - if (!deviceStrings.contains(dto.getDevice_code())) { - List temp = new ArrayList(); - temp.add(dto); - deviceMap.put(dto.getDevice_code(), temp); - deviceStrings.add(dto.getDevice_code()); - } else { - ((List) deviceMap.get(dto.getDevice_code())).add(dto); - } - } - List temp = new ArrayList(); - Iterator var21 = deviceMap.keySet().iterator(); - - while (var21.hasNext()) { - String string = (String) var21.next(); - List device = (List) deviceMap.get(string); - if (temp.size() + device.size() > WcsConfig.opc_group_sync_max_item) { - if (temp.size() > 0) { - serverResult.add(temp); - temp = new ArrayList(); - temp.addAll(device); - } else { - serverResult.add(device); - } - } else { - temp.addAll(device); - } - } - serverResult.add(temp); - result.put(serverCode, serverResult); - - - } - - return result; - } - - @Override - public Map>> findAllFormatProtocolFromDriverByPlc() { - Map>> result = new LinkedHashMap(); - List dtos = new ArrayList(); - List opcDrivers = this.findDeviceDriver(OpcDeviceDriver.class); - Iterator var4 = opcDrivers.iterator(); - - while (var4.hasNext()) { - OpcDeviceDriver opcDriver = (OpcDeviceDriver) var4.next(); - List items = opcDriver.getOpcItems(); - if (items != null && items.size() > 0) { - dtos.addAll(items); - } - } - - Map> map = new HashMap(); - List servers = new ArrayList(); - Iterator var18 = dtos.iterator(); - - ArrayList serverResult; - while (var18.hasNext()) { - OpcItemDto dto = (OpcItemDto) var18.next(); - if (!StrUtil.isEmpty(dto.getOpc_plc_code())) { - if (!servers.contains(dto.getOpc_plc_code())) { - serverResult = new ArrayList(); - serverResult.add(dto); - map.put(dto.getOpc_plc_code(), serverResult); - servers.add(dto.getOpc_plc_code()); - } else { - ((List) map.get(dto.getOpc_plc_code())).add(dto); - } - } - } - - var18 = map.keySet().iterator(); - - while (var18.hasNext()) { - String serverCode = (String) var18.next(); - serverResult = new ArrayList(); - Map> deviceMap = new HashMap(); - List devices = (List) map.get(serverCode); - List deviceStrings = new ArrayList(); - Iterator var12 = devices.iterator(); - - while (var12.hasNext()) { - OpcItemDto dto = (OpcItemDto) var12.next(); - if (!deviceStrings.contains(dto.getDevice_code())) { - List temp = new ArrayList(); - temp.add(dto); - deviceMap.put(dto.getDevice_code(), temp); - deviceStrings.add(dto.getDevice_code()); - } else { - ((List) deviceMap.get(dto.getDevice_code())).add(dto); - } - } - - List temp = new ArrayList(); - Iterator var21 = deviceMap.keySet().iterator(); - - while (var21.hasNext()) { - String string = (String) var21.next(); - List device = (List) deviceMap.get(string); - if (temp.size() + device.size() > WcsConfig.opc_group_sync_max_item) { - if (temp.size() > 0) { - serverResult.add(temp); - temp = new ArrayList(); - temp.addAll(device); - } else { - serverResult.add(device); - } - } else { - temp.addAll(device); - } - } - - serverResult.add(temp); - result.put(serverCode, serverResult); - } - - return result; - } - - - @Override - public List findDeviceDriver(Class clazz) { - List list = new ArrayList(); - Iterator var3 = this.findAllDevice().iterator(); - - while (var3.hasNext()) { - Device device = (Device) var3.next(); - DeviceDriver deviceDriver = device.getDeviceDriver(); - //查找某驱动的所有子类 - if (deviceDriver != null && clazz.isAssignableFrom(deviceDriver.getClass())) { - list.add((T) device.getDeviceDriver()); - } - } - - return list; - } - - @Override - public Map findDeviceOptions(DeviceType deviceType) { - List list = this.findDevice(deviceType); - Map map = new HashMap(); - Iterator var4 = list.iterator(); - - while (var4.hasNext()) { - Device device = (Device) var4.next(); - map.put(device.getDevice_code(), device.getDevice_name()); - } - return map; - } - - - @Override - public List findDeviceByType(DeviceType deviceType) { - List list = this.findDevice(deviceType); - Map map = new HashMap(); - Iterator var4 = list.iterator(); - - while (var4.hasNext()) { - Device device = (Device) var4.next(); - list.add(device); - } - return list; - } - - - @Override - public List findDevice(DeviceType deviceType) { - List list = new ArrayList(); - Iterator var3 = this.devices.iterator(); - - while (var3.hasNext()) { - Device device = (Device) var3.next(); - if (ObjectUtil.equal(device.getDevice_type(), deviceType.name())) { - list.add(device); - } - } - return list; - } - - @Override - public String findDeviceTypeByCode(String deviceCode) { - Iterator var3 = this.devices.iterator(); - - while (var3.hasNext()) { - Device device = (Device) var3.next(); - if (ObjectUtil.equal(device.getDevice_code(), deviceCode) && ObjectUtil.isNotEmpty(device.getDeviceDriverDefination())) { - return device.getDeviceDriverDefination().getFitDeviceTypes().get(0).name(); - } - } - return null; - } - - @Override - public void autoInitial() throws Exception { - log.info("加载所有设备"); - this.reload(); - } - - @Override - public synchronized void reload() { - List deviceManageDtos = deviceManageService.queryAllWithExtra(); - this.devices = new ArrayList(); - Collections.synchronizedList(this.devices); - this.code_indexs = new ArrayList(); - Collections.synchronizedList(this.code_indexs); - int i = 0; - - for (int size = deviceManageDtos.size(); i < size; ++i) { - DeviceManageDto deviceManage = (DeviceManageDto) deviceManageDtos.get(i); - Device device = new Device(); - BeanUtil.copyProperties(deviceManage, device); - this.devices.add(device); - this.code_indexs.add(device.getDevice_code()); - - if (!StrUtil.isEmpty(device.getDriver_code())) { - DeviceDriverDefination defination = this.deviceDriverDefinationAppService.getDeviceDriverDefination(deviceManage.getDriver_code()); - if (defination != null) { - device.setDeviceDriverDefination(defination); - DeviceDriver driver = defination.getDriverInstance(device); - device.setDeviceDriver(driver); - - } - } - - } - - } - - @Override - public void removeDevice(String deviceCode) { - - Iterator iterator = devices.iterator(); - while (iterator.hasNext()) { - Device device = iterator.next(); - if (StrUtil.equals(device.getDevice_code(), deviceCode)) { - iterator.remove(); - } - } - Iterator iterator2 = code_indexs.iterator(); - while (iterator2.hasNext()) { - String str = iterator2.next(); - if (StrUtil.equals(str, deviceCode)) { - iterator2.remove(); - } - } - - } - - @Override - public void addDevice(String deviceCode) { - List deviceManageDtos = this.deviceManageService.queryAllWithExtra(deviceCode); - int i = 0; - - for (int size = deviceManageDtos.size(); i < size; ++i) { - DeviceManageDto deviceManage = (DeviceManageDto) deviceManageDtos.get(i); - Device device = new Device(); - BeanUtil.copyProperties(deviceManage, device); - this.devices.add(device); - this.code_indexs.add(device.getDevice_code()); - - if (!StrUtil.isEmpty(device.getDriver_code())) { - DeviceDriverDefination defination = this.deviceDriverDefinationAppService.getDeviceDriverDefination(deviceManage.getDriver_code()); - if (defination != null) { - device.setDeviceDriverDefination(defination); - DeviceDriver driver = defination.getDriverInstance(device); - device.setDeviceDriver(driver); - - } - } - - } - } - - @Override - public TreeSet selectRegion() { - TreeSet set = new TreeSet<>(); - for (Device device : devices) { - set.add(Integer.parseInt(StrUtil.isEmpty(device.getRegion()) ? "0" : device.getRegion())); - } - return set; - } - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExecuteAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExecuteAutoRun.java deleted file mode 100644 index c18b681..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExecuteAutoRun.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.nl.acs.iot.opc; - -import lombok.extern.slf4j.Slf4j; -import org.nl.acs.autoThread.AbstractAutoRunnable; -import org.nl.acs.autoThread.service.AutoRunService; -import org.nl.acs.device.deviceDriver.driver.ExecutableDeviceDriver; -import org.nl.acs.iot.udw.UnifiedDataAccessor; -import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; -import org.nl.config.thread.ThreadPoolExecutorUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.*; -import java.util.concurrent.*; - -@Component -@Slf4j -public class DeviceExecuteAutoRun extends AbstractAutoRunnable { - @Autowired - DeviceAppService deviceAppService; - @Autowired - private AutoRunService autoRunService; - int cache_thread = 3; - - int corePoolSize = 50; - int maximumPoolSize = 100; - int queueLength = maximumPoolSize * cache_thread; - - int multiple = cache_thread; - - int loop_time_millions = 100; - - - Map runs; - - public DeviceExecuteAutoRun() { - // this.executorService = Executors.newCachedThreadPool(); - /* this.executorService=new ThreadPoolExecutor( - corePoolSize, - maximumPoolSize, - 1L, - TimeUnit.SECONDS, - new ArrayBlockingQueue<>( queueLength), - new TheadFactoryName() - );*/ - /*this.executorService = new ThreadPoolExecutor( - 50, - 100, - 1L, - TimeUnit.SECONDS, - new ArrayBlockingQueue<>(queueLength), - new TheadFactoryName(), new RejectedExecutionHandler() { - - @Override - public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { - if (!executor.isShutdown()) { - try { - executor.getQueue().put(r); - } catch (InterruptedException arg3) { - log.debug("", arg3); - } - } - } - } - );*/ -// this.executorService= ThreadPoolExecutorUtil.getPoll(); - this.runs = new LinkedHashMap(); - this.runs = Collections.synchronizedMap(this.runs); - } - - @Override - public String getCode() { - return DeviceExecuteAutoRun.class.getSimpleName(); - } - - - @Override - public String getName() { - return "设备执行线程"; - } - - @Override - public void autoRun() throws Exception { - for (int i = 0; !OpcStartTag.is_run; ++i) { - log.info("设备执行线程等待opc同步线程..."); - Thread.sleep(1000L); - if (i > 60) { - UnifiedDataAccessor accessor_value = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); - if (accessor_value.getAllKey().size() < 1) { - autoRunService.startThread("DeviceOpcSynchronizeAutoRun"); - } - log.info("设备执行线程放弃等待opc同步线程..."); - break; - } - } - -// Thread.sleep(10000L); - log.info("设备执行线程开始..."); - - while (true) { - Thread.sleep((long) this.loop_time_millions); - List deviceDrivers = this.deviceAppService.findDeviceDriver(ExecutableDeviceDriver.class); - - Iterator it = deviceDrivers.iterator(); - while (it.hasNext()) { - final ExecutableDeviceDriver deviceDriver = (ExecutableDeviceDriver) it.next(); - //不包含正在执行的线程,则进行执行 - if (!this.runs.keySet().contains(deviceDriver.getDeviceCode())) { - BlockedRunable runnable = new BlockedRunable() { - @Override - public void subRun() throws Exception { - deviceDriver.executeAuto(); - } - - @Override - public String getCode() { - return deviceDriver.getDeviceCode(); - } - }; - if (!this.runs.keySet().contains(deviceDriver.getDeviceCode())) { - this.runs.put(deviceDriver.getDeviceCode(), runnable); - } - runnable.setIndex(this.runs); - - ExecutorService executorService = (ExecutorService) ThreadPoolExecutorUtil.getPoll(); - executorService.submit(runnable); - - -// ScheduledExecutorService scheduler = (ScheduledExecutorService) DtpRegistry.getExecutor("scheduled_pool"); -// EagerDtpExecutor eagerDtpExecutor = (EagerDtpExecutor) DtpRegistry.getExecutor("scheduled_pool"); -// OrderedDtpExecutor orderedDtpExecutor = (OrderedDtpExecutor) DtpRegistry.getExecutor("scheduled_pool"); - // 使用调度器在超时后取消任务 -// scheduler.schedule(() -> { -// //异步任务没有结束 -// if (!future.isDone()) { -// try { -// future.get(5, TimeUnit.SECONDS); -// } catch (Exception e) { -// future.cancel(true); -// } -// } -// }, 1, TimeUnit.MILLISECONDS); // 设置超时时间为10秒 - } - } - } - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageService.java deleted file mode 100644 index b89bc8d..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageService.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.nl.acs.iot.opc; - -import java.util.List; - -/** - * @author 20220102CG\noblelift - */ -public interface DeviceManageService { - /** - * 查询所有设备 - * @return - */ - List queryAllWithExtra(); - - /** - * 根据设备编号查询设备 - * @param device_code - * @return - */ - List queryAllWithExtra(String device_code); -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageServiceImpl.java deleted file mode 100644 index 8c1355e..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageServiceImpl.java +++ /dev/null @@ -1,178 +0,0 @@ -package org.nl.acs.iot.opc; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.device.device.service.domain.DeviceExtra; -import org.nl.acs.device.device.service.mapper.DeviceExtraMapper; -import org.nl.acs.device.device.service.mapper.DeviceMapper; -import org.nl.acs.device.device.service.mapper.DeviceRunpointMapper; -import org.nl.acs.iot.opc.domain.Opc; -import org.nl.acs.iot.opc.domain.OpcPlc; -import org.nl.acs.iot.opc.service.mapper.OpcMapper; -import org.nl.acs.iot.opc.service.mapper.OpcPlcMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** - * @author 20220102CG\noblelift - */ -@Service -@Slf4j -public class DeviceManageServiceImpl implements DeviceManageService { - - @Autowired - DeviceMapper deviceMapper; - - @Autowired - DeviceExtraMapper deviceExtraMapper; - - @Autowired - DeviceRunpointMapper deviceRunpointMapper; - - @Autowired - OpcMapper opcMapper; - - @Autowired - OpcPlcMapper opcPlcMapper; - - @Override - public List queryAllWithExtra() { - // 获取所有的设备 - List deviceList = new LambdaQueryChainWrapper<>(deviceMapper).list(); - JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); - - // 获取列表扩展 - List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper).list(); - JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); - - // 设备+扩展DTO - List extras = extArr.toJavaList(DeviceExtraManageDto.class); - - - //OPC_PLC表【acs_opc_plc】 - List devices = new ArrayList<>(); - for (int i = 0; i < arr.size(); i++) { - JSONObject json = arr.getJSONObject(i); - DeviceManageDto device = json.toJavaObject(DeviceManageDto.class); - String opc_server_id = json.getString("opc_server_id"); - String opc_plc_id = json.getString("opc_plc_id"); - if (StrUtil.isNotEmpty(opc_plc_id) && StrUtil.isNotEmpty(opc_server_id)) { - //OPC表【acs_opc】 - Opc opc = new LambdaQueryChainWrapper<>(opcMapper).apply("is_delete= '0' AND is_active= '1' AND opc_id = '" + opc_server_id + "'") - .one(); - if (opc == null) { - log.info("设备:{},配置的OPC数据源不存在,opc_id:{}", json.getString("device_code"), opc_server_id); - continue; - } - device.setOpc_server_code(opc.getOpc_code()); - if (ObjectUtil.isEmpty(new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one())) { - System.out.println(device.getDevice_code()); - continue; - } - OpcPlc opcPlc = new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one(); - if (opcPlc == null) { - log.info("设备:{},配置的PLC数据源不存在,plc_id:{}", json.getString("device_code"), opc_plc_id); - continue; - } - device.setOpc_plc_code(opcPlc.getPlc_code()); - } - devices.add(device); - } - - Iterator it = devices.iterator(); - - while (it.hasNext()) { - DeviceManageDto device = (DeviceManageDto) it.next(); - Iterator var5 = extras.iterator(); - while (var5.hasNext()) { - DeviceExtraManageDto extra = (DeviceExtraManageDto) var5.next(); - if (extra.getDevice_id().equals(device.getDevice_id())) { - device.getExtra().add(extra); - if (StrUtil.equals(extra.getExtra_code(), "station_manager") && StrUtil.equals(extra.getExtra_value().toString(), "true")) { - String has_goods = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getHasgoods(); - String material_type = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getMaterial_type(); - String batch = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getBatch(); - String islock = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getIslock(); - device.setMaterial_type(material_type); - device.setHas_goods(Integer.parseInt(has_goods)); - device.setBatch(batch); - device.setIslock(islock); - } - } - } - } - - return devices; - } - - @Override - public List queryAllWithExtra(String device_code) { - List deviceList = new LambdaQueryChainWrapper<>(deviceMapper).eq(Device::getDevice_code, device_code).list(); - JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); - - List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper).eq(DeviceExtra::getDevice_code, device_code).list(); - JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); - - List extras = extArr.toJavaList(DeviceExtraManageDto.class); - - - List devices = new ArrayList<>(); - for (int i = 0; i < arr.size(); i++) { - JSONObject json = arr.getJSONObject(i); - DeviceManageDto device = json.toJavaObject(DeviceManageDto.class); - String opc_server_id = json.getString("opc_server_id"); - String opc_plc_id = json.getString("opc_plc_id"); - if (StrUtil.isNotEmpty(opc_plc_id) && StrUtil.isNotEmpty(opc_server_id)) { - Opc opc = new LambdaQueryChainWrapper<>(opcMapper).apply("is_delete= '0' AND is_active= '1' AND opc_id = '" + opc_server_id + "'").one(); - if (ObjectUtil.isEmpty(opc)) { - System.out.println(device.getDevice_code()); - continue; - } - String opc_code = opc.getOpc_code(); - device.setOpc_server_code(opc_code); - if (ObjectUtil.isEmpty(new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one())) { - System.out.println(device.getDevice_code()); - continue; - } - String plc_code = new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one().getPlc_code(); - device.setOpc_plc_code(plc_code); - } - devices.add(device); - } - - Iterator it = devices.iterator(); - - while (it.hasNext()) { - DeviceManageDto device = (DeviceManageDto) it.next(); - Iterator var5 = extras.iterator(); - while (var5.hasNext()) { - DeviceExtraManageDto extra = (DeviceExtraManageDto) var5.next(); - if (extra.getDevice_id().equals(device.getDevice_id())) { - device.getExtra().add(extra); - if (StrUtil.equals(extra.getExtra_code(), "station_manager") && StrUtil.equals(extra.getExtra_value().toString(), "true")) { - String has_goods = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getHasgoods(); - String material_type = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getMaterial_type(); - String batch = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getBatch(); - String islock = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getIslock(); - device.setMaterial_type(material_type); - device.setHas_goods(Integer.parseInt(has_goods)); - device.setBatch(batch); - device.setIslock(islock); - } - } - } - } - - return devices; - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcEntity.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcEntity.java deleted file mode 100644 index f885490..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcEntity.java +++ /dev/null @@ -1,182 +0,0 @@ -/* -package org.nl.acs.opc; - -import org.nl.acs.opc.DeviceOpcSynchronizeAutoRun; -import org.nl.acs.opc.OpcConfig; -import org.nl.acs.opc.OpcItemDto; -import org.nl.acs.opc.OpcServerService; -import org.nl.acs.udw.UnifiedDataAccessor; -import org.nl.acs.udw.UnifiedDataAccessorFactory; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; - -public class OpcEntity { - @Autowired - OpcServerService opcServerService; - private final UnifiedDataAccessor udw; - private Map> items; - private Map> someFailDevices; - private String opcCode; - - public OpcEntity(String opcCode) { - this.udw = UnifiedDataAccessorFactory.getAccessor(OpcConfig.udw_opc_value_key); - this.items = new ConcurrentHashMap(); - this.someFailDevices = new ConcurrentHashMap(); - this.opcCode = opcCode; - } - - public void reload(List> opcItemDtos) { - Map> itemCodes = new ConcurrentHashMap(); - (opcItemDtos.stream().flatMap(Collection::stream).collect(Collectors.groupingBy(OpcItemDto::getDevice_code))).forEach((deviceCodes, opcItemDtoList) -> { - itemCodes.put(deviceCodes, opcItemDtoList.stream().map(OpcItemDto::getItem_code).collect(Collectors.toList())); - }); - DeviceOpcSynchronizeAutoRun.itemCodeOpcItemDtoMapping.putAll((Map)opcItemDtos.stream().flatMap(Collection::stream).collect(Collectors.toMap(OpcItemDto::getItem_code, (obj) -> { - return obj; - },(k, v) -> k))); - if (this.items.size() == 0) { - itemCodes.values().stream().flatMap(Collection::stream).forEach((key) -> { - this.udw.setValue(key, (Object)null); - }); - this.addItemsIntoGroup(itemCodes); - } else { - if (this.someFailDevices.size() > 0) { - this.reAddDevices(); - } - - } - } - - private void reAddDevices() { - Map> addItems = new ConcurrentHashMap(); - StringBuilder err_message = new StringBuilder(); - this.someFailDevices.forEach((deviceCode, itemCodesList) -> { - itemCodesList.forEach((itemCode) -> { - try { - Group group = DeviceOpcSynchronizeAutoRun.getGroup(this.opcCode); - ((List)addItems.computeIfAbsent(deviceCode, (key) -> { - return new ArrayList(); - })).add(group.addItem(itemCode)); - } catch (Exception var6) { - err_message.append(itemCode).append(" 添加失败; "); - } - - }); - List deviceItems = (List)addItems.get(deviceCode); - if (deviceItems != null && deviceItems.size() == itemCodesList.size()) { - this.someFailDevices.remove(deviceCode); - } else if (itemCodesList.size() == 0) { - addItems.remove(deviceCode); - } else { - assert deviceItems != null; - - ((List)this.someFailDevices.get(deviceCode)).removeAll(deviceItems); - } - - synchronized(this.opcCode.intern()) { - this.items.putAll(addItems); - } - - if (err_message.length() > 0) { - String errMsg = err_message.toString(); - //this.log.warn("{}:{}", com.wxzd.wcs.opc.OpcConfig.resource_code, errMsg); - } - - }); - } - - private void addItemsIntoGroup(Map> itemCodes) { - try { - Group group = DeviceOpcSynchronizeAutoRun.getGroup(this.opcCode); - StringBuilder err_message = new StringBuilder(); - Map> items = new ConcurrentHashMap(); - itemCodes.forEach((deviceCode, itemCodesList) -> { - itemCodesList.forEach((itemCode) -> { - try { - ((List)items.computeIfAbsent(deviceCode, (key) -> { - return new ArrayList(); - })).add(group.addItem(itemCode)); - } catch (Exception var7) { - ((List)this.someFailDevices.computeIfAbsent(deviceCode, (key) -> { - return new ArrayList(); - })).add(itemCode); - this.udw.setValue(itemCode, (Object)null); - err_message.append(itemCode).append(" 添加失败; "); - } - - }); - List deviceItems = (List)items.get(deviceCode); - if (deviceItems != null && deviceItems.size() != itemCodesList.size()) { - items.remove(deviceCode); - this.someFailDevices.put(deviceCode, itemCodesList); - } - - }); - synchronized(this.opcCode.intern()) { - this.items = items; - } - - if (err_message.length() > 0) { - String errMsg = err_message.toString(); -// this.log.warn("{}:{}", OpcConfig.resource_code, errMsg); - } - } catch (Exception var8) { - var8.printStackTrace(); - } - - } - - public void cleanUdwCache() { - this.items.values().stream().flatMap(Collection::stream).map(Item::getId).forEach((key) -> { - this.udw.setValue(key, (Object)null); - }); - } - - public Map readAll() throws Exception { - return opcServerService.getServer(this.opcCode).read(true, (Item[])this.items.values().stream().flatMap(Collection::stream).toArray((x$0) -> { - return new Item[x$0]; - })); - } - - public Map readDividually() { - Map result = new HashMap(); - CompletableFuture[] futures = (CompletableFuture[])this.items.entrySet().stream().map((entry) -> { - return CompletableFuture.runAsync(() -> { - try { - Group group = DeviceOpcSynchronizeAutoRun.getGroup(this.opcCode); - result.putAll(group.read(true, (Item[])((List)entry.getValue()).toArray(new Item[0]))); - } catch (Exception var5) { - String deviceCode = (String)entry.getKey(); - // to do -// this.someFailDevices.put(deviceCode, ((List)entry.getValue()).stream().map(Item::getId).collect(Collectors.toList())); - this.items.remove(deviceCode); - } - - }, DeviceOpcSynchronizeAutoRun.executorService); - }).toArray((x$0) -> { - return new CompletableFuture[x$0]; - }); - CompletableFuture.allOf(futures).join(); - return result; - } - - - public UnifiedDataAccessor getUdw() { - return this.udw; - } - - public Map> getItems() { - return this.items; - } - - public String getOpcCode() { - return this.opcCode; - } -} -*/ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcUtl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcOperator.java similarity index 78% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcUtl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcOperator.java index 328dbcf..fb15658 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcUtl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcOperator.java @@ -2,11 +2,14 @@ package org.nl.acs.iot.opc; import cn.hutool.core.util.NumberUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jinterop.dcom.common.JIException; import org.jinterop.dcom.core.*; -import org.nl.acs.device.deviceDriver.driver.ItemValue; +import org.nl.acs.device.deviceDriver.service.dto.ItemValue; +import org.nl.acs.iot.opc.service.dto.QualityTypeValue; import org.nl.common.exception.BadRequestException; +import org.nl.config.MapOf; import org.nl.config.language.LangProcess; import org.openscada.opc.lib.common.ConnectionInformation; import org.openscada.opc.lib.da.*; @@ -21,9 +24,17 @@ import java.util.concurrent.*; * @author 20220102CG\noblelift */ @Slf4j -public class OpcUtl { +public class OpcOperator { private static int timeout = 1 * 60 * 1000; private static String key = "rpc.socketTimeout"; + private static Map Result_Msg = MapOf.of(0,"操作成功" + ,1,"操作部分成功,需要进一步检查", + -2147467259,"发生未指定的错误", + -2147024809,"一个或多个参数无效", + -2147467262,"不支持的接口", + -2147024882,"内存不足,无法完成操作", + -2147221005,"类标识符(CLSID)无效,通常表示指定的OPC服务器未在系统中注册", + -2147023174,"RPC服务器不可用"); static { checkTimeout(); @@ -39,65 +50,54 @@ public class OpcUtl { public static void writeValue(Group group, WriteRequest... requests) throws BadRequestException { try { - Map e = null; - try { - e = group.write(requests); -// group.write(requests); - } catch (Exception e1) { - e1.printStackTrace(); - } - + Map result = group.write(requests); boolean is_success = true; StringBuilder message = new StringBuilder(); - Iterator arg4 = e.keySet().iterator(); - - while (arg4.hasNext()) { - Item item = (Item) arg4.next(); - Integer integer = (Integer) e.get(item); - if (integer.intValue() != 0) { - if (is_success) { - is_success = false; + final Iterator iterator = result.keySet().iterator(); + while (iterator.hasNext()){ + final Item item = iterator.next(); + final Integer resultCode = result.get(item); + if (resultCode.intValue() != 0) { + is_success = false; + String msg = Result_Msg.get(resultCode); + if (StringUtils.isEmpty(msg)){ + msg = "unknow error"; } - message.append(item.getId()); - message.append(":error code:"); - message.append(integer); + message.append(":write error:"); + message.append(msg); message.append("; "); } } - if (!is_success) { - // throw new BusinessException(message.toString()); - System.out.println("下发信号失败:" + message.toString()); - System.out.println("下发信号失败原因:" + message.toString()); - log.info("下发信号失败:" + message.toString()); - throw new BadRequestException(message.toString()); + System.out.println("OPC写入报错"+ message); + log.error("OPC写入报错"+ message); + throw new BadRequestException("OPC写入报错"+ message); } - } catch (Exception arg7) { - log.info("下发信号失败:" + arg7.getMessage()); - System.out.println("下发信号失败原因:" + arg7.getMessage()); - throw new BadRequestException(arg7.toString()); + } catch (Exception ex) { + System.out.println("OPC写入报错"+ex.getMessage()); + log.error("OPC写入报错"+ ex.getMessage()); + throw new BadRequestException(ex.getMessage()); } } public static void writeValue(Group group, ItemValue... values) throws BadRequestException { - try { - if (values != null && values.length > 0) { - List ws = new ArrayList(); - ItemValue[] var3 = values; - int var4 = values.length; - + if (values != null && values.length > 0) { + List ws = new ArrayList(); + ItemValue[] var3 = values; + int var4 = values.length; + try { for (int var5 = 0; var5 < var4; ++var5) { ItemValue value = var3[var5]; + //注册Item Item item = group.addItem(value.getItem_code()); ws.add(new WriteRequest(item, getVariant(value.getItem_value()))); } - - writeValue(group, (WriteRequest[]) ws.toArray(new WriteRequest[0])); + }catch (Exception ex){ + log.error("OPC注册item失败"+ ex.getMessage()); + throw new BadRequestException("opc注册item失败"+ex.getMessage()); } - - } catch (AddFailedException | JIException var8) { - throw new BadRequestException(var8.toString()); + writeValue(group, ws.toArray(new WriteRequest[0])); } } @@ -128,12 +128,10 @@ public class OpcUtl { public static Object getValue(Item item, ItemState itemState) throws BadRequestException { if (NumberUtil.compare(itemState.getQuality(), Short.valueOf(QualityTypeValue.OPC_QUALITY_GOOD)) != 0) { if (item != null) { - log.debug("value is not good {} : {}", item.getId(), itemState.getQuality()); -// throw new BadRequestException("值不健康进行重连!"); + log.error("value is not good {} : {}", item.getId(), itemState.getQuality()); } else { - log.debug("value is not good {}", itemState.getQuality()); + log.error("value is not good {}", itemState.getQuality()); } - return null; } else { JIVariant value = itemState.getValue(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerManageService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerManageService.java deleted file mode 100644 index fa757d4..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerManageService.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.nl.acs.iot.opc; - -import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; - -import java.util.Map; - -/** - * @author 20220102CG\noblelift - */ -public interface OpcServerManageService { - /** - * 查询所有opc服务器 - * - * @return - */ - Map queryAllServerMap(); -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerUtl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerUtl.java deleted file mode 100644 index 0664900..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerUtl.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.nl.acs.iot.opc; - -import cn.hutool.core.util.StrUtil; -import org.openscada.opc.lib.da.Server; - -/** - * @author 20220102CG\noblelift - */ -/*public class OpcServerUtl { - - public static synchronized Server getServerWithOutException(String host, String clsid, String user, String password, - String domain) { - if (!StrUtil.isEmpty(host) && !StrUtil.isEmpty(clsid) && !StrUtil.isEmpty(user)) { - if (domain == null) { - domain = ""; - } - return OpcUtl.getServer(host, clsid, user, password, domain); -// return OpcUtl.getAutoServer(host, clsid, user, password, domain); - } else { - return null; - } - } - -}*/ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcStartTag.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcStartTag.java deleted file mode 100644 index 022d99f..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcStartTag.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.nl.acs.iot.opc; - -/** - * @author 20220102CG\noblelift - */ -public class OpcStartTag { - public static boolean is_run = false; -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/WcsConfig.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/WcsConfig.java deleted file mode 100644 index 32a34f7..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/WcsConfig.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.nl.acs.iot.opc; - -/** - * @author 20220102CG\noblelift - */ -public class WcsConfig { - - public static Integer opc_group_sync_max_item = 700; - - /** - * 设备是否需要校验在线 - */ - public static Boolean fake_online; - - /** - * 物料默认类型描述 - */ - public static String task_container_type_default_desc; - - /** - * 堆垛机异常入库次数限制 - */ - public static Integer stacker_error_in_count = 5; - - - /** - * 重复的指令下发超时 ms - */ - public static Integer opc_write_repeat_check = 1000; - -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcConfig.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/config/OpcConfig.java similarity index 90% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcConfig.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/config/OpcConfig.java index 33a8e70..be16efe 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcConfig.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/config/OpcConfig.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.config; /** * @author 20220102CG\noblelift @@ -18,4 +18,7 @@ public class OpcConfig { * OPC 数据同步是否采用回调机制实现。之前是线程定期全部读,效率低。 */ public static Boolean opc_item_read_using_callback = false; + + public static boolean OPC_START_TAG = false; + } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/rest/OpcController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/controller/OpcController.java similarity index 63% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/rest/OpcController.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/controller/OpcController.java index 9237021..a34b3b5 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/rest/OpcController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/controller/OpcController.java @@ -1,10 +1,10 @@ -package org.nl.acs.iot.opc.rest; +package org.nl.acs.iot.opc.opc.controller; -import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; -import org.nl.acs.iot.opc.service.OpcService; -import org.nl.acs.iot.opc.service.dto.OpcDto; +import org.nl.acs.iot.opc.opc.service.OpcService; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; import org.nl.common.logging.annotation.Log; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -24,7 +24,8 @@ import java.util.Map; @RequestMapping("/api/opc") public class OpcController { - private final OpcService opcService; + @Autowired + private OpcService opcService; @GetMapping @Log("查询opc") @@ -77,35 +78,4 @@ public class OpcController { return new ResponseEntity<>(opcService.getmeteal(whereJson), HttpStatus.OK); } - @Log("新增PLC") - @PostMapping(value = "/addPLC") - //@PreAuthorize("@el.check('opc:list')") - public ResponseEntity createPlc(@RequestBody Map whereJson) throws IOException { - opcService.createPLC(whereJson); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - - @GetMapping(value = "/queryServerPlc") - //@PreAuthorize("@el.ceck('menu:list','roles:list')") - public ResponseEntity query(@RequestParam String id) { - return new ResponseEntity<>(opcService.queryServerPlc(id), HttpStatus.OK); - } - - @Log("删除PLC") - @PostMapping(value = "/delPLC") - //@PreAuthorize("@el.check('opc:list')") - public ResponseEntity delPLC(@RequestBody Map whereJson) throws IOException { - opcService.delPLC(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } - - @Log("编辑PLC") - @PostMapping(value = "/editPLC") - //@PreAuthorize("@el.check('opc:list')") - public ResponseEntity editPLC(@RequestBody JSONObject json) throws IOException { - opcService.editPLC(json); - return new ResponseEntity<>(HttpStatus.OK); - } - } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/OpcService.java similarity index 83% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcService.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/OpcService.java index 60570cf..6d736ed 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/OpcService.java @@ -1,10 +1,9 @@ -package org.nl.acs.iot.opc.service; +package org.nl.acs.iot.opc.opc.service; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.acs.iot.opc.service.dto.OpcDto; -import org.nl.acs.iot.opc.service.dto.OpcQueryParam; -import org.nl.acs.iot.opc.domain.Opc; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; +import org.nl.acs.iot.opc.opc.service.dto.OpcQueryParam; +import org.nl.acs.iot.opc.opc.service.entity.Opc; import org.nl.common.db.PageInfo; import org.nl.common.db.CommonService; import org.springframework.data.domain.Pageable; @@ -157,14 +156,6 @@ public interface OpcService extends CommonService { JSONArray selectList(); - /** - * 根据ID查询 - * - * @param opc_id ID - * @return Opc - */ - OpcDto queryServerPlc(String opc_id); - /** * 查询 * @@ -173,22 +164,4 @@ public interface OpcService extends CommonService { */ HashMap getmeteal(Map whereJson); - /** - * 创建PLC - * - * @param map map - */ - void createPLC(Map map); - - /** - * 删除plc - * @param map - */ - void delPLC(Map map); - - /** - * 编辑plc - * @param json - */ - void editPLC(JSONObject json); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcDto.java similarity index 95% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcDto.java index dcc1955..c2431c8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.service.dto; +package org.nl.acs.iot.opc.opc.service.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcItemDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcItemDto.java similarity index 97% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcItemDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcItemDto.java index 520d0f3..0e23c70 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcItemDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcItemDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.opc.service.dto; import lombok.Data; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcQueryParam.java similarity index 86% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcQueryParam.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcQueryParam.java index ac26a01..a3984fc 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcQueryParam.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/dto/OpcQueryParam.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.service.dto; +package org.nl.acs.iot.opc.opc.service.dto; import lombok.Getter; import lombok.Setter; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/Opc.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/entity/Opc.java similarity index 97% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/Opc.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/entity/Opc.java index f2642cc..5c3c976 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/Opc.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/entity/Opc.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.domain; +package org.nl.acs.iot.opc.opc.service.entity; import org.nl.common.db.CommonModel; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/impl/OpcServiceImpl.java similarity index 78% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServiceImpl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/impl/OpcServiceImpl.java index 6b7cabb..effd911 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/impl/OpcServiceImpl.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.service.impl; +package org.nl.acs.iot.opc.opc.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -11,9 +11,9 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.common.db.CommonFinalParam; -import org.nl.acs.iot.opc.service.mapper.OpcMapper; -import org.nl.acs.iot.opc.service.mapper.OpcPlcMapper; -import org.nl.acs.iot.opc.domain.OpcPlc; +import org.nl.acs.iot.opc.opc.service.mapper.OpcMapper; +import org.nl.acs.iot.opc.opcPlc.service.mapper.OpcPlcMapper; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; import org.nl.common.utils.ReadUtil; import org.nl.common.db.PageInfo; import org.nl.common.db.QueryHelpMybatisPlus; @@ -21,17 +21,17 @@ import org.nl.common.db.impl.CommonServiceImpl; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.ConvertUtil; import org.nl.common.utils.FileUtil; -import org.nl.common.utils.utils.PageUtil; -import org.nl.acs.iot.opc.domain.Opc; -import org.nl.acs.iot.opc.service.OpcService; -import org.nl.acs.iot.opc.service.dto.OpcDto; -import org.nl.acs.iot.opc.service.dto.OpcQueryParam; +import org.nl.acs.iot.opc.opc.service.entity.Opc; +import org.nl.acs.iot.opc.opc.service.OpcService; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; +import org.nl.acs.iot.opc.opc.service.dto.OpcQueryParam; import org.nl.common.utils.SecurityUtils; import org.nl.config.language.LangProcess; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Pageable; +import org.nl.common.utils.PageUtil; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -95,14 +95,12 @@ public class OpcServiceImpl extends CommonServiceImpl implements public int updateById(OpcDto resources) { Opc entity = ConvertUtil.convert(resources, Opc.class); int ret = opcMapper.updateById(entity); - // delCaches(resources.id); return ret; } @Override @Transactional(rollbackFor = Exception.class) public int removeByIds(Set ids) { - // delCaches(ids); return opcMapper.deleteBatchIds(ids); } @@ -114,16 +112,6 @@ public class OpcServiceImpl extends CommonServiceImpl implements return this.removeByIds(set); } - /* - private void delCaches(String id) { - redisUtils.delByKey(CACHE_KEY + "::id:", id); - } - - private void delCaches(Set ids) { - for (String id: ids) { - delCaches(id); - } - }*/ @Override @@ -197,7 +185,6 @@ public class OpcServiceImpl extends CommonServiceImpl implements } @Override - @Transactional(rollbackFor = Exception.class) public void update(OpcDto dto) { OpcDto entity = this.findById(dto.getOpc_id()); if (entity == null) { @@ -212,7 +199,6 @@ public class OpcServiceImpl extends CommonServiceImpl implements } @Override - @Transactional(rollbackFor = Exception.class) public void deleteAll(String[] ids) { for (String opc_id : ids) { this.removeById(opc_id); @@ -265,24 +251,6 @@ public class OpcServiceImpl extends CommonServiceImpl implements return result; } - @Override - public OpcDto queryServerPlc(String opc_id) { - OpcPlc opcPlc = new LambdaQueryChainWrapper<>(opcPlcMapper) - .eq(OpcPlc::getOpc_server_id, opc_id) - .one(); - JSONObject json = (JSONObject) JSON.toJSON(opcPlc); - System.out.println("json:" + json); - json.put("opc_code", json.get("plc_code")); - json.put("opc_id", json.get("plc_id")); - json.put("opc_name", json.get("plc_name")); - json.put("opc_host", json.get("plc_host")); - //json.put("hasChildren","false"); - json.put("type", "PLC"); - //json.put("children",null); - final OpcDto obj = json.toJavaObject(OpcDto.class); - return obj; - } - @Override public HashMap getmeteal(Map whereJson) { HashMap map = new HashMap<>(); @@ -292,38 +260,4 @@ public class OpcServiceImpl extends CommonServiceImpl implements List> maps = ReadUtil.showAllOpcServer(host, user, password, ""); return (HashMap) maps.get(0); } - - @Override - public void createPLC(Map map) { - HashMap plc_map = new HashMap<>(); - String now = DateUtil.now(); - plc_map.put("plc_id", IdUtil.simpleUUID()); - plc_map.put("plc_code", (String) map.get("plc_code")); - plc_map.put("plc_name", (String) map.get("plc_name")); - plc_map.put("plc_host", (String) map.get("plc_host")); - plc_map.put("opc_server_id", (String) map.get("opc_server_id")); - plc_map.put("remark", (String) map.get("remark")); - plc_map.put("is_active", CommonFinalParam.ONE); - plc_map.put("is_delete", "0"); - plc_map.put("create_by", SecurityUtils.getCurrentNickName()); - plc_map.put("create_time", now); - OpcPlc entity = ConvertUtil.convert(plc_map, OpcPlc.class); - opcPlcMapper.insert(entity); - } - - @Override - public void delPLC(Map map) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(OpcPlc::getPlc_id, map.get("opc_id")); - opcPlcMapper.delete(wrapper); - } - - @Override - public void editPLC(JSONObject json) { - String now = DateUtil.now(); - json.put("update_time", now); - json.put("update_by", SecurityUtils.getCurrentNickName()); - OpcPlc opcPlc = JSON.toJavaObject(json, OpcPlc.class); - opcPlcMapper.updateById(opcPlc); - } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/mapper/OpcMapper.java similarity index 67% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcMapper.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/mapper/OpcMapper.java index 19bfdd1..65675a1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcMapper.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opc/service/mapper/OpcMapper.java @@ -1,6 +1,6 @@ -package org.nl.acs.iot.opc.service.mapper; +package org.nl.acs.iot.opc.opc.service.mapper; -import org.nl.acs.iot.opc.domain.Opc; +import org.nl.acs.iot.opc.opc.service.entity.Opc; import org.nl.common.db.CommonMapper; import org.springframework.stereotype.Repository; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/controller/OpcPlcController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/controller/OpcPlcController.java new file mode 100644 index 0000000..2a5269b --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/controller/OpcPlcController.java @@ -0,0 +1,59 @@ +package org.nl.acs.iot.opc.opcPlc.controller; + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import org.nl.acs.iot.opc.opcPlc.service.OpcPlcService; +import org.nl.common.logging.annotation.Log; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.Map; + +/** + * @author jiaolm + * @date 2023-05-09 + **/ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/opcPlc") +public class OpcPlcController { + + @Autowired + private OpcPlcService opcPlcService; + + + @Log("新增PLC") + @PostMapping(value = "/addPLC") + //@PreAuthorize("@el.check('opc:list')") + public ResponseEntity createPlc(@RequestBody Map whereJson) throws IOException { + opcPlcService.createPLC(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + + @GetMapping(value = "/queryServerPlc") + //@PreAuthorize("@el.ceck('menu:list','roles:list')") + public ResponseEntity query(@RequestParam String id) { + return new ResponseEntity<>(opcPlcService.queryServerPlc(id), HttpStatus.OK); + } + + @Log("删除PLC") + @PostMapping(value = "/delPLC") + //@PreAuthorize("@el.check('opc:list')") + public ResponseEntity delPLC(@RequestBody Map whereJson) throws IOException { + opcPlcService.delPLC(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("编辑PLC") + @PostMapping(value = "/editPLC") + //@PreAuthorize("@el.check('opc:list')") + public ResponseEntity editPLC(@RequestBody JSONObject json) throws IOException { + opcPlcService.editPLC(json); + return new ResponseEntity<>(HttpStatus.OK); + } + +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/OpcPlcService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/OpcPlcService.java new file mode 100644 index 0000000..9f34c8b --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/OpcPlcService.java @@ -0,0 +1,37 @@ +package org.nl.acs.iot.opc.opcPlc.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; +import org.nl.common.db.CommonService; + +import java.util.Map; + +/** + * @author jiaolm + * @date 2023-05-09 + */ +public interface OpcPlcService extends CommonService { + + + OpcDto queryServerPlc(String opc_id); + + /** + * 创建PLC + * + * @param map map + */ + void createPLC(Map map); + + /** + * 删除plc + * @param map + */ + void delPLC(Map map); + + /** + * 编辑plc + * @param json + */ + void editPLC(JSONObject json); +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcDto.java similarity index 95% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcDto.java index 19a49a2..bca40bf 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.service.dto; +package org.nl.acs.iot.opc.opcPlc.service.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcQueryParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcQueryParam.java similarity index 86% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcQueryParam.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcQueryParam.java index 41a9767..ed1e7ef 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/OpcPlcQueryParam.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/dto/OpcPlcQueryParam.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.service.dto; +package org.nl.acs.iot.opc.opcPlc.service.dto; import lombok.Getter; import lombok.Setter; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/OpcPlc.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/entity/OpcPlc.java similarity index 97% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/OpcPlc.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/entity/OpcPlc.java index f441aa2..8b9a3ab 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/domain/OpcPlc.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/entity/OpcPlc.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc.domain; +package org.nl.acs.iot.opc.opcPlc.service.entity; import org.nl.common.db.CommonModel; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/impl/OpcPlcServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/impl/OpcPlcServiceImpl.java new file mode 100644 index 0000000..c583e12 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/impl/OpcPlcServiceImpl.java @@ -0,0 +1,85 @@ +package org.nl.acs.iot.opc.opcPlc.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.iot.opc.opcPlc.service.OpcPlcService; +import org.nl.acs.iot.opc.opcPlc.service.mapper.OpcPlcMapper; +import org.nl.acs.iot.opc.opc.service.dto.OpcDto; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; +import org.nl.common.db.CommonFinalParam; +import org.nl.common.db.impl.CommonServiceImpl; +import org.nl.common.utils.ConvertUtil; +import org.nl.common.utils.SecurityUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +/** + * @author jiaolm + * @date 2023-05-09 + */ +@Service +@Slf4j +public class OpcPlcServiceImpl extends CommonServiceImpl implements OpcPlcService { + @Resource + private OpcPlcMapper opcPlcMapper; + + @Override + public OpcDto queryServerPlc(String opc_id) { + OpcPlc opcPlc = new LambdaQueryChainWrapper<>(opcPlcMapper) + .eq(OpcPlc::getOpc_server_id, opc_id) + .one(); + JSONObject json = (JSONObject) JSON.toJSON(opcPlc); + System.out.println("json:" + json); + json.put("opc_code", json.get("plc_code")); + json.put("opc_id", json.get("plc_id")); + json.put("opc_name", json.get("plc_name")); + json.put("opc_host", json.get("plc_host")); + //json.put("hasChildren","false"); + json.put("type", "PLC"); + //json.put("children",null); + final OpcDto obj = json.toJavaObject(OpcDto.class); + return obj; + } + + + @Override + public void createPLC(Map map) { + HashMap plc_map = new HashMap<>(); + String now = DateUtil.now(); + plc_map.put("plc_id", IdUtil.simpleUUID()); + plc_map.put("plc_code", (String) map.get("plc_code")); + plc_map.put("plc_name", (String) map.get("plc_name")); + plc_map.put("plc_host", (String) map.get("plc_host")); + plc_map.put("opc_server_id", (String) map.get("opc_server_id")); + plc_map.put("remark", (String) map.get("remark")); + plc_map.put("is_active", CommonFinalParam.ONE); + plc_map.put("is_delete", "0"); + plc_map.put("create_by", SecurityUtils.getCurrentNickName()); + plc_map.put("create_time", now); + OpcPlc entity = ConvertUtil.convert(plc_map, OpcPlc.class); + opcPlcMapper.insert(entity); + } + + @Override + public void delPLC(Map map) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(OpcPlc::getPlc_id, map.get("opc_id")); + opcPlcMapper.delete(wrapper); + } + + @Override + public void editPLC(JSONObject json) { + String now = DateUtil.now(); + json.put("update_time", now); + json.put("update_by", SecurityUtils.getCurrentNickName()); + OpcPlc opcPlc = JSON.toJavaObject(json, OpcPlc.class); + opcPlcMapper.updateById(opcPlc); + } +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcPlcMapper.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/mapper/OpcPlcMapper.java similarity index 66% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcPlcMapper.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/mapper/OpcPlcMapper.java index a4c4579..7daf4b3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/mapper/OpcPlcMapper.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcPlc/service/mapper/OpcPlcMapper.java @@ -1,7 +1,7 @@ -package org.nl.acs.iot.opc.service.mapper; +package org.nl.acs.iot.opc.opcPlc.service.mapper; import org.nl.common.db.CommonMapper; -import org.nl.acs.iot.opc.domain.OpcPlc; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; import org.springframework.stereotype.Repository; /** diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcServerManageServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcServerManageServiceImpl.java deleted file mode 100644 index 327b17d..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/opcServerManageServiceImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.nl.acs.iot.opc; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.nl.acs.iot.opc.domain.Opc; -import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; -import org.nl.acs.iot.opc.service.mapper.OpcMapper; -import org.nl.common.utils.ConvertUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * @author 20220102CG\noblelift - */ -@Service -public class opcServerManageServiceImpl implements OpcServerManageService { - - @Autowired - OpcMapper opcMapper; - - @Override - public Map queryAllServerMap() { - List opcServers = this.queryAll(); - Map result = new HashMap(); - Iterator var3 = opcServers.iterator(); - - while (var3.hasNext()) { - OpcServerManageDto opcServer = (OpcServerManageDto) var3.next(); - result.put(opcServer.getOpc_code(), opcServer); - } - - return result; - } - - public List queryAll() { - //return this.opcServerRepository.queryAll(OpcServerManageDto.class); - //OPC表【acs_opc】 -// JSONArray arr = WQLObject.getWQLObject("acs_opc").query().getResultJSONArray(0); -// -// return arr.toJavaList(OpcServerManageDto.class); - - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - return ConvertUtil.convertList(opcMapper.selectList(wrapper), OpcServerManageDto.class); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/DeviceAppService.java similarity index 80% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppService.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/DeviceAppService.java index 3d7917b..f27cde8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceAppService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/DeviceAppService.java @@ -1,8 +1,10 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.iot.opc.service.dto.DeviceManageDto; +import org.nl.acs.iot.opc.opc.service.dto.OpcItemDto; import java.util.List; import java.util.Map; @@ -49,12 +51,6 @@ public interface DeviceAppService { */ Map>> findAllFormatProtocolFromDriver(); - /** - * key:opcServer编码,List 每个opcServe下面挂了多少Plc - * @return - */ - Map>> findAllFormatProtocolFromDriverByPlc(); - /** * 找设备驱动驱动 @@ -81,13 +77,7 @@ public interface DeviceAppService { */ List findDeviceByType(DeviceType deviceType); - /** - * 根据设备类型查找设备 - * - * @param deviceType - * @return - */ - List findDevice(DeviceType deviceType); + /** * 重新加载设备驱动 @@ -120,4 +110,18 @@ public interface DeviceAppService { * 查找设备区域 */ TreeSet selectRegion(); + + + /** + * 查询所有设备 + * @return + */ + List queryAllWithExtra(); + + /** + * 根据设备编号查询设备 + * @param device_code + * @return + */ + List queryAllWithExtra(String device_code); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcServerService.java similarity index 78% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerService.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcServerService.java index 4dad9eb..af9baed 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/OpcServerService.java @@ -1,8 +1,11 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service; -import org.nl.acs.device.deviceDriver.driver.ItemValue; +import org.nl.acs.device.deviceDriver.service.dto.ItemValue; +import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; import org.openscada.opc.lib.da.Group; +import java.util.Map; + /** * @author ldjun * @version 1.0 @@ -52,4 +55,6 @@ public interface OpcServerService { void cleanGroups(String var1); + Map queryAllServerMap(); + } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExtraManageDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceExtraManageDto.java similarity index 92% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExtraManageDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceExtraManageDto.java index 067f0e2..59bfa76 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceExtraManageDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceExtraManageDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service.dto; import lombok.Data; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceManageDto.java similarity index 98% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageDto.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceManageDto.java index c964f34..d265411 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceManageDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/DeviceManageDto.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service.dto; import com.baomidou.mybatisplus.annotation.TableField; import eu.bitwalker.useragentutils.DeviceType; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/QualityTypeValue.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/QualityTypeValue.java similarity index 95% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/QualityTypeValue.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/QualityTypeValue.java index fa0a454..29fce2a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/QualityTypeValue.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/dto/QualityTypeValue.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service.dto; /** * @author 20220102CG\noblelift diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceAppServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceAppServiceImpl.java new file mode 100644 index 0000000..59b646a --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceAppServiceImpl.java @@ -0,0 +1,454 @@ +package org.nl.acs.iot.opc.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.ApplicationAutoInitial; +import org.nl.acs.device.device.service.entity.Device; +import org.nl.acs.device.device.service.enums.DeviceType; +import org.nl.acs.device.device.service.DeviceDriverDefinationAppService; +import org.nl.acs.device.device.service.mapper.DeviceMapper; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.impl.AbstractOpcDeviceDriver; +import org.nl.acs.device.deviceExtInfo.service.entity.DeviceExtra; +import org.nl.acs.device.deviceExtInfo.service.mapper.DeviceExtraMapper; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.service.dto.DeviceExtraManageDto; +import org.nl.acs.iot.opc.service.dto.DeviceManageDto; +import org.nl.acs.iot.opc.opc.service.dto.OpcItemDto; +import org.nl.acs.iot.opc.opc.service.entity.Opc; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; +import org.nl.acs.iot.opc.opc.service.mapper.OpcMapper; +import org.nl.acs.iot.opc.opcPlc.service.mapper.OpcPlcMapper; +import org.nl.common.domain.constant.DictConstantPool; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author 20220102CG\noblelift + */ +@Slf4j +@Service +public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoInitial { + /** + * 所有设备链表 + */ + private List devices = new ArrayList(); + /** + * 设备对应的下表 + */ + private List code_indexs = new ArrayList(); + + @Autowired + private DeviceDriverDefinationAppService deviceDriverDefinationAppService; + + @Resource + private OpcMapper opcMapper; + @Resource + private OpcPlcMapper opcPlcMapper; + @Resource + private DeviceMapper deviceMapper; + @Resource + private DeviceExtraMapper deviceExtraMapper; + + @Override + public List findAllDevice() { + return devices; + } + + @Override + public Device findDeviceByCode(String device_code) { + Iterator var2 = this.findAllDevice().iterator(); + + Device device; + do { + if (!var2.hasNext()) { + return null; + } + + device = (Device) var2.next(); + } while (!StrUtil.equals(device.getDevice_code(), device_code)); + + return device; + } + + @Override + public Device findDeviceByAddress(String address) { + Iterator var2 = this.findAllDevice().iterator(); + + Device device; + do { + if (!var2.hasNext()) { + return null; + } + + device = (Device) var2.next(); + } while (!StrUtil.equals(device.getAddress(), address)); + + return device; + } + + @Override + public int deviceSize() { + return this.findAllDevice().size(); + } + + @Override + public Map>> findAllFormatProtocolFromDriver() { + Map>> result = new LinkedHashMap(); + List dtos = this.findDeviceDriver(AbstractOpcDeviceDriver.class) + .stream() + .map(AbstractOpcDeviceDriver::getOpcItems) + .filter(CollectionUtil::isNotEmpty) // 使用 Apache Commons 或 Hutool + .flatMap(Collection::stream) + .collect(Collectors.toList()); + Map> map = dtos.stream() + .filter(dto -> StrUtil.isNotEmpty(dto.getOpc_plc_code())) + .collect(Collectors.groupingBy(OpcItemDto::getOpc_plc_code)); + + for (Map.Entry> entry : map.entrySet()) { + List> groups = groupItemsBySizeLimit( + entry.getValue() + ); + result.put(entry.getKey(), groups); + } + return result; + } + + + private List> groupItemsBySizeLimit(List items) { + // 1. 按设备分组 + int maxSize = DictConstantPool.POC_GROUP_SYNC_MAX_ITEM; + Map> itemsByDevice = items.stream() + .filter(dto -> StrUtil.isNotEmpty(dto.getDevice_code())) + .collect(Collectors.groupingBy( + OpcItemDto::getDevice_code, + LinkedHashMap::new, + Collectors.toList() + )); + // 2. 分组拆分 + List> groups = new ArrayList<>(); + List currentGroup = new ArrayList<>(); + for (List deviceItems : itemsByDevice.values()) { + // 如果单个设备超过限制,拆分成多个组 + if (deviceItems.size() >= maxSize) { + // 先保存当前组 + if (!currentGroup.isEmpty()) { + groups.add(new ArrayList<>(currentGroup)); + currentGroup.clear(); + } + // 拆分大设备 + for (int i = 0; i < deviceItems.size(); i += maxSize) { + int end = Math.min(i + maxSize, deviceItems.size()); + groups.add(new ArrayList<>(deviceItems.subList(i, end))); + } + continue; + } + if (currentGroup.size() + deviceItems.size() <= maxSize) { + currentGroup.addAll(deviceItems); + } else { + // 保存当前组,开始新组 + if (!currentGroup.isEmpty()) { + groups.add(new ArrayList<>(currentGroup)); + } + currentGroup = new ArrayList<>(deviceItems); + } + } + // 添加最后一组 + if (!currentGroup.isEmpty()) { + groups.add(currentGroup); + } + return groups; + } + + + @Override + public List findDeviceDriver(Class clazz) { + List list = new ArrayList(); + Iterator var3 = this.findAllDevice().iterator(); + while (var3.hasNext()) { + Device device = (Device) var3.next(); + DeviceDriver deviceDriver = device.getDeviceDriver(); + //查找某驱动的所有子类 + if (deviceDriver != null && clazz.isAssignableFrom(deviceDriver.getClass())) { + list.add((T) device.getDeviceDriver()); + } + } + + return list; + } + + @Override + public Map findDeviceOptions(DeviceType deviceType) { + List list = this.findDeviceByType(deviceType); + Map map = new HashMap(); + Iterator var4 = list.iterator(); + + while (var4.hasNext()) { + Device device = (Device) var4.next(); + map.put(device.getDevice_code(), device.getDevice_name()); + } + return map; + } + + + @Override + public List findDeviceByType(DeviceType deviceType) { + List list = new ArrayList(); + Iterator var3 = this.devices.iterator(); + while (var3.hasNext()) { + Device device = (Device) var3.next(); + if (ObjectUtil.equal(device.getDevice_type(), deviceType.name())) { + list.add(device); + } + } + return list; + } + + + @Override + public String findDeviceTypeByCode(String deviceCode) { + Iterator var3 = this.devices.iterator(); + + while (var3.hasNext()) { + Device device = (Device) var3.next(); + if (ObjectUtil.equal(device.getDevice_code(), deviceCode) && ObjectUtil.isNotEmpty(device.getDeviceDriverDefination())) { + return device.getDeviceDriverDefination().getFitDeviceTypes().get(0).name(); + } + } + return null; + } + + @Override + public void autoInitial() throws Exception { + log.info("加载所有设备"); + this.reload(); + } + + @Override + public synchronized void reload() { + List deviceManageDtos = deviceManageService.queryAllWithExtra(); + this.devices = new ArrayList(); + Collections.synchronizedList(this.devices); + this.code_indexs = new ArrayList(); + Collections.synchronizedList(this.code_indexs); + int i = 0; + + for (int size = deviceManageDtos.size(); i < size; ++i) { + DeviceManageDto deviceManage = (DeviceManageDto) deviceManageDtos.get(i); + Device device = new Device(); + BeanUtil.copyProperties(deviceManage, device); + this.devices.add(device); + this.code_indexs.add(device.getDevice_code()); + + if (!StrUtil.isEmpty(device.getDriver_code())) { + DeviceDriverDefination defination = this.deviceDriverDefinationAppService.getDeviceDriverDefination(deviceManage.getDriver_code()); + if (defination != null) { + device.setDeviceDriverDefination(defination); + DeviceDriver driver = defination.getDriverInstance(device); + device.setDeviceDriver(driver); + + } + } + + } + + } + + @Override + public void removeDevice(String deviceCode) { + + Iterator iterator = devices.iterator(); + while (iterator.hasNext()) { + Device device = iterator.next(); + if (StrUtil.equals(device.getDevice_code(), deviceCode)) { + iterator.remove(); + } + } + Iterator iterator2 = code_indexs.iterator(); + while (iterator2.hasNext()) { + String str = iterator2.next(); + if (StrUtil.equals(str, deviceCode)) { + iterator2.remove(); + } + } + + } + + @Override + public void addDevice(String deviceCode) { + List deviceManageDtos = this.queryAllWithExtra(deviceCode); + int i = 0; + + for (int size = deviceManageDtos.size(); i < size; ++i) { + DeviceManageDto deviceManage = (DeviceManageDto) deviceManageDtos.get(i); + Device device = new Device(); + BeanUtil.copyProperties(deviceManage, device); + this.devices.add(device); + this.code_indexs.add(device.getDevice_code()); + + if (!StrUtil.isEmpty(device.getDriver_code())) { + DeviceDriverDefination defination = this.deviceDriverDefinationAppService.getDeviceDriverDefination(deviceManage.getDriver_code()); + if (defination != null) { + device.setDeviceDriverDefination(defination); + DeviceDriver driver = defination.getDriverInstance(device); + device.setDeviceDriver(driver); + + } + } + + } + } + + @Override + public TreeSet selectRegion() { + TreeSet set = new TreeSet<>(); + for (Device device : devices) { + set.add(Integer.parseInt(StrUtil.isEmpty(device.getRegion()) ? "0" : device.getRegion())); + } + return set; + } + + + @Override + public List queryAllWithExtra() { + // 获取所有的设备 + List deviceList = new LambdaQueryChainWrapper<>(deviceMapper).list(); + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); + + // 获取列表扩展 + List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper).list(); + JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); + + // 设备+扩展DTO + List extras = extArr.toJavaList(DeviceExtraManageDto.class); + + + //OPC_PLC表【acs_opc_plc】 + List devices = new ArrayList<>(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + DeviceManageDto device = json.toJavaObject(DeviceManageDto.class); + String opc_server_id = json.getString("opc_server_id"); + String opc_plc_id = json.getString("opc_plc_id"); + if (StrUtil.isNotEmpty(opc_plc_id) && StrUtil.isNotEmpty(opc_server_id)) { + //OPC表【acs_opc】 + Opc opc = new LambdaQueryChainWrapper<>(opcMapper).apply("is_delete= '0' AND is_active= '1' AND opc_id = '" + opc_server_id + "'") + .one(); + if (opc == null) { + log.info("设备:{},配置的OPC数据源不存在,opc_id:{}", json.getString("device_code"), opc_server_id); + continue; + } + device.setOpc_server_code(opc.getOpc_code()); + if (ObjectUtil.isEmpty(new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one())) { + System.out.println(device.getDevice_code()); + continue; + } + OpcPlc opcPlc = new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one(); + if (opcPlc == null) { + log.info("设备:{},配置的PLC数据源不存在,plc_id:{}", json.getString("device_code"), opc_plc_id); + continue; + } + device.setOpc_plc_code(opcPlc.getPlc_code()); + } + devices.add(device); + } + + Iterator it = devices.iterator(); + + while (it.hasNext()) { + DeviceManageDto device = (DeviceManageDto) it.next(); + Iterator var5 = extras.iterator(); + while (var5.hasNext()) { + DeviceExtraManageDto extra = (DeviceExtraManageDto) var5.next(); + if (extra.getDevice_id().equals(device.getDevice_id())) { + device.getExtra().add(extra); + if (StrUtil.equals(extra.getExtra_code(), "station_manager") && StrUtil.equals(extra.getExtra_value().toString(), "true")) { +// String has_goods = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getHasgoods(); +// String material_type = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getMaterial_type(); +// String batch = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getBatch(); +// device.setMaterial_type(material_type); +// device.setHas_goods(Integer.parseInt(has_goods)); +// device.setBatch(batch); +// device.setIslock(islock); + } + } + } + } + + return devices; + } + + @Override + public List queryAllWithExtra(String device_code) { + List deviceList = new LambdaQueryChainWrapper<>(deviceMapper).eq(Device::getDevice_code, device_code).list(); + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); + + List deviceExtraList = new LambdaQueryChainWrapper<>(deviceExtraMapper).eq(DeviceExtra::getDevice_code, device_code).list(); + JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); + + List extras = extArr.toJavaList(DeviceExtraManageDto.class); + + + List devices = new ArrayList<>(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + DeviceManageDto device = json.toJavaObject(DeviceManageDto.class); + String opc_server_id = json.getString("opc_server_id"); + String opc_plc_id = json.getString("opc_plc_id"); + if (StrUtil.isNotEmpty(opc_plc_id) && StrUtil.isNotEmpty(opc_server_id)) { + Opc opc = new LambdaQueryChainWrapper<>(opcMapper).apply("is_delete= '0' AND is_active= '1' AND opc_id = '" + opc_server_id + "'").one(); + if (ObjectUtil.isEmpty(opc)) { + System.out.println(device.getDevice_code()); + continue; + } + String opc_code = opc.getOpc_code(); + device.setOpc_server_code(opc_code); + if (ObjectUtil.isEmpty(new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one())) { + System.out.println(device.getDevice_code()); + continue; + } + String plc_code = new LambdaQueryChainWrapper<>(opcPlcMapper).apply("is_delete= '0' AND is_active= '1' AND plc_id = '" + opc_plc_id + "'").one().getPlc_code(); + device.setOpc_plc_code(plc_code); + } + devices.add(device); + } + + Iterator it = devices.iterator(); + + while (it.hasNext()) { + DeviceManageDto device = (DeviceManageDto) it.next(); + Iterator var5 = extras.iterator(); + while (var5.hasNext()) { + DeviceExtraManageDto extra = (DeviceExtraManageDto) var5.next(); + if (extra.getDevice_id().equals(device.getDevice_id())) { + device.getExtra().add(extra); + if (StrUtil.equals(extra.getExtra_code(), "station_manager") && StrUtil.equals(extra.getExtra_value().toString(), "true")) { +// String has_goods = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getHasgoods(); +// String material_type = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getMaterial_type(); +// String batch = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getBatch(); +// String islock = new LambdaQueryChainWrapper<>(deviceRunpointMapper).apply("is_delete= '0' AND is_active= '1' AND device_id = '" + extra.getDevice_id() + "'").one().getIslock(); +// device.setMaterial_type(material_type); +// device.setHas_goods(Integer.parseInt(has_goods)); +// device.setBatch(batch); +// device.setIslock(islock); + } + } + } + } + + return devices; + } + +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceDriverDefinationAppServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceDriverDefinationAppServiceImpl.java similarity index 95% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceDriverDefinationAppServiceImpl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceDriverDefinationAppServiceImpl.java index 01b8bbe..79c0942 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/DeviceDriverDefinationAppServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/DeviceDriverDefinationAppServiceImpl.java @@ -1,10 +1,10 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service.impl; import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.device.service.enums.DeviceType; import org.nl.acs.device.device.service.DeviceDriverDefinationAppService; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriver; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.DeviceDriver; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import org.nl.common.exception.BadRequestException; import org.springframework.beans.BeansException; import org.springframework.beans.factory.InitializingBean; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServerServiceImpl.java similarity index 72% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerServiceImpl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServerServiceImpl.java index 14b2384..21fb89b 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/OpcServerServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/service/impl/OpcServerServiceImpl.java @@ -1,24 +1,29 @@ -package org.nl.acs.iot.opc; +package org.nl.acs.iot.opc.service.impl; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; import org.jinterop.dcom.common.JIException; import org.nl.ApplicationAutoInitial; -import org.nl.acs.device.deviceDriver.driver.ItemValue; +import org.nl.acs.device.deviceDriver.service.dto.ItemValue; +import org.nl.acs.iot.opc.service.OpcServerService; +import org.nl.acs.iot.opc.OpcOperator; +import org.nl.acs.iot.opc.config.OpcConfig; import org.nl.acs.iot.opc.service.dto.OpcServerManageDto; +import org.nl.acs.iot.opc.opc.service.mapper.OpcMapper; +import org.nl.common.utils.ConvertUtil; +import org.nl.common.utils.ThreadUtl; +import org.openscada.opc.dcom.da.OPCSERVERSTATE; +import org.openscada.opc.dcom.da.OPCSERVERSTATUS; import org.openscada.opc.lib.common.NotConnectedException; import org.openscada.opc.lib.da.Group; import org.openscada.opc.lib.da.Server; import org.openscada.opc.lib.da.UnknownGroupException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.net.UnknownHostException; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; +import java.util.*; /** * @author ldjun @@ -27,11 +32,12 @@ import java.util.Map; * @desc desc */ @Service +@Slf4j public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoInitial { - private static final Logger log = LoggerFactory.getLogger(OpcServerServiceImpl.class); @Autowired - OpcServerManageService opcServerManageService; + private OpcMapper opcMapper; + Map opcServerManageDtos = new HashMap(); Map servers = Collections.synchronizedMap(new HashMap()); Map groups = Collections.synchronizedMap(new HashMap()); @@ -69,7 +75,7 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn @Override public synchronized void reload() { - this.opcServerManageDtos = this.opcServerManageService.queryAllServerMap(); + this.opcServerManageDtos = this.queryAllServerMap(); this.opcServerManageDtos = Collections.synchronizedMap(this.opcServerManageDtos); } @@ -125,7 +131,7 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn if (server == null) { // server = OpcServerUtl.getServerWithOutException(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); - server = OpcUtl.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); + server = OpcOperator.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); } try { @@ -135,7 +141,7 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn ThreadUtl.sleep(5000L); log.warn("获取opc出错重新获取", code, var12); // server = OpcServerUtl.getServerWithOutException(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); - server = OpcUtl.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); + server = OpcOperator.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); try { group = server.addGroup(groupName); } catch (Exception var11) { @@ -162,7 +168,6 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn if (server != null) { this.clearServer(code); } - OpcServerManageDto dto = (OpcServerManageDto) this.opcServerManageDtos.get(code); if (dto == null) { throw new RuntimeException(code + "不存在"); @@ -170,7 +175,7 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn // if (server == null) { // server = OpcServerUtl.getServerWithOutException(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); - server = OpcUtl.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); + server = OpcOperator.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); // } String groupName = code; Group group = null; @@ -182,7 +187,7 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn ThreadUtl.sleep(2000L); log.warn("获取opc出错重新获取", code, var12); // server = OpcServerUtl.getServerWithOutException(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); - server = OpcUtl.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); + server = OpcOperator.getServer(dto.getOpc_host(), StrUtil.trim(dto.getCls_id()), dto.getUser(), dto.getPassword(), StrUtil.trim(dto.getDomain())); try { group = server.addGroup(groupName); } catch (Exception var11) { @@ -203,12 +208,10 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn if (server != null) { server.disconnect(); } - } catch (Exception e) { - e.printStackTrace(); + System.out.println("---清理"+code+"server异常----"); log.error("清理server异常,", e.getMessage()); } - this.servers.remove(code); this.groups.remove(code); } @@ -235,12 +238,19 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn public void writeInteger(String code, ItemValue... values) { try { Group group = this.getServer(code); - OpcUtl.writeValue(group, values); - } catch (Exception var4) { - this.clearServer(code); - log.warn("写入出错opc server {} 重新加载", code, var4); - ThreadUtl.sleep(3000L); - throw var4; + OpcOperator.writeValue(group, values); + } catch (Throwable throwable) { + Server server = this.servers.get(code); + try { + final OPCSERVERSTATUS serverState = server.getServerState(5000); + if (!OPCSERVERSTATE.OPC_STATUS_RUNNING.equals(serverState.getServerState())){ + this.clearServer(code); + ThreadUtl.sleep(1000L); + } + }catch (Throwable ex){ + throw new RuntimeException(ex.getMessage()); + } + throw throwable; } } @@ -248,12 +258,19 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn public void writeIntegerByNewConn(String code, ItemValue... values) { try { Group group = this.getServerByNewConn(code); - OpcUtl.writeValue(group, values); - } catch (Exception var4) { - this.clearServer(code); - log.info("写入出错opc server {} 重新加载", code, var4); - ThreadUtl.sleep(1000L); - throw var4; + OpcOperator.writeValue(group, values); + } catch (Throwable throwable) { + try { + Server server = this.servers.get(code); + final OPCSERVERSTATUS serverState = server.getServerState(5000); + if (!OPCSERVERSTATE.OPC_STATUS_RUNNING.equals(serverState.getServerState())){ + this.clearServer(code); + ThreadUtl.sleep(1000L); + } + }catch (Throwable ex){ + throw new RuntimeException(ex.getMessage()); + } + throw throwable; } } @@ -267,4 +284,16 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn String lock = builder.toString().intern(); return lock; } + + @Override + public Map queryAllServerMap() { + List opcServers = ConvertUtil.convertList(opcMapper.selectList(new LambdaQueryWrapper<>()), OpcServerManageDto.class); + Map result = new HashMap(); + Iterator var3 = opcServers.iterator(); + while (var3.hasNext()) { + OpcServerManageDto opcServer = (OpcServerManageDto) var3.next(); + result.put(opcServer.getOpc_code(), opcServer); + } + return result; + } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/rest/OpcPlcController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/rest/OpcPlcController.java index 655f2df..48a8ac0 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/rest/OpcPlcController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/rest/OpcPlcController.java @@ -1,7 +1,7 @@ package org.nl.acs.iot.plc.rest; -import org.nl.acs.iot.opc.service.dto.OpcPlcDto; -import org.nl.acs.iot.opc.service.dto.OpcPlcQueryParam; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcDto; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcQueryParam; import org.nl.acs.iot.plc.service.OpcPlcService; import org.nl.common.logging.annotation.Log; import org.springframework.data.domain.Pageable; @@ -20,7 +20,6 @@ import java.util.Set; **/ @RestController @RequiredArgsConstructor - @RequestMapping("/api/opcPlc") public class OpcPlcController { @@ -28,7 +27,6 @@ public class OpcPlcController { @GetMapping @Log("查询plc服务") - //@PreAuthorize("@el.check('opcPlc:list')") public ResponseEntity query(OpcPlcQueryParam query, Pageable pageable) { return new ResponseEntity<>(opcPlcService.queryAll(query, pageable), HttpStatus.OK); @@ -36,7 +34,6 @@ public class OpcPlcController { @PostMapping @Log("新增plc服务") - //@PreAuthorize("@el.check('opcPlc:add')") public ResponseEntity create(@Validated @RequestBody OpcPlcDto resources) { return new ResponseEntity<>(opcPlcService.insert(resources), HttpStatus.CREATED); @@ -44,7 +41,6 @@ public class OpcPlcController { @PutMapping @Log("修改plc服务") - //@PreAuthorize("@el.check('opcPlc:edit')") public ResponseEntity update(@Validated @RequestBody OpcPlcDto resources) { opcPlcService.updateById(resources); @@ -53,7 +49,6 @@ public class OpcPlcController { @DeleteMapping @Log("删除plc服务") - //@PreAuthorize("@el.check('opcPlc:del')") public ResponseEntity delete(@RequestBody Set ids) { opcPlcService.removeByIds(ids); @@ -62,7 +57,6 @@ public class OpcPlcController { @GetMapping("/selectList") @Log("下拉选PLC") - //@PreAuthorize("@el.check('routePlan:list')") public ResponseEntity selectList() { return new ResponseEntity<>(opcPlcService.selectList(), HttpStatus.OK); @@ -70,7 +64,6 @@ public class OpcPlcController { @GetMapping("/selectList/{opc_uuid}") @Log("下拉选PLC") - //@PreAuthorize("@el.check('routePlan:list')") public ResponseEntity selectListByOpcID(@PathVariable String opc_uuid) { return new ResponseEntity<>(opcPlcService.selectListByOpcID(opc_uuid), HttpStatus.OK); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/OpcPlcService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/OpcPlcService.java index 0789bb0..9ff5e42 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/OpcPlcService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/OpcPlcService.java @@ -2,9 +2,9 @@ package org.nl.acs.iot.plc.service; import org.nl.common.db.CommonService; import org.nl.common.db.PageInfo; -import org.nl.acs.iot.opc.domain.OpcPlc; -import org.nl.acs.iot.opc.service.dto.OpcPlcDto; -import org.nl.acs.iot.opc.service.dto.OpcPlcQueryParam; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcDto; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcQueryParam; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/impl/OpcPlcServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/impl/OpcPlcServiceImpl.java index a59b086..adc9cb8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/impl/OpcPlcServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/plc/service/impl/OpcPlcServiceImpl.java @@ -7,10 +7,10 @@ import org.nl.common.db.CommonFinalParam; import org.nl.common.db.PageInfo; import org.nl.common.db.QueryHelpMybatisPlus; import org.nl.common.db.impl.CommonServiceImpl; -import org.nl.acs.iot.opc.domain.OpcPlc; -import org.nl.acs.iot.opc.service.dto.OpcPlcDto; -import org.nl.acs.iot.opc.service.dto.OpcPlcQueryParam; -import org.nl.acs.iot.opc.service.mapper.OpcPlcMapper; +import org.nl.acs.iot.opc.opcPlc.service.entity.OpcPlc; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcDto; +import org.nl.acs.iot.opc.opcPlc.service.dto.OpcPlcQueryParam; +import org.nl.acs.iot.opc.opcPlc.service.mapper.OpcPlcMapper; import org.nl.acs.iot.plc.service.OpcPlcService; import org.nl.common.utils.ConvertUtil; import org.nl.common.utils.utils.PageUtil; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/service/impl/DeviceStageMonitorServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/service/impl/DeviceStageMonitorServiceImpl.java index b1cb485..1505b2a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/service/impl/DeviceStageMonitorServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/layout/device/service/impl/DeviceStageMonitorServiceImpl.java @@ -5,10 +5,10 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.acs.device.device.service.domain.Device; -import org.nl.acs.layout.device.DeviceStageMonitor; +import org.nl.acs.device.device.service.entity.Device; +import org.nl.acs.device.deviceDriver.service.设备驱动执行插件.DeviceStageMonitorPlugin; import org.nl.acs.layout.device.service.DeviceStageMonitorService; -import org.nl.acs.iot.opc.DeviceAppService; +import org.nl.acs.iot.opc.service.DeviceAppService; import org.springframework.stereotype.Service; /** @@ -43,8 +43,8 @@ public class DeviceStageMonitorServiceImpl implements DeviceStageMonitorService JSONObject json = new JSONObject(); - if (device.getDeviceDriver() instanceof DeviceStageMonitor) { - DeviceStageMonitor monitorService = (DeviceStageMonitor) device.getDeviceDriver(); + if (device.getDeviceDriver() instanceof DeviceStageMonitorPlugin) { + DeviceStageMonitorPlugin monitorService = (DeviceStageMonitorPlugin) device.getDeviceDriver(); json = monitorService.getDeviceStatusName(); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/instruction/service/impl/InstructionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/instruction/service/impl/InstructionServiceImpl.java index bd6c6af..0d2124f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/instruction/service/impl/InstructionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/instruction/service/impl/InstructionServiceImpl.java @@ -23,15 +23,15 @@ import org.nl.acs.task.instruction.domain.InstructionMybatis; import org.nl.acs.task.instruction.enums.InstructionStatusEnum; import org.nl.acs.task.instruction.service.mapper.InstructionMapper; import org.nl.common.db.CommonFinalParam; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; import org.nl.acs.device.device.service.DeviceService; import org.nl.acs.device.device.service.impl.DeviceServiceImpl; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import org.nl.acs.task.instruction.service.dto.InstructionDto; import org.nl.acs.task.instruction.service.dto.InstructionQueryParam; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.iot.opc.DeviceAppServiceImpl; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.service.impl.DeviceAppServiceImpl; import org.nl.acs.task.route.service.RouteLineService; import org.nl.acs.task.route.service.dto.RouteLineDto; import org.nl.acs.task.route.service.impl.RouteLineServiceImpl; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/route/service/impl/RouteLineServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/route/service/impl/RouteLineServiceImpl.java index 1df5b31..d2f0e1e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/route/service/impl/RouteLineServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/route/service/impl/RouteLineServiceImpl.java @@ -19,13 +19,13 @@ import org.nl.acs.task.route.service.RouteLineService; import org.nl.acs.task.route.service.RoutePlanService; import org.nl.acs.task.route.service.mapper.RouteLineMapper; import org.nl.common.db.CommonFinalParam; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; import org.nl.acs.device.device.service.DeviceService; import org.nl.acs.device.device.service.dto.DeviceDto; import org.nl.acs.device.device.service.mapper.DeviceMapper; import org.nl.acs.device.deviceDriver.RouteableDeviceDriver; -import org.nl.acs.iot.opc.DeviceAppService; +import org.nl.acs.iot.opc.service.DeviceAppService; import org.nl.acs.task.route.service.dto.RoutePlanDto; import org.nl.common.db.PageInfo; import org.nl.common.db.QueryHelpMybatisPlus; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/task/service/impl/TaskServiceImpl.java index ec70e6f..83e6302 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/task/service/impl/TaskServiceImpl.java @@ -21,21 +21,21 @@ import org.nl.ApplicationAutoInitial; import org.nl.acs.task.task.enums.TaskStatusEnum; import org.nl.acs.task.task.service.mapper.TaskMapper; import org.nl.common.db.CommonFinalParam; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.enums.DeviceType; import org.nl.acs.device.device.service.DeviceAssignedService; import org.nl.acs.device.device.service.DeviceService; import org.nl.acs.device.device.service.dto.DeviceAssignedDto; import org.nl.acs.device.device.service.impl.DeviceServiceImpl; -import org.nl.acs.device.deviceDriver.设备类型驱动.DeviceDriverDefination; +import org.nl.acs.device.deviceDriver.service.DeviceDriverDefination; import org.nl.acs.api.wms.service.AcsToWmsService; import org.nl.acs.task.instruction.domain.Instruction; import org.nl.acs.task.instruction.domain.InstructionMybatis; import org.nl.acs.task.instruction.enums.InstructionStatusEnum; import org.nl.acs.task.instruction.service.InstructionService; import org.nl.acs.task.instruction.service.dto.InstructionDto; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.iot.opc.DeviceAppServiceImpl; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.service.impl.DeviceAppServiceImpl; import org.nl.acs.task.route.domain.RoutePlan; import org.nl.acs.task.route.service.RouteLineService; import org.nl.acs.task.route.service.dto.RouteLineDto; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/domain/constant/DictConstantPool.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/domain/constant/DictConstantPool.java index a56b691..8cdc607 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/domain/constant/DictConstantPool.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/domain/constant/DictConstantPool.java @@ -4,4 +4,6 @@ public class DictConstantPool { public static final String DICT_SYS_CODE = "system_type"; public static final String DICT_SYS_NAME = "所属系统"; + public static final Integer POC_GROUP_SYNC_MAX_ITEM = 300; + } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/BlockedRunable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/BlockedRunable.java similarity index 98% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/BlockedRunable.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/BlockedRunable.java index f2f1798..64901d5 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/BlockedRunable.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/BlockedRunable.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.common.utils; import java.util.Date; import java.util.HashMap; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/JsonUtl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/JsonUtl.java similarity index 99% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/JsonUtl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/JsonUtl.java index 516b1ad..73009a2 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/JsonUtl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/JsonUtl.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.common.utils; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ObjectUtl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ObjectUtl.java similarity index 98% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ObjectUtl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ObjectUtl.java index c3a1a9c..bc0d804 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ObjectUtl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ObjectUtl.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.common.utils; import java.util.Arrays; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ReadUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ReadUtil.java index 8d0d5c8..5cfc18c 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ReadUtil.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ReadUtil.java @@ -5,9 +5,9 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp import lombok.extern.slf4j.Slf4j; import org.jinterop.dcom.common.JIException; import org.jinterop.dcom.core.JIVariant; -import org.nl.acs.iot.opc.OpcUtl; -import org.nl.acs.iot.opc.domain.Opc; -import org.nl.acs.iot.opc.service.mapper.OpcMapper; +import org.nl.acs.iot.opc.OpcOperator; +import org.nl.acs.iot.opc.opc.service.entity.Opc; +import org.nl.acs.iot.opc.opc.service.mapper.OpcMapper; import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; import org.nl.config.language.LangProcess; @@ -74,7 +74,7 @@ public class ReadUtil { WriteRequest write1 = new WriteRequest(byteItem, new JIVariant(o.toString())); List list = new ArrayList(); list.add(write1); - OpcUtl.writeValue(group, (WriteRequest[]) list.toArray(new WriteRequest[0])); + OpcOperator.writeValue(group, (WriteRequest[]) list.toArray(new WriteRequest[0])); } server.disconnect(); } catch (Exception e) { @@ -105,7 +105,7 @@ public class ReadUtil { while (it.hasNext()) { Item key = (Item) it.next(); - Object value = OpcUtl.getValue(key, (ItemState) itemStatus.get(key)); + Object value = OpcOperator.getValue(key, (ItemState) itemStatus.get(key)); map.put(key.getId(), value); } server.disconnect(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ThreadUtl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ThreadUtl.java similarity index 92% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ThreadUtl.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ThreadUtl.java index 3868716..ce400f8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/iot/opc/ThreadUtl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ThreadUtl.java @@ -1,4 +1,4 @@ -package org.nl.acs.iot.opc; +package org.nl.common.utils; /** * @author ldjun diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/TranslatorUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/TranslatorUtil.java deleted file mode 100644 index 7947e5b..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/TranslatorUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.common.utils; - -import cn.hutool.json.JSONArray; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; - -/** - * @author Zheng Jie - * 翻译工具类 - */ -public class TranslatorUtil { - - public static String translate(String word){ - try { - String url = "https://translate.googleapis.com/translate_a/single?" + - "client=gtx&" + - "sl=en" + - "&tl=zh-CN" + - "&dt=t&q=" + URLEncoder.encode(word, "UTF-8"); - - URL obj = new URL(url); - HttpURLConnection con = (HttpURLConnection) obj.openConnection(); - con.setRequestProperty("User-Agent", "Mozilla/5.0"); - - BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); - String inputLine; - StringBuilder response = new StringBuilder(); - - while ((inputLine = in.readLine()) != null) { - response.append(inputLine); - } - in.close(); - return parseResult(response.toString()); - }catch (Exception e){ - return word; - } - } - - private static String parseResult(String inputJson){ - JSONArray jsonArray2 = (JSONArray) new JSONArray(inputJson).get(0); - StringBuilder result = new StringBuilder(); - for (Object o : jsonArray2) { - result.append(((JSONArray) o).get(0).toString()); - } - return result.toString(); - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/ClientUDWReceive.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/ClientUDWReceive.java index dc68bd3..56183f7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/ClientUDWReceive.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/socket/ClientUDWReceive.java @@ -1,6 +1,7 @@ package org.nl.common.utils.socket; import cn.hutool.core.util.StrUtil; +import org.nl.acs.autoThread.autoRun.impl.deviceAuto.SocketListenerAutoRun; import org.nl.acs.iot.udw.UnifiedDataAccessor; import org.nl.acs.iot.udw.UnifiedDataAccessorFactory; import org.nl.common.exception.BadRequestException; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/DateUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/DateUtil.java deleted file mode 100644 index 3b66a70..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/DateUtil.java +++ /dev/null @@ -1,883 +0,0 @@ -package org.nl.common.utils.utils; - -/** - * projectName: xxxx - * fileName: DateUtil.java - * packageName: test - * date: 2017-12-20 15:36 - * copyright(c) 2017-2020 xxx公司 - */ - -import org.nl.common.db.CommonFinalParam; - -import java.sql.Timestamp; -import java.text.ParseException; -import java.text.ParsePosition; -import java.text.SimpleDateFormat; -import java.util.*; - -/** - * @version: V1.0 - * @author: fendo - * @className: DateUtil - * @packageName: test - * @description: 时间操作工具类 - * @data: 2017-12-20 15:36 - **/ -public class DateUtil { - - public static String pattern = "yyyy-MM-dd"; - public static SimpleDateFormat formatter = new SimpleDateFormat(pattern); - public static SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - /** - * 获取现在时间 - * - * @return 返回时间类型 yyyy-MM-dd HH:mm:ss - */ - public static Date getNowDate() { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String dateString = formatter.format(new Date()); - ParsePosition pos = new ParsePosition(8); - Date currentTime_2 = formatter.parse(dateString, pos); - return currentTime_2; - } - - /** - * 获取现在时间 - * - * @return返回短时间格式 yyyy-MM-dd - */ - public static Date getNowDateShort() { - String dateString = formatter.format(new Date()); - ParsePosition pos = new ParsePosition(8); - Date currentTime_2 = formatter.parse(dateString, pos); - return currentTime_2; - } - - /** - * 获取现在时间 - * - * @return返回字符串格式 yyyy-MM-dd HH:mm:ss - */ - public static String getStringDate() { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String dateString = formatter.format(new Date()); - return dateString; - } - - /** - * 获取现在时间 - * - * @return返回字符串格式 yyyyMMddHHmmss - */ - public static String getStringAllDate() { - SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String dateString = formatter.format(new Date()); - return dateString; - } - - /** - * 获取现在时间 - * - * @return 返回短时间字符串格式yyyy-MM-dd - */ - public static String getStringDateShort() { - String dateString = formatter.format(new Date()); - return dateString; - } - - /** - * 获取时间 小时:分;秒 HH:mm:ss - * - * @return - */ - public static String getTimeShort() { - SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); - String dateString = formatter.format(new Date()); - return dateString; - } - - /** - * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss - * - * @param strDate - * @return - */ - public static Date strToDateLong(String strDate) { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - ParsePosition pos = new ParsePosition(0); - Date strtodate = formatter.parse(strDate, pos); - return strtodate; - } - - /** - * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss - * - * @param dateDate - * @return - */ - public static String dateToStrLong(Date dateDate) { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String dateString = formatter.format(dateDate); - return dateString; - } - - /** - * 将短时间格式时间转换为字符串 yyyy-MM-dd - * - * @param dateDate - * @return - */ - public static String dateToStr(Date dateDate) { - String dateString = formatter.format(dateDate); - return dateString; - } - - - /** - * 将短时间格式字符串转换为时间 yyyy-MM-dd - * - * @param strDate - * @return - */ - public static Date strToDate(String strDate) { - ParsePosition pos = new ParsePosition(0); - Date strtodate = formatter.parse(strDate, pos); - return strtodate; - } - - /** - * 将短时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss - * - * @param strDate - * @return - */ - public static Timestamp strToDateSql(String strDate) { - ParsePosition pos = new ParsePosition(0); - Date strtodate = formatter2.parse(strDate, pos); - return new Timestamp(strtodate.getTime()); - } - - /** - * 得到现在时间 - * - * @return - */ - public static Date getNow() { - Date currentTime = new Date(); - return currentTime; - } - - /** - * 提取一个月中的最后一天 - * - * @param day - * @return - */ - public static Date getLastDate(long day) { - Date date = new Date(); - long date_3_hm = date.getTime() - 3600000 * 34 * day; - Date date_3_hm_date = new Date(date_3_hm); - return date_3_hm_date; - } - - /** - * 得到现在时间 - * - * @return 字符串 yyyyMMdd HHmmss - */ - public static String getStringToday() { - Date currentTime = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss"); - String dateString = formatter.format(currentTime); - return dateString; - } - - /** - * 功能:
- * - * @author Tony - * @version 2016年12月16日 下午4:41:51
- */ - public static String getTodayShort() { - Date currentTime = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); - String dateString = formatter.format(currentTime); - return dateString; - } - - /** - * @param @param value - * @param @return - * @return String - * @throws - * @Description: 输入一个整数类型的字符串, 然后转换成时分秒的形式输出 - * 例如:输入568 - * 返回结果为:00:09:28 - * 输入null或者“” - * 返回结果为:00:00:00 - * @author Tony 鬼手卡卡 - * @date 2016-4-20 - */ - public static String getHHMMSS(String value) { - String hour = "00"; - String minute = "00"; - String second = "00"; - if (value != null && !"".equals(value.trim())) { - int v_int = Integer.valueOf(value); - //获得小时 - hour = v_int / 3600 + "";; - //获得小时 - minute = v_int % 3600 / 60 + "";; - //获得小时 - second = v_int % 3600 % 60 + "";; - } - return (hour.length() > 1 ? hour : "0" + hour) + ":" + (minute.length() > 1 ? minute : "0" + minute) + ":" + (second.length() > 1 ? second : "0" + second); - } - - /** - * 得到现在小时 - */ - public static String getHour() { - Date currentTime = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String dateString = formatter.format(currentTime); - String hour; - hour = dateString.substring(11, 13); - return hour; - } - - /** - * 得到现在分钟 - * - * @return - */ - public static String getTime() { - Date currentTime = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String dateString = formatter.format(currentTime); - String min; - min = dateString.substring(14, 16); - return min; - } - - /** - * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。 - * - * @param sformat yyyyMMddhhmmss - * @return - */ - public static String getUserDate(String sformat) { - Date currentTime = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat(sformat); - String dateString = formatter.format(currentTime); - return dateString; - } - - /** - * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟 - */ - public static String getTwoHour(String st1, String st2) { - String[] kk = null; - String[] jj = null; - kk = st1.split(":"); - jj = st2.split(":"); - if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0])) { - return "0"; - } else { - double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60; - double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60; - if ((y - u) > 0) { - return y - u + ""; - } else { - return "0"; - } - } - } - - /** - * 得到二个日期间的间隔天数 - */ - public static String getTwoDay(String sj1, String sj2) { - long day = 0; - try { - Date date = formatter.parse(sj1); - Date mydate = formatter.parse(sj2); - day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); - } catch (Exception e) { - return ""; - } - return day + ""; - } - - /** - * 时间前推或后推分钟,其中JJ表示分钟. - */ - public static String getPreTime(String sj1, String jj) { - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String mydate1 = ""; - try { - Date date1 = format.parse(sj1); - long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60; - date1.setTime(Time * 1000); - mydate1 = format.format(date1); - } catch (Exception e) { - } - return mydate1; - } - - /** - * 得到一个时间延后或前移几天的时间,nowdate(yyyy-mm-dd)为时间,delay为前移或后延的天数 - */ - public static String getNextDay(String nowdate, String delay) { - try { - String mdate = ""; - Date d = strToDate(nowdate); - long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60; - d.setTime(myTime * 1000); - mdate = formatter.format(d); - return mdate; - } catch (Exception e) { - return ""; - } - } - - /** - * 功能:
距离现在几天的时间是多少 - * 获得一个时间字符串,格式为:yyyy-MM-dd HH:mm:ss - * day 如果为整数,表示未来时间 - * 如果为负数,表示过去时间 - * - * @author Tony - * @version 2016年11月29日 上午11:02:56
- */ - public static String getFromNow(int day) { - Date date = new Date(); - long dateTime = (date.getTime() / 1000) + day * 24 * 60 * 60; - date.setTime(dateTime * 1000); - return formatter2.format(date); - } - - /** - * 判断是否润年 - * - * @param ddate - * @return - */ - public static boolean isLeapYear(String ddate) { - - /** - * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年 - * 3.能被4整除同时能被100整除则不是闰年 - */ - Date d = strToDate(ddate); - GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); - gc.setTime(d); - int year = gc.get(Calendar.YEAR); - if ((year % 400) == 0) { - return true; - } else if ((year % 4) == 0) { - if ((year % 100) == 0) { - return false; - } else { - return true; - } - } else { - return false; - } - } - - /** - * 返回美国时间格式 26 Apr 2006 - * - * @param str - * @return - */ - public static String getEDate(String str) { - ParsePosition pos = new ParsePosition(0); - Date strtodate = formatter.parse(str, pos); - String j = strtodate.toString(); - String[] k = j.split(" "); - return k[2] + k[1].toUpperCase() + k[5].substring(2, 4); - } - - /** - * 获取一个月的最后一天 - * - * @param dat - * @return - */ - public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd - String str = dat.substring(0, 8); - String month = dat.substring(5, 7); - int mon = Integer.parseInt(month); - if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) { - str += "31"; - } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) { - str += "30"; - } else { - if (isLeapYear(dat)) { - str += "29"; - } else { - str += "28"; - } - } - return str; - } - - /** - * 判断二个时间是否在同一个周 - * - * @param date1 - * @param date2 - * @return - */ - public static boolean isSameWeekDates(Date date1, Date date2) { - Calendar cal1 = Calendar.getInstance(); - Calendar cal2 = Calendar.getInstance(); - cal1.setTime(date1); - cal2.setTime(date2); - int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR); - if (0 == subYear) { - if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) { - return true; - } - } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) { - // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周 - if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) { - return true; - } - } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) { - if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) { - return true; - } - } - return false; - } - - /** - * 产生周序列,即得到当前时间所在的年度是第几周 - * - * @return - */ - public static String getSeqWeek() { - Calendar c = Calendar.getInstance(Locale.CHINA); - String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR)); - if (week.length() == 1) { - week = "0" + week; - } - String year = Integer.toString(c.get(Calendar.YEAR)); - return year + week; - } - - /** - * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号 - * - * @param sdate - * @param num - * @return - */ - public static String getWeek(String sdate, String num) { - // 再转换为时间 - Date dd = DateUtil.strToDate(sdate); - Calendar c = Calendar.getInstance(); - c.setTime(dd); - // 返回星期一所在的日期 - if (num.equals(CommonFinalParam.ONE)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); - // 返回星期二所在的日期 - } else if ("2".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); - // 返回星期三所在的日期 - } else if ("3".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); - // 返回星期四所在的日期 - } else if ("4".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); - // 返回星期五所在的日期 - } else if ("5".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); - // 返回星期六所在的日期 - } else if ("6".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); - // 返回星期日所在的日期 - } else if ("0".equals(num)) - { - c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); - } - return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); - } - - /** - * 根据一个日期,返回是星期几的字符串 - * - * @param sdate - * @return - */ - public static String getWeek(String sdate) { - // 再转换为时间 - Date date = DateUtil.strToDate(sdate); - Calendar c = Calendar.getInstance(); - c.setTime(date); - // int hour=c.get(Calendar.DAY_OF_WEEK); - // hour中存的就是星期几了,其范围 1~7 - // 1=星期日 7=星期六,其他类推 - return new SimpleDateFormat("EEEE").format(c.getTime()); - } - - public static String getWeekStr(String sdate) { - String str = ""; - str = DateUtil.getWeek(sdate); - if (CommonFinalParam.ONE.equals(str)) { - str = "星期日"; - } else if ("2".equals(str)) { - str = "星期一"; - } else if ("3".equals(str)) { - str = "星期二"; - } else if ("4".equals(str)) { - str = "星期三"; - } else if ("5".equals(str)) { - str = "星期四"; - } else if ("6".equals(str)) { - str = "星期五"; - } else if ("7".equals(str)) { - str = "星期六"; - } - return str; - } - - /** - * 两个时间之间的天数 - * - * @param date1 - * @param date2 - * @return - */ - public static long getDays(String date1, String date2) { - if (date1 == null || "".equals(date1)) { - return 0; - } - if (date2 == null || "".equals(date2)) { - return 0; - } - // 转换为标准时间 - Date date = null; - Date mydate = null; - try { - date = formatter.parse(date1); - mydate = formatter.parse(date2); - } catch (Exception e) { - } - long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); - return day; - } - - /** - * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间 - * 此函数返回该日历第一行星期日所在的日期 - * - * @param sdate - * @return - */ - public static String getNowMonth(String sdate) { - // 取该时间所在月的一号 - sdate = sdate.substring(0, 8) + "01"; - - // 得到这个月的1号是星期几 - Date date = DateUtil.strToDate(sdate); - Calendar c = Calendar.getInstance(); - c.setTime(date); - int u = c.get(Calendar.DAY_OF_WEEK); - String newday = DateUtil.getNextDay(sdate, (1 - u) + ""); - return newday; - } - - /** - * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数 - * - * @param k 表示是取几位随机数,可以自己定 - */ - - public static String getNo(int k) { - - return getUserDate("yyyyMMddhhmmss") + getRandom(k); - } - - /** - * 返回一个随机数 - * - * @param i - * @return - */ - public static String getRandom(int i) { - Random jjj = new Random(); - if (i == 0) { - return ""; - } - String jj = ""; - for (int k = 0; k < i; k++) { - jj = jj + jjj.nextInt(9); - } - return jj; - } - - public static boolean RightDate(String date) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - if (date == null) { - return false; - } - if (date.length() > 10) { - sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - } else { - sdf = new SimpleDateFormat("yyyy-MM-dd"); - } - try { - sdf.parse(date); - } catch (ParseException pe) { - return false; - } - return true; - } - - /*************************************************************************** - * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1 - * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回 - **************************************************************************/ - public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) { - Date currentTime = new Date(); - String dateString = formatter.format(currentTime); - // 年份 - String s_nd = dateString.substring(0, 4); - // 月份 - String s_yf = dateString.substring(5, 7); - // 日期 - String s_rq = dateString.substring(8, 10); - String sreturn = ""; - //roc.util.MyChar mc = new roc.util.MyChar(); - // 处理空值情况 - //if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { - if (sdate == null || "".equals(sdate)) { - if (nd.equals(CommonFinalParam.ONE)) { - sreturn = s_nd; - // 处理间隔符 - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "年"; - } else if ("2".equals(format)) { - sreturn = sreturn + "-"; - } else if ("3".equals(format)) { - sreturn = sreturn + "/"; - } else if ("5".equals(format)) { - sreturn = sreturn + "."; - } - } - // 处理月份 - if (yf.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + s_yf; - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "月"; - } else if ("2".equals(format)) { - sreturn = sreturn + "-"; - } else if ("3".equals(format)) { - sreturn = sreturn + "/"; - } else if ("5".equals(format)) { - sreturn = sreturn + "."; - } - } - // 处理日期 - if (rq.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + s_rq; - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "日"; - } - } - } else { - // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式 - sdate = getOKDate(sdate); - // 年份 - s_nd = sdate.substring(0, 4); - // 月份 - s_yf = sdate.substring(5, 7); - // 日期 - s_rq = sdate.substring(8, 10); - if (nd.equals(CommonFinalParam.ONE)) { - sreturn = s_nd; - // 处理间隔符 - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "年"; - } else if ("2".equals(format)) { - sreturn = sreturn + "-"; - } else if ("3".equals(format)) { - sreturn = sreturn + "/"; - } else if ("5".equals(format)) { - sreturn = sreturn + "."; - } - } - // 处理月份 - if (yf.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + s_yf; - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "月"; - } else if ("2".equals(format)) { - sreturn = sreturn + "-"; - } else if ("3".equals(format)) { - sreturn = sreturn + "/"; - } else if ("5".equals(format)) { - sreturn = sreturn + "."; - } - } - // 处理日期 - if (rq.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + s_rq; - if (format.equals(CommonFinalParam.ONE)) { - sreturn = sreturn + "日"; - } - } - } - return sreturn; - } - - public static String getNextMonthDay(String sdate, int m) { - sdate = getOKDate(sdate); - int year = Integer.parseInt(sdate.substring(0, 4)); - int month = Integer.parseInt(sdate.substring(5, 7)); - month = month + m; - if (month < 0) { - month = month + 12; - year = year - 1; - } else if (month > 12) { - month = month - 12; - year = year + 1; - } - String smonth = ""; - if (month < 10) { - smonth = "0" + month; - } else { - smonth = "" + month; - } - return year + "-" + smonth + "-10"; - } - - /** - * 功能:
- * - * @author Tony - * @version 2015-3-31 上午09:29:31
- */ - public static String getOKDate(String sdate) { - if (sdate == null || "".equals(sdate)) { - return getStringDateShort(); - } - -// if (!VeStr.Isdate(sdate)) { -// sdate = getStringDateShort(); -// } -// // 将“/”转换为“-” -// sdate = VeStr.Replace(sdate, "/", "-"); - // 如果只有8位长度,则要进行转换 - if (sdate.length() == 8) { - sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8); - } - ParsePosition pos = new ParsePosition(0); - Date strtodate = formatter.parse(sdate, pos); - String dateString = formatter.format(strtodate); - return dateString; - } - - /** - * 获取当前时间的前一天时间 - * - * @param cl - * @return - */ - private static String getBeforeDay(Calendar cl) { - //使用roll方法进行向前回滚 - //cl.roll(Calendar.DATE, -1); - //使用set方法直接进行设置 - // int day = cl.get(Calendar.DATE); - cl.add(Calendar.DATE, -1); - return formatter.format(cl.getTime()); - } - - /** - * 获取当前时间的后一天时间 - * - * @param cl - * @return - */ - private static String getAfterDay(Calendar cl) { - //使用roll方法进行回滚到后一天的时间 - //cl.roll(Calendar.DATE, 1); - //使用set方法直接设置时间值 - //int day = cl.get(Calendar.DATE); - cl.add(Calendar.DATE, 1); - return formatter.format(cl.getTime()); - } - - private static String getDateAMPM() { - GregorianCalendar ca = new GregorianCalendar(); - //结果为“0”是上午 结果为“1”是下午 - int i = ca.get(GregorianCalendar.AM_PM); - return i == 0 ? "AM" : "PM"; - } - - private static int compareToDate(String date1, String date2) { - return date1.compareTo(date2); - } - - private static int compareToDateString(String date1, String date2) { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - int i = 0; - try { - long ldate1 = formatter.parse(date1).getTime(); - long ldate2 = formatter.parse(date2).getTime(); - if (ldate1 > ldate2) { - i = 1; - } else if (ldate1 == ldate2) { - i = 0; - } else { - i = -1; - } - - } catch (ParseException e) { - e.printStackTrace(); - } - return i; - } - - public static String[] getFiveDate() { - String[] dates = new String[2]; - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - String five = " 05:00:00"; - - if ("AM".equals(getDateAMPM()) && compareToDateString(getStringDate(), getStringDateShort() + five) == -1) { - dates[0] = getBeforeDay(calendar) + five; - dates[1] = getStringDateShort() + five; - } else { - dates[0] = getStringDateShort() + five; - dates[1] = getAfterDay(calendar) + five; - } - - return dates; - } - - public static String getFiveDate2() { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - String five = " 05:00:00"; - String reStr = ""; - if ("AM".equals(getDateAMPM()) && compareToDateString(getStringDate(), getStringDateShort() + five) == -1) { - reStr = getBeforeDay(calendar); - } else { - reStr = getStringDateShort(); - } - return reStr; - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/PageUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/PageUtil.java deleted file mode 100644 index 21cecfc..0000000 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/utils/PageUtil.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.common.utils.utils; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.metadata.OrderItem; -import org.nl.common.db.PageInfo; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; - -import java.util.*; - -/** - * 分页工具 - * - * @author Zheng Jie - * @date 2018-12-10 - */ -public class PageUtil extends cn.hutool.core.util.PageUtil { - - /** - * List 分页 - */ - public static List toPage(int page, int size, List list) { - int fromIndex = page * size; - int toIndex = page * size + size; - if (fromIndex > list.size()) { - return new ArrayList(); - } else if (toIndex >= list.size()) { - return list.subList(fromIndex, list.size()); - } else { - return list.subList(fromIndex, toIndex); - } - } - - /** - * Page 数据处理,预防redis反序列化报错 - */ - public static Map toPage(Page page) { - Map map = new LinkedHashMap<>(2); - map.put("content", page.getContent()); - map.put("totalElements", page.getTotalElements()); - return map; - } - - /** - * 自定义分页 - */ - public static PageInfo toPage(List object, long totalElements) { - PageInfo page = new PageInfo<>(); - page.setContent(object); - page.setTotalElements(totalElements); - return page; - } - - public static IPage toMybatisPage(Pageable pageable) { - return toMybatisPage(pageable, false); - } - - public static IPage toMybatisPage(Pageable pageable, boolean ignoreOrderBy) { - com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageable.getPageNumber() + 1, pageable.getPageSize()); - if (!ignoreOrderBy) { - for (Sort.Order order : pageable.getSort()) { - OrderItem orderItem = new OrderItem(); - orderItem.setAsc(order.isAscending()); - orderItem.setColumn(com.baomidou.mybatisplus.core.toolkit.StringUtils.camelToUnderline(order.getProperty())); - page.addOrder(orderItem); - } - } - return page; - } -} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java index fad89a7..13496ff 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java @@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.nl.acs.device.device.service.domain.Device; +import org.nl.acs.device.device.service.entity.Device; import org.nl.acs.device.device.service.mapper.DeviceMapper; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java index ff068a7..e32a6ba 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java @@ -9,8 +9,8 @@ import org.nl.common.db.CommonFinalParam; import org.nl.acs.task.instruction.enums.InstructionStatusEnum; import org.nl.acs.task.instruction.service.InstructionService; import org.nl.acs.task.instruction.domain.Instruction; -import org.nl.acs.iot.opc.DeviceAppService; -import org.nl.acs.iot.opc.DeviceAppServiceImpl; +import org.nl.acs.iot.opc.service.DeviceAppService; +import org.nl.acs.iot.opc.service.impl.DeviceAppServiceImpl; import org.nl.acs.task.route.service.RouteLineService; import org.nl.acs.task.route.service.dto.RouteLineDto; import org.nl.acs.task.task.enums.AgvSystemTypeEnum; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java index e05e07e..deb385f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java @@ -2,7 +2,7 @@ package org.nl.system.service.trajectory.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.acs.iot.opc.DeviceAppService; +import org.nl.acs.iot.opc.service.DeviceAppService; import org.nl.system.service.trajectory.TrajectoryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/log/OpcLog.xml b/acs2/nladmin-system/nlsso-server/src/main/resources/log/OpcLog.xml new file mode 100644 index 0000000..8191918 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/log/OpcLog.xml @@ -0,0 +1,29 @@ + + + + + + + + + ${LOG_HOME}/OpcUtl/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + +