提交 238b47a5 authored 作者: 马晨俊's avatar 马晨俊

mcj:更新excel导入导出

上级 5b41f3a8
......@@ -52,135 +52,6 @@ public class ExcelUtil {
return reform;
}
public static List<ExcelDataTemp> parseExcel2Entity(Evaluation evaluation) {
ArrayList<ExcelDataTemp> excelDataTemps = new ArrayList<>();
String inEva = evaluation.getInEva();
ExcelDataTemp excelDataTemp = new ExcelDataTemp();
excelDataTemp.setName("基本信息");
List<ExcelDataEntity> arrayList = excelDataTemp.getArrayList();
if (inEva != null) {
Reform reform = JSON.parseObject(evaluation.getInEva(), Reform.class);
arrayList.add(exportEntity("用户名", reform.getUsername()));
if(reform.getAssessmentType()==1){
arrayList.add(exportEntity("评估类型", "快速评估"));
}else{
arrayList.add(exportEntity("评估类型", "详细评估"));
}
if(reform.getMode()==1){
arrayList.add(exportEntity("替换方式", "改造"));
}else{
arrayList.add(exportEntity("替换方式", "适配"));
}
arrayList.add(exportEntity("系统名称", reform.getProjectName()));
arrayList.add(exportEntity("代码地址", reform.getCodeUrl()));
arrayList.add(exportEntity("文件名称", reform.getCodeName()));
arrayList.add(exportEntity("git地址", reform.getGitUrl()));
arrayList.add(exportEntity("模块数量", reform.getModuleNum()));
arrayList.add(exportEntity("原开发费用", reform.getCost()));
arrayList.add(exportEntity("开发单位是否在本地", flipYesOrNo(reform.getAddress())));
arrayList.add(exportEntity("开发单位联系人", reform.getLocalContact()));
arrayList.add(exportEntity("开发单位联系方式", reform.getLocalPhone()));
arrayList.add(exportEntity("是否涉密系统", flipYesOrNo(reform.getSecret())));
arrayList.add(exportEntity("容灾能力", flipSpecialYesOrNo(reform.getDisasterTolerance())));
arrayList.add(exportEntity("安全能力", flipSafeYesOrNo(reform.getSafe())));
arrayList.add(exportEntity("架构", getFilpFramework(reform.getFramework())));
arrayList.add(exportEntity("运行时间", reform.getTime()));
arrayList.add(exportEntity("数据库表数量", reform.getTableNum()));
arrayList.add(exportEntity("数据库数据量", reform.getDatabaseNum()));
List<Integer> applicationType = reform.getApplicationType();
for (Integer type : applicationType) {
ApplicationType applicationType1 = ApplicationType.getByCode(type);
arrayList.add(exportEntity("该应用类型", applicationType1.getName()));
}
excelDataTemps.add(excelDataTemp);
SystemStructure systemStructure = reform.getSystemStructure();
ExcelDataTemp deployTemp = new ExcelDataTemp();
deployTemp.setName("原应用部署环境");
List<ExcelDataEntity> deployList = excelDataTemp.getArrayList();
deployList.addAll(getSystemData("ecs服务器", systemStructure.getApplication()));
deployList.addAll(getSystemData("rds服务器", systemStructure.getDatabase()));
deployList.addAll(getSystemData("nas服务器", systemStructure.getNas()));
deployList.addAll(getSystemData("slb服务器", systemStructure.getSlb()));
deployList.addAll(getSystemData("cdn服务器", systemStructure.getCdn()));
deployList.addAll(getSystemData("vps服务器", systemStructure.getVps()));
excelDataTemps.add(deployTemp);
ExcelDataTemp browserTemp = new ExcelDataTemp();
browserTemp.setName("前端浏览器相关");
List<ExcelDataEntity> browserList = browserTemp.getArrayList();
Browser browser = reform.getBrowser();
for (CompatibleBrowser compatibleBrowser : browser.getCompatibleBrowsers()) {
browserList.add(exportEntity("原兼容的浏览器", compatibleBrowser.getName()));
}
for (BaseDes browserPlug : browser.getBrowserPlugs()) {
browserList.add(exportEntity("浏览器插件", browserPlug.getName()));
}
excelDataTemps.add(browserTemp);
ExcelDataTemp middleTemp = new ExcelDataTemp();
middleTemp.setName("中间件相关");
List<ExcelDataEntity> middleList = middleTemp.getArrayList();
Middleware middleware = reform.getMiddleware();
for (MiddlewareEnum middlewareEnum : middleware.getMiddlewareEnums()) {
middleList.add(exportEntity("原中间件", middlewareEnum.getName()));
}
for (OtherApi otherApi : middleware.getOtherApis()) {
middleList.add(exportEntity("原第三方api", otherApi.getApiName()));
}
for (BaseDes baseDes : middleware.getMicroServices()) {
middleList.add(exportEntity("原额外微服务", baseDes.getName()));
}
excelDataTemps.add(middleTemp);
ExcelDataTemp databseTemp = new ExcelDataTemp();
databseTemp.setName("数据库相关");
List<ExcelDataEntity> databaseList = databseTemp.getArrayList();
Database database = reform.getDatabase();
for (DatabaseType databaseType : database.getDatabaseType()) {
databaseList.add(exportEntity("数据库类型", databaseType.getName()));
}
databaseList.add(exportEntity("视图", flipYesOrNo(database.getView())));
databaseList.add(exportEntity("存储过程", flipYesOrNo(database.getStorage())));
databaseList.add(exportEntity("函数", flipYesOrNo(database.getFunction())));
databaseList.add(exportEntity("视图", flipYesOrNo(database.getView())));
databaseList.add(exportEntity("dblink", flipYesOrNo(database.getDbLink())));
databaseList.add(exportEntity("定时任务", flipYesOrNo(database.getTimeTask())));
databaseList.add(exportEntity("序列", flipYesOrNo(database.getSequence())));
databaseList.add(exportEntity("触发器", flipYesOrNo(database.getTrigger())));
databaseList.add(exportEntity("容灾", flipYesOrNo(database.getDisasterTolerance())));
databaseList.add(exportEntity("安全", flipYesOrNo(database.getSafe())));
databaseList.add(exportEntity("高性能", flipYesOrNo(database.getPerformance())));
databaseList.add(exportEntity("读写分离", flipYesOrNo(database.getSeparate())));
excelDataTemps.add(databseTemp);
ExcelDataTemp languageTemp = new ExcelDataTemp();
languageTemp.setName("原开发语言体系相关");
List<ExcelDataEntity> languageList = languageTemp.getArrayList();
DevelopLanguageSystem developLanguageSystem = reform.getDevelopLanguageSystem();
languageList.add(exportEntity("原开发语言", developLanguageSystem.getName()));
for (BaseDes devLanguage : developLanguageSystem.getDevLanguages()) {
languageList.add(exportEntity("其他开发语言", devLanguage.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getDevFrameworks()) {
languageList.add(exportEntity("原应用主要开发架构", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getFontDevTechnologies()) {
languageList.add(exportEntity("原前端应用主要开发架构/bs", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getCsDevTechnologies()) {
languageList.add(exportEntity("原前端应用主要开发架构/cs", devFramework.getName()));
}
for (BaseDes opgas : developLanguageSystem.getOpGAs()) {
languageList.add(exportEntity("原封装方式", opgas.getName()));
}
excelDataTemps.add(languageTemp);
}
return excelDataTemps;
}
private static String getExcelCell(int rowNum, int cellNum, Sheet sheetAt) {
Row row = sheetAt.getRow(rowNum);
Cell cell = row.getCell(cellNum);
......@@ -534,6 +405,8 @@ public class ExcelUtil {
String apply = getExcelCell(110, 2, sheetAt);
Apply apply1 = new Apply();
apply1.setCost(Double.valueOf(apply));
String remark = getExcelCell(110, 3, sheetAt);
apply1.setReason(remark);
reform.setApply(apply1);
SystemStructure systemStructure = new SystemStructure();
......@@ -567,9 +440,155 @@ public class ExcelUtil {
if (rpoEnum != null) {
reform.setRpo(rpoEnum.getCode());
}
int max = Math.max(rpoEnum.getCode(), rtoEnum.getCode());
if(max==1){
reform.setStrategy(3);
}else if(max<=5){
reform.setStrategy(1);
}else {
reform.setStrategy(2);
}
return reform;
}
public static List<ExcelDataTemp> parseExcel2Entity(Evaluation evaluation) {
ArrayList<ExcelDataTemp> excelDataTemps = new ArrayList<>();
String inEva = evaluation.getInEva();
ExcelDataTemp excelDataTemp = new ExcelDataTemp();
excelDataTemp.setName("基本信息");
List<ExcelDataEntity> arrayList = excelDataTemp.getArrayList();
if (inEva != null) {
Reform reform = JSON.parseObject(evaluation.getInEva(), Reform.class);
arrayList.add(exportEntity("用户名", reform.getUsername()));
if(reform.getAssessmentType()==1){
arrayList.add(exportEntity("评估类型", "快速评估"));
}else{
arrayList.add(exportEntity("评估类型", "详细评估"));
}
if(reform.getMode()==1){
arrayList.add(exportEntity("替换方式", "改造"));
}else{
arrayList.add(exportEntity("替换方式", "适配"));
}
arrayList.add(exportEntity("系统名称", reform.getProjectName()));
arrayList.add(exportEntity("代码地址", reform.getCodeUrl()));
arrayList.add(exportEntity("文件名称", reform.getCodeName()));
arrayList.add(exportEntity("git地址", reform.getGitUrl()));
arrayList.add(exportEntity("模块数量", reform.getModuleNum()));
arrayList.add(exportEntity("原开发费用", reform.getCost()));
arrayList.add(exportEntity("开发单位是否在本地", flipYesOrNo(reform.getAddress())));
arrayList.add(exportEntity("开发单位联系人", reform.getLocalContact()));
arrayList.add(exportEntity("开发单位联系方式", reform.getLocalPhone()));
arrayList.add(exportEntity("是否涉密系统", flipYesOrNo(reform.getSecret())));
arrayList.add(exportEntity("容灾能力", flipSpecialYesOrNo(reform.getDisasterTolerance())));
arrayList.add(exportEntity("安全能力", flipSafeYesOrNo(reform.getSafe())));
arrayList.add(exportEntity("架构", getFilpFramework(reform.getFramework())));
arrayList.add(exportEntity("运行时间", reform.getTime()));
arrayList.add(exportEntity("数据库表数量", reform.getTableNum()));
arrayList.add(exportEntity("数据库数据量", reform.getDatabaseNum()));
List<Integer> applicationType = reform.getApplicationType();
for (Integer type : applicationType) {
ApplicationType applicationType1 = ApplicationType.getByCode(type);
arrayList.add(exportEntity("该应用类型", applicationType1.getName()));
}
excelDataTemps.add(excelDataTemp);
SystemStructure systemStructure = reform.getSystemStructure();
ExcelDataTemp deployTemp = new ExcelDataTemp();
deployTemp.setName("原应用部署环境");
List<ExcelDataEntity> deployList = excelDataTemp.getArrayList();
deployList.addAll(getSystemData("ecs服务器", systemStructure.getApplication()));
deployList.addAll(getSystemData("rds服务器", systemStructure.getDatabase()));
deployList.addAll(getSystemData("nas服务器", systemStructure.getNas()));
deployList.addAll(getSystemData("slb服务器", systemStructure.getSlb()));
deployList.addAll(getSystemData("cdn服务器", systemStructure.getCdn()));
deployList.addAll(getSystemData("vps服务器", systemStructure.getVps()));
excelDataTemps.add(deployTemp);
ExcelDataTemp browserTemp = new ExcelDataTemp();
browserTemp.setName("前端浏览器相关");
List<ExcelDataEntity> browserList = browserTemp.getArrayList();
Browser browser = reform.getBrowser();
for (CompatibleBrowser compatibleBrowser : browser.getCompatibleBrowsers()) {
browserList.add(exportEntity("原兼容的浏览器", compatibleBrowser.getName()));
}
for (BaseDes browserPlug : browser.getBrowserPlugs()) {
browserList.add(exportEntity("浏览器插件", browserPlug.getName()));
}
excelDataTemps.add(browserTemp);
ExcelDataTemp middleTemp = new ExcelDataTemp();
middleTemp.setName("中间件相关");
List<ExcelDataEntity> middleList = middleTemp.getArrayList();
Middleware middleware = reform.getMiddleware();
for (MiddlewareEnum middlewareEnum : middleware.getMiddlewareEnums()) {
middleList.add(exportEntity("原中间件", middlewareEnum.getName()));
}
for (OtherApi otherApi : middleware.getOtherApis()) {
middleList.add(exportEntity("原第三方api", otherApi.getApiName()));
}
for (BaseDes baseDes : middleware.getMicroServices()) {
middleList.add(exportEntity("原额外微服务", baseDes.getName()));
}
excelDataTemps.add(middleTemp);
ExcelDataTemp databseTemp = new ExcelDataTemp();
databseTemp.setName("数据库相关");
List<ExcelDataEntity> databaseList = databseTemp.getArrayList();
Database database = reform.getDatabase();
for (DatabaseType databaseType : database.getDatabaseType()) {
databaseList.add(exportEntity("数据库类型", databaseType.getName()));
}
databaseList.add(exportEntity("视图", flipYesOrNo(database.getView())));
databaseList.add(exportEntity("存储过程", flipYesOrNo(database.getStorage())));
databaseList.add(exportEntity("函数", flipYesOrNo(database.getFunction())));
databaseList.add(exportEntity("视图", flipYesOrNo(database.getView())));
databaseList.add(exportEntity("dblink", flipYesOrNo(database.getDbLink())));
databaseList.add(exportEntity("定时任务", flipYesOrNo(database.getTimeTask())));
databaseList.add(exportEntity("序列", flipYesOrNo(database.getSequence())));
databaseList.add(exportEntity("触发器", flipYesOrNo(database.getTrigger())));
databaseList.add(exportEntity("容灾", flipYesOrNo(database.getDisasterTolerance())));
databaseList.add(exportEntity("安全", flipYesOrNo(database.getSafe())));
databaseList.add(exportEntity("高性能", flipYesOrNo(database.getPerformance())));
databaseList.add(exportEntity("读写分离", flipYesOrNo(database.getSeparate())));
excelDataTemps.add(databseTemp);
ExcelDataTemp languageTemp = new ExcelDataTemp();
languageTemp.setName("原开发语言体系相关");
List<ExcelDataEntity> languageList = languageTemp.getArrayList();
DevelopLanguageSystem developLanguageSystem = reform.getDevelopLanguageSystem();
languageList.add(exportEntity("原开发语言", developLanguageSystem.getName()));
for (BaseDes devLanguage : developLanguageSystem.getDevLanguages()) {
languageList.add(exportEntity("其他开发语言", devLanguage.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getDevFrameworks()) {
languageList.add(exportEntity("原应用主要开发架构", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getFontDevTechnologies()) {
languageList.add(exportEntity("原前端应用主要开发架构/bs", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getCsDevTechnologies()) {
languageList.add(exportEntity("原前端应用主要开发架构/cs", devFramework.getName()));
}
for (BaseDes opgas : developLanguageSystem.getOpGAs()) {
languageList.add(exportEntity("原封装方式", opgas.getName()));
}
excelDataTemps.add(languageTemp);
ExcelDataTemp applyTemp = new ExcelDataTemp();
applyTemp.setName("额外申请");
List<ExcelDataEntity> applyList = applyTemp.getArrayList();
Apply apply = reform.getApply();
applyList.add(exportEntity("额外申请金额", apply.getCost()));
applyList.add(exportEntity("额外申请原因", apply.getReason()));
excelDataTemps.add(applyTemp);
}
return excelDataTemps;
}
private static int getFramework(String construction) {
switch (construction) {
case "B/S":
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论