From ffe9d36074938e837f46afcd30b99788a7fbb4a0 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 04 Mar 2022 16:02:40 +0800
Subject: [PATCH] 烟气流速,流量校准

---
 screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java |  141 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 137 insertions(+), 4 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
index 75593af..98c461c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
+import com.moral.api.entity.Sensor;
 import com.moral.api.entity.SysDictData;
 import com.moral.api.entity.UnitConversion;
 import com.moral.api.mapper.UnitConversionMapper;
@@ -14,13 +15,18 @@
 import com.moral.api.pojo.form.unitConversion.UnitConversionInsertForm;
 import com.moral.api.pojo.form.unitConversion.UnitConversionQueryForm;
 import com.moral.api.pojo.form.unitConversion.UnitConversionUpdateForm;
+import com.moral.api.service.SensorService;
 import com.moral.api.service.SysDictDataService;
 import com.moral.api.service.UnitConversionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.CacheUtils;
+import com.moral.api.util.LogUtils;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.util.ConvertUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
@@ -44,6 +50,11 @@
     UnitConversionMapper unitConversionMapper;
     @Autowired
     SysDictDataService sysDictDataService;
+    @Autowired
+    RedisTemplate redisTemplate;
+    @Autowired
+    SensorService sensorService;
+
 
     @Override
     @Transactional
@@ -76,6 +87,10 @@
         }
         //������������
         unitConversionMapper.insert(unitConversion);
+        //������������
+        refreshCache();
+        //������������
+        insertLog(unitConversion);
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -153,6 +168,10 @@
         oldUnitConversion = unitConversionMapper.selectOne(oldWrapper);
         //������
         unitConversionMapper.updateById(unitConversion);
+        //������������
+        refreshCache();
+        //������������������
+        updateLog(oldUnitConversion,form.getFormula());
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -160,6 +179,7 @@
     }
 
     @Override
+    @Transactional
     public UnitConversionDTO deleteUnitConversion(UnitConversionDeleteForm form) {
         //������������������
         UnitConversionDTO dto = new UnitConversionDTO();
@@ -177,15 +197,128 @@
         deleteWrapper.set("is_delete", Constants.DELETE);
         deleteWrapper.eq("id", id);
         unitConversionMapper.update(null, deleteWrapper);
+        //������������
+        refreshCache();
+        //������������������
+        deleteLog(oldUnitConversion);
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
     }
 
-    public static void main(String[] args) {
-        int[] array = new int[]{1,2,3,4,5,};
-        String s = JSON.toJSONString(array);
-        System.out.println(s);
+    /*������������*/
+    @Override
+    public void refreshCache(){
+        //������������������
+        CacheUtils.refreshDeviceAlarmInfo();
+        redisTemplate.delete((RedisConstants.UNIT_CONVERSION));
+        QueryWrapper<UnitConversion> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<UnitConversion> unitConversions = unitConversionMapper.selectList(queryWrapper);
+        if(!ObjectUtils.isEmpty(unitConversions))
+            redisTemplate.opsForList().leftPushAll(RedisConstants.UNIT_CONVERSION,unitConversions);
+    }
+
+    /**
+    * @Description: ������������������������
+            * @Param: [unitConversion]
+            * @return: void
+            * @Author: ���������
+            * @Date: 2021/8/26
+            */
+    private void insertLog(UnitConversion unitConversion){
+        //������������������������
+        Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+        String originalUnitKey = unitConversion.getOriginalUnitKey();
+        String targetUnitKey = unitConversion.getTargetUnitKey();
+        SysDictData originalData = units.get(originalUnitKey);
+        SysDictData targetData = units.get(targetUnitKey);
+        String formula = unitConversion.getFormula();
+        //������������������
+        formula = formula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+        formula = "������������"+" = "+formula;
+        String sensorCode = unitConversion.getSensorCode();
+        StringBuilder content = new StringBuilder();
+        content.append("���������������������������;");
+        content.append("������������"+originalData.getDataValue()+";");
+        content.append("���������������"+targetData.getDataValue()+";");
+        content.append("���������������"+formula+";");
+        if(sensorCode!=null){
+            Sensor sensor = sensorService.getSensorByCode(sensorCode);
+            if(sensor!=null)
+                content.append("���������������"+sensor.getName()+";");
+        }
+
+        LogUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE);
+    }
+
+    /**
+    * @Description: ������������������������
+            * @Param: [unitConversion]
+            * @return: void
+            * @Author: ���������
+            * @Date: 2021/8/26
+            */
+    private void deleteLog(UnitConversion unitConversion){
+        //������������������������ ��������� ������������������
+        Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+        String originalUnitKey = unitConversion.getOriginalUnitKey();
+        String targetUnitKey = unitConversion.getTargetUnitKey();
+        SysDictData originalData = units.get(originalUnitKey);
+        SysDictData targetData = units.get(targetUnitKey);
+        //������������������
+        String formula = unitConversion.getFormula();
+        formula = formula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+        formula = "������������"+" = "+formula;
+
+        StringBuilder content = new StringBuilder("���������������������;");
+        content.append("������������"+originalData.getDataValue()+";");
+        content.append("���������������"+targetData.getDataValue()+";");
+        content.append("���������������"+formula+";");
+        //������������������������������������������������
+        String sensorCode = unitConversion.getSensorCode();
+        if(sensorCode!=null){
+            Sensor sensor = sensorService.getSensorByCode(sensorCode);
+            if(sensor!=null)
+                content.append("���������������"+sensor.getName()+";");
+        }
+        LogUtils.saveOperationForManage(content.toString(),Constants.DELETE_OPERATE_TYPE);
+    }
+
+    /**
+    * @Description: ������������������������
+            * @Param: [unitConversion]
+            * @return: void
+            * @Author: ���������
+            * @Date: 2021/8/26
+            */
+    private void updateLog(UnitConversion oldUnitConversion,String newFormular){
+        StringBuilder content = new StringBuilder("���������������������������;");
+        //������������������������ ��������� ������������������
+        Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
+        String originalUnitKey = oldUnitConversion.getOriginalUnitKey();
+        String targetUnitKey = oldUnitConversion.getTargetUnitKey();
+        SysDictData originalData = units.get(originalUnitKey);
+        SysDictData targetData = units.get(targetUnitKey);
+        //���������������������
+        newFormular = newFormular.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+        newFormular = "������������"+" = "+newFormular;
+        //���������������
+        String oldFormula = oldUnitConversion.getFormula();
+        oldFormula = oldFormula.replace(Constants.FORMULA_PLACEHOLDER, "���������");
+        oldFormula = "������������"+" = "+oldFormula;
+
+        content.append("������������"+originalData.getDataValue()+";");
+        content.append("���������������"+targetData.getDataValue()+";");
+        content.append("���������������"+oldFormula+"->"+newFormular+";");
+        //������������������������������������������������
+        String sensorCode = oldUnitConversion.getSensorCode();
+        if(sensorCode!=null){
+            Sensor sensor = sensorService.getSensorByCode(sensorCode);
+            if(sensor!=null)
+                content.append("���������������"+sensor.getName()+";");
+        }
+        LogUtils.saveOperationForManage(content.toString(),Constants.UPDATE_OPERATE_TYPE);
     }
 }

--
Gitblit v1.8.0