From 160e150009b51a39fa95d9462c3798ba28d51a09 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期二, 15 八月 2023 08:49:47 +0800
Subject: [PATCH] 审批页面修改

---
 src/main/java/com/whyc/util/SubTablePageInfoUtils.java |  210 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 205 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/util/SubTablePageInfoUtils.java b/src/main/java/com/whyc/util/SubTablePageInfoUtils.java
index 4509818..be992df 100644
--- a/src/main/java/com/whyc/util/SubTablePageInfoUtils.java
+++ b/src/main/java/com/whyc/util/SubTablePageInfoUtils.java
@@ -2,15 +2,19 @@
 
 import com.github.pagehelper.PageInfo;
 import com.whyc.constant.Com;
-import com.whyc.mapper.BattalarmDataHistoryMapper;
-import com.whyc.mapper.CommonMapper;
-import com.whyc.mapper.UserLogMapper;
-import com.whyc.pojo.UserLog;
+import com.whyc.dto.InterfaceParam;
+import com.whyc.dto.paramter.AlarmPar;
+import com.whyc.dto.paramter.DevAlarmPar;
+import com.whyc.dto.result.AlarmRes;
+import com.whyc.mapper.*;
+import com.whyc.pojo.*;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.util.*;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * 鏁版嵁閲忔瀬澶х殑琛�,鎸夌収骞翠唤鍒嗚〃,鍒嗛〉鏌ヨ鏃惰幏鍙栨暟鎹�
@@ -26,6 +30,12 @@
 
     @Resource
     private BattalarmDataHistoryMapper battAlarmDataHistoryMapper;
+
+    @Resource
+    private DevalarmDataHistoryMapper devAlarmDataHistoryMapper;
+
+    @Resource
+    private PwrdevAlarmHistoryMapper powerAlarmHistoryMapper;
 
     public PageInfo<Object> getPageInfo(int pageNum,int pageSize,
                                 Date startTime,Date endTime,
@@ -58,6 +68,56 @@
                 int currentCount = userLogMapper.getCount(userLog);
                 queryCountMap.put(tableYear,currentCount);
             }
+            else if(pojo instanceof AlarmPar){ //鐢垫睜鍛婅鍘嗗彶
+                AlarmPar param = (AlarmPar) pojo;
+                param.setAlmStartTime(queryTime.get(0));
+                param.setAlmStartTime1(queryTime.get(1));
+                param.setRecordYear(tableName);
+                int currentCount = battAlarmDataHistoryMapper.getCount(param);
+                queryCountMap.put(tableYear,currentCount);
+            }
+            else if (pojo instanceof DevAlarmPar) {
+                DevAlarmPar param = (DevAlarmPar) pojo;
+                param.setAlmStartTime(queryTime.get(0));
+                param.setAlmStartTime1(queryTime.get(1));
+                param.setRecordYear(tableName);
+                int currentCount = devAlarmDataHistoryMapper.getCount(param);
+                queryCountMap.put(tableYear,currentCount);
+
+            }
+            else if (pojo instanceof PwrdevAlarmHistory) {
+                PwrdevAlarmHistory param = (PwrdevAlarmHistory) pojo;
+                if(param.getRecordId() == 1) {
+                    param.setAlmStartTime(queryTime.get(0));
+                    param.setAlmStartTime1(queryTime.get(1));
+                    param.setRecordYear(tableName);
+                    int currentCount = powerAlarmHistoryMapper.getCount(param);
+                    queryCountMap.put(tableYear, currentCount);
+                }else{
+                    param.setAlmStartTime(queryTime.get(0));
+                    param.setAlmStartTime1(queryTime.get(1));
+                    param.setRecordYear(tableName);
+                    int currentCount = powerAlarmHistoryMapper.getCountForTX(param);
+                    queryCountMap.put(tableYear, currentCount);
+                }
+
+            }
+            else if (pojo instanceof InterfaceParam){
+                InterfaceParam param = (InterfaceParam) pojo;
+                if(tablePrefix.equals("tb_battalarm_data_history")){
+                    param.setStartTime(queryTime.get(0));
+                    param.setEndTime(queryTime.get(1));
+                    param.setRecordYear(tableName);
+                    int currentCount = battAlarmDataHistoryMapper.getCountForInterface(param);
+                    queryCountMap.put(tableYear,currentCount);
+                }else if(tablePrefix.equals("tb_devalarm_data_history")){
+                    param.setStartTime(queryTime.get(0));
+                    param.setEndTime(queryTime.get(1));
+                    param.setRecordYear(tableName);
+                    int currentCount = devAlarmDataHistoryMapper.getCountForInterface(param);
+                    queryCountMap.put(tableYear,currentCount);
+                }
+            }
         }
 
         //鍒嗛〉淇℃伅
@@ -87,6 +147,7 @@
         for (String key : keySet) {
             List<Date> queryTime = queryTimeForSubTables.get(key);
             //====== 鏍规嵁涓嶅悓绫诲瀷绫诲瀷瀵硅薄瀵瑰簲璋冩暣 ======
+            String recordYear = key.equals("default") ? tablePrefix : tablePrefix + "_" + key;
             if(pojo instanceof UserLog) {
                 UserLog userLog = (UserLog) pojo;
                 userLog.setOperationTime(queryTime.get(0));
@@ -95,12 +156,151 @@
                 List<Integer> limitList = tableAndLimitMap.get(key);
                 userLog.setLimitStart(limitList.get(0));
                 userLog.setLimitEnd(limitList.get(1));
-                userLog.setRecordYear(key.equals("default") ? tablePrefix : tablePrefix + "_" + key);
+                userLog.setRecordYear(recordYear);
                 List<UserLog> list = userLogMapper.getList2(userLog);
                 dataList.addAll(list);
+            }
+            else if (pojo instanceof AlarmPar) {
+                AlarmPar data = (AlarmPar) pojo;
+                data.setAlmStartTime(queryTime.get(0));
+                data.setAlmStartTime1(queryTime.get(1));
+
+                List<Integer> limitList = tableAndLimitMap.get(key);
+                data.setLimitStart(limitList.get(0));
+                data.setLimitEnd(limitList.get(1));
+                data.setRecordYear(recordYear);
+                List<AlarmRes> list = battAlarmDataHistoryMapper.getList2(data);
+                dataList.addAll(list);
+            }
+            else if (pojo instanceof DevAlarmPar) {
+                DevAlarmPar data = (DevAlarmPar) pojo;
+                data.setAlmStartTime(queryTime.get(0));
+                data.setAlmStartTime1(queryTime.get(1));
+
+                List<Integer> limitList = tableAndLimitMap.get(key);
+                data.setLimitStart(limitList.get(0));
+                data.setLimitEnd(limitList.get(1));
+                data.setRecordYear(recordYear);
+                List<DevalarmDataHistory> list = devAlarmDataHistoryMapper.getList2(data);
+                dataList.addAll(list);
+            }
+            else if (pojo instanceof PwrdevAlarmHistory) {
+                PwrdevAlarmHistory data = (PwrdevAlarmHistory) pojo;
+                if(data.getRecordId()==1) {
+                    data.setAlmStartTime(queryTime.get(0));
+                    data.setAlmStartTime1(queryTime.get(1));
+
+                    List<Integer> limitList = tableAndLimitMap.get(key);
+                    data.setLimitStart(limitList.get(0));
+                    data.setLimitEnd(limitList.get(1));
+                    data.setRecordYear(recordYear);
+                    List<DevalarmDataHistory> list = powerAlarmHistoryMapper.getList2(data);
+                    dataList.addAll(list);
+                }else{
+                    data.setAlmStartTime(queryTime.get(0));
+                    data.setAlmStartTime1(queryTime.get(1));
+
+                    List<Integer> limitList = tableAndLimitMap.get(key);
+                    data.setLimitStart(limitList.get(0));
+                    data.setLimitEnd(limitList.get(1));
+                    data.setRecordYear(recordYear);
+                    List<DevalarmDataHistory> list = powerAlarmHistoryMapper.getListForTX(data);
+                    dataList.addAll(list);
+                }
+            }
+            else if (pojo instanceof InterfaceParam){
+                InterfaceParam data = (InterfaceParam) pojo;
+                if(tablePrefix.equals("tb_battalarm_data_history")){
+                    data.setStartTime(queryTime.get(0));
+                    data.setEndTime(queryTime.get(1));
+
+                    List<Integer> limitList = tableAndLimitMap.get(key);
+                    data.setLimitStart(limitList.get(0));
+                    data.setLimitEnd(limitList.get(1));
+                    data.setRecordYear(recordYear);
+                    List<AlarmRes> list = battAlarmDataHistoryMapper.getListForInterface(data);
+                    dataList.addAll(list);
+                }else if(tablePrefix.equals("tb_devalarm_data_history")){
+                    data.setStartTime(queryTime.get(0));
+                    data.setEndTime(queryTime.get(1));
+
+                    List<Integer> limitList = tableAndLimitMap.get(key);
+                    data.setLimitStart(limitList.get(0));
+                    data.setLimitEnd(limitList.get(1));
+                    data.setRecordYear(recordYear);
+                    List<AlarmRes> list = devAlarmDataHistoryMapper.getListForInterface(data);
+                    dataList.addAll(list);
+                }
             }
         }
         pageInfo.setList(dataList);
         return pageInfo;
     }
+
+    /**鏌ヨ鏄惁鍖呭惈鐗瑰畾瑙勫垯鐨勮〃,瀛樺湪,鍒欒繑鍥炶〃鍚�*/
+    public List<String> getTableList(String dbName,String tableLike,String regex){
+        List<String> resultTableList = new LinkedList<>();
+        List<String> tableList = commonMapper.getTableListLike(dbName,tableLike);
+        for (String tableName : tableList) {
+            boolean matches = Pattern.matches(regex, tableName);
+            if(matches){
+                resultTableList.add(tableName);
+            }
+        }
+        return resultTableList;
+    }
+
+    /**鎵�鏈夎褰曞垎涓哄洓绾ф煡璇釜鏁�*/
+    public List<Integer> getLevelList(int uId,String dbName,String tableLike,String regex,List<Integer> almTypes ){
+        List<Integer> result = new LinkedList<>();
+        List<String> tableList = getTableList(dbName, tableLike, regex);
+        List<Integer> levelList = new LinkedList();
+        for (String tableName : tableList) {
+            List<BattalarmDataHistory> levelInfoSubList;
+            List<Integer> levelSubList;
+            if(tableLike.equals("tb_battalarm_data_history")) {
+                levelInfoSubList = battAlarmDataHistoryMapper.getLevelSubList(uId, tableName);
+            }
+            else if(tableLike.equals("tb_devalarm_data_history")){
+                levelInfoSubList = devAlarmDataHistoryMapper.getLevelSubList(uId, tableName);
+            }
+            else{
+                levelInfoSubList = powerAlarmHistoryMapper.getLevelSubList(uId, tableName,almTypes);
+            }
+            levelSubList = levelInfoSubList.stream().map(BattalarmDataHistory::getAlmLevel).collect(Collectors.toList());
+            levelList.addAll(levelSubList);
+        }
+        //鍒嗕负鍥涚骇鏌ヨ涓暟
+        Map<Integer, List<Integer>> levelMap = levelList.stream().collect(Collectors.groupingBy(Integer::intValue));
+        Set<Integer> levelSet = levelMap.keySet();
+        List<Integer> listOfLevelSet = new LinkedList();
+        //琛ラ綈1,2,3,4鍥涚骇
+        listOfLevelSet.add(1);
+        listOfLevelSet.add(2);
+        listOfLevelSet.add(3);
+        listOfLevelSet.add(4);
+        if(!levelSet.contains(1)){
+            levelMap.put(1,new LinkedList<>());
+        }
+        if(!levelSet.contains(2)){
+            levelMap.put(2,new LinkedList<>());
+        }
+        if(!levelSet.contains(3)){
+            levelMap.put(3,new LinkedList<>());
+        }
+        if(!levelSet.contains(4)){
+            levelMap.put(4,new LinkedList<>());
+        }
+        //寰呮祴璇�
+        for (Integer level : listOfLevelSet) {
+            result.add(levelMap.get(level).size());
+        }
+        return result;
+    }
+
+    public static void main(String[] args) {
+        String regex = "tb_battalarm_data_history_?[0-9]*";
+        String table = "tb_battalarm_data_history";
+        System.out.println(Pattern.matches(regex,table));
+    }
 }

--
Gitblit v1.9.1