diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java index 61011f4..f596e49 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java @@ -10,6 +10,9 @@ import java.util.List; @Component public class ApplicationAutoInitialExecuter { + /** + * 获取所有实现ApplicationAutoInitial接口的bean对象 + */ @Autowired(required = false) List applicationAutoInitial; //是否启动 @@ -25,7 +28,7 @@ public class ApplicationAutoInitialExecuter { while (it.hasNext()) { ApplicationAutoInitial service = (ApplicationAutoInitial) it.next(); - service.autoInitial(); + service.autoInitial(); // 执行实现的autoInitial方法 } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java index 9ef5d6c..27cae1f 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java @@ -13,15 +13,18 @@ import org.springframework.stereotype.Service; import java.util.*; +/** + * 初始化启动线程 + */ @Service @Slf4j public class AutoRunServiceImpl implements AutoRunService, ApplicationAutoInitial { @Autowired(required = false) private List abstractAutoRunnableList; - private List autoRun_code_index = new ArrayList(); - private List threads = new ArrayList(); - private List thread_autoRun = new ArrayList(); - private List thread_code_index = new ArrayList(); + private List thread_autoRun = new ArrayList(); // 线程类 + private List autoRun_code_index = new ArrayList(); // key + private List threads = new ArrayList(); // 运行线程 + private List thread_code_index = new ArrayList(); // key @Override public synchronized void startThread(String threadCode) { @@ -172,8 +175,13 @@ public class AutoRunServiceImpl implements AutoRunService, ApplicationAutoInitia : new LinkedList(); } + /** + * 自动初始化线程 + * @throws Exception + */ @Override public void autoInitial() throws Exception { + // 获取所有的类型为AbstractAutoRunnable的bean List list = this.getAllAutoThread(); Iterator it = list.iterator(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceExtraServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceExtraServiceImpl.java index 996b88a..3cffe2f 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceExtraServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceExtraServiceImpl.java @@ -237,7 +237,7 @@ public class DeviceExtraServiceImpl extends CommonServiceImpl i this.reload(); } + /** + * 加载货位信息 + */ @Override public void reload() { this.storageCells = queryAllStorageCell(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/mapper/DeviceMapper.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/mapper/DeviceMapper.java index da34182..afa4464 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/mapper/DeviceMapper.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/mapper/DeviceMapper.java @@ -17,10 +17,10 @@ public interface DeviceMapper extends CommonMapper { String queryDeviceSql = "SELECT d.*, dict.label AS device_type_name, dict2.label AS region_name " + "FROM " + "ACS_DEVICE d " + - "LEFT JOIN sys_dict_detail dict ON dict.value = d.device_type " + - "AND dict.`name` = 'device_type' " + - "LEFT JOIN sys_dict_detail dict2 ON dict2.value = d.region " + - "AND dict2.`name` = 'region_type' "; + "LEFT JOIN sys_dict dict ON dict.value = d.device_type " + + "AND dict.`code` = 'device_type' " + + "LEFT JOIN sys_dict dict2 ON dict2.value = d.region " + + "AND dict2.`code` = 'region_type' "; String wrapperDeviceSql = queryDeviceSql + " ${ew.customSqlSegment}"; /** diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 2198412..450fb52 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -159,6 +159,9 @@ public class InstructionServiceImpl extends CommonServiceImpl devices = new ArrayList(); - private List code_indexs = new ArrayList(); + private List devices = new ArrayList(); // 所有设备链表 + private List code_indexs = new ArrayList(); // 设备对应的下表 @Autowired private DeviceManageService deviceManageService; @Autowired @@ -315,7 +315,7 @@ public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoIn } public synchronized void reload() { - List deviceManageDtos = this.deviceManageService.queryAllWithExtra(); + List deviceManageDtos = deviceManageService.queryAllWithExtra(); this.devices = new ArrayList(); Collections.synchronizedList(this.devices); this.code_indexs = new ArrayList(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java index 3d40ba7..4505b3d 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java @@ -42,13 +42,16 @@ public class DeviceManageServiceImpl implements DeviceManageService { @Override public List queryAllWithExtra() { // JSONArray arr = WQLObject.getWQLObject("acs_device").query().getResultJSONArray(0); + // 获取所有的设备 List deviceList= new LambdaQueryChainWrapper<>(deviceMapper).list(); JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); + // 获取列表扩展 // JSONArray extArr = WQLObject.getWQLObject("acs_device_extra").query().getResultJSONArray(0); List deviceExtraList= new LambdaQueryChainWrapper<>(deviceExtraMapper).list(); JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); + // 设备+扩展DTO List extras = extArr.toJavaList(DeviceExtraManageDto.class); // WQLObject runpointTab = WQLObject.getWQLObject("acs_device_runpoint"); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java index f9875aa..8695fbe 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java @@ -30,127 +30,131 @@ import java.util.Map; @Service public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoInitial { - private static final Logger log = LoggerFactory.getLogger(OpcServerServiceImpl.class); - @Autowired OpcServerManageService opcServerManageService; - Map opcServerManageDtos = new HashMap(); - Map servers = Collections.synchronizedMap(new HashMap()); - Map groups = Collections.synchronizedMap(new HashMap()); - - public OpcServerServiceImpl() {} - - public void autoInitial() throws Exception { - this.reload(); - if (OpcConfig.auto_start_opc) { - Thread t = - new Thread() { - public void run() { - Iterator var1 = OpcServerServiceImpl.this.opcServerManageDtos.values().iterator(); - - while (var1.hasNext()) { - OpcServerManageDto dto = (OpcServerManageDto) var1.next(); - - try { - OpcServerServiceImpl.this.getServer(dto.getOpc_code()); - OpcServerServiceImpl.log.info("加载opc server {}", dto.getOpc_code()); - } catch (Exception var4) { - OpcServerServiceImpl.log.warn("启动无法载入servers", var4); - } - } - } - }; - t.start(); + private static final Logger log = LoggerFactory.getLogger(OpcServerServiceImpl.class); + @Autowired + OpcServerManageService opcServerManageService; + Map opcServerManageDtos = new HashMap(); + Map servers = Collections.synchronizedMap(new HashMap()); + Map groups = Collections.synchronizedMap(new HashMap()); + + public OpcServerServiceImpl() { } - } - - public synchronized void reload() { - this.opcServerManageDtos = this.opcServerManageService.queryAllServerMap(); - this.opcServerManageDtos = Collections.synchronizedMap(this.opcServerManageDtos); - } - - public synchronized Group getServer(String code) { - Group group = null; - group = (Group) this.groups.get(code); - if (group != null) { - try { - if (group.isActive()) { - return group; + + /** + * 加载opc服务,启动opc线程 + * @throws Exception + */ + public void autoInitial() throws Exception { + this.reload(); // 加载opc服务 + if (OpcConfig.auto_start_opc) { + Thread t = + new Thread(() -> { + Iterator var1 = OpcServerServiceImpl.this.opcServerManageDtos.values().iterator(); + + while (var1.hasNext()) { + OpcServerManageDto dto = (OpcServerManageDto) var1.next(); + + try { + OpcServerServiceImpl.this.getServer(dto.getOpc_code()); + OpcServerServiceImpl.log.info("加载opc server {}", dto.getOpc_code()); + } catch (Exception var4) { + OpcServerServiceImpl.log.warn("启动无法载入servers", var4); + } + } + }); + t.start(); } - } catch (JIException var9) { - var9.printStackTrace(); - } } - Server server = (Server) this.servers.get(code); - boolean needcreate = false; - if (server == null) { - needcreate = true; - } else { - try { - group = server.findGroup(OpcConfig.opc_server_default_group); - } catch (UnknownHostException - | JIException - | UnknownGroupException - | NotConnectedException - | IllegalArgumentException var8) { - var8.printStackTrace(); - needcreate = true; - } + public synchronized void reload() { + this.opcServerManageDtos = this.opcServerManageService.queryAllServerMap(); + this.opcServerManageDtos = Collections.synchronizedMap(this.opcServerManageDtos); } - if (needcreate) { - OpcServerManageDto dto = (OpcServerManageDto) this.opcServerManageDtos.get(code); - if (dto == null) { - throw new BadRequestException("code 不存在"); - } + public synchronized Group getServer(String code) { + Group group = null; + group = (Group) this.groups.get(code); + if (group != null) { + try { + if (group.isActive()) { + return group; + } + } catch (JIException var9) { + var9.printStackTrace(); + } + } - server = OpcServerUtl.getServerWithOutException( - dto.getOpc_host(), - dto.getCls_id(), - dto.getUser(), - dto.getPassword(), - dto.getDomain()); + Server server = (Server) this.servers.get(code); + boolean needcreate = false; + if (server == null) { + needcreate = true; + } else { + try { + group = server.findGroup(OpcConfig.opc_server_default_group); + } catch (UnknownHostException + | JIException + | UnknownGroupException + | NotConnectedException + | IllegalArgumentException var8) { + var8.printStackTrace(); + needcreate = true; + } + } + + if (needcreate) { + OpcServerManageDto dto = (OpcServerManageDto) this.opcServerManageDtos.get(code); + if (dto == null) { + throw new BadRequestException("code 不存在"); + } + + server = OpcServerUtl.getServerWithOutException( + dto.getOpc_host(), + dto.getCls_id(), + dto.getUser(), + dto.getPassword(), + dto.getDomain()); // server = OpcServerUtl.getServerWithOutException(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); - try { - group = server.addGroup(OpcConfig.opc_server_default_group); - } catch (Exception var7) { - throw new BadRequestException(var7.toString()); - } + try { + group = server.addGroup(OpcConfig.opc_server_default_group); + } catch (Exception var7) { + throw new BadRequestException(var7.toString()); + } + + this.servers.put(code, server); + this.groups.put(code, group); + } - this.servers.put(code, server); - this.groups.put(code, group); + return group; } - return group; - } + public synchronized void clearServer(String code) { + try { + Server server = (Server) this.servers.get(code); + if (server != null) { + server.disconnect(); + } - public synchronized void clearServer(String code) { - try { - Server server = (Server) this.servers.get(code); - if (server!=null){ - server.disconnect(); - } + } catch (Exception e) { + e.printStackTrace(); + log.error("清理server异常,", e.getMessage()); + } - } catch (Exception e) { - e.printStackTrace(); - log.error("清理server异常,",e.getMessage()); + this.servers.remove(code); + this.groups.remove(code); } - this.servers.remove(code); - this.groups.remove(code); - } - - 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(5000L); - throw var4; + 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(5000L); + throw var4; + } } - } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/rest/OpcPlcController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/rest/OpcPlcController.java index 224a18f..638a1d5 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/rest/OpcPlcController.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/rest/OpcPlcController.java @@ -1,71 +1,87 @@ -//package org.nl.acs.plc.rest; -// -//import org.nl.common.logging.annotation.Log; -//import org.nl.acs.plc.service.OpcPlcService; -//import org.nl.acs.opc.service.dto.OpcPlcDto; -//import org.nl.acs.opc.service.dto.OpcPlcQueryParam; -//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 io.swagger.annotations.*; -//import java.util.Set; -// -///** -//* @author jiaolm -//* @date 2023-05-09 -//**/ -//@RestController -//@RequiredArgsConstructor -//@Api(tags = "plc服务管理") -//@RequestMapping("/api/opcPlc") -//public class OpcPlcController { -// -// private final OpcPlcService opcPlcService; -// -// @GetMapping -// @Log("查询plc服务") -// @ApiOperation("查询plc服务") -// //@PreAuthorize("@el.check('opcPlc:list')") -// public ResponseEntity query(OpcPlcQueryParam query, Pageable pageable){ -// return new ResponseEntity<>(opcPlcService.queryAll(query,pageable),HttpStatus.OK); -// } -// -// @PostMapping -// @Log("新增plc服务") -// @ApiOperation("新增plc服务") -// //@PreAuthorize("@el.check('opcPlc:add')") -// public ResponseEntity create(@Validated @RequestBody OpcPlcDto resources){ -// return new ResponseEntity<>(opcPlcService.insert(resources),HttpStatus.CREATED); -// } -// -// @PutMapping -// @Log("修改plc服务") -// @ApiOperation("修改plc服务") -// //@PreAuthorize("@el.check('opcPlc:edit')") -// public ResponseEntity update(@Validated @RequestBody OpcPlcDto resources){ -// opcPlcService.updateById(resources); -// return new ResponseEntity<>(HttpStatus.NO_CONTENT); -// } -// -// @DeleteMapping -// @Log("删除plc服务") -// @ApiOperation("删除plc服务") -// //@PreAuthorize("@el.check('opcPlc:del')") -// public ResponseEntity delete(@RequestBody Set ids) { -// opcPlcService.removeByIds(ids); -// return new ResponseEntity<>(HttpStatus.OK); -// } -// -// /* -// @Log("导出plc服务") -// @ApiOperation("导出plc服务") -// @GetMapping(value = "/download") -// //@PreAuthorize("@el.check('opcPlc:list')") -// public void download(HttpServletResponse response, OpcPlcQueryParam query) throws IOException { -// opcPlcService.download(opcPlcService.queryAll(query), response); -// }*/ -// -//} +package org.nl.acs.plc.rest; + +import org.nl.common.logging.annotation.Log; +import org.nl.acs.plc.service.OpcPlcService; +import org.nl.acs.opc.service.dto.OpcPlcDto; +import org.nl.acs.opc.service.dto.OpcPlcQueryParam; +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 io.swagger.annotations.*; +import java.util.Set; + +/** +* @author jiaolm +* @date 2023-05-09 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "plc服务管理") +@RequestMapping("/api/opcPlc") +public class OpcPlcController { + + private final OpcPlcService opcPlcService; + + @GetMapping + @Log("查询plc服务") + @ApiOperation("查询plc服务") + //@PreAuthorize("@el.check('opcPlc:list')") + public ResponseEntity query(OpcPlcQueryParam query, Pageable pageable){ + return new ResponseEntity<>(opcPlcService.queryAll(query,pageable),HttpStatus.OK); + } + + @PostMapping + @Log("新增plc服务") + @ApiOperation("新增plc服务") + //@PreAuthorize("@el.check('opcPlc:add')") + public ResponseEntity create(@Validated @RequestBody OpcPlcDto resources){ + return new ResponseEntity<>(opcPlcService.insert(resources),HttpStatus.CREATED); + } + + @PutMapping + @Log("修改plc服务") + @ApiOperation("修改plc服务") + //@PreAuthorize("@el.check('opcPlc:edit')") + public ResponseEntity update(@Validated @RequestBody OpcPlcDto resources){ + opcPlcService.updateById(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除plc服务") + @ApiOperation("删除plc服务") + //@PreAuthorize("@el.check('opcPlc:del')") + public ResponseEntity delete(@RequestBody Set ids) { + opcPlcService.removeByIds(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/selectList") + @Log("下拉选PLC") + @ApiOperation("下拉选PLC") + //@PreAuthorize("@el.check('routePlan:list')") + public ResponseEntity selectList() { + return new ResponseEntity<>(opcPlcService.selectList(), HttpStatus.OK); + } + + @GetMapping("/selectList/{opc_uuid}") + @Log("下拉选PLC") + @ApiOperation("下拉选PLC") + //@PreAuthorize("@el.check('routePlan:list')") + public ResponseEntity selectListByOpcID(@PathVariable String opc_uuid) { + return new ResponseEntity<>(opcPlcService.selectListByOpcID(opc_uuid), HttpStatus.OK); + } + + /* + @Log("导出plc服务") + @ApiOperation("导出plc服务") + @GetMapping(value = "/download") + //@PreAuthorize("@el.check('opcPlc:list')") + public void download(HttpServletResponse response, OpcPlcQueryParam query) throws IOException { + opcPlcService.download(opcPlcService.queryAll(query), response); + }*/ + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/OpcPlcService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/OpcPlcService.java index 7771e69..049a6b3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/OpcPlcService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/OpcPlcService.java @@ -1,5 +1,6 @@ package org.nl.acs.plc.service; +import com.alibaba.fastjson.JSONArray; import org.nl.acs.common.base.PageInfo; import org.nl.acs.common.base.CommonService; import org.nl.acs.opc.domain.OpcPlc; @@ -50,4 +51,18 @@ public interface OpcPlcService extends CommonService { * @throws IOException / */ // void download(List all, HttpServletResponse response) throws IOException; + + /** + * 前端PLC下拉选列表 + * + * @return + */ + List selectList(); + + /** + * 根据OPC标识得到前端PLC下拉选列表 + * + * @return + */ + List selectListByOpcID(String opc_uuid); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/impl/OpcPlcServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/impl/OpcPlcServiceImpl.java index 25b2270..71b1854 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/impl/OpcPlcServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/plc/service/impl/OpcPlcServiceImpl.java @@ -1,5 +1,8 @@ package org.nl.acs.plc.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; import org.nl.acs.common.base.PageInfo; @@ -12,6 +15,7 @@ import org.nl.acs.plc.service.OpcPlcService; import org.nl.acs.opc.service.dto.OpcPlcDto; import org.nl.acs.opc.service.dto.OpcPlcQueryParam; import org.nl.acs.opc.service.mapper.OpcPlcMapper; +import org.nl.system.service.logicflow.dao.StageImage; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -89,6 +93,40 @@ public class OpcPlcServiceImpl extends CommonServiceImpl i return this.removeByIds(set); } + @Override + public List selectList() { + List lists = opcPlcMapper.selectList(new LambdaQueryWrapper() + .eq(OpcPlc::getIs_delete, "0") + .eq(OpcPlc::getIs_active, "1") + .orderByDesc(OpcPlc::getUpdate_time)); + return lists; + } + + @Override + public List selectListByOpcID(String opc_uuid) { + //OPC_PLC表【acs_opc_plc】 +// JSONArray arr = WQLObject.getWQLObject("acs_opc_plc").query("is_delete= '0' AND is_active= '1' and opc_server_id = '" + opc_uuid + "'").getResultJSONArray(0); +// JSONArray result = new JSONArray(); +// for (int i = 0; i < arr.size(); i++) { +// JSONObject obj = arr.getJSONObject(i); +// JSONObject json = new JSONObject(); +// json.put("plc_id", obj.getString("plc_id")); +// json.put("plc_code", obj.getString("plc_code")); +// json.put("plc_name", obj.getString("plc_name")); +// result.add(json); +// } +// return result; + + List lists = opcPlcMapper.selectList(new LambdaQueryWrapper() + .eq(OpcPlc::getIs_delete, "0") + .eq(OpcPlc::getIs_active, "1") + .eq(OpcPlc::getOpc_server_id, opc_uuid) + .orderByDesc(OpcPlc::getUpdate_time)); + return lists; + + } + + /* private void delCaches(String id) { redisUtils.delByKey(CACHE_KEY + "::id:", id); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java index 7a9b601..5ae3c19 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java @@ -514,6 +514,10 @@ public class RouteLineServiceImpl extends CommonServiceImpl impleme FileUtil.downloadExcel(list, response); }*/ + /** + * 获取未完成任务 + * @throws Exception + */ @Override public void autoInitial() throws Exception { Class var1 = TaskInstructionLock.class; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/udw/rest/UdwManagerController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/udw/rest/UdwManagerController.java new file mode 100644 index 0000000..6f8517c --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/udw/rest/UdwManagerController.java @@ -0,0 +1,42 @@ + +package org.nl.acs.udw.rest; + + +import cn.dev33.satoken.annotation.SaIgnore; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.udw.service.UdwManageService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequiredArgsConstructor +@Api(tags = "内存点位管理") +@RequestMapping("/api/udw") +@Slf4j +public class UdwManagerController { + + private final UdwManageService udwManageService; + +// @GetMapping +// @Log("查询内存点位") +// @ApiOperation("查询内存点位") +// @SaIgnore +// public ResponseEntity query(@RequestParam JSONObject whereJson) { +// return new ResponseEntity<>(udwManageService.queryByConditions(whereJson), HttpStatus.OK); +// } + + @GetMapping + @ApiOperation("查询内存点位") + @SaIgnore + //@PreAuthorize("@el.check('device:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(udwManageService.queryAll(whereJson, page), HttpStatus.OK); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java deleted file mode 100644 index c98e6cc..0000000 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.nl.start; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.stereotype.Component; - -/** - * 随项目启动模块 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class Init implements ApplicationRunner { - - @Override - public void run(ApplicationArguments args) throws Exception { - System.out.println("项目启动成功!"); - } -} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java index f41f485..5e851a7 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java @@ -157,10 +157,12 @@ public class SysNoticeServiceImpl extends ServiceImpl sysNotices = sysNoticeMapper.selectList(new LambdaQueryWrapper().eq(SysNotice::getNotice_title, title)); + List sysNotices = sysNoticeMapper.selectList(new LambdaQueryWrapper() + .eq(SysNotice::getNotice_title, title) + .eq(SysNotice::getHave_read, NoticeEnum.HAVE_READ_OFF.getValue())); if (ObjectUtil.isNotEmpty(sysNotices)) return; SysNotice noticeDto = SysNotice.builder() - .notice_id(IdUtil.getSnowflake(1,1).nextIdStr()) + .notice_id(IdUtil.getSnowflake(1, 1).nextIdStr()) .notice_type(type) .notice_title(title) .notice_content(msg) @@ -180,4 +182,6 @@ public class SysNoticeServiceImpl extends ServiceImpl \ No newline at end of file diff --git a/acs/nladmin-ui/src/assets/icons/svg/downAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/downAlign.svg new file mode 100644 index 0000000..d02dce2 --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/downAlign.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/horizontalAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/horizontalAlign.svg new file mode 100644 index 0000000..ed79e1a --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/horizontalAlign.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/acs/nladmin-ui/src/assets/icons/svg/horizontalDistribution.svg b/acs/nladmin-ui/src/assets/icons/svg/horizontalDistribution.svg new file mode 100644 index 0000000..b4af40e --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/horizontalDistribution.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/leftAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/leftAlign.svg new file mode 100644 index 0000000..b373ac3 --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/leftAlign.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/rightAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/rightAlign.svg new file mode 100644 index 0000000..b0670ba --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/rightAlign.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/save.svg b/acs/nladmin-ui/src/assets/icons/svg/save.svg new file mode 100644 index 0000000..e9e05e3 --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/save.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/upAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/upAlign.svg new file mode 100644 index 0000000..29645dd --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/upAlign.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/verticalAlign.svg b/acs/nladmin-ui/src/assets/icons/svg/verticalAlign.svg new file mode 100644 index 0000000..a3646a0 --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/verticalAlign.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/assets/icons/svg/verticalDistribution.svg b/acs/nladmin-ui/src/assets/icons/svg/verticalDistribution.svg new file mode 100644 index 0000000..e628a9e --- /dev/null +++ b/acs/nladmin-ui/src/assets/icons/svg/verticalDistribution.svg @@ -0,0 +1,2 @@ + diff --git a/acs/nladmin-ui/src/views/acs/history/udwData/index.vue b/acs/nladmin-ui/src/views/acs/history/udwData/index.vue new file mode 100644 index 0000000..aa6668d --- /dev/null +++ b/acs/nladmin-ui/src/views/acs/history/udwData/index.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/acs/nladmin-ui/src/views/monitor/lucene/api/lucene.js b/acs/nladmin-ui/src/views/monitor/lucene/api/lucene.js new file mode 100644 index 0000000..674bb2c --- /dev/null +++ b/acs/nladmin-ui/src/views/monitor/lucene/api/lucene.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +export function getLogData(param) { + return request({ + url: 'api/lucene/getAll', + method: 'get', + data: param + }) +} + +export function labelsValues() { + return request({ + url: 'api/loki/labels/values', + method: 'get' + }) +} + +export default { getLogData, labelsValues } diff --git a/acs/nladmin-ui/src/views/monitor/lucene/index.vue b/acs/nladmin-ui/src/views/monitor/lucene/index.vue new file mode 100644 index 0000000..36be01e --- /dev/null +++ b/acs/nladmin-ui/src/views/monitor/lucene/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/acs/nladmin-ui/src/views/monitor/lucene/search.vue b/acs/nladmin-ui/src/views/monitor/lucene/search.vue new file mode 100644 index 0000000..4418988 --- /dev/null +++ b/acs/nladmin-ui/src/views/monitor/lucene/search.vue @@ -0,0 +1,150 @@ + + + diff --git a/acs/nladmin-ui/src/views/monitor/lucene/time.vue b/acs/nladmin-ui/src/views/monitor/lucene/time.vue new file mode 100644 index 0000000..36d504a --- /dev/null +++ b/acs/nladmin-ui/src/views/monitor/lucene/time.vue @@ -0,0 +1,64 @@ + + + diff --git a/acs/nladmin-ui/src/views/system/logicflow/editor/components/Diagram.vue b/acs/nladmin-ui/src/views/system/logicflow/editor/components/Diagram.vue index 81a0a02..5dd9d57 100644 --- a/acs/nladmin-ui/src/views/system/logicflow/editor/components/Diagram.vue +++ b/acs/nladmin-ui/src/views/system/logicflow/editor/components/Diagram.vue @@ -1,6 +1,7 @@ @@ -172,6 +191,7 @@ import { Sketch } from 'vue-color' import { shortStyles, borderStyles, fontFamilies } from '../constant' import crudStageImage from '@/api/logicflow/stageImage' +import crudDevice from '@/api/acs/device/device' export default { components: { @@ -180,7 +200,8 @@ export default { props: { elementsStyle: Object, onlyEdge: Boolean, // 是否是只设置边的属性,当只设置边的属性时,隐藏快捷样式和背景色设置 - showChoice: Boolean + showChoice: Boolean, + node: Object // 父组件传来的对象 }, data() { return { @@ -209,7 +230,8 @@ export default { fontWeight: '', // 文本加粗 lineHeightOptions: Array(5).fill(1).map((_, i) => _ + i * 0.5), // imageUrl: '', - imageUrlOptions: [] + imageUrlOptions: [], + deviceCodeOptions: [] } }, watch: { @@ -218,10 +240,16 @@ export default { this.style = { ...this.style, ...val } }, immediate: true + }, + node(newVal, oldVal) { + // newVal是新值,oldVal是旧值 + this.node = newVal + this.cleanParam() } }, created() { this.initStageIconList() + this.initDevicesList() }, methods: { initStageIconList() { // 初始化图标数据 @@ -232,6 +260,12 @@ export default { this.imageUrlOptions = data }) }, + initDevicesList() { + crudDevice.selectDeviceList().then(res => { + console.log('devices:', res) + this.deviceCodeOptions = res + }) + }, setStyle(item) { this.$emit('setStyle', item) }, @@ -319,6 +353,17 @@ export default { this.$emit('setStyle', { device: val }) + }, + cleanParam() { // 判断来清空下拉框 + if (this.node.properties.device === undefined) { + this.style.device = '' + } + if (this.node.properties.imageUrl === undefined) { + this.style.imageUrl = '' + } + if (this.node.properties.transform === undefined) { + this.style.transform = 0 + } } } } diff --git a/acs/nladmin-ui/src/views/system/monitor/device/XJDeviceMonitor.vue b/acs/nladmin-ui/src/views/system/monitor/device/XJDeviceMonitor.vue deleted file mode 100644 index f6a8a16..0000000 --- a/acs/nladmin-ui/src/views/system/monitor/device/XJDeviceMonitor.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - - - diff --git a/acs/nladmin-ui/src/views/system/monitor/device/index.vue b/acs/nladmin-ui/src/views/system/monitor/device/index.vue index d74a426..484f28b 100644 --- a/acs/nladmin-ui/src/views/system/monitor/device/index.vue +++ b/acs/nladmin-ui/src/views/system/monitor/device/index.vue @@ -197,11 +197,10 @@ export default { name: 'MonitorDevice', data() { return { - stageParam: 'stage_code', // 舞台参数 + stageParam: 'age', // 舞台参数 dialogDeviceMsgVisible: false, // 显示设备信息的dialog device_code: null, tops: '20vh', // 初始top - stage_code: '', stageSelectList: [], arr: [], // 显示数组 dialogFormVisible: false, @@ -304,21 +303,11 @@ export default { this.initStageData() }, initStageData() { - // 获取舞台编码 - paramCrud.getValueByCode(this.stageParam).then(res => { - // console.log(res) - if (res.value) { - crudStage.getNewStageDataByCode(res.value).then(res => { // 通过舞台编码获取舞台数据并且赋值到lf对象 - data = JSON.parse(res.stage_data) - lf.render(data) - this.initStatus() // 初始化状态 - }) - } else { - this.$notify.error({ - title: '错误', - message: '请设置参数!' - }) - } + // 获取舞台数据 + crudStage.getNewStageDataByCode(this.stageParam).then(res => { // 通过舞台编码获取舞台数据并且赋值到lf对象 + data = JSON.parse(res.stage_data) + lf.render(data) + this.initStatus() // 初始化状态 }) this.timer = setInterval(() => { // 定时刷新设备的状态信息 console.log('定时器启动') diff --git a/acs/nladmin-ui/src/views/tools/codeGen/codeDetail.vue b/acs/nladmin-ui/src/views/tools/codeGen/codeDetail.vue index 14ad525..7d91755 100644 --- a/acs/nladmin-ui/src/views/tools/codeGen/codeDetail.vue +++ b/acs/nladmin-ui/src/views/tools/codeGen/codeDetail.vue @@ -154,7 +154,7 @@ export default { presenter(), header(), form(function() { - return Object.assign({ dict: { id: this.dictId }}, defaultForm) + return Object.assign({ code_rule_id: this.dictId }, defaultForm) })], data() { return { @@ -183,6 +183,12 @@ export default { format: [ { required: true, message: '请输入日期格式', trigger: 'blur' } ], + step: [ + { required: true, message: '请输入步长', trigger: 'blur' } + ], + fillchar: [ + { required: true, message: '请输入填充值', trigger: 'blur' } + ], max_value: [ { required: true, message: '请输入最大值', trigger: 'blur' } ]