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