From d3215c3ee3485ef14eed2db10bc87f4b0cd5a0ae Mon Sep 17 00:00:00 2001 From: tuqiang <437016993@qq.com> Date: Fri, 13 Sep 2024 14:58:15 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=96=B0=E5=A2=9E=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agv/ndctwo/AgvNdcTwoDeviceDriver.java | 376 +++++++++--------- .../service/impl/RegionServiceImpl.java | 8 +- .../nl/hand/service/impl/PdaServiceImpl.java | 3 +- .../images/{newloge.png => background333.png} | Bin acs2/nladmin-ui/src/assets/images/newlogo.png | Bin 0 -> 8325 bytes .../src/layout/components/Sidebar/Logo.vue | 4 +- 6 files changed, 196 insertions(+), 195 deletions(-) rename acs2/nladmin-ui/src/assets/images/{newloge.png => background333.png} (100%) create mode 100644 acs2/nladmin-ui/src/assets/images/newlogo.png diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java index 4c375b9..b600296 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java @@ -353,194 +353,194 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic // 取货完毕 //(Itype=1、3,需要WCS反馈) - else if (phase == 0x0A) { - if (agvaddr == 0) { - agvaddr = agvaddr_copy; - } - if (agvaddr < 1) { - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content("agv地址参数有误,phase:" + phase) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - return; - } - if (agvaddr != 0) { - CommonFinalParam commonFinalParam = new CommonFinalParam(); - old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr); - if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) { - String[] point = old_device_code.split(commonFinalParam.getBARRE()); - device_code = point[0]; - } else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) { - String[] point = old_device_code.split("\\."); - device_code = point[0]; - emptyNum = point[1]; - } else { - device_code = old_device_code; - } - } - - device = deviceAppService.findDeviceByCode(device_code); - if (ObjectUtil.isEmpty(device_code)) { - log.info(agvaddr + "对应设备号为空!"); - return; - } - if (ObjectUtil.isEmpty(inst)) { - log.info("未找到指令号{}对应的指令", ikey); - return; - } - String agv_inst_type = inst.getAgv_inst_type(); - if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); - if (ObjectUtil.isNotEmpty(standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("wait")) - && StrUtil.equals("true", standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("wait").toString())) { - standardOrdinarySiteDeviceDriver.setOption(0); - } else { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - standardOrdinarySiteDeviceDriver.setAgvphase(phase); - standardOrdinarySiteDeviceDriver.setIndex(index); - standardOrdinarySiteDeviceDriver.setInst(inst); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - String task_code = inst.getTask_code(); - if (ObjectUtil.isNotEmpty(standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("feedbackToLms")) - && StrUtil.equals("true", standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("feedbackToLms").toString())) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("task_code", task_code); - LuceneLogDto logDto1 = LuceneLogDto.builder() - .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) - .content("取货完成反馈:" + jsonObject.toJSONString() + ";设备:" + standardOrdinarySiteDeviceDriver.getDeviceCode()) - .build(); - logDto1.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto1); - acsToWmsService.actionFinishRequest2(jsonObject); - } - - } else if (device.getDeviceDriver() instanceof HongXiangStationDeviceDriver) { - hongXiangStationDeviceDriver = (HongXiangStationDeviceDriver) device.getDeviceDriver(); - try { - hongXiangStationDeviceDriver.writing(0); - } catch (Exception e) { - e.printStackTrace(); - } - if (hongXiangStationDeviceDriver.getMove() == 0) { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } else { - message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",指令号:" + ikey + "不满足取货条件"; - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content(message) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } - } else if (device.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver) { - manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) device.getDeviceDriver(); - try { - manipulatorAgvStationDeviceDriver.writing(3); - } catch (Exception e) { - e.printStackTrace(); - } - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - String task_code = inst.getTask_code(); - if (ObjectUtil.isNotEmpty(manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms")) - && StrUtil.equals("true", manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms").toString())) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("task_code", task_code); - LuceneLogDto logDto1 = LuceneLogDto.builder() - .device_code(manipulatorAgvStationDeviceDriver.getDevice_code()) - .content("取货完成反馈:" + jsonObject.toJSONString() + ";设备:" + manipulatorAgvStationDeviceDriver.getDeviceCode()) - .build(); - logDto1.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto1); - acsToWmsService.actionFinishRequest2(jsonObject); - } - } else if (device.getDeviceDriver() instanceof PaperTubePickSiteDeviceDriver) { - paperTubePickSiteDeviceDriver = (PaperTubePickSiteDeviceDriver) device.getDeviceDriver(); - try { - paperTubePickSiteDeviceDriver.writing(3); - } catch (Exception e) { - e.printStackTrace(); - } - if (paperTubePickSiteDeviceDriver.getAction() == 1 - && paperTubePickSiteDeviceDriver.getError() == 0 && paperTubePickSiteDeviceDriver.getMode() == 2) { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } else { - message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content(message) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } - } else if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver(); - - try { - standardInspectSiteDeviceDriver.writing(1); - } catch (Exception e) { - e.printStackTrace(); - } - if ((standardInspectSiteDeviceDriver.getMove() == 1 && standardInspectSiteDeviceDriver.getAction() == 1 && standardInspectSiteDeviceDriver.getError() == 0)) { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } else { - message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content(message) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } - } else { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } - - } +// else if (phase == 0x0A) { +// if (agvaddr == 0) { +// agvaddr = agvaddr_copy; +// } +// if (agvaddr < 1) { +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(device_code) +// .content("agv地址参数有误,phase:" + phase) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// return; +// } +// if (agvaddr != 0) { +// CommonFinalParam commonFinalParam = new CommonFinalParam(); +// old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr); +// if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) { +// String[] point = old_device_code.split(commonFinalParam.getBARRE()); +// device_code = point[0]; +// } else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) { +// String[] point = old_device_code.split("\\."); +// device_code = point[0]; +// emptyNum = point[1]; +// } else { +// device_code = old_device_code; +// } +// } +// +// device = deviceAppService.findDeviceByCode(device_code); +// if (ObjectUtil.isEmpty(device_code)) { +// log.info(agvaddr + "对应设备号为空!"); +// return; +// } +// if (ObjectUtil.isEmpty(inst)) { +// log.info("未找到指令号{}对应的指令", ikey); +// return; +// } +// String agv_inst_type = inst.getAgv_inst_type(); +// if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { +// standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); +// if (ObjectUtil.isNotEmpty(standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("wait")) +// && StrUtil.equals("true", standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("wait").toString())) { +// standardOrdinarySiteDeviceDriver.setOption(0); +// } else { +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// standardOrdinarySiteDeviceDriver.setAgvphase(phase); +// standardOrdinarySiteDeviceDriver.setIndex(index); +// standardOrdinarySiteDeviceDriver.setInst(inst); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// String task_code = inst.getTask_code(); +// if (ObjectUtil.isNotEmpty(standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("feedbackToLms")) +// && StrUtil.equals("true", standardOrdinarySiteDeviceDriver.getDevice().getExtraValue().get("feedbackToLms").toString())) { +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("task_code", task_code); +// LuceneLogDto logDto1 = LuceneLogDto.builder() +// .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) +// .content("取货完成反馈:" + jsonObject.toJSONString() + ";设备:" + standardOrdinarySiteDeviceDriver.getDeviceCode()) +// .build(); +// logDto1.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto1); +// acsToWmsService.actionFinishRequest2(jsonObject); +// } +// +// } else if (device.getDeviceDriver() instanceof HongXiangStationDeviceDriver) { +// hongXiangStationDeviceDriver = (HongXiangStationDeviceDriver) device.getDeviceDriver(); +// try { +// hongXiangStationDeviceDriver.writing(0); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// if (hongXiangStationDeviceDriver.getMove() == 0) { +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } else { +// message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",指令号:" + ikey + "不满足取货条件"; +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content(message) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } +// } else if (device.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver) { +// manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) device.getDeviceDriver(); +// try { +// manipulatorAgvStationDeviceDriver.writing(3); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// String task_code = inst.getTask_code(); +// if (ObjectUtil.isNotEmpty(manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms")) +// && StrUtil.equals("true", manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms").toString())) { +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("task_code", task_code); +// LuceneLogDto logDto1 = LuceneLogDto.builder() +// .device_code(manipulatorAgvStationDeviceDriver.getDevice_code()) +// .content("取货完成反馈:" + jsonObject.toJSONString() + ";设备:" + manipulatorAgvStationDeviceDriver.getDeviceCode()) +// .build(); +// logDto1.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto1); +// acsToWmsService.actionFinishRequest2(jsonObject); +// } +// } else if (device.getDeviceDriver() instanceof PaperTubePickSiteDeviceDriver) { +// paperTubePickSiteDeviceDriver = (PaperTubePickSiteDeviceDriver) device.getDeviceDriver(); +// try { +// paperTubePickSiteDeviceDriver.writing(3); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// if (paperTubePickSiteDeviceDriver.getAction() == 1 +// && paperTubePickSiteDeviceDriver.getError() == 0 && paperTubePickSiteDeviceDriver.getMode() == 2) { +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } else { +// message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content(message) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } +// } else if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { +// standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver(); +// +// try { +// standardInspectSiteDeviceDriver.writing(1); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// if ((standardInspectSiteDeviceDriver.getMove() == 1 && standardInspectSiteDeviceDriver.getAction() == 1 && standardInspectSiteDeviceDriver.getError() == 0)) { +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } else { +// message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content(message) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } +// } else { +// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); +// LuceneLogDto logDto = LuceneLogDto.builder() +// .device_code(this.getDeviceCode()) +// .content("agvphase:" + phase + "反馈:" + data) +// .build(); +// logDto.setLog_level(4); +// luceneExecuteLogService.deviceExecuteLog(logDto); +// } +// +// } // 到达放货点 //(Itype=1/2/3,需要WCS反馈) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java index b161cda..e7d2e77 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java @@ -15,6 +15,7 @@ import org.nl.acs.region.service.mapper.RegionMapper; import org.nl.common.exception.BadRequestException; import org.nl.config.language.LangProcess; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -27,15 +28,14 @@ import java.util.List; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) public class RegionServiceImpl extends CommonServiceImpl implements RegionService{ + @Autowired - RegionService regionService; - @Autowired - RegionMapper regionMapper; + private RegionMapper regionMapper; @Override public JSONArray queryAllRegions() { //查询所有区域 - List list = regionService.lambdaQuery().list(); + List list = this.lambdaQuery().list(); if (CollectionUtil.isEmpty(list)) { throw new BadRequestException(LangProcess.msg("error_no_regional")); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java index 983fdce..75f1ff0 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java @@ -28,6 +28,7 @@ import org.nl.hand.service.PdaService; import org.nl.system.service.dict.dao.Dict; import org.nl.system.service.dict.dao.mapper.SysDictMapper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @@ -49,7 +50,7 @@ public class PdaServiceImpl implements PdaService { DeviceAppService deviceAppService; @Autowired - RegionService regionService; + private RegionService regionService; @Autowired private TaskService taskserver; diff --git a/acs2/nladmin-ui/src/assets/images/newloge.png b/acs2/nladmin-ui/src/assets/images/background333.png similarity index 100% rename from acs2/nladmin-ui/src/assets/images/newloge.png rename to acs2/nladmin-ui/src/assets/images/background333.png diff --git a/acs2/nladmin-ui/src/assets/images/newlogo.png b/acs2/nladmin-ui/src/assets/images/newlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ee7e045ae3dbde6642ae32a97cf79ded44a6b2a GIT binary patch literal 8325 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 jMc<-WRl;6BO}uv5PsFKX&i@wtKhB>2>!~#1