From be3aa0812cb43be7484e162b4fece5344e9eb5c8 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 14 三月 2024 11:12:43 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 10 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 1d64041..f97637b 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
@@ -49,6 +49,9 @@
     @Resource
     private IEquipmentRunningTraceService equipmentRunningTraceService;
 
+    @Resource
+    private IMdcAlarmInfoService mdcAlarmInfoService;
+
     @Override
     public List<MdcEquipmentRunningSectionDto> logList(MdcEquipmentRunningSectionVo equipmentRunningSectionVo) {
 
@@ -60,9 +63,9 @@
         List<MdcEquipmentRunningSection> running = loadEquipmentRunningTrace(equipmentRunningSectionVo.getEquipmentId(), equipmentRunningSectionVo.getCollectTimeStr());
         //鏌ヨ鎶ヨ鏁版嵁
         List<MdcEquipmentRunningSection> errs = loadEquipmentErrorTrace(equipmentRunningSectionVo.getEquipmentId(), equipmentRunningSectionVo.getCollectTimeStr());
+        Equipment equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, equipmentRunningSectionVo.getEquipmentId()));
         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) {
@@ -88,21 +91,54 @@
             for (MdcEquipmentRunningSection entity : errs) {
                 dto = new MdcEquipmentRunningSectionDto();
                 BeanUtils.copyProperties(entity, dto);
-                Set<TmpEquipmentAlarm> set = entity.getTmpEquipmentAlarmSet();
-                if (entity.getStatus() == 22 && set != null && !set.isEmpty()) {
-                    Iterator<TmpEquipmentAlarm> iterator = entity.getTmpEquipmentAlarmSet().iterator();
-                    //鑾峰彇鎶ヨ缂栧彿鐩稿悓鐨勬姤璀︿俊鎭�
-                    while (iterator.hasNext()) {
-                        TmpEquipmentAlarm next = iterator.next();
-                        if (StringUtils.isNotBlank(next.getAlarmNo()) && next.getAlarmNo().equals(entity.getStatus())) {
-                            dto.setAlarmContent(next.getAlarmContent());
+                if (entity.getStatus() == 22) {
+                    if (equip != null) {
+                        List<MdcAlarmInfo> mdcAlarmInfo = mdcAlarmInfoService.list(new LambdaQueryWrapper<MdcAlarmInfo>().eq(MdcAlarmInfo::getDriveType, equip.getDrivetype()).eq(MdcAlarmInfo::getAlarmCode, entity.getAlarm()).eq(MdcAlarmInfo::getIsUse, 0));
+                        if (mdcAlarmInfo != null && !mdcAlarmInfo.isEmpty()) {
+                            dto.setAlarmContent(mdcAlarmInfo.get(0).getAlarmContent());
                         }
                     }
                 }
+//                Set<TmpEquipmentAlarm> set = entity.getTmpEquipmentAlarmSet();
+//                if (entity.getStatus() == 22 && set != null && !set.isEmpty()) {
+//                    Iterator<TmpEquipmentAlarm> iterator = entity.getTmpEquipmentAlarmSet().iterator();
+//                    //鑾峰彇鎶ヨ缂栧彿鐩稿悓鐨勬姤璀︿俊鎭�
+//                    while (iterator.hasNext()) {
+//                        TmpEquipmentAlarm next = iterator.next();
+//                        if (StringUtils.isNotBlank(next.getAlarmNo()) && next.getAlarmNo().equals(entity.getStatus())) {
+//                            dto.setAlarmContent(next.getAlarmContent());
+//                        }
+//                    }
+//                }
                 dtos.add(dto);
             }
         }
-        return dtos;
+
+        List<MdcEquipmentRunningSectionDto> result = new ArrayList<>();
+        //鍚堝苟鐩稿悓鐘舵�佹暟鎹�
+        for (int i = 0; i < dtos.size() - 1; i++) {
+            MdcEquipmentRunningSectionDto mdcEquipmentRunningSectionDto = dtos.get(i);
+            MdcEquipmentRunningSectionDto next = dtos.get(i + 1);
+            if (mdcEquipmentRunningSectionDto.getStatus().equals(next.getStatus()) && mdcEquipmentRunningSectionDto.getEndTime().equals(next.getStartTime())) {
+                MdcEquipmentRunningSectionDto equipmentRunningSectionDto = new MdcEquipmentRunningSectionDto();
+                BeanUtils.copyProperties(mdcEquipmentRunningSectionDto, equipmentRunningSectionDto);
+                equipmentRunningSectionDto.setEndTime(next.getEndTime());
+                equipmentRunningSectionDto.setDuration(mdcEquipmentRunningSectionDto.getDuration() + next.getDuration());
+                result.add(equipmentRunningSectionDto);
+                i++;
+            } else {
+                result.add(mdcEquipmentRunningSectionDto);
+            }
+        }
+        if (dtos.size() > 1) {
+            MdcEquipmentRunningSectionDto a = dtos.get(dtos.size() - 2);
+            MdcEquipmentRunningSectionDto b = dtos.get(dtos.size() - 1);
+            if (!a.getStatus().equals(b.getStatus()) && a.getEndTime().equals(b.getStartTime())) {
+                result.add(dtos.get(dtos.size() - 1));
+            }
+        }
+
+        return result;
     }
 
     /**

--
Gitblit v1.9.3