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

mcj:更新导入excel表格

上级 417a1762
......@@ -14,6 +14,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
......@@ -80,10 +82,10 @@ public class EvaluationController {
public ResponseEntity exportInName(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
if(evaluation!=null){
ExcelDataTemp excelDataTemp = ExcelUtil.parseExcel2Entity(evaluation);
List<ExcelDataTemp> excelDataTemp = ExcelUtil.parseExcel2Entity(evaluation);
return ResponseEntity.ok(excelDataTemp);
}else{
return ResponseEntity.ok(new ExcelDataTemp());
return ResponseEntity.ok(new ArrayList<ExcelDataTemp>());
}
}
/**
......
......@@ -52,102 +52,123 @@ public class ExcelUtil {
return reform;
}
public static ExcelDataTemp parseExcel2Entity(Evaluation evaluation) {
public static List<ExcelDataTemp> parseExcel2Entity(Evaluation evaluation) {
ArrayList<ExcelDataTemp> excelDataTemps = new ArrayList<>();
String inEva = evaluation.getInEva();
ExcelDataTemp excelDataTemp = new ExcelDataTemp();
arrayList = excelDataTemp.getArrayList();
excelDataTemp.setName("基本信息");
List<ExcelDataEntity> arrayList = excelDataTemp.getArrayList();
if (inEva != null) {
Reform reform = JSON.parseObject(evaluation.getInEva(), Reform.class);
exportEntity("用户名", reform.getUsername());
exportEntity("评估类型", reform.getAssessmentType());
exportEntity("替换方式", reform.getMode());
exportEntity("系统名称", reform.getProjectName());
exportEntity("代码地址", reform.getCodeUrl());
exportEntity("文件名称", reform.getCodeName());
exportEntity("git地址", reform.getGitUrl());
exportEntity("模块数量", reform.getModuleNum());
exportEntity("原开发费用", reform.getCost());
exportEntity("开发单位是否在本地", reform.getAddress());
exportEntity("开发单位联系人", reform.getLocalContact());
exportEntity("开发单位联系方式", reform.getLocalPhone());
exportEntity("是否涉密系统", flipYesOrNo(reform.getSecret()));
exportEntity("容灾能力", flipYesOrNo(reform.getDisasterTolerance()));
exportEntity("安全能力", flipYesOrNo(reform.getSafe()));
exportEntity("架构", flipYesOrNo(reform.getFramework()));
exportEntity("运行时间", reform.getTime());
exportEntity("运行时间", reform.getTime());
exportEntity("数据库表数量", reform.getTableNum());
exportEntity("数据库数据量", reform.getDatabaseNum());
arrayList.add(exportEntity("用户名", reform.getUsername()));
arrayList.add(exportEntity("评估类型", reform.getAssessmentType()));
arrayList.add(exportEntity("替换方式", reform.getMode()));
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("开发单位是否在本地", reform.getAddress()));
arrayList.add(exportEntity("开发单位联系人", reform.getLocalContact()));
arrayList.add(exportEntity("开发单位联系方式", reform.getLocalPhone()));
arrayList.add(exportEntity("是否涉密系统", flipYesOrNo(reform.getSecret())));
arrayList.add(exportEntity("容灾能力", flipYesOrNo(reform.getDisasterTolerance())));
arrayList.add(exportEntity("安全能力", flipYesOrNo(reform.getSafe())));
arrayList.add(exportEntity("架构", flipYesOrNo(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);
exportEntity("该应用类型", applicationType1.getName());
arrayList.add(exportEntity("该应用类型", applicationType1.getName()));
}
excelDataTemps.add(excelDataTemp);
SystemStructure systemStructure = reform.getSystemStructure();
getSystemData("ecs服务器", systemStructure.getApplication());
getSystemData("rds服务器", systemStructure.getDatabase());
getSystemData("nas服务器", systemStructure.getNas());
getSystemData("slb服务器", systemStructure.getSlb());
getSystemData("cdn服务器", systemStructure.getCdn());
getSystemData("vps服务器", systemStructure.getVps());
ExcelDataTemp deployTemp = new ExcelDataTemp();
excelDataTemp.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()) {
exportEntity("原兼容的浏览器", compatibleBrowser.getName());
browserList.add(exportEntity("原兼容的浏览器", compatibleBrowser.getName()));
}
for (BaseDes browserPlug : browser.getBrowserPlugs()) {
exportEntity("浏览器插件", browserPlug.getName());
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()) {
exportEntity("原中间件", middlewareEnum.getName());
middleList.add(exportEntity("原中间件", middlewareEnum.getName()));
}
for (OtherApi otherApi : middleware.getOtherApis()) {
exportEntity("原第三方api", otherApi.getApiName());
middleList.add(exportEntity("原第三方api", otherApi.getApiName()));
}
for (BaseDes baseDes : middleware.getMicroServices()) {
exportEntity("原额外微服务", baseDes.getName());
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()) {
exportEntity("数据库类型", databaseType.getName());
databaseList.add(exportEntity("数据库类型", databaseType.getName()));
}
exportEntity("视图", flipYesOrNo(database.getView()));
exportEntity("存储过程", flipYesOrNo(database.getStorage()));
exportEntity("函数", flipYesOrNo(database.getFunction()));
exportEntity("视图", flipYesOrNo(database.getView()));
exportEntity("dblink", flipYesOrNo(database.getDbLink()));
exportEntity("定时任务", flipYesOrNo(database.getTimeTask()));
exportEntity("序列", flipYesOrNo(database.getSequence()));
exportEntity("触发器", flipYesOrNo(database.getTrigger()));
exportEntity("容灾", flipYesOrNo(database.getDisasterTolerance()));
exportEntity("安全", flipYesOrNo(database.getSafe()));
exportEntity("高性能", flipYesOrNo(database.getPerformance()));
exportEntity("读写分离", flipYesOrNo(database.getSeparate()));
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();
exportEntity("原开发语言", developLanguageSystem.getName());
languageList.add(exportEntity("原开发语言", developLanguageSystem.getName()));
for (BaseDes devLanguage : developLanguageSystem.getDevLanguages()) {
exportEntity("其他开发语言", devLanguage.getName());
languageList.add(exportEntity("其他开发语言", devLanguage.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getDevFrameworks()) {
exportEntity("原应用主要开发架构", devFramework.getName());
languageList.add(exportEntity("原应用主要开发架构", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getFontDevTechnologies()) {
exportEntity("原前端应用主要开发架构/bs", devFramework.getName());
languageList.add(exportEntity("原前端应用主要开发架构/bs", devFramework.getName()));
}
for (BaseDes devFramework : developLanguageSystem.getCsDevTechnologies()) {
exportEntity("原前端应用主要开发架构/cs", devFramework.getName());
languageList.add(exportEntity("原前端应用主要开发架构/cs", devFramework.getName()));
}
for (BaseDes opgas : developLanguageSystem.getOpGAs()) {
exportEntity("原封装方式", opgas.getName());
languageList.add(exportEntity("原封装方式", opgas.getName()));
}
excelDataTemps.add(languageTemp);
}
return excelDataTemp;
return excelDataTemps;
}
private static String getExcelCell(int rowNum, int cellNum, Sheet sheetAt) {
......@@ -590,16 +611,18 @@ public class ExcelUtil {
}
}
private static void getSystemData(String name, Details application) {
private static List<ExcelDataEntity> getSystemData(String name, Details application) {
ArrayList<ExcelDataEntity> excelDataEntities = new ArrayList<>();
if (application != null) {
exportEntity(name + "部署情况", getDeploy(application.getDeploy()));
exportEntity(name + "操作系统", application.getOperateSystem().getName());
exportEntity(name + "台数", application.getNum());
exportEntity(name + "cpu个数", application.getCpuNum());
exportEntity(name + "主频", application.getGhz());
exportEntity(name + "服务器空间", application.getSpace());
exportEntity(name + "内存", application.getMemory());
excelDataEntities.add(exportEntity(name + "部署情况", getDeploy(application.getDeploy())));
excelDataEntities.add(exportEntity(name + "操作系统", application.getOperateSystem().getName()));
excelDataEntities.add(exportEntity(name + "台数", application.getNum()));
excelDataEntities.add(exportEntity(name + "cpu个数", application.getCpuNum()));
excelDataEntities.add(exportEntity(name + "主频", application.getGhz()));
excelDataEntities.add(exportEntity(name + "服务器空间", application.getSpace()));
excelDataEntities.add(exportEntity(name + "内存", application.getMemory()));
}
return excelDataEntities;
}
private static Details getSysDetails(int rowNum, int cellNum, Sheet sheetAt) {
......@@ -626,13 +649,13 @@ public class ExcelUtil {
return details;
}
private static void exportEntity(String name, Object value) {
private static ExcelDataEntity exportEntity(String name, Object value) {
ExcelDataEntity excelDataEntity = new ExcelDataEntity();
excelDataEntity.setName(name);
if (value != null) {
excelDataEntity.setValue(value.toString());
}
arrayList.add(excelDataEntity);
return excelDataEntity;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论