package com.whyc.listener;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.whyc.mapper.ApplicationConfigMapper;
|
import com.whyc.pojo.Application;
|
import com.whyc.constant.SqlConstant;
|
import com.whyc.mapper.ApplicationMapper;
|
import com.whyc.mapper.DBMapper;
|
import com.whyc.pojo.ApplicationConfig;
|
|
import javax.annotation.Resource;
|
import javax.servlet.ServletContextEvent;
|
import javax.servlet.ServletContextListener;
|
import javax.servlet.annotation.WebListener;
|
import java.util.LinkedList;
|
import java.util.List;
|
|
@WebListener
|
public class ApplicationListener implements ServletContextListener {
|
|
@Resource
|
private DBMapper dbMapper;
|
|
@Resource
|
private ApplicationMapper appMapper;
|
|
@Resource
|
private ApplicationConfigMapper configMapper;
|
|
@Override
|
public void contextInitialized(ServletContextEvent sce) {
|
//检查及初始化电池数据统计表
|
boolean dbExist = dbMapper.DBExist("db_analysis") != null;
|
//初始化的时候,首批的分析表和分析库创建是一起的
|
if(!dbExist){
|
dbMapper.createDB("db_analysis");
|
//单体电压
|
dbMapper.createTable(SqlConstant.TB_MON_VOL);
|
//单体电阻
|
dbMapper.createTable(SqlConstant.TB_MON_RES);
|
//单体温度
|
dbMapper.createTable(SqlConstant.TB_MON_TEMP);
|
//单体实际容量
|
dbMapper.createTable(SqlConstant.TB_MON_CAP);
|
}
|
//初始化的时候,检查是否有大屏的默认应用-布局,如果没有的话,初始化默认数据
|
boolean recordExist = appMapper.existDefaultApp()!=0;
|
if(!recordExist){
|
//添加默认应用
|
Application application = new Application();
|
//application.setId(0);
|
application.setName("默认大屏展示");
|
application.setScreenshot(null);
|
application.setBgPic("bigScreenBG");
|
application.setHeadPic("bigScreenTitle");
|
application.setUserId(0);
|
application.setActiveStatus(0);
|
appMapper.insert(application);
|
UpdateWrapper<Application> updateWrapper = Wrappers.update();
|
updateWrapper.set("id",0).eq("id",application.getId());
|
appMapper.update(null,updateWrapper);
|
//添加默认布局
|
List<ApplicationConfig> configList = new LinkedList<>();
|
|
List<Object[]> dataList = new LinkedList<>();
|
Object[] data1={14, 0, "地图", 0.30448717948717946, 0.4927536231884058, 0.44871794871794873, 0d, "chinaMap"};
|
Object[] data2={1, 0, "放电和充电电流", 0.20032051282051283, 0.2478134110787172, 0d, 0d, "latticeBar"};
|
Object[] data3={2, 0, "整流器", 0.20032051282051283, 0.2478134110787172, 0d, 0.2478134110787172, "imgPieChart"};
|
Object[] data4={3, 0, "电池组", 0.20032051282051283, 0.2478134110787172, 0d, 0.4956268221574344, "triangleBarChart"};
|
Object[] data5={4, 0, "电池状态", 0.20032051282051283, 0.2478134110787172, 0d, 0.7434402332361516, "abeamProChart"};
|
Object[] data6={5, 0, "电源状态", 0.23237179487179488, 0.4927536231884058, 0.20833333333333334, 0d, "powerChart"};
|
Object[] data7={11, 0, "交流ABC", 0.23237179487179488, 0.4927536231884058, 0.20833333333333334, 0.4927536231884058, "histogramAlternating"};
|
Object[] data8={12, 0, "单体电压、内阻温度", 0.30448717948717946, 0.4927536231884058, 0.44871794871794873, 0.4927536231884058, "monomerVoltage"};
|
Object[] data9={13, 0, "放电电流", 0.23237179487179488, 0.2478134110787172, 0.7612179487179487, 0d, "dischargeCircuit"};
|
Object[] data10={23, 0, "在线电压和组端电压", 0.235, 0.25, 0.7612179487179487, 0.7391304347826086, "PictorialBar"};
|
Object[] data11={6, 0, "机房续航能力", 0.235, 0.25, 0.7612179487179487, 0.2478134110787172, "RoseChartED"};
|
Object[] data12={7, 0, "单体容量健康率", 0.235, 0.25, 0.7612179487179487, 0.4956268221574344, "RoseChartHea"};
|
|
dataList.add(data1);
|
dataList.add(data2);
|
dataList.add(data3);
|
dataList.add(data4);
|
dataList.add(data5);
|
dataList.add(data6);
|
dataList.add(data7);
|
dataList.add(data8);
|
dataList.add(data9);
|
dataList.add(data10);
|
dataList.add(data11);
|
dataList.add(data12);
|
|
for (int i = 0; i < 12; i++) {
|
ApplicationConfig config = new ApplicationConfig();
|
config.setId((Integer) dataList.get(i)[0]);
|
config.setAppId((Integer) dataList.get(i)[1]);
|
config.setName((String) dataList.get(i)[2]);
|
config.setW((Double) dataList.get(i)[3]);
|
config.setH((Double) dataList.get(i)[4]);
|
config.setX((Double) dataList.get(i)[5]);
|
config.setY((Double) dataList.get(i)[6]);
|
config.setType((String) dataList.get(i)[7]);
|
|
configList.add(config);
|
}
|
|
configMapper.insertBatchSomeColumn(configList);
|
|
}
|
|
}
|
|
@Override
|
public void contextDestroyed(ServletContextEvent sce) {
|
|
}
|
}
|