From ce61b02c2889a1ebdc71ff048a7836bbf1fe3208 Mon Sep 17 00:00:00 2001
From: lius <Lius2225@163.com>
Date: 星期一, 14 八月 2023 10:21:34 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 76 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 d57b283..0531cfc 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
@@ -59,15 +59,10 @@
                     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;
+                            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());
                             }
-
                         }
                     }
                 }
@@ -155,8 +150,9 @@
                     list = notExecuteData;
                 }
             } else {
-                if (notExecuteData != null && !notExecuteData.isEmpty())
+                if (notExecuteData != null && !notExecuteData.isEmpty()) {
                     list.addAll(notExecuteData);
+                }
             }
         } else {
             LambdaQueryWrapper<MdcEquipmentRunningSection> queryWrapper = new LambdaQueryWrapper<>();
@@ -518,8 +514,78 @@
         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);
+    }
+
     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<>();
         //杩愯

--
Gitblit v1.9.3