| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- package com.gyee.backconfig.config;
- import com.gyee.backconfig.model.auto.*;
- import com.gyee.backconfig.service.auto.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.CommandLineRunner;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * @ClassName : CacheContext
- * @Author : wang
- * @Date: 2022/9/26 9:35
- * @Description : 缓存
- */
- @Component
- public class CacheContext implements CommandLineRunner {
- @Resource
- private IProBasicEnergyGroupService proBasicEnergyGroupService;//集团
- @Autowired
- private IProBasicRegionService proBasicRegionService;//区域
- @Resource
- private IProBasicCompanyService proBasicCompanyService;//公司
- @Resource
- private IProBasicPowerstationService proBasicPowerstationService;//场站
- @Resource
- private IProBasicProjectService proBasicProjectService;//期次
- @Resource
- private IProBasicLineService proBasicLineService;//线路
- @Autowired
- private IProBasicEquipmentService proBasicEquipmentService;//风机
- @Autowired
- private IProBasicSubStationService proBasicSubStationServicel;//变电所
- @Autowired
- private IProBasicSquareService proBasicSquareService;
- //集团
- public static Map<String, ProBasicEnergyGroup> energymap = new HashMap<>();
- public static List<ProBasicEnergyGroup> groups = new ArrayList<>();
- //区域
- public static Map<String, ProBasicRegion> regionmap = new HashMap<>();
- public static List<ProBasicRegion> regions = new ArrayList<>();
- //公司
- public static Map<String, ProBasicCompany> companymap = new HashMap<>();
- public static List<ProBasicCompany> companys = new ArrayList<>();
- //场站
- public static Map<String, ProBasicPowerstation> wpmap = new HashMap<>();
- public static List<ProBasicPowerstation> wpls = new ArrayList<>();
- public static Map<String, List<ProBasicPowerstation>> wpmapGroupGCRegion = new HashMap<>();
- public static Map<String, List<ProBasicPowerstation>> wpmapGroupGCCompany = new HashMap<>();
- public static Map<String, List<ProBasicPowerstation>> wpmapGroupFCRegion = new HashMap<>();
- public static Map<String, List<ProBasicPowerstation>> wpmapGroupFCCompany = new HashMap<>();
- //期次
- public static Map<String, ProBasicProject> promap = new HashMap<>();
- public static List<ProBasicProject> prols = new ArrayList<>();
- //线路
- public static Map<String, ProBasicLine> linemap = new HashMap<>();
- public static List<ProBasicLine> lines = new ArrayList<>();
- //风机
- public static Map<String, ProBasicEquipment> equipmentmap = new HashMap<>();
- public static List<ProBasicEquipment> equipments = new ArrayList<>();
- public static Map<String,List<ProBasicEquipment>> poequipmentmap = new HashMap<>();
- public static Map<String,List<ProBasicEquipment>> pjequipmentmap = new HashMap<>();
- public static Map<String,List<ProBasicEquipment>> liequipmentmap = new HashMap<>();
- //变电所
- public static List<ProBasicSubStation> subStations = new ArrayList<>();
- public static Map<String, ProBasicSubStation> subStationMap = new HashMap<>();
- public static Map<String, List<ProBasicSubStation>> poSubStationMap = new HashMap<>();//更据场站分组
- //方阵
- public static List<ProBasicSquare> squares = new ArrayList<>();
- public static Map<String, ProBasicSquare> squareMap = new HashMap<>();
- @Override
- public void run(String... args) throws Exception {
- System.out.println(">>>>>>>>>>>>>>>服务启动,正在缓存数据<<<<<<<<<<<<<<");
- //集团
- initGroupList();
- //区域
- initSegionList();
- //公司
- initCompanyList();
- //场站
- initPowerstationList();
- //期次
- initProjectList();
- //线路
- initLineList();
- //发电设备
- initEquipmentList();
- //变电所
- initSubStationList();
- //方阵
- initSquaresList();
- System.out.println(">>>>>>>>>>>>>>>数据缓存完成<<<<<<<<<<<<<<");
- }
- /**
- * 初始化集团表
- */
- public void initGroupList(){
- //清理集合中的数据
- groups.clear();
- energymap.clear();
- //重新加载集合数据
- groups = proBasicEnergyGroupService.list();
- groups.stream().forEach(energy -> {
- energymap.put(energy.getId(), energy);
- });
- }
- /**
- * 初始化区域数据
- */
- public void initSegionList(){
- //清理集合中的数据
- regions.clear();
- regionmap.clear();
- regions = proBasicRegionService.list();
- regions.stream().forEach(region -> {
- regionmap.put(region.getId(), region);
- });
- }
- /**
- * 初始化公司数据
- */
- public void initCompanyList(){
- //清理集合中的数据
- companys.clear();
- companymap.clear();
- companys = proBasicCompanyService.list();
- companys.stream().forEach(Companys -> {
- companymap.put(Companys.getId(), Companys);
- });
- }
- /**
- * 初始化场站数据
- */
- public void initPowerstationList(){
- //清理集合数据
- wpls.clear();
- wpmap.clear();
- wpmapGroupGCCompany.clear();
- wpmapGroupFCCompany.clear();
- wpmapGroupGCRegion.clear();
- wpmapGroupFCRegion.clear();
- wpls = proBasicPowerstationService.list();
- wpls.stream().forEach(windpowerstation -> {
- wpmap.put(windpowerstation.getId(), windpowerstation);
- });
- wpmapGroupGCRegion = wpls.stream().filter(p-> p.getId().indexOf("_GDC_") >= 0).collect(Collectors.groupingBy(ProBasicPowerstation::getRegionId));
- wpmapGroupFCRegion = wpls.stream().filter(p-> p.getId().indexOf("_FDC_") >= 0).collect(Collectors.groupingBy(ProBasicPowerstation::getRegionId));
- wpmapGroupGCCompany = wpls.stream().filter(p-> p.getId().indexOf("_GDC_") >= 0).collect(Collectors.groupingBy(ProBasicPowerstation::getCompanyId));
- wpmapGroupFCCompany = wpls.stream().filter(p-> p.getId().indexOf("_FDC_") >= 0).collect(Collectors.groupingBy(ProBasicPowerstation::getCompanyId));
- }
- /**
- * 初始化期次工程数据
- */
- public void initProjectList(){
- //请立集合数据
- prols.clear();
- promap.clear();
- prols = proBasicProjectService.list();
- prols.stream().forEach(Project -> {
- promap.put(Project.getId(), Project);
- });
- }
- /**
- * 初始化线路数据
- */
- public void initLineList(){
- lines.clear();
- linemap.clear();
- lines = proBasicLineService.list();
- lines.stream().forEach(line -> {
- linemap.put(line.getId(), line);
- });
- }
- /**
- * 初始化线路数据
- */
- public void initEquipmentList(){
- //清理集合数据
- equipments.clear();
- equipmentmap.clear();
- poequipmentmap.clear();
- pjequipmentmap.clear();
- liequipmentmap.clear();
- equipments = proBasicEquipmentService.list();
- equipments.stream().forEach(windturbine -> {
- equipmentmap.put(windturbine.getId(), windturbine);
- });
- poequipmentmap = equipments.stream().collect(Collectors.groupingBy(ProBasicEquipment::getWindpowerstationId));
- pjequipmentmap = equipments.stream().collect(Collectors.groupingBy(ProBasicEquipment::getProjectId));
- liequipmentmap = equipments.stream().collect(Collectors.groupingBy(ProBasicEquipment::getLineId));
- }
- /**
- * 初始化线路数据
- */
- public void initSubStationList(){
- //清理集合数据
- subStations.clear();
- subStationMap.clear();
- poSubStationMap.clear();
- subStations = proBasicSubStationServicel.list();
- subStations.stream().forEach(s->{
- subStationMap.put(s.getId(),s);
- });
- poSubStationMap = subStations.stream().collect(Collectors.groupingBy(ProBasicSubStation::getWindpowerstationId));
- }
- /**
- * 初始化方阵数据
- */
- public void initSquaresList(){
- squares.clear();
- squareMap.clear();
- squares = proBasicSquareService.list();
- squares.stream().forEach(i->{
- squareMap.put(i.getId(),i);
- });
- }
- }
|