| | |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.factory.ThreadPoolExecutorFactory; |
| | | import com.whyc.pojo.db_ckpwrdev_alarm.CKPowerDevAlarmHistory; |
| | | import com.whyc.pojo.db_ckpwrdev_break_alarm.CKPowerDevBreakAlarmHistory; |
| | | import com.whyc.util.SubTablePageInfoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | Date almStartTime = alarmDto.getAlmStarttime(); |
| | | Date almEndTime = alarmDto.getAlmStarttime1(); |
| | | PageInfo<Object> pageInfo = subTablePageInfoUtils.getPageInfo(pageNum, pageSize, almStartTime, almEndTime, |
| | | "db_ckpwrdev_break_alarm", "tb_ckpowerdev_break_alarm", alarmDto); |
| | | "db_ckpwrdev_break_alarm", "tb_ckpowerdev_break_alarm_history", alarmDto); |
| | | return new Response<>().setII(1, pageInfo, null, "返回结果"); |
| | | } |
| | | //历史头部统计 |
| | |
| | | countMap.put("1",0); |
| | | countMap.put("2",0); |
| | | countMap.put("3",0); |
| | | countMap.put("ac",0); |
| | | countMap.put("dc",0); |
| | | countMap.put("gc",0); |
| | | List<CKPowerDevAlarmHistory> allList=new ArrayList<>(); |
| | | List<CKPowerDevBreakAlarmHistory> allList=new ArrayList<>(); |
| | | //查询所有的历史时间表 |
| | | List<String> tableYearListInDB=subTablePageInfoService.getDevAlmHisList(); |
| | | List<String> tableYearListInDB=subTablePageInfoService.getBreakAlmHisList(); |
| | | //多线程读取 |
| | | ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor(); |
| | | CountDownLatch latch = new CountDownLatch(tableYearListInDB.size()); |
| | | for (String tableYear : tableYearListInDB) { |
| | | pool.execute(()-> { |
| | | List<CKPowerDevAlarmHistory> hisList = subTablePageInfoService.selectLevelCountList(tableYear); |
| | | List<CKPowerDevBreakAlarmHistory> hisList = subTablePageInfoService.selectBreakLevelCountList(tableYear); |
| | | allList.addAll(hisList); |
| | | latch.countDown(); |
| | | }); |
| | | } |
| | | latch.await(); |
| | | countMap.put("0",allList.size()); |
| | | Map<Integer, List<CKPowerDevAlarmHistory>> levelMap = allList.stream().collect(Collectors.groupingBy(CKPowerDevAlarmHistory::getAlmLevel)); |
| | | Map<Integer, List<CKPowerDevBreakAlarmHistory>> levelMap = allList.stream().collect(Collectors.groupingBy(CKPowerDevBreakAlarmHistory::getAlmLevel)); |
| | | Set<Integer> levelKeyMap = levelMap.keySet(); |
| | | for (Integer level : levelKeyMap) { |
| | | countMap.put(level.toString(),levelMap.get(level).size()); |
| | | } |
| | | Map<Integer, List<CKPowerDevAlarmHistory>> typeMap = allList.stream().collect(Collectors.groupingBy(CKPowerDevAlarmHistory::getDevType)); |
| | | Set<Integer> typeKeyMap = typeMap.keySet(); |
| | | for (Integer type : typeKeyMap) { |
| | | if(type==1){ |
| | | countMap.put("ac",levelMap.get(type).size()); |
| | | } |
| | | if(type==2){ |
| | | countMap.put("dc",levelMap.get(type).size()); |
| | | } |
| | | if(type==3){ |
| | | countMap.put("gc",levelMap.get(type).size()); |
| | | } |
| | | |
| | | } |
| | | return new Response().set(1,countMap); |
| | | } |