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

mcj:更新导入excel表格

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