From 5c3742eca3b35c96f66c53b8dfabcb6848e03a7d Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期三, 13 十二月 2023 16:46:19 +0800
Subject: [PATCH] 修改

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 1 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 744dc2e..c155000 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
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto;
 import org.jeecg.modules.mdc.entity.*;
@@ -10,7 +11,9 @@
 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.jeecg.modules.system.service.ISysDictService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -38,6 +41,12 @@
 
     @Resource
     private IEquipmentWorkLineService equipmentWorkLineService;
+
+    @Resource
+    private ISysDictService sysDictService;
+
+    @Resource
+    private IEquipmentRunningTraceService equipmentRunningTraceService;
 
     @Override
     public List<MdcEquipmentRunningSectionDto> logList(MdcEquipmentRunningSectionVo equipmentRunningSectionVo) {
@@ -463,7 +472,7 @@
      * 璁惧杩愯鐘舵�佺偣鏃堕棿杞负娈垫椂闂�
      */
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public void runningAllEquipmentTraceProcess() {
         //鑾峰彇鎵�鏈夎澶�
         List<Equipment> equipmentList = equipmentService.list();
@@ -482,7 +491,50 @@
                 //save errorList
                 super.saveBatch(errorList);
             }
+            List<DictModel> dictList = sysDictService.queryDictItemsByCode("data_synchronization_flag");
+            if (dictList != null && !dictList.isEmpty() && "0".equals(dictList.get(0).getValue())) {
+                this.dataSynchronizationHandler(list, errorList);
+            }
         }
+    }
+
+    /**
+     * 鏁版嵁鍚屾澶勭悊
+     * @param list
+     * @param errorList
+     */
+    private void dataSynchronizationHandler(List<MdcEquipmentRunningSection> list, List<MdcEquipmentRunningSection> errorList) {
+        // 鏁版嵁杞崲
+        List<EquipmentRunningTrace> equipList = new ArrayList<>();
+        if (list != null && !list.isEmpty()) {
+            list.forEach(item -> {
+                EquipmentRunningTrace equipmentRunningSection = new EquipmentRunningTrace();
+                equipmentRunningSection.setEquipment(item.getEquipmentId());
+                equipmentRunningSection.setAlarm(item.getAlarm());
+                equipmentRunningSection.setCreateTime(item.getCreateTime());
+                equipmentRunningSection.setDuration(item.getDuration());
+                equipmentRunningSection.setEndTime(item.getEndTime());
+                equipmentRunningSection.setStartTime(item.getStartTime());
+                equipmentRunningSection.setStatus(item.getStatus());
+                equipmentRunningSection.setSequencenumber(item.getSequenceNumber());
+                equipList.add(equipmentRunningSection);
+            });
+        }
+        if (errorList != null && !errorList.isEmpty()) {
+            errorList.forEach(item -> {
+                EquipmentRunningTrace equipmentRunningSection = new EquipmentRunningTrace();
+                equipmentRunningSection.setEquipment(item.getEquipmentId());
+                equipmentRunningSection.setAlarm(item.getAlarm());
+                equipmentRunningSection.setCreateTime(item.getCreateTime());
+                equipmentRunningSection.setDuration(item.getDuration());
+                equipmentRunningSection.setEndTime(item.getEndTime());
+                equipmentRunningSection.setStartTime(item.getStartTime());
+                equipmentRunningSection.setStatus(item.getStatus());
+                equipmentRunningSection.setSequencenumber(item.getSequenceNumber());
+                equipList.add(equipmentRunningSection);
+            });
+        }
+        equipmentRunningTraceService.saveBatch(equipList);
     }
 
     /**
@@ -588,6 +640,21 @@
         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<>();
         List<MdcEquipmentRunningSectionDto> normal = new ArrayList<>();

--
Gitblit v1.9.3