From f84d9e69907cb678150eaa6393fd74cf042fcca4 Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期四, 28 九月 2023 14:39:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into develop --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 19 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java index 865fa7e..2fa8719 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java @@ -10,6 +10,7 @@ import org.jeecg.modules.mdc.service.*; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mdc.util.TimeFieldUtils; +import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo; import org.jeecg.modules.mdc.vo.MdcEquipmentRunningSectionVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -52,23 +53,22 @@ List<MdcEquipmentRunningSection> errs = loadEquipmentErrorTrace(equipmentRunningSectionVo.getEquipmentId(), equipmentRunningSectionVo.getCollectTimeStr()); if (!running.isEmpty()) { MdcEquipmentRunningSectionDto dto; + Equipment equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, equipmentRunningSectionVo.getEquipmentId())); + String tableName = ""; + Boolean isTableExist = false; + if (equip != null) { + if (StringUtils.isNotBlank(equip.getDrivetype())) { + tableName = equip.getDrivetype() + "_" + equip.getEquipmentid(); + isTableExist = equipmentWorkLineService.isTableExist(tableName); + } + } for (MdcEquipmentRunningSection entity : running) { dto = new MdcEquipmentRunningSectionDto(); BeanUtils.copyProperties(entity, dto); - if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber())) { - Equipment equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, entity.getEquipmentId())); - if (equip != null) { - if (StringUtils.isNotBlank(equip.getDrivetype())) { - try { - List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(equip.getDrivetype(), equip.getEquipmentid(), entity.getStartTime(), entity.getEndTime()); - if (esList != null && esList.size() > 1) { - dto.setSequenceNumber(esList.get(0).getSequencenumber()); - } - } catch (Exception e) { - continue; - } - - } + if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist) { + List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(tableName, entity.getStartTime(), entity.getEndTime()); + if (esList != null && esList.size() > 1) { + dto.setSequenceNumber(esList.get(0).getSequencenumber()); } } dtos.add(dto); @@ -464,7 +464,7 @@ * 璁惧杩愯鐘舵�佺偣鏃堕棿杞负娈垫椂闂� */ @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public void runningAllEquipmentTraceProcess() { //鑾峰彇鎵�鏈夎澶� List<Equipment> equipmentList = equipmentService.list(); @@ -519,8 +519,93 @@ return result; } + /** + * 璁$畻涓�娈垫椂闂村唴鐨勬暟鎹� + */ + @Override + public List<MdcEquipmentRunningSection> listEquipmentRunningSection(String equipmentid, long start, long end) { + return this.baseMapper.listEquipmentRunningSection(equipmentid, start, end); + } + + @Override + public List<MdcEquipmentRunningSection> listRunningSectionFromLog(String equipmentid, long start, long end) { + if (StringUtils.isBlank(equipmentid) || start <= 0 || end <= 0) { + return null; + } + Date startTime = DateUtils.toDate(DateUtils.longToDate(start), DateUtils.STR_DATE_TIME_SMALL); + Date endTime = DateUtils.toDate(DateUtils.longToDate(end), DateUtils.STR_DATE_TIME_SMALL); + EquipmentLog equipmentLog = equipmentLogService.getRow(equipmentid, startTime); + if (equipmentLog == null) { + return null; + } + List<EquipmentLog> logList = new ArrayList<>(); + EquipmentLog equipmentOne = new EquipmentLog(); + equipmentOne.setEquipmentId(equipmentid); + equipmentOne.setOporation(equipmentLog.getOporation()); + equipmentOne.setCollectTime(startTime); + logList.add(equipmentOne); + List<EquipmentLog> logListLast = equipmentLogService.findEquipmentLogByEndTime(equipmentid, startTime); + if (logListLast == null || logListLast.isEmpty()) { + EquipmentLog two = new EquipmentLog(); + two.setEquipmentId(equipmentid); + two.setOporation(equipmentLog.getOporation()); + two.setCollectTime(endTime); + logList.add(two); + } else { + for (EquipmentLog log : logListLast) { + if (log.getCollectTime().getTime() <= endTime.getTime()) { + logList.add(log); + } + } + } + if (logList.get(logList.size() - 1).getCollectTime().getTime() < endTime.getTime()) { + EquipmentLog two = new EquipmentLog(); + two.setEquipmentId(equipmentid); + two.setOporation(logList.get(logList.size() - 1).getOporation()); + two.setCollectTime(endTime); + logList.add(two); + } + //鐐规暟鎹浆涓烘鏁版嵁 + List<MdcEquipmentRunningSection> erts = parseLogToRunningTrace(logList); + if (erts.isEmpty()) { + return Collections.emptyList(); + } + //鏁村悎鍔犲伐鍜屽緟鏈烘椂闂村皬浜巒绉掔殑鏁版嵁 + erts = mergeLessMinTimeRecords(erts, null); + List<MdcEquipmentRunningSection> running = mergeRunningTrace(erts); + if (running != null || !running.isEmpty()) { + this.ergodicTrim(running); + } + return running; + } + + @Override + public List<MdcEquipmentRunningSection> listEquipmentRunningSectionRun(String equipmentid, long start, long end) { + return this.baseMapper.listEquipmentRunningSectionRun(equipmentid, start, end); + } + + @Override + public List<MdcEquipmentRunningSection> listEquipmentRunningSectionError(String equipmentid, long start, long end) { + return this.baseMapper.listEquipmentRunningSectionError(equipmentid, start, end); + } + + @Override + public List<MdcEquipmentRunningSection> findAlarmList(MdcAlarmAnalyzeQueryVo vo) { + return this.baseMapper.findAlarmList(vo); + } + + @Override + public Integer findAlarmCount(String equipmentId, String startDate, String endDate, String alarmCode) { + return this.baseMapper.findAlarmCount(equipmentId, startDate, endDate, alarmCode); + } + + @Override + public Integer findAlarmCountByDate(String startDate, String endDate, MdcAlarmAnalyzeQueryVo vo) { + return this.baseMapper.findAlarmCountByDate(startDate, endDate, vo); + } + private Map<String, List<MdcEquipmentRunningSectionDto>> logCharts(MdcEquipmentRunningSectionVo equipmentRunningSectionVo, String date) { - Map<String, List<MdcEquipmentRunningSectionDto>> map = new HashMap<>(); + Map<String, List<MdcEquipmentRunningSectionDto>> map = new HashMap<>(); List<MdcEquipmentRunningSectionDto> normal = new ArrayList<>(); List<MdcEquipmentRunningSectionDto> waring = new ArrayList<>(); //杩愯 @@ -743,9 +828,9 @@ ert.setStartTime(logList.get(i).getCollectTime()); ert.setEndTime(logList.get(i + 1).getCollectTime()); ert.setDuration(DateUtils.differentSecond(ert.getStartTime(), ert.getEndTime())); - if (ert.getDuration() > 0) { - erts.add(ert); - } +// if (ert.getDuration() > 0) { + erts.add(ert); +// } } else { long count = differentSecond / 86400; if (count % 86400 > 0) { -- Gitblit v1.9.3