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

撤销 "合并分支 'lj-project' 到 'master'"

这将还原合并请求 !48
上级 6f6b8b22
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version> <version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.zjty</groupId> <groupId>com.zjty</groupId>
...@@ -37,13 +37,6 @@ ...@@ -37,13 +37,6 @@
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.2</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId> <artifactId>spring-boot-starter-freemarker</artifactId>
......
...@@ -11,11 +11,7 @@ import org.aspectj.lang.annotation.Pointcut; ...@@ -11,11 +11,7 @@ import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -42,26 +38,17 @@ public class AopIntercept { ...@@ -42,26 +38,17 @@ public class AopIntercept {
@Around("doPointCut()") @Around("doPointCut()")
public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable { public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
AuthAnnotation authAnnotation = ((MethodSignature)joinPoint.getSignature()).getMethod().getAnnotation(AuthAnnotation.class); long startMillis = System.currentTimeMillis();
String[] code = authAnnotation.code(); Object proceed = joinPoint.proceed();
if(user!=null){ long endMillis = System.currentTimeMillis();
List<String> authorityCode = user.getAuthorityCode();
for (String s : code) { long time = (endMillis - startMillis);
if (authorityCode.contains(s)) { log.info("评估总耗时{}毫秒",time);
long startMillis = System.currentTimeMillis(); log.info("PersonAspect2 ==> before method : {}", joinPoint.getSignature().getName());
Object proceed = joinPoint.proceed(); log.info("注解的类型名称为{}",joinPoint.getSignature().getDeclaringTypeName());
long endMillis = System.currentTimeMillis(); log.info("方法修饰符个数为{}",joinPoint.getSignature().getModifiers());
long time = (endMillis - startMillis); log.info("方法名称为{}",joinPoint.getSignature().getName());
log.info("评估总耗时{}毫秒", time); log.info("方法参数{}",joinPoint.getArgs());
log.info("PersonAspect2 ==> before method : {}", joinPoint.getSignature().getName()); return proceed;
log.info("注解的类型名称为{}", joinPoint.getSignature().getDeclaringTypeName());
log.info("方法修饰符个数为{}", joinPoint.getSignature().getModifiers());
log.info("方法名称为{}", joinPoint.getSignature().getName());
log.info("方法参数{}", joinPoint.getArgs());
return proceed;
}
}
}
return ResponseEntity.status(403).build();
} }
} }
...@@ -15,7 +15,7 @@ import java.io.IOException; ...@@ -15,7 +15,7 @@ import java.io.IOException;
* <p>@author : Mcj * <p>@author : Mcj
*/ */
@Component @Component
@WebFilter(filterName = "MyCorsFilter", urlPatterns = "/**") @WebFilter(filterName = "MyCorsFilter", urlPatterns = "/*")
@Order(2) @Order(2)
public class FpCorsFilter implements Filter { public class FpCorsFilter implements Filter {
@Override @Override
...@@ -25,9 +25,7 @@ public class FpCorsFilter implements Filter { ...@@ -25,9 +25,7 @@ public class FpCorsFilter implements Filter {
HttpServletResponse response = (HttpServletResponse) res; HttpServletResponse response = (HttpServletResponse) res;
// 设置响应头的权限信息 request.getHeader("Origin") // 设置响应头的权限信息 request.getHeader("Origin")
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Max-Age", "3600");
......
...@@ -10,7 +10,6 @@ import org.springframework.web.servlet.HandlerInterceptor; ...@@ -10,7 +10,6 @@ import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
/** /**
* @author Mcj * @author Mcj
...@@ -26,11 +25,12 @@ public class LoginInterceptor implements HandlerInterceptor { ...@@ -26,11 +25,12 @@ public class LoginInterceptor implements HandlerInterceptor {
private AopIntercept aopIntercept; private AopIntercept aopIntercept;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) {
String sessionId = request.getHeader("session"); String sessionId = request.getHeader("sessionId");
String url = "http://120.55.57.35:12345/user/getLogin/"+sessionId; String url = "http://120.55.57.35:12345/user/getLogin/"+sessionId;
ServerResponse user = restTemplate.getForObject(url, ServerResponse.class); ServerResponse user = restTemplate.getForObject(url, ServerResponse.class);
if(Objects.requireNonNull(user).getData()==null){ if(user==null){
//不符合条件的给出提示信息,并转发到登录页面 //不符合条件的给出提示信息,并转发到登录页面
request.setAttribute("msg", "您还没有登录,请先登录!");
response.setStatus(403); response.setStatus(403);
return false; return false;
} }
......
...@@ -6,7 +6,10 @@ import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; ...@@ -6,7 +6,10 @@ import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.*; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List; import java.util.List;
...@@ -20,18 +23,12 @@ public class MvcConfig extends WebMvcConfigurationSupport { ...@@ -20,18 +23,12 @@ public class MvcConfig extends WebMvcConfigurationSupport {
// 多个拦截器组成一个拦截器链 // 多个拦截器组成一个拦截器链
// addPathPatterns 用于添加拦截规则,/**表示拦截所有请求 // addPathPatterns 用于添加拦截规则,/**表示拦截所有请求
// excludePathPatterns 用户排除拦截 // excludePathPatterns 用户排除拦截
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/doc.html");
;
super.addInterceptors(registry); super.addInterceptors(registry);
} }
@Override @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html") registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/"); .addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**") registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/"); .addResourceLocations("classpath:/META-INF/resources/webjars/");
} }
......
package com.zjty.inspect.config; package com.zjty.inspect.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
...@@ -16,10 +13,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -16,10 +13,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
// //
@Configuration @Configuration
@EnableSwagger2 @EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class Swagger2Configuration { public class Swagger2Configuration {
/*@Bean @Bean
public Docket createRestApi() { public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) .apiInfo(apiInfo())
...@@ -27,36 +22,15 @@ public class Swagger2Configuration { ...@@ -27,36 +22,15 @@ public class Swagger2Configuration {
.apis(RequestHandlerSelectors.basePackage("com.zjty.inspect")) .apis(RequestHandlerSelectors.basePackage("com.zjty.inspect"))
.paths(PathSelectors.any()) .paths(PathSelectors.any())
.build(); .build();
}*/ }
// private ApiInfo apiInfo() {
// return new ApiInfoBuilder()
// .title("评估api文档")
// .description("评估api文档")
// .termsOfServiceUrl("/")
// .version("1.0")
// .build();
// }
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.zjty.inspect"))
.paths(PathSelectors.any())
.build();
return docket;
}
private ApiInfo apiInfo() { private ApiInfo apiInfo() {
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("评估APIs文档") .title("评估api文档")
.description("评估APIs文档") .description("评估api文档")
.termsOfServiceUrl("/") // .termsOfServiceUrl("/")
.version("1.0") .version("1.0")
.build(); .build();
} }
} }
package com.zjty.inspect.controller; package com.zjty.inspect.controller;
import com.zjty.inspect.aop.AuthAnnotation;
import com.zjty.inspect.entity.Config; import com.zjty.inspect.entity.Config;
import com.zjty.inspect.entity.RuleQo; import com.zjty.inspect.entity.RuleQo;
import com.zjty.inspect.service.ConfigService; import com.zjty.inspect.service.ConfigService;
...@@ -39,7 +38,6 @@ public class ConfigController { ...@@ -39,7 +38,6 @@ public class ConfigController {
*/ */
@PostMapping("/updates") @PostMapping("/updates")
@ApiOperation("根据id修改参数,需要传id和value") @ApiOperation("根据id修改参数,需要传id和value")
@AuthAnnotation(code = {"1300"})
public ResponseEntity update(@RequestBody List<Config> configs){ public ResponseEntity update(@RequestBody List<Config> configs){
configService.updateConfig(configs); configService.updateConfig(configs);
return ResponseEntity.ok(200); return ResponseEntity.ok(200);
......
package com.zjty.inspect.controller; package com.zjty.inspect.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.zjty.inspect.entity.*; import com.zjty.inspect.entity.AssessmentReport;
import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.PageResult;
import com.zjty.inspect.entity.Reform;
import com.zjty.inspect.service.EvaluationService; import com.zjty.inspect.service.EvaluationService;
import com.zjty.inspect.utils.ExcelUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -14,8 +16,6 @@ import org.springframework.http.ResponseEntity; ...@@ -14,8 +16,6 @@ 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
...@@ -25,8 +25,6 @@ public class EvaluationController { ...@@ -25,8 +25,6 @@ public class EvaluationController {
@Autowired @Autowired
private EvaluationService evaluationService; private EvaluationService evaluationService;
/** /**
* 新增评估报告 * 新增评估报告
* @param evaluation 评估报告 * @param evaluation 评估报告
...@@ -66,28 +64,6 @@ public class EvaluationController { ...@@ -66,28 +64,6 @@ public class EvaluationController {
} }
return ResponseEntity.ok(null); return ResponseEntity.ok(null);
} }
@ApiOperation("根据id查询输入")
@GetMapping(value = "/all/{id}")
public ResponseEntity getInId(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
if(evaluation!=null){
return ResponseEntity.ok(evaluation);
}
return ResponseEntity.ok(null);
}
@ApiOperation("根据报告id查询excel输入")
@GetMapping(value = "/in/excel/{id}")
public ResponseEntity exportInName(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
if(evaluation!=null){
List<ExcelDataTemp> excelDataTemp = ExcelUtil.parseExcel2Entity(evaluation);
return ResponseEntity.ok(excelDataTemp);
}else{
return ResponseEntity.ok(new ArrayList<ExcelDataTemp>());
}
}
/** /**
* 修改评估报告 * 修改评估报告
* @param evaluation 规则封装 * @param evaluation 规则封装
...@@ -129,4 +105,6 @@ public class EvaluationController { ...@@ -129,4 +105,6 @@ public class EvaluationController {
Page<Evaluation> pageList = evaluationService.findSearch(searchMap, page, size); Page<Evaluation> pageList = evaluationService.findSearch(searchMap, page, size);
return ResponseEntity.ok(new PageResult<Evaluation>(pageList.getTotalElements(), pageList.getContent()) ); return ResponseEntity.ok(new PageResult<Evaluation>(pageList.getTotalElements(), pageList.getContent()) );
} }
} }
...@@ -2,17 +2,26 @@ package com.zjty.inspect.controller; ...@@ -2,17 +2,26 @@ package com.zjty.inspect.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.zjty.inspect.dao.ConfigParamDao; import com.zjty.inspect.dao.ConfigParamDao;
import com.zjty.inspect.dao.TechnologyDao;
import com.zjty.inspect.entity.*; import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.LanguageEnum;
import com.zjty.inspect.service.*; import com.zjty.inspect.service.*;
import com.zjty.inspect.utils.*; import com.zjty.inspect.utils.*;
import freemarker.template.TemplateException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItem;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.*; import java.io.*;
import java.io.File; import java.io.File;
...@@ -28,7 +37,6 @@ import java.util.*; ...@@ -28,7 +37,6 @@ import java.util.*;
@RequestMapping("/inspect") @RequestMapping("/inspect")
@Api(value = "评估接口管理接口", description = "评估管理接口,提供页面的增、删、改、查") @Api(value = "评估接口管理接口", description = "评估管理接口,提供页面的增、删、改、查")
public class InspectController { public class InspectController {
@Autowired @Autowired
private InspectService inspectService; private InspectService inspectService;
@Autowired @Autowired
...@@ -42,7 +50,6 @@ public class InspectController { ...@@ -42,7 +50,6 @@ public class InspectController {
@Autowired @Autowired
private ConfigParamDao configParamDao; private ConfigParamDao configParamDao;
//应用类型转换:小型0 //应用类型转换:小型0
Integer[] small = {3, 4}; Integer[] small = {3, 4};
//应用类型转换:中型2 //应用类型转换:中型2
...@@ -118,6 +125,7 @@ public class InspectController { ...@@ -118,6 +125,7 @@ public class InspectController {
@PostMapping("/rapidAssessment") @PostMapping("/rapidAssessment")
public ResponseEntity rapidAssessment(@RequestBody Reform reform) throws IOException { public ResponseEntity rapidAssessment(@RequestBody Reform reform) throws IOException {
//输入参数
String in = JSON.toJSONString(reform); String in = JSON.toJSONString(reform);
Evaluation evaluation = new Evaluation(); Evaluation evaluation = new Evaluation();
evaluation.setInEva(in); evaluation.setInEva(in);
...@@ -198,6 +206,11 @@ public class InspectController { ...@@ -198,6 +206,11 @@ public class InspectController {
reportVo.setDatabaseType(null); reportVo.setDatabaseType(null);
ReportVo inspect = inspectService.inspect(reportVo, inspectParameter); ReportVo inspect = inspectService.inspect(reportVo, inspectParameter);
log.info("inspect:代码评估完成"); log.info("inspect:代码评估完成");
Report report = new Report();
String random = RandomUtil.getRandom();
report.setId(RandomUtil.getRandom());
report.setHtmlAddress(reportVo.getHtmlAddress());
reportService.saveReport(report);
/* /*
马晨俊运算结束 马晨俊运算结束
*/ */
...@@ -215,12 +228,7 @@ public class InspectController { ...@@ -215,12 +228,7 @@ public class InspectController {
//架构 //架构
assessmentReport.setFramework(inspect.getFramework()); assessmentReport.setFramework(inspect.getFramework());
//语言 //语言
if ("".equals(reform.getDevelopLanguageSystem().getName())) { assessmentReport.setLanguage(inspect.getLanguage());
assessmentReport.setLanguage(inspect.getLanguage());
} else {
LanguageEnum byName = LanguageEnum.getByName(reform.getDevelopLanguageSystem().getName());
assessmentReport.setLanguage(byName.getCode());
}
//适配还是改造 //适配还是改造
assessmentReport.setType(reform.getMode()); assessmentReport.setType(reform.getMode());
SysScale sysScale = new SysScale(); SysScale sysScale = new SysScale();
...@@ -362,22 +370,17 @@ public class InspectController { ...@@ -362,22 +370,17 @@ public class InspectController {
workLoadUtil.result(reform, assessmentReport, f, 1.5); workLoadUtil.result(reform, assessmentReport, f, 1.5);
//输出参数 //输出参数
assessmentReport.setLocalContact(reform.getLocalContact());
String out = JSON.toJSONString(assessmentReport); String out = JSON.toJSONString(assessmentReport);
evaluation.setOutEva(out); evaluation.setOutEva(out);
evaluation.setUsername(reform.getUsername()); evaluation.setUsername(reform.getUsername());
evaluation.setProjectName(reform.getProjectName()); evaluation.setProjectName(reform.getProjectName());
evaluation.setAuthority(reform.getAuthority()); evaluation.setAuthority(reform.getAuthority());
Evaluation save = evaluationService.save(evaluation); Evaluation save = evaluationService.save(evaluation);
if(save==null){
return ResponseEntity.status(400).build();
}
return ResponseEntity.ok(save.getId()); return ResponseEntity.ok(save.getId());
} }
@PostMapping("/uploads") @PostMapping("/uploads")
private ResponseEntity uploads(@RequestParam(value = "file") MultipartFile multfile) { private ResponseEntity uploads(@RequestParam(value = "file") MultipartFile multfile, String s) {
try { try {
File file = FileUtil.saveToLocal(multfile); File file = FileUtil.saveToLocal(multfile);
String name = file.getName(); String name = file.getName();
...@@ -385,7 +388,7 @@ public class InspectController { ...@@ -385,7 +388,7 @@ public class InspectController {
return ResponseEntity.ok(new com.zjty.inspect.entity.File(name, path)); return ResponseEntity.ok(new com.zjty.inspect.entity.File(name, path));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return ResponseEntity.status(500).build(); return ResponseEntity.ok("上传失败");
} }
} }
...@@ -398,11 +401,10 @@ public class InspectController { ...@@ -398,11 +401,10 @@ public class InspectController {
return ResponseEntity.status(400).build(); return ResponseEntity.status(400).build();
} }
} }
@PostMapping("/importExcelToRapidAssessment") @PostMapping("/importExcelToRapidAssessment")
private ResponseEntity uploadFileToInspect(MultipartFile file, String username) throws IOException { private ResponseEntity uploadFileToInspect(MultipartFile file) throws IOException {
Reform reform = ExcelUtil.parseExcel(file.getInputStream(),file.getOriginalFilename()); Reform reform = ExcelUtil.parseExcel(file);
reform.setUsername(username); ResponseEntity responseEntity = this.rapidAssessment(reform);
return ResponseEntity.ok(reform); return responseEntity;
} }
} }
...@@ -7,7 +7,6 @@ import io.swagger.annotations.Api; ...@@ -7,7 +7,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
...@@ -22,7 +21,7 @@ import java.util.Map; ...@@ -22,7 +21,7 @@ import java.util.Map;
* @author Mcj * @author Mcj
* @date 2020-02-26 14:42 * @date 2020-02-26 14:42
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("/rule") @RequestMapping("/rule")
@Api(value = "规则页面管理接口",description = "规则页面管理接口,提供页面的增、删、改、查") @Api(value = "规则页面管理接口",description = "规则页面管理接口,提供页面的增、删、改、查")
...@@ -39,9 +38,7 @@ public class RuleController { ...@@ -39,9 +38,7 @@ public class RuleController {
*/ */
@PostMapping @PostMapping
@ApiOperation("新增规则") @ApiOperation("新增规则")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity rule(@RequestBody Rule rule){ public ResponseEntity rule(@RequestBody Rule rule){
log.info("规则{}",rule);
Rule rule1 = ruleService.addRulePlus(rule); Rule rule1 = ruleService.addRulePlus(rule);
if(rule1!=null){ if(rule1!=null){
return ResponseEntity.ok(rule1); return ResponseEntity.ok(rule1);
...@@ -55,7 +52,6 @@ public class RuleController { ...@@ -55,7 +52,6 @@ public class RuleController {
*/ */
@PostMapping(value = "/update") @PostMapping(value = "/update")
@ApiOperation("修改规则") @ApiOperation("修改规则")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity update(@RequestBody Rule rule){ public ResponseEntity update(@RequestBody Rule rule){
ruleService.upRulePlus(rule); ruleService.upRulePlus(rule);
return ResponseEntity.ok(200); return ResponseEntity.ok(200);
...@@ -66,15 +62,13 @@ public class RuleController { ...@@ -66,15 +62,13 @@ public class RuleController {
* @return * @return
*/ */
@ApiOperation("根据数据封装删除规则") @ApiOperation("根据数据封装删除规则")
@DeleteMapping(value = "/{id}") @DeleteMapping("/{id}")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity deleteByQo(@PathVariable String id){ public ResponseEntity deleteByQo(@PathVariable String id){
ruleService.deleteRulePlus(id); ruleService.deleteRulePlus(id);
return ResponseEntity.ok(200); return ResponseEntity.ok(200);
} }
/** /**
* 分页+多条件查询 * 分页+多条件查询
* @param searchMap 查询条件封装 * @param searchMap 查询条件封装
...@@ -105,7 +99,6 @@ public class RuleController { ...@@ -105,7 +99,6 @@ public class RuleController {
} }
@PostMapping("/importRules") @PostMapping("/importRules")
@ApiOperation("导入所有规则") @ApiOperation("导入所有规则")
@AuthAnnotation(code = {"1200"})
public ResponseEntity importRules(@RequestParam("file") MultipartFile file){ public ResponseEntity importRules(@RequestParam("file") MultipartFile file){
ruleService.importRules(file); ruleService.importRules(file);
return null; return null;
......
...@@ -60,7 +60,6 @@ public class TechnologyController { ...@@ -60,7 +60,6 @@ public class TechnologyController {
*/ */
@PostMapping("/add") @PostMapping("/add")
@ApiOperation("新添加关键技术") @ApiOperation("新添加关键技术")
@AuthAnnotation(code = {"1100"})
public ResponseEntity addTechnologies(@RequestBody Technology technology){ public ResponseEntity addTechnologies(@RequestBody Technology technology){
technologyService.add(technology); technologyService.add(technology);
return ResponseEntity.ok(200); return ResponseEntity.ok(200);
...@@ -68,7 +67,6 @@ public class TechnologyController { ...@@ -68,7 +67,6 @@ public class TechnologyController {
} }
@PostMapping(value = "/{id}") @PostMapping(value = "/{id}")
@ApiOperation("修改关键技术") @ApiOperation("修改关键技术")
@AuthAnnotation(code = {"1100"})
public ResponseEntity update(@RequestBody Technology technology,@PathVariable String id){ public ResponseEntity update(@RequestBody Technology technology,@PathVariable String id){
technology.setId(id); technology.setId(id);
technologyService.update(technology); technologyService.update(technology);
......
package com.zjty.inspect.entity; package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -22,12 +21,10 @@ public class Apply { ...@@ -22,12 +21,10 @@ public class Apply {
/** /**
* 费用 * 费用
*/ */
@ApiModelProperty(value = "费用")
private double cost = -1; private double cost = -1;
/** /**
* 原因 * 原因
*/ */
@ApiModelProperty(value = "原因")
private String reason = "-1"; private String reason = "-1";
} }
...@@ -30,20 +30,7 @@ public class AssessmentReport { ...@@ -30,20 +30,7 @@ public class AssessmentReport {
* 单位名称 * 单位名称
*/ */
private String orgName; private String orgName;
/**
* 单位联系方式
*/
private String orgPhone;
/**
* 本地开发单位联系人
*/
private String localContact;
/**
* 本地开发单位联系方式
*/
private String localPhone;
/** /**
* 系统名称 * 系统名称
*/ */
......
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("枚举公共类")
public class BaseDes {
@ApiModelProperty(value = "code")
private Integer code;
@ApiModelProperty(value = "code对应的名称")
private String name;
@ApiModelProperty(value = "备注")
private String des;
@ApiModelProperty(value = "版本号")
private String version;
}
...@@ -7,7 +7,6 @@ import lombok.AllArgsConstructor; ...@@ -7,7 +7,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -25,24 +24,17 @@ public class Browser { ...@@ -25,24 +24,17 @@ public class Browser {
/** /**
* 兼容的浏览器 * 兼容的浏览器
*/ */
@ApiModelProperty(value = "兼容的浏览器") private List<CompatibleBrowser> compatibleBrowsers;
private List<BaseDes> compatibleBrowsers = new ArrayList<>();
/**
* 浏览器插件
*/
@ApiModelProperty(value = "浏览器插件")
private List<BaseDes> browserPlugs = new ArrayList<>();
/** /**
* 插件安装情况int 1:是 2:否 * 插件安装情况int 1:是 2:否
*/ */
@ApiModelProperty(value = "插件安装情况 1:是 2:否",example = "1") @ApiModelProperty(value = "插件安装情况int",example = "1")
private Integer PlugInUnit = -1; private Integer PlugInUnit = -1;
/** /**
* 其他兼容的浏览器 * 其他兼容的浏览器
*/ */
@ApiModelProperty(value = "其他兼容的浏览器")
private String otherBrowser; private String otherBrowser;
......
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.BrowserPlugEnum;
import lombok.Data;
@Data
public class BrowserPlug {
private BrowserPlugEnum browserPlugEnum;
private String version;
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.CSTechnologyEnum;
import lombok.Data;
@Data
public class CSDevTechnology {
private CSTechnologyEnum csTechnologyEnum;
//版本
private String version;
//备注
private String des;
}
...@@ -8,13 +8,10 @@ import lombok.NoArgsConstructor; ...@@ -8,13 +8,10 @@ import lombok.NoArgsConstructor;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Entity @Entity
@Table(name = "master_category")
@ApiModel(value = "类型") @ApiModel(value = "类型")
public class Category { public class Category {
@Id @Id
......
...@@ -6,14 +6,13 @@ import lombok.Data; ...@@ -6,14 +6,13 @@ import lombok.Data;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
/** /**
* 系数计算 * 系数计算
* *
* @author Mcj * @author Mcj
*/ */
@Table(name = "master_coefficient_model")
@Entity @Entity
@Data @Data
@ApiModel(value = "系数计算") @ApiModel(value = "系数计算")
......
...@@ -9,13 +9,11 @@ import lombok.NoArgsConstructor; ...@@ -9,13 +9,11 @@ import lombok.NoArgsConstructor;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Entity @Entity
@Table(name = "master_config")
@ApiModel(value = "配置") @ApiModel(value = "配置")
public class Config { public class Config {
@Id @Id
......
...@@ -8,7 +8,6 @@ import lombok.AllArgsConstructor; ...@@ -8,7 +8,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -26,13 +25,11 @@ public class Database { ...@@ -26,13 +25,11 @@ public class Database {
/** /**
* 数据库类型 枚举 * 数据库类型 枚举
*/ */
@ApiModelProperty(value = "数据库类型") private List<DatabaseType> databaseType;
private List<DatabaseType> databaseType = new ArrayList<>();
/** /**
* 其他 * 其他
*/ */
@ApiModelProperty(value = "其他")
private String otherType; private String otherType;
/** /**
...@@ -107,6 +104,5 @@ public class Database { ...@@ -107,6 +104,5 @@ public class Database {
/** /**
* 其他内容 * 其他内容
*/ */
@ApiModelProperty(value = "其他内容")
private String otherContent; private String otherContent;
} }
...@@ -27,43 +27,15 @@ public class Details { ...@@ -27,43 +27,15 @@ public class Details {
/** /**
* 操作系统 枚举 * 操作系统 枚举
*/ */
@ApiModelProperty(value = "操作系统 枚举")
private OperateSystem operateSystem = OperateSystem.NONE; private OperateSystem operateSystem = OperateSystem.NONE;
@ApiModelProperty(value = "操作系统 code")
private Integer code;
/**
* 台数
*/
@ApiModelProperty(value = "台数")
private String num;
/**
* CPU核数
*/
@ApiModelProperty(value = "CPU核数")
private String cpuNum;
/**
* 单核主频
*/
@ApiModelProperty(value = "单核主频")
private String ghz;
/**
* 服务器总空间
*/
@ApiModelProperty(value = "服务器总空间")
private String space;
/** /**
* 其他 * 其他
*/ */
@ApiModelProperty(value = "其他")
private String other; private String other;
/** /**
* 版本 * 版本
*/ */
@ApiModelProperty(value = "版本")
private String edition; private String edition;
@ApiModelProperty(value = "内存")
private String memory;
} }
package com.zjty.inspect.entity;
import lombok.Data;
/**
* 应用主要开发架构
*/
@Data
public class DevFramework {
//架构名称
// private FrameWorkEnum frameWork;
private String name;
//
private Integer code;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.LanguageEnum;
import lombok.Data;
@Data
public class DevLanguage {
private LanguageEnum languageEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DevelopLanguageSystem {
//原应用主要开发架构
@ApiModelProperty(value = "原应用主要开发架构")
private List<BaseDes> devFrameworks = new ArrayList<>();
//bs原应用浏览器前端开发技术
@ApiModelProperty(value = "bs原应用浏览器前端开发技术")
private List<BaseDes> fontDevTechnologies = new ArrayList<>();
//cs前端开发技术
@ApiModelProperty(value = "cs前端开发技术")
private List<BaseDes> csDevTechnologies = new ArrayList<>();
//封装方式
@ApiModelProperty(value = "封装方式")
private List<BaseDes> opGAs = new ArrayList<>();
//主开发语言
@ApiModelProperty(value = "主开发语言id")
private Integer code;
@ApiModelProperty(value = "主开发语言名称")
private String name;
// private MainLanguageEnum mainLanguageEnum;
//开发语言
@ApiModelProperty(value = "其他开发语言名称")
private List<BaseDes> devLanguages = new ArrayList<>();
}
...@@ -13,12 +13,10 @@ import org.springframework.data.annotation.LastModifiedDate; ...@@ -13,12 +13,10 @@ import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
@Entity @Entity
@Table(name = "master_evaluation")
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Data @Data
......
package com.zjty.inspect.entity;
import lombok.Data;
import javax.persistence.Entity;
/**
* @author Mcj
* @date 2020-04-11 15:08
*/
@Data
public class ExcelDataEntity {
private String name;
private String value;
private String remark;
private String version;
}
package com.zjty.inspect.entity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Mcj
* @date 2020-04-11 15:07
*/
@Data
public class ExcelDataTemp {
private String name;
private List<ExcelDataEntity> arrayList = new ArrayList();
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.FontTechnologyEnum;
import lombok.Data;
@Data
public class FontDevTechnology {
private FontTechnologyEnum fontTechnologyEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LocalSystemDep {
//本地操作系统依赖名称
@ApiModelProperty(value = "本地操作系统依赖名称")
private String name;
//金额
@ApiModelProperty(value = "金额")
private double money;
//备注
@ApiModelProperty(value = "备注")
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.MicroServiceEnum;
import lombok.Data;
@Data
public class MicroService {
private MicroServiceEnum microServiceEnum;
private String version;
private String des;
}
...@@ -7,7 +7,6 @@ import lombok.AllArgsConstructor; ...@@ -7,7 +7,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -26,23 +25,13 @@ public class Middleware { ...@@ -26,23 +25,13 @@ public class Middleware {
/** /**
* 原文件情况 枚举 * 原文件情况 枚举
*/ */
@ApiModelProperty(value = "原文件情况") private List<MiddlewareEnum> middlewareEnums;
private List<BaseDes> middlewareEnums = new ArrayList<>();
/**
* 原应用第三方api
*/
@ApiModelProperty(value = "原应用第三方api")
private List<OtherApi> otherApis = new ArrayList<>();
/** /**
* 其他中间件 * 其他中间件
*/ */
@ApiModelProperty(value = "其他中间件")
private String otherMiddleware; private String otherMiddleware;
/**
* 额外微服务
*/
@ApiModelProperty(value = "额外微服务")
private List<BaseDes> microServices = new ArrayList<>();
/* /*
更多需求 更多需求
*/ */
......
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.OpgaEnum;
import lombok.Data;
@Data
public class OpGA {
private OpgaEnum opgaEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "第三方api类")
@Data
public class OtherApi {
@ApiModelProperty(value = "第三方api code")
private String code;
//第三方api名称
@ApiModelProperty(value = "第三方api名称")
private String apiName;
//版本号
@ApiModelProperty(value = "版本号")
private String version;
//备注
@ApiModelProperty(value = "备注")
private String des;
}
package com.zjty.inspect.entity; package com.zjty.inspect.entity;
import com.zjty.inspect.enums.ApplicationType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -7,6 +8,7 @@ import lombok.Data; ...@@ -7,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -20,6 +22,9 @@ import java.util.List; ...@@ -20,6 +22,9 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@ApiModel(value = "应用系统改造替换表单") @ApiModel(value = "应用系统改造替换表单")
public class Reform { public class Reform {
/*
基础
*/
/** /**
* admin 是否是管理员 * admin 是否是管理员
...@@ -52,57 +57,43 @@ public class Reform { ...@@ -52,57 +57,43 @@ public class Reform {
/** /**
* 系统名称 * 系统名称
*/ */
@ApiModelProperty(value = "系统名称")
private String projectName; private String projectName;
/** /**
* 代码地址 * 代码地址
*/ */
@ApiModelProperty(value = "代码地址")
private String codeUrl; private String codeUrl;
/** /**
* 文件名称 * 文件名称
*/ */
@ApiModelProperty(value = "文件名称")
private String codeName; private String codeName;
/** /**
* git地址 * git地址
*/ */
@ApiModelProperty(value = "git地址")
private String gitUrl; private String gitUrl;
/** /**
* 模块数 -1不清楚 * 模块数
*/ */
@ApiModelProperty(value = "模块数",example = "1") @ApiModelProperty(value = "模块数",example = "1")
private Integer moduleNum = -1; private Integer moduleNum = -1;
/** /**
* 原开发费用 -1不清楚 * 原开发费用
*/ */
@ApiModelProperty(value = "原开发费用",example = "1") @ApiModelProperty(value = "原开发费用",example = "1")
private Integer cost = -1; private Integer cost = -1;
/** /**
* 开发单位是否在本地int 1:是 2:否 -1不清楚 * 开发单位是否在本地int 1:是 2:否
*/ */
@ApiModelProperty(value = "开发单位是否在本地int",example = "1") @ApiModelProperty(value = "开发单位是否在本地int",example = "1")
private Integer address = -1; private Integer address = -1;
/**
* 本地开发单位联系方式
*/
@ApiModelProperty(value = "本地开发单位联系人")
private String localContact;
/**
* 本地开发单位联系方式
*/
@ApiModelProperty(value = "本地开发单位联系方式")
private String localPhone;
/** /**
* 是否为涉密信息系统 int 1:是 2:否 * 是否为涉密信息系统 int 1:是 2:否
*/ */
...@@ -110,13 +101,12 @@ public class Reform { ...@@ -110,13 +101,12 @@ public class Reform {
private Integer secret = -1; private Integer secret = -1;
/** /**
* 容灾能力 int 1:是 2:否 -1不清楚 * 容灾能力 int 1:是 2:否
*/ */
@ApiModelProperty(value = "容灾能力",example = "1") @ApiModelProperty(value = "容灾能力",example = "1")
private Integer disasterTolerance = -1; private Integer disasterTolerance = -1;
/** /**
* -1不清楚
* 安全能力 * 安全能力
* 1:无 * 1:无
* 2:弱 * 2:弱
...@@ -126,7 +116,7 @@ public class Reform { ...@@ -126,7 +116,7 @@ public class Reform {
private Integer safe = -1; private Integer safe = -1;
/** /**
* 架构 -1不清楚 * 架构
*/ */
@ApiModelProperty(value = "架构",example = "1") @ApiModelProperty(value = "架构",example = "1")
private Integer framework = -1; private Integer framework = -1;
...@@ -134,23 +124,22 @@ public class Reform { ...@@ -134,23 +124,22 @@ public class Reform {
/** /**
* 该应用类型 * 该应用类型
*/ */
@ApiModelProperty(value = "该应用类型")
private List<Integer> applicationType = new ArrayList<>(); private List<Integer> applicationType = new ArrayList<>();
/** /**
* 运行时间 -1不清楚 * 运行时间
*/ */
@ApiModelProperty(value = "运行时间",example = "1") @ApiModelProperty(value = "运行时间",example = "1")
private Integer time = -1; private Integer time = -1;
/** /**
* 数据库表数量 -1不清楚 * 数据库表数量
*/ */
@ApiModelProperty(value = "数据库表数量",example = "1") @ApiModelProperty(value = "数据库表数量",example = "1")
private Integer tableNum = -1; private Integer tableNum = -1;
/** /**
* 数据库数据量 -1不清楚 * 数据库数据量
*/ */
@ApiModelProperty(value = "数据库数据量",example = "1") @ApiModelProperty(value = "数据库数据量",example = "1")
private Integer databaseNum = -1; private Integer databaseNum = -1;
...@@ -161,75 +150,32 @@ public class Reform { ...@@ -161,75 +150,32 @@ public class Reform {
/** /**
* 系统部署架构 * 系统部署架构
*/ */
@ApiModelProperty(value = "系统部署架构")
private SystemStructure systemStructure = new SystemStructure(); private SystemStructure systemStructure = new SystemStructure();
/** /**
* 前端浏览器相关 * 前端浏览器相关
*/ */
@ApiModelProperty(value = "前端浏览器相关")
private Browser browser = new Browser(); private Browser browser = new Browser();
/** /**
* 中间件/API * 中间件/API
*/ */
@ApiModelProperty(value = "中间件")
private Middleware middleware = new Middleware(); private Middleware middleware = new Middleware();
/** /**
* 数据库相关 * 数据库相关
*/ */
@ApiModelProperty(value = "数据库相关")
private Database database = new Database(); private Database database = new Database();
/** /**
* 迁移策略 1:休息日或晚间切换 2:暂停服务 3:平滑过渡 -1不清楚 * 迁移策略 1:休息日 2:晚间切换 3:短暂停止
*/ */
@ApiModelProperty(value = "迁移策略",example = "1") @ApiModelProperty(value = "迁移策略",example = "1")
private Integer strategy = -1; private Integer strategy = -1;
@ApiModelProperty(value = "RTO")
private Integer rto = -1;
@ApiModelProperty(value = "RPO")
private Integer rpo = -1;
/** /**
* 额外申请 * 额外申请
*/ */
@ApiModelProperty(value = "额外申请")
private Apply apply = new Apply(); private Apply apply = new Apply();
/**
* 单位名称
*/
@ApiModelProperty(value = "单位名称")
private String unitName; private String unitName;
/**
* 单位联系方式
*/
private String unitPhone;
/**
* 单位联系人
*/
private String unitContent;
/**
* 原应用是否通过等级保护/分级保护应用测评
* -1、我不清楚 1、是 2、否
*/
@ApiModelProperty(value = "原应用是否通过等级保护/分级保护应用测评 -1、我不清楚 1、是 2、否")
private Integer gradeProtection=-1;
/**
* 开发周期
*/
@ApiModelProperty(value = "开发周期")
private Integer cycle;
/**
* 原开发语言体系
*/
@ApiModelProperty(value = "原开发语言体系")
private DevelopLanguageSystem developLanguageSystem=new DevelopLanguageSystem();
/**
* 本地操作系统依赖
*/
@ApiModelProperty(value = "本地操作系统依赖")
private LocalSystemDep localSystemDep=new LocalSystemDep();
} }
...@@ -14,7 +14,6 @@ import java.sql.Timestamp; ...@@ -14,7 +14,6 @@ import java.sql.Timestamp;
* 报告 * 报告
* @author mcj * @author mcj
*/ */
@Table(name = "master_report")
@Entity @Entity
@Data @Data
@NoArgsConstructor @NoArgsConstructor
......
...@@ -22,7 +22,6 @@ import java.util.Date; ...@@ -22,7 +22,6 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Entity @Entity
@Table(name = "master_rule")
@ApiModel(value = "规则类") @ApiModel(value = "规则类")
public class Rule { public class Rule {
......
...@@ -9,14 +9,13 @@ import org.springframework.data.annotation.LastModifiedDate; ...@@ -9,14 +9,13 @@ import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date; import java.util.Date;
/** /**
* @author Mcj * @author Mcj
* @date 2020-02-27 14:42 * @date 2020-02-27 14:42
*/ */
@Table(name = "master_rule_collection")
@Data @Data
@Entity @Entity
@ApiModel(value = "规则类") @ApiModel(value = "规则类")
......
...@@ -22,44 +22,27 @@ public class SystemStructure { ...@@ -22,44 +22,27 @@ public class SystemStructure {
/** /**
* 应用服务器 * 应用服务器
*/ */
@ApiModelProperty(value = "ECS(安装主程序的弹性计算服务器或虚拟机)") private Details application;
private Details application = new Details();
/** /**
* 数据库服务器 * 数据库服务器
*/ */
@ApiModelProperty(value = "RDS(关系型数据库服务器或虚拟机)") private Details database;
private Details database = new Details();
@ApiModelProperty(value = "NAS(存储或备份一体设备)")
private Details nas = new Details();
/** /**
* SLB * SLB
*/ */
@ApiModelProperty(value = "SLB") private Details slb;
private Details slb = new Details();
/**
* cdn
*/
@ApiModelProperty(value = "cdn")
private Details cdn = new Details();
/**
* V2/P/S(访问代理服务设备)
*/
@ApiModelProperty(value = "V2/P/S(访问代理服务设备)")
private Details vps = new Details();
/** /**
* 存储 * 存储
*/ */
@ApiModelProperty(value = "存储") private Details storage;
private Details storage = new Details();
/** /**
* 其他服务设备 * 其他服务设备
*/ */
@ApiModelProperty(value = "其他服务设备") private Details otherEquipment;
private Details otherEquipment = new Details();
/* /*
更多需求 更多需求
...@@ -68,13 +51,13 @@ public class SystemStructure { ...@@ -68,13 +51,13 @@ public class SystemStructure {
/** /**
* 分布式 int 1:是 2:否 * 分布式 int 1:是 2:否
*/ */
@ApiModelProperty(value = "分布式 int 1:是 2:否",example = "1") @ApiModelProperty(value = "权限",example = "1")
private Integer distributed = -1; private Integer distributed = -1;
/** /**
* 负载均衡 int 1:是 2:否 * 负载均衡 int 1:是 2:否
*/ */
@ApiModelProperty(value = "负载均衡 int 1:是 2:否",example = "1") @ApiModelProperty(value = "权限",example = "1")
private Integer loadBalance = -1; private Integer loadBalance = -1;
/** /**
...@@ -89,6 +72,5 @@ public class SystemStructure { ...@@ -89,6 +72,5 @@ public class SystemStructure {
/** /**
* 其他需求 * 其他需求
*/ */
@ApiModelProperty(value = "其他需求")
private String otherDemand; private String otherDemand;
} }
...@@ -9,7 +9,6 @@ import org.hibernate.annotations.GenerationTime; ...@@ -9,7 +9,6 @@ import org.hibernate.annotations.GenerationTime;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp; import java.sql.Timestamp;
/** /**
...@@ -17,7 +16,7 @@ import java.sql.Timestamp; ...@@ -17,7 +16,7 @@ import java.sql.Timestamp;
* @author Mcj * @author Mcj
* @date 2020-02-26 14:18 * @date 2020-02-26 14:18
*/ */
@Table(name = "master_technology")
@Entity @Entity
@Data @Data
@ApiModel(description = "关键技术类") @ApiModel(description = "关键技术类")
......
package com.zjty.inspect.enums; package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/** /**
* <h4>Description : 应用类型</h4> * <h4>Description : 应用类型</h4>
* *
* @author : M@tr!x [xhyrzldf@foxmail.com] * @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 16:54 * @Date : 2020-03-05 16:54
*/ */
@Getter
public enum ApplicationType { public enum ApplicationType {
OA(0,"办公OA应用类"), OA,
MENHU(1,"门户、信息发布、综合入口服务类"), MAIL,
CAIGOU(2,"采购、招投标等采购管理服务类"), youjian,
XM(3,"项目建设跟踪、过程管理等项目管理服务类"), taishi,
KG(4,"库管、资产、自然资源、空间等资产分配管理服务类"), shipin,
CW(5,"财务、审计、税务等财税服务类"), shuju,
HYTJ(6,"行业统计、发布等统计服务类"), menhu,
RYSJ(7,"人员、事件、案件、空间等台账管理服务类"), shenqin,
SBTBSP(8,"申报、填报、审批等公共行政服务类"), ditu,
OTHERWINDOWS(9,"其他重要窗口服务类"), threed,
WENYIN(10,"文印、印刷、制版、排版等工具类"), other,
MAIL(11,"邮件、FTP、云盘、ICQ等在线传输工具类"),
GIS(12,"地图、定位等GIS服务类"),
THRED(13,"3D、模型等视觉建模应用类"),
VIDEO(14,"视频、图形等流媒体应用类"),
NET(15,"网络安全等常规安管应用类"),
baomi(16,"保密监管等特种安全应用类"),
SUANFA(17,"提供给行业的算法、API、库、组件、插件等功能型接口类"),
JISJ(18,"信息化计算资源、存储资源、网络资源等分配管理应用类"),
ANFANG(19,"信息化基础设施、机房设施、安防设施等分配管理应用类"),
DATASJI(20,"数据收集、分析、态势感知等大数据应用类"),
XINHAOJIESHOU(21,"信号接收、中继、转发等信号处理平台"),
ZHIHUI(22,"多信源、多信道、多流程的指挥调度类平台"),
DIAODU(23,"多信源、多信道、多流程的监控调度类平台"),
XIAOXIN(24,"具备上述多项功能的小型平台"),
ZHONXIN(25,"具备上述多项功能的中型平台"),
DAXIN(26,"具备上述多项功能的特大型平台"),
NONE(-1,"无")
;
private Integer code;
private String name;
ApplicationType() {
}
ApplicationType(Integer code, String name) {
this.code = code;
this.name = name;
}
private static Map<String,ApplicationType> applicationTypeHashMap=new HashMap<>();
private static Map<Integer,ApplicationType> applicationTypeCodeHashMap=new HashMap<>();
static {
for (ApplicationType applicationType : ApplicationType.values()) {
applicationTypeHashMap.put(applicationType.name,applicationType);
applicationTypeCodeHashMap.put(applicationType.code,applicationType);
}
}
public static ApplicationType getByName(String name){
ApplicationType applicationType = applicationTypeHashMap.get(name);
if(applicationType==null){
return NONE;
}
return applicationType;
}
public static ApplicationType getByCode(Integer code){
ApplicationType applicationType = applicationTypeCodeHashMap.get(code);
if(applicationType==null){
return NONE;
}
return applicationType;
}
} }
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "浏览器插件")
@Getter
public enum BrowserPlugEnum {
NONE(-1,"无"),
DOWNLOAD(1,"下载/上传"),
PRINT(2,"打印调用"),
SCAN(3,"扫描调用"),
YIWEIMA(4,"一维码/二维码调用"),
OCR(5,"OCR调用:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
MOBILE(6,"移动设备同步:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
TEXT(7,"在线文本编辑类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
TABLE(8,"在线表单编辑类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
CHART(9,"在线统计图表展现类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
VIDEO(10,"在线视频播放类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
THREED(11,"在线3D建模、渲染、展现:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
GIS(12,"在线GIS类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
PERIPHERAL(13,"外设调用"),
ANIMATION(14,"动画"),
FLASH(14,"Flash"),
OTHER(13,"其他:请在备注中填写插件名和版本,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,BrowserPlugEnum> browserPlugEnumMap=new HashMap<>();
private static Map<Integer,BrowserPlugEnum> browserPlugCodeEnumMap=new HashMap<>();
static {
for (BrowserPlugEnum browserPlugEnum : BrowserPlugEnum.values()) {
browserPlugEnumMap.put(browserPlugEnum.getName(),browserPlugEnum);
browserPlugCodeEnumMap.put(browserPlugEnum.getCode(),browserPlugEnum);
}
}
BrowserPlugEnum() {
}
BrowserPlugEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static BrowserPlugEnum getByName(String name){
BrowserPlugEnum browserPlugEnum = browserPlugEnumMap.get(name);
if(browserPlugEnum==null){
return NONE;
}
return browserPlugEnum;
}
public static BrowserPlugEnum getByCode(Integer code){
BrowserPlugEnum browserPlugEnum = browserPlugCodeEnumMap.get(code);
if(browserPlugEnum==null){
return NONE;
}
return browserPlugEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "C/S前端开发技术或框架(B/S应用不需要填)")
@Getter
public enum CSTechnologyEnum {
BUSHEJI(1,"不涉及"),
NONE(-1,"无"),
C(2,"VC/C++/C#"),
VB(3,"VB"),
DELPHI(4,"Delphi"),
GO(5,"Go"),
QT(6,"QT"),
JVM(7,"JVM"),
NODEJS(8,"Node JS"),
JAVAAPPLET(9,"Java Applet"),
QITA(10,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,CSTechnologyEnum> csTechnologyEnumMap=new HashMap<>();
private static Map<Integer,CSTechnologyEnum> csTechnologyEnumCodeMap=new HashMap<>();
static {
for (CSTechnologyEnum csTechnologyEnum : CSTechnologyEnum.values()) {
csTechnologyEnumMap.put(csTechnologyEnum.getName(),csTechnologyEnum);
csTechnologyEnumCodeMap.put(csTechnologyEnum.getCode(),csTechnologyEnum);
}
}
CSTechnologyEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static CSTechnologyEnum getByName(String name){
CSTechnologyEnum csTechnologyEnum = csTechnologyEnumMap.get(name);
if(csTechnologyEnum==null){
return NONE;
}
return csTechnologyEnum;
}
public static CSTechnologyEnum getByCode(Integer code){
CSTechnologyEnum csTechnologyEnum = csTechnologyEnumCodeMap.get(code);
if(csTechnologyEnum==null){
return NONE;
}
return csTechnologyEnum;
}
}
package com.zjty.inspect.enums; package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/** /**
* <h4>Description : 兼容的浏览器</h4> * <h4>Description : 兼容的浏览器</h4>
* *
* @author : czq * @author : czq
* @Date : 2020-03-05 17:25 * @Date : 2020-03-05 17:25
*/ */
@Getter
public enum CompatibleBrowser { public enum CompatibleBrowser {
SANLIUL(1, "360安全浏览器(Trident/Blink内核)"), IETRIDENT,
SAFARI(2, "Safari(webkit内核)"), CHROMEWEBKIT,
OTHER(3, "其他:请在备注中填写,如需填写多个,请以逗号分隔"), FIREFOX,
IETRIDENT(4, "IE(Trident内核)"), OPERA,
CHROMEWEBKIT(5, "Chrome(Webkit/Blink内核)"), SECURE,
CHROMIUM(6, "Chrome(Chromium内核)"), NONE,
FIREFOX(7, "Firefox(Gecko内核)"),
OPERA(8, "Opera(Blink内核)"),
SECURE(9, "secure"),
NONE(-1, "无");
private Integer code;
private String name;
private static Map<String, CompatibleBrowser> compatibleBrowserMap=new HashMap<>();
private static Map<Integer, CompatibleBrowser> compatibleBrowserCodeMap=new HashMap<>();
static {
for (CompatibleBrowser compatibleBrowser : CompatibleBrowser.values()) {
compatibleBrowserMap.put(compatibleBrowser.getName(),compatibleBrowser);
compatibleBrowserCodeMap.put(compatibleBrowser.getCode(),compatibleBrowser);
}
}
CompatibleBrowser(Integer code, String name) {
this.code = code;
this.name = name;
}
public static CompatibleBrowser getByName(String name) { }
CompatibleBrowser compatibleBrowser = compatibleBrowserMap.get(name);
if(compatibleBrowser==null){
return NONE;
}
return compatibleBrowser;
}
public static CompatibleBrowser getByCode(Integer code) {
CompatibleBrowser compatibleBrowser = compatibleBrowserCodeMap.get(code);
if(compatibleBrowser==null){
return NONE;
}
return compatibleBrowser;
}
}
\ No newline at end of file
package com.zjty.inspect.enums; package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/** /**
* <h4>Description : inspect</h4> * <h4>Description : inspect</h4>
* *
* @author : M@tr!x [xhyrzldf@foxmail.com] * @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 18:02 * @Date : 2020-03-05 18:02
*/ */
@Getter
public enum DatabaseType { public enum DatabaseType {
ACCESS(1,"ACCESS"), ORACLE,
POSTGRESQL(2,"PostgreSQL"), SQLSERVER,
SQLSERVER(3,"SQL Server"), DB2,
ORACLE(4,"Oracle"), MYSQL,
MYSQL(5,"MySQL"), SYBASE,
SYBASE(6,"SyBase"), NONE,
DB2(7,"DB2"),
MARIADB(8,"MariaDB"),
MONGODB(9,"MongoDB"),
COUCHBASE(10,"Couchbase"),
AMAZON(11,"Amazon"),
DYNAMODB(12,"DynamoDB"),
COUCHDB(13,"CouchDB"),
MARKLOGIC(14,"MarkLogic"),
NEO4J(15,"Neo4j"),
ORIENTDB(16,"OrientDB"),
TITAN(17,"Titan"),
VIRTUOSO(18,"Virtuoso"),
ARANGODB(19,"ArangoDB "),
HANGAO(20,"瀚高"),
DAMENG(21,"达梦"),
SHENTONG(22,"神通"),
JINCHANG(23,"人大金仓"),
OTHER(24,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
NONE(-1,"无");
private Integer code;
private String name;
DatabaseType() {
}
private static Map<String, DatabaseType> databaseTypeMap=new HashMap<>();
private static Map<Integer, DatabaseType> databaseTypeCodeMap=new HashMap<>();
static {
for (DatabaseType databaseType : DatabaseType.values()) {
databaseTypeMap.put(databaseType.getName(),databaseType);
databaseTypeCodeMap.put(databaseType.getCode(),databaseType);
}
}
DatabaseType(Integer code, String name) {
this.code = code;
this.name = name;
}
public static DatabaseType getByName(String name) {
DatabaseType databaseType = databaseTypeMap.get(name);
if(databaseType==null){
return NONE;
}
return databaseType;
}
public static DatabaseType getByCode(Integer code) {
DatabaseType databaseType = databaseTypeCodeMap.get(code);
if(databaseType==null){
return NONE;
}
return databaseType;
}
} }
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "bs浏览器技术名称")
@Getter
public enum FontTechnologyEnum {
BUSHEJI("不涉及",1),
NONE("无",-1),
JS("JS",2),
CSS("CSS",3),
ASP("ASP",4),
HTML("HTML",5),
JQUERY("JQuery框架",6),
ANGULAR("Angular框架",8),
VUE("VUE框架",9),
REACT("React框架",10),
QUCIK("QucikUI框架",11),
LAY("LayUI框架",12),
AVALON("Avalon框架",13),
DOJO("Dojo框架",14),
EMBER("Ember框架",15),
AURELIA("Aurelia框架",16),
QITA("其他:请在备注中填写,如需填写多个,请以逗号分隔",17);
//描述
private String name;
//序号
private Integer code;
FontTechnologyEnum() {
}
private static Map<String,FontTechnologyEnum> fontTechnologyEnumMap=new HashMap<>();
private static Map<Integer,FontTechnologyEnum> fontTechnologyEnumCodeMap=new HashMap<>();
static {
for (FontTechnologyEnum fontTechnologyEnum : FontTechnologyEnum.values()) {
fontTechnologyEnumMap.put(fontTechnologyEnum.getName(),fontTechnologyEnum);
fontTechnologyEnumCodeMap.put(fontTechnologyEnum.code,fontTechnologyEnum);
}
}
FontTechnologyEnum(String name, int code) {
this.name = name;
this.code = code;
}
public static FontTechnologyEnum getByName(String name){
FontTechnologyEnum fontTechnologyEnum = fontTechnologyEnumMap.get(name);
if(fontTechnologyEnum==null){
return NONE;
}
return fontTechnologyEnum;
}
public static FontTechnologyEnum getByCode(Integer code){
FontTechnologyEnum fontTechnologyEnum = fontTechnologyEnumCodeMap.get(code);
if(fontTechnologyEnum==null){
return NONE;
}
return fontTechnologyEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "主开发架构")
@Getter
public enum FrameWorkEnum {
NONE(-1,"无"),
NET(1,".NET体系下的框架"),
JEE(2,"J2EE体系下的框架"),
PHP(3,"ThinkPHP"),
YII(4,"Yii"),
CODEIGNITER(5,"CodeIgniter"),
LARAVEL(6,"Laravel"),
DJANGO(7,"Django"),
TORNADO(8,"Tornado"),
FLASK(9,"Flask"),
TWISTED(10,"Twisted"),
SCRAPY(11,"Scrapy"),
BOTTLE(12,"Bottle"),
WEBPY(13,"Webpy"),
FALCON(14,"Falcon"),
QITA(15,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
FrameWorkEnum() {
}
private static Map<String,FrameWorkEnum> frameWorkEnumMap=new HashMap<>();
private static Map<Integer,FrameWorkEnum> frameWorkEnumCodeMap=new HashMap<>();
static {
for (FrameWorkEnum frameWorkEnum : FrameWorkEnum.values()) {
frameWorkEnumMap.put(frameWorkEnum.getName(),frameWorkEnum);
frameWorkEnumCodeMap.put(frameWorkEnum.getCode(),frameWorkEnum);
}
}
FrameWorkEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static FrameWorkEnum getByName(String name){
FrameWorkEnum frameWorkEnum = frameWorkEnumMap.get(name);
if(frameWorkEnum==null){
return NONE;
}
return frameWorkEnum;
}
public static FrameWorkEnum getByCode(Integer code){
FrameWorkEnum frameWorkEnum = frameWorkEnumCodeMap.get(code);
if(frameWorkEnum==null){
return NONE;
}
return frameWorkEnum;
}
}
...@@ -5,8 +5,8 @@ public enum Framework { ...@@ -5,8 +5,8 @@ public enum Framework {
/** /**
* 架构 * 架构
*/ */
SEPARATE("分离型架构",1), 分离型架构("分离型架构",1),
MIXTURE("混合型架构",2); 混合型架构("混合型架构",2);
Framework(String name,Integer status){ Framework(String name,Integer status){
this.name=name; this.name=name;
......
package com.zjty.inspect.enums;
/**
*
*
* @author mcj
*/
public enum Language {
/**
* 语言
*/
JAVA("java",1),
PYTHON("python",3),
JAVASCRIPT("js",5),
GO("go",6),
HTML("html",7),
C("c#",8),
C("c++",9),
UNKNOW("unknowun",10);
Language(String name,Integer status){
this.name=name;
this.status=status;
}
private String name;
private Integer status;
public String getName() {
return name;
}
public Integer getStatus() {
return status;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "其他开发语言")
@Getter
public enum LanguageEnum {
NONE(-1,"无"),
C(1,"VC/C++/C#"),
VB(2,"VB"),
DELPHI(3,"Delphi"),
PHP(4,"PHP"),
JAVA(5,"JAVA"),
PYTHON(6,"Python"),
GO(7,"Go"),
RUST(8,"Rust"),
RUBY(9,"Ruby"),
PERL(10,"Perl"),
MATLAB(11,"Matlab"),
QITA(12,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
JAVASCRIPT(13,"JavaScript"),
HTML(14,"HTML"),
;
private Integer code;
private String name;
LanguageEnum() {
}
private static Map<String,LanguageEnum> languageEnumMap=new HashMap<>();
private static Map<Integer,LanguageEnum> languageEnumCodeMap=new HashMap<>();
static {
for (LanguageEnum languageEnum : LanguageEnum.values()) {
languageEnumMap.put(languageEnum.getName(),languageEnum);
languageEnumCodeMap.put(languageEnum.getCode(),languageEnum);
}
}
LanguageEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static LanguageEnum getByName(String name){
LanguageEnum languageEnum = languageEnumMap.get(name);
if(languageEnum==null){
return NONE;
}
return languageEnum;
}
public static LanguageEnum getByCode(Integer code){
LanguageEnum languageEnum = languageEnumCodeMap.get(code);
if(languageEnum==null){
return NONE;
}
return languageEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "主语言枚举类")
@Getter
public enum MainLanguageEnum {
C(1,"VC/C++/C#"),
VB(2,"VB"),
DELPHI(3,"Delphi"),
PHP(4,"PHP"),
JAVA(5,"JAVA"),
PYTHON(6,"Python"),
GO(7,"Go"),
RUST(8,"Rust"),
RUBY(9,"Ruby"),
PERL(10,"Perl"),
MATLAB(11,"Matlab"),
QITA(12,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
NONE(-1,"无");
private Integer code;
private String name;
MainLanguageEnum() {
}
private static Map<String,MainLanguageEnum> mainLanguageEnumMap=new HashMap<>();
private static Map<Integer,MainLanguageEnum> mainLanguageEnumCodeMap=new HashMap<>();
static {
for (MainLanguageEnum mainLanguageEnum : MainLanguageEnum.values()) {
mainLanguageEnumMap.put(mainLanguageEnum.getName(),mainLanguageEnum);
mainLanguageEnumCodeMap.put(mainLanguageEnum.getCode(),mainLanguageEnum);
}
}
MainLanguageEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MainLanguageEnum getByName(String name){
MainLanguageEnum mainLanguageEnum = mainLanguageEnumMap.get(name);
if(mainLanguageEnum==null){
return NONE;
}
return mainLanguageEnum;
}
public static MainLanguageEnum getByCode(Integer code){
MainLanguageEnum mainLanguageEnum = mainLanguageEnumMap.get(code);
if(mainLanguageEnum==null){
return NONE;
}
return mainLanguageEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "微服务")
@Getter
public enum MicroServiceEnum {
NONE(-1,"无"),
FLUME(0,"Flume"),
ZOOKEEPER(1,"Zookeeper"),
RIBBON(2,"Ribbon"),
HYSTIX(3,"Hystix"),
HBASE(4,"HBASE"),
HIVE(5,"Hive"),
SPARKSTROM(6,"Spark Strom"),
RESTTEMPLATE(7,"RestTemplate"),
KVM(8,"KVM"),
OPENSTACK(9,"Openstack"),
KUBERNETES(10,"Kubernetes"),
DOCKER(11,"Docker"),
EXMOBI(12,"Exmobi"),
DATAV(13,"DataV"),
RAYDATA(14,"RayData"),
BIANMU(15,"编目服务:请在备注中填写,如需填写多个,请以逗号分隔"),
DITU(16,"地图类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
TUBIAO(17,"图表视图类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
SHIBIE(18,"识别类微服务:请在备注中填写"),
NEIRONG(19,"内容审查类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
FENXI(20,"智能分析类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
DATA(21,"数据引用类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
IOQUICK(22,"流媒体加速类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
JIAMI(23,"加密类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
OTHER(24,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
MicroServiceEnum() {
}
private static Map<String,MicroServiceEnum> microServiceEnumMap=new HashMap<>();
static {
for (MicroServiceEnum microServiceEnum : MicroServiceEnum.values()) {
microServiceEnumMap.put(microServiceEnum.getName(),microServiceEnum);
}
}
MicroServiceEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MicroServiceEnum getByName(String name){
MicroServiceEnum microServiceEnum = microServiceEnumMap.get(name);
if(microServiceEnum == null){
return NONE;
}
return microServiceEnum;
}
}
package com.zjty.inspect.enums; package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/** /**
* <h4>Description : inspect</h4> * <h4>Description : inspect</h4>
* *
* @author : M@tr!x [xhyrzldf@foxmail.com] * @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 17:53 * @Date : 2020-03-05 17:53
*/ */
@Getter
public enum MiddlewareEnum { public enum MiddlewareEnum {
NONE(-1, "无"), TOMCAT,
IIS(0, "IIS"), JBOSS,
TOMCAT(1, "Tomcat"), NGNIX,
NGNIX(2, "Ngnix"), WEBSPHERE,
WEBSPHERE(3, "Websphere"), WEBLOGIC,
WEBLOGIC(4, "Weblogic"), NONE,
JBOSS(5, "JBOSS"),
JONAS(6, "JOnAS"),
HADOOP(7, "Hadoop"),
KAFKA(8, "Kafka"),
SPARK(9, "Spark"),
LVS(10, "LVS"),
LHA(11, "LHA"),
GERONIMO(12, "Geronimo"),
JINDIE(13, "金蝶"),
DONGFANGTONG(14, "东方通"),
OTHER(15, "其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String, MiddlewareEnum> middlewareEnumMap = new HashMap<>();
private static Map<Integer, MiddlewareEnum> middlewareEnumCodeMap = new HashMap<>();
static {
for (MiddlewareEnum middlewareEnum : MiddlewareEnum.values()) {
middlewareEnumMap.put(middlewareEnum.getName(), middlewareEnum);
middlewareEnumCodeMap.put(middlewareEnum.getCode(), middlewareEnum);
}
}
MiddlewareEnum() {
}
MiddlewareEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MiddlewareEnum getByName(String name) {
MiddlewareEnum middlewareEnum = middlewareEnumMap.get(name);
if(middlewareEnum==null){
return NONE;
}
return middlewareEnum;
}
public static MiddlewareEnum getByCode(Integer code) {
MiddlewareEnum middlewareEnum = middlewareEnumCodeMap.get(code);
if(middlewareEnum==null){
return NONE;
}
return middlewareEnum;
}
} }
package com.zjty.inspect.enums; package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/** /**
* <h4>Description : 操作系统</h4> * <h4>Description : 操作系统</h4>
* *
* @author : M@tr!x [xhyrzldf@foxmail.com] * @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 17:03 * @Date : 2020-03-05 17:03
*/ */
@Getter
public enum OperateSystem { public enum OperateSystem {
CENTEROSREALES,
WINDOWSXP10(1,"Windows(XP-Win10)"), WINSERVER2006,
WINDOWSSERVER200816(2,"WindowsServer(2008-2016)"), WINSERVER2012,
WINDOWSSERVER201620(3,"WindowsServer(2016-2020)"), REDHATREALES,
REDHATORACLELINUX(4,"Redhat/OracleLinux系列"), UBUNTU,
CENTOS(5,"CentOS系列"), AIX,
UBUNTU(6,"Ubuntu系列"), NONE,
SUSE(7,"SUSE系列"),
DEBIAN(8,"Debian系列"),
FEDORA(9,"Fedora系列"),
MAGEIA(10,"Mageia系例"),
LEDE(11,"LEDE系列"),
OPENWRT(12,"Openwrt GNU版本"),
DEEPIN(13,"Deepin GNU版本"),
UOS(14,"UOS GNU版本"),
WINNINGKIRIN(15,"中标麒麟 GNU版本"),
MILKYKIRIN(16,"银河麒麟 GNU版本"),
ZHONGKEFANGDE(17,"中科方德 GNU版本"),
XINZIDIAN(18,"新支点 GNU版本"),
PUHUA(19,"普华 GNU版本"),
APPLEUNIXGNU(20,"Apple-UnixGNU版本"),
IBMAIX(21,"IBM-AIX系列"),
HPUX(22,"HP-UX系列"),
SUNSOLARIS(23,"SUN-Solaris系列"),
MPISIRIX(24,"MPIS-Irix系列"),
NONE(-1,"无");
private Integer code;
private String name;
OperateSystem() {
}
private static Map<String, OperateSystem> operateSystemMap=new HashMap<>();
private static Map<Integer, OperateSystem> operateSystemCodeMap=new HashMap<>();
static {
for (OperateSystem operateSystem : OperateSystem.values()) {
operateSystemMap.put(operateSystem.getName(),operateSystem);
operateSystemCodeMap.put(operateSystem.getCode(),operateSystem);
}
}
OperateSystem(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OperateSystem getByName(String name){
OperateSystem operateSystem = operateSystemMap.get(name);
if(operateSystem==null){
return NONE;
}
return operateSystem;
}
public static OperateSystem getByCode(String name){
OperateSystem operateSystem = operateSystemCodeMap.get(name);
if(operateSystem==null){
return NONE;
}
return operateSystem;
}
} }
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "打包方式")
@Getter
public enum OpgaEnum {
NONE(-1,"无"),
SETUPINSHEILD(1,"SetUp/InstallSheild封装"),
MAVEN(2,"Maven打包方式"),
GRADLE(3,"Gradle打包方式"),
QITA(4,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,OpgaEnum> opgaEnumMap=new HashMap<>();
private static Map<Integer,OpgaEnum> opgaEnumCodeMap=new HashMap<>();
static {
for (OpgaEnum opgaEnum : OpgaEnum.values()) {
opgaEnumMap.put(opgaEnum.getName(),opgaEnum);
opgaEnumCodeMap.put(opgaEnum.getCode(),opgaEnum);
}
}
OpgaEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OpgaEnum getByName(String name){
OpgaEnum opgaEnum = opgaEnumMap.get(name);
if(opgaEnum==null){
return NONE;
}
return opgaEnum;
}
public static OpgaEnum getByCode(Integer code){
OpgaEnum opgaEnum = opgaEnumCodeMap.get(code);
if(opgaEnum==null){
return NONE;
}
return opgaEnum;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum OtherApiEnum {
NONE(-1,"无"),
JNDI(0,"JNDI"),
ML(1,"其他命名与目录类API:请在备注中填写,如需填写多个,请以逗号分隔"),
JMS(2,"JMS"),
RestFul(3,"RestFul"),
XX(4,"其他消息类API:请在备注中填写,如需填写多个,请以逗号分隔"),
AMQP(5,"AMQP"),
KAFKA(6,"Kafka API"),
MQTT(7,"MQTT"),
ROUTE(8,"其他消息路由类API:请在备注中填写,如需填写多个,请以逗号分隔"),
ES(9,"ES"),
YQ(10,"其他搜索引擎类API:请在备注中填写,如需填写多个,请以逗号分隔"),
LOGSTASH(11,"Logstash"),
LOG(12,"其他分析日志类API:请在备注中填写,如需填写多个,请以逗号分隔"),
KIBANA(13,"Kibana"),
FXKS(14,"其他分析可视化类API:请在备注中填写,如需填写多个,请以逗号分隔"),
REDIS(15,"Redis"),
JIQ(16,"其他集群类API:请在备注中填写,如需填写多个,请以逗号分隔"),
ARCGIS(17,"ARCGIS"),
GIS(18,"其他GIS类API:请在备注中填写,如需填写多个,请以逗号分隔"),
EDIT(19,"在线编辑API:请在备注中填写,如需填写多个,请以逗号分隔"),
TUBIAO(20,"统计图表类API:请在备注中填写,如需填写多个,请以逗号分隔"),
BF(21,"播放类API:请在备注中填写,如需填写多个,请以逗号分隔"),
YJ(22,"硬件驱动类API:请在备注中填写,如需填写多个,请以逗号分隔"),
OCR(23,"OCR识别类API:请在备注中填写,如需填写多个,请以逗号分隔"),
JIAMI(24,"加密类API:请在备注中填写,如需填写多个,请以逗号分隔"),
OTHER(25,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,OtherApiEnum> otherApiEnumMap=new HashMap<>();
private static Map<Integer,OtherApiEnum> otherApiCodeEnumMap=new HashMap<>();
static {
for (OtherApiEnum otherApiEnum : OtherApiEnum.values()) {
otherApiEnumMap.put(otherApiEnum.getName(),otherApiEnum);
}
for (OtherApiEnum otherApiEnum : OtherApiEnum.values()) {
otherApiCodeEnumMap.put(otherApiEnum.getCode(),otherApiEnum);
}
}
OtherApiEnum() {
}
OtherApiEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OtherApiEnum getByName(String name){
OtherApiEnum otherApiEnum = otherApiEnumMap.get(name);
if(otherApiEnum==null){
return NONE;
}
return otherApiEnum;
}
public static OtherApiEnum getByCode(Integer code){
OtherApiEnum otherApiEnum = otherApiCodeEnumMap.get(code);
if(otherApiEnum==null){
return NONE;
}
return otherApiEnum;
}
}
...@@ -5,8 +5,8 @@ public enum RecastMethod { ...@@ -5,8 +5,8 @@ public enum RecastMethod {
/** /**
* 架构 * 架构
*/ */
RECONSITUTION("适配重构",1), 适配重构("适配重构",1),
MODIFICATION("代码修改",2); 代码修改("代码修改",2);
RecastMethod(String name, Integer status){ RecastMethod(String name, Integer status){
this.name=name; this.name=name;
......
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum RpoEnum {
QLM(0,"与RTO时间的前60秒同步"),
QLF(1,"与RTO时间的前60分钟同步"),
QSS(2,"与RTO时间的前10小时同步"),
QESS(3,"与RTO时间的前24小时同步"),
HFQ(4,"允许丢失恢复期间所产生的数据"),
GJ(5,"允许丢失割接准备时期+恢复期间所产生的数据"),
GJALL(6,"允许丢失割接前备份以外的所有数据"),
NONE(-1,"无");
private static Map<String,RpoEnum> rpoEnumHashMap=new HashMap<>();
private static Map<Integer,RpoEnum> rpoCodeEnumHashMap=new HashMap<>();
static {
for (RpoEnum rpoEnum : RpoEnum.values()) {
rpoEnumHashMap.put(rpoEnum.getName(),rpoEnum);
rpoCodeEnumHashMap.put(rpoEnum.getCode(),rpoEnum);
}
}
public static RpoEnum getByName(String name){
RpoEnum rpoEnum = rpoEnumHashMap.get(name);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
public static RpoEnum getByCode(Integer code){
RpoEnum rpoEnum = rpoCodeEnumHashMap.get(code);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
private Integer code;
private String name;
RpoEnum() {
}
RpoEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum RtoEnum {
YI(0,"1-60秒"),
//平滑过渡
SHI(1,"10分钟内"),
SAN(2,"30分钟内"),
LIU(3,"60分钟内"),
Y(4,"1-5小时"),
WU(5,"5-10小时"),
ERS(6,"24小时内"),
SIB(7,"48小时内"),
//暂停服务
QI(8,"72小时内"),
//休息日或晚间替换
ZH(9,"一周内"),
NONE(-1,"无");
private Integer code;
private String name;
RtoEnum() {
}
private static Map<String,RtoEnum> rtoEnumHashMap=new HashMap<>();
private static Map<Integer,RtoEnum> rtoCodeEnumHashMap=new HashMap<>();
static {
for (RtoEnum rtoEnum : RtoEnum.values()) {
rtoEnumHashMap.put(rtoEnum.getName(),rtoEnum);
rtoCodeEnumHashMap.put(rtoEnum.getCode(),rtoEnum);
}
}
public static RtoEnum getByName(String name){
RtoEnum rpoEnum = rtoEnumHashMap.get(name);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
public static RtoEnum getByCode(Integer code){
RtoEnum rpoEnum = rtoEnumHashMap.get(code);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
RtoEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}
...@@ -4,7 +4,7 @@ import com.zjty.inspect.dao.*; ...@@ -4,7 +4,7 @@ import com.zjty.inspect.dao.*;
import com.zjty.inspect.entity.*; import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.DependenceManagement; import com.zjty.inspect.enums.DependenceManagement;
import com.zjty.inspect.enums.Framework; import com.zjty.inspect.enums.Framework;
import com.zjty.inspect.enums.LanguageEnum; import com.zjty.inspect.enums.Language;
import com.zjty.inspect.enums.RecastMethod; import com.zjty.inspect.enums.RecastMethod;
import com.zjty.inspect.service.RuleService; import com.zjty.inspect.service.RuleService;
import com.zjty.inspect.utils.*; import com.zjty.inspect.utils.*;
...@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; ...@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.MalformedInputException;
import java.nio.file.*; import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.util.*; import java.util.*;
...@@ -111,7 +112,7 @@ public class Inspector { ...@@ -111,7 +112,7 @@ public class Inspector {
* key:properties * key:properties
* value:[{/Users/path},{/Users/path}] * value:[{/Users/path},{/Users/path}]
*/ */
private Map<String, LanguageEnum> suffixLanguageMapping = new HashMap<>(16); private Map<String, Language> suffixLanguageMapping = new HashMap<>(16);
/** /**
* 规则列表 * 规则列表
...@@ -263,22 +264,22 @@ public class Inspector { ...@@ -263,22 +264,22 @@ public class Inspector {
//统计文件最多的 //统计文件最多的
for (Map.Entry<String, Counter> entry : languageMatchMap.entrySet()) { for (Map.Entry<String, Counter> entry : languageMatchMap.entrySet()) {
if (entry.getValue().getNumber() > maxnum) { if (entry.getValue().getNumber() > maxnum) {
LanguageEnum language = suffixLanguageMapping.get(entry.getKey()); Language language = suffixLanguageMapping.get(entry.getKey());
most = language.name(); most = language.name();
mostStatus = language.getCode(); mostStatus = language.getStatus();
maxnum = entry.getValue().getNumber(); maxnum = entry.getValue().getNumber();
} }
} }
//设置语言 //设置语言
report.setLanguage(most == null ? LanguageEnum.NONE.getCode() : mostStatus); report.setLanguage(most == null ? Language.UNKNOW.getStatus() : mostStatus);
//设置架构 //设置架构
report.setFramework(languageMatchMap.get("jsp").i > 0 ? Framework.MIXTURE.getStatus() : Framework.SEPARATE.getStatus()); report.setFramework(languageMatchMap.get("jsp").i > 0 ? Framework.混合型架构.getStatus() : Framework.分离型架构.getStatus());
//设置是否需要重构 //设置是否需要重构
if (languageMatchMap.get("jsp").i == 0 & languageMatchMap.get("java").i == 0) { if (languageMatchMap.get("jsp").i == 0 & languageMatchMap.get("java").i == 0) {
report.setRecastMethod(RecastMethod.RECONSITUTION.getStatus()); report.setRecastMethod(RecastMethod.适配重构.getStatus());
log.info("inspect:代码解析完成,建议进行适配重构"); log.info("inspect:代码解析完成,建议进行适配重构");
} else { } else {
report.setRecastMethod(RecastMethod.MODIFICATION.getStatus()); report.setRecastMethod(RecastMethod.代码修改.getStatus());
log.info("inspect:代码解析完成,建议进行代码修改"); log.info("inspect:代码解析完成,建议进行代码修改");
} }
} }
......
package com.zjty.inspect.service; package com.zjty.inspect.service;
import com.zjty.inspect.entity.Evaluation; import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.Rule;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import java.util.List;
import java.util.Map; import java.util.Map;
public interface EvaluationService { public interface EvaluationService {
...@@ -13,4 +15,5 @@ public interface EvaluationService { ...@@ -13,4 +15,5 @@ public interface EvaluationService {
Page<Evaluation> findSearch(Map searchMap, int page, int size); Page<Evaluation> findSearch(Map searchMap, int page, int size);
Evaluation findById(String id); Evaluation findById(String id);
Evaluation findByName(String name); Evaluation findByName(String name);
} }
...@@ -2,10 +2,11 @@ package com.zjty.inspect.service.impl; ...@@ -2,10 +2,11 @@ package com.zjty.inspect.service.impl;
import com.zjty.inspect.dao.EvaluationDao; import com.zjty.inspect.dao.EvaluationDao;
import com.zjty.inspect.entity.Evaluation; import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.Rule;
import com.zjty.inspect.service.EvaluationService; import com.zjty.inspect.service.EvaluationService;
import com.zjty.inspect.utils.TimeUtil;
import com.zjty.inspect.utils.UUIDUtil; import com.zjty.inspect.utils.UUIDUtil;
import io.netty.util.internal.StringUtil; import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
...@@ -24,43 +25,40 @@ import java.util.List; ...@@ -24,43 +25,40 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@Slf4j
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class EvaluationServiceImpl implements EvaluationService { public class EvaluationServiceImpl implements EvaluationService {
@Autowired @Autowired
private EvaluationDao evaluationDao; private EvaluationDao evaluationDao;
@Override @Override
public Evaluation save(Evaluation evaluation) { public Evaluation save(Evaluation evaluation) {
log.info("evaluation为:{}",evaluation); if(StringUtils.isEmpty(evaluation.getInEva())) {
if (StringUtils.isEmpty(evaluation.getInEva())) {
return null; return null;
} }
if (StringUtil.isNullOrEmpty(evaluation.getOutEva())) { if(StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
return null; return null;
} }
if (StringUtil.isNullOrEmpty(evaluation.getUsername())) { if(StringUtil.isNullOrEmpty(evaluation.getUsername())){
return null; return null;
} }
if (StringUtil.isNullOrEmpty(evaluation.getProjectName())) { if(StringUtil.isNullOrEmpty(evaluation.getProjectName())){
return null; return null;
} }
String uuid = UUIDUtil.getUUID(); String uuid = UUIDUtil.getUUID();
evaluation.setId(uuid); evaluation.setId(uuid);
return evaluationDao.save(evaluation); return evaluationDao.save(evaluation);
} }
@Override @Override
public void update(Evaluation evaluation) { public void update(Evaluation evaluation) {
Evaluation evaluation1 = evaluationDao.findByUsernameAndIdNot(evaluation.getUsername(), evaluation.getId()); Evaluation evaluation1 = evaluationDao.findByUsernameAndIdNot(evaluation.getUsername(),evaluation.getId());
if (evaluation1 != null) { if(evaluation1!=null){
return; return;
} }
if (StringUtil.isNullOrEmpty(evaluation.getInEva())) { if(StringUtil.isNullOrEmpty(evaluation.getInEva())) {
return; return;
} }
if (StringUtil.isNullOrEmpty(evaluation.getOutEva())) { if(StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
return; return;
} }
evaluationDao.save(evaluation); evaluationDao.save(evaluation);
...@@ -75,14 +73,14 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -75,14 +73,14 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override @Override
public Page<Evaluation> findSearch(Map searchMap, int page, int size) { public Page<Evaluation> findSearch(Map searchMap, int page, int size) {
Specification<Evaluation> specification = createSpecification(searchMap); Specification<Evaluation> specification = createSpecification(searchMap);
PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.Direction.DESC, "createDate"); PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.Direction.DESC,"createDate");
return evaluationDao.findAll(specification, pageRequest); return evaluationDao.findAll(specification, pageRequest);
} }
@Override @Override
public Evaluation findById(String id) { public Evaluation findById(String id) {
Optional<Evaluation> evaluation = evaluationDao.findById(id); Optional<Evaluation> evaluation = evaluationDao.findById(id);
if (evaluation.isPresent()) { if(evaluation.isPresent()){
return evaluation.get(); return evaluation.get();
} }
return null; return null;
...@@ -91,12 +89,14 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -91,12 +89,14 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override @Override
public Evaluation findByName(String name) { public Evaluation findByName(String name) {
Evaluation evaluation = evaluationDao.findByUsernameAndMaxCreateDate(name); Evaluation evaluation = evaluationDao.findByUsernameAndMaxCreateDate(name);
if (evaluation != null) { if(evaluation!=null){
return evaluation; return evaluation;
} }
return null; return null;
} }
/** /**
* 动态条件构建 * 动态条件构建
* *
......
...@@ -2,22 +2,25 @@ package com.zjty.inspect.service.impl; ...@@ -2,22 +2,25 @@ package com.zjty.inspect.service.impl;
import com.zjty.inspect.dao.ReportDao; import com.zjty.inspect.dao.ReportDao;
import com.zjty.inspect.entity.*; import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.LanguageEnum; import com.zjty.inspect.enums.Language;
import com.zjty.inspect.service.InspectService; import com.zjty.inspect.service.InspectService;
import com.zjty.inspect.inspect.Inspector; import com.zjty.inspect.inspect.Inspector;
import com.zjty.inspect.service.ParameterService; import com.zjty.inspect.service.ParameterService;
import com.zjty.inspect.service.TechnologyService; import com.zjty.inspect.service.TechnologyService;
import com.zjty.inspect.utils.FileUtil; import com.zjty.inspect.utils.FileUtil;
import com.zjty.inspect.utils.FreemarkerUtils; import com.zjty.inspect.utils.FreemarkerUtils;
import com.zjty.inspect.utils.RandomUtil;
import com.zjty.inspect.utils.TimeUtil; import com.zjty.inspect.utils.TimeUtil;
import freemarker.cache.StringTemplateLoader; import freemarker.cache.StringTemplateLoader;
import freemarker.template.Configuration; import freemarker.template.Configuration;
import freemarker.template.Template; import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -45,18 +48,18 @@ public class InspectServiceImpl implements InspectService { ...@@ -45,18 +48,18 @@ public class InspectServiceImpl implements InspectService {
@Override @Override
public ReportVo inspect(ReportVo reportVo,InspectParameter inspectParameter) throws IOException { public ReportVo inspect(ReportVo reportVo,InspectParameter inspectParameter) throws IOException {
//统计文件后缀数量 //统计文件后缀数量
Map<String, LanguageEnum> suffixLanguageMapping = new HashMap<>(); Map<String, Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java", LanguageEnum.JAVA); suffixLanguageMapping.put("java", Language.JAVA);
suffixLanguageMapping.put("aspx", LanguageEnum.C); suffixLanguageMapping.put("aspx", Language.C);
suffixLanguageMapping.put("cs", LanguageEnum.C); suffixLanguageMapping.put("cs", Language.C);
suffixLanguageMapping.put("resx", LanguageEnum.C); suffixLanguageMapping.put("resx", Language.C);
suffixLanguageMapping.put("vue", LanguageEnum.JAVASCRIPT); suffixLanguageMapping.put("vue", Language.JAVASCRIPT);
suffixLanguageMapping.put("cpp", LanguageEnum.C); suffixLanguageMapping.put("cpp", Language.C);
suffixLanguageMapping.put("py", LanguageEnum.PYTHON); suffixLanguageMapping.put("py", Language.PYTHON);
suffixLanguageMapping.put("jsp", LanguageEnum.JAVA); suffixLanguageMapping.put("jsp", Language.JAVA);
suffixLanguageMapping.put("go", LanguageEnum.GO); suffixLanguageMapping.put("go", Language.GO);
suffixLanguageMapping.put("js", LanguageEnum.JAVASCRIPT); suffixLanguageMapping.put("js", Language.JAVASCRIPT);
suffixLanguageMapping.put("html", LanguageEnum.HTML); suffixLanguageMapping.put("html", Language.HTML);
//构造成员变量 //构造成员变量
inspector.setInspectParameter(inspectParameter); inspector.setInspectParameter(inspectParameter);
//构造报告vo //构造报告vo
...@@ -103,7 +106,6 @@ public class InspectServiceImpl implements InspectService { ...@@ -103,7 +106,6 @@ public class InspectServiceImpl implements InspectService {
return null; return null;
} }
//执行静态化 //执行静态化
@Override
public String generateHtml(String templateContent,Map model ){ public String generateHtml(String templateContent,Map model ){
//创建配置对象 //创建配置对象
......
...@@ -63,11 +63,12 @@ public class BudgetUitl { ...@@ -63,11 +63,12 @@ public class BudgetUitl {
inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1))); inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1)));
Double moneyRate = inspectParameter.getMoneyRate(); Double moneyRate = inspectParameter.getMoneyRate();
System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter)); System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter));
int year = inspectParameter.getYears(); int mouth = inspectParameter.getYears();
if(inspectParameter.getYears()==-1){ if(inspectParameter.getYears()==-1){
year=1; mouth=1;
} }
double pow = Math.pow(moneyRate, year); double pow = Math.pow(moneyRate, mouth);
//带修正系数资金 //带修正系数资金
ArrayList<String> strings = new ArrayList<>(); ArrayList<String> strings = new ArrayList<>();
strings.add("安全能力"); strings.add("安全能力");
......
package com.zjty.inspect.utils; package com.zjty.inspect.utils;
import com.alibaba.fastjson.JSON;
import com.zjty.inspect.entity.*; import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.*; import com.zjty.inspect.enums.CompatibleBrowser;
import com.zjty.inspect.enums.DatabaseType;
import com.zjty.inspect.enums.MiddlewareEnum;
import com.zjty.inspect.enums.OperateSystem;
import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
...@@ -10,7 +12,10 @@ import org.apache.poi.ss.usermodel.Row; ...@@ -10,7 +12,10 @@ import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -27,29 +32,30 @@ public class ExcelUtil { ...@@ -27,29 +32,30 @@ public class ExcelUtil {
private static String xlsx = "xlsx"; private static String xlsx = "xlsx";
private static String xls = "xls"; private static String xls = "xls";
private static List<ExcelDataEntity> arrayList; public static Reform parseExcel(MultipartFile f1) {
public static Reform parseExcel(InputStream fileInputStream, String fileName) {
Reform reform = new Reform();
try { try {
String[] split = Objects.requireNonNull(fileName).split("\\."); InputStream fileInputStream = f1.getInputStream();
String[] split = Objects.requireNonNull(f1.getOriginalFilename()).split("\\.");
if (xlsx.equals(split[1])) { if (xlsx.equals(split[1])) {
XSSFWorkbook xwb = new XSSFWorkbook(fileInputStream); XSSFWorkbook xwb = new XSSFWorkbook(fileInputStream);
//3、得到Excel工作表对象 //3、得到Excel工作表对象
XSSFSheet sheetAt = xwb.getSheetAt(1); XSSFSheet sheetAt = xwb.getSheetAt(0);
reform = getReform(sheetAt); Reform reform = getReform(sheetAt);
return reform;
} else if (xls.equals(split[1])) { } else if (xls.equals(split[1])) {
HSSFWorkbook xwb = new HSSFWorkbook(fileInputStream); HSSFWorkbook xwb = new HSSFWorkbook(fileInputStream);
//3、得到Excel工作表对象 //3、得到Excel工作表对象
HSSFSheet sheetAt = xwb.getSheetAt(1); HSSFSheet sheetAt = xwb.getSheetAt(0);
reform = getReform(sheetAt); Reform reform = getReform(sheetAt);
return reform;
} }
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return reform; return new Reform();
} }
private static String getExcelCell(int rowNum, int cellNum, Sheet sheetAt) { private static String getExcelCell(int rowNum, int cellNum, Sheet sheetAt) {
...@@ -63,26 +69,13 @@ public class ExcelUtil { ...@@ -63,26 +69,13 @@ public class ExcelUtil {
//单位名称 //单位名称
String unitName = getExcelCell(2, 2, sheetAt); String unitName = getExcelCell(2, 2, sheetAt);
reform.setUnitName(unitName); reform.setUnitName(unitName);
//单位联系方式
String unitPhone = getExcelCell(2, 4, sheetAt);
String[] split = unitPhone.split("\n");
if (split.length > 1) {
reform.setUnitContent(split[0]);
reform.setUnitPhone(split[1]);
}
reform.setUnitName(unitName);
//系统名称 //系统名称
String projectName = getExcelCell(3, 2, sheetAt); String projectName = getExcelCell(3, 2, sheetAt);
reform.setProjectName(projectName); reform.setProjectName(projectName);
String cost = getExcelCell(4, 2, sheetAt); String cost = getExcelCell(4, 2, sheetAt);
double i1 = returnDouble(cost); if (!cost.equals("")) {
reform.setCost((int) i1); reform.setCost(Integer.valueOf(cost));
String cycle = getExcelCell(5, 2, sheetAt); }
String s = cycle.replaceAll("年", "");
reform.setCycle(returnNum(s));
String time = getExcelCell(6, 2, sheetAt); String time = getExcelCell(6, 2, sheetAt);
if (!"".equals(time)) { if (!"".equals(time)) {
if ("10年以上".equals(time)) { if ("10年以上".equals(time)) {
...@@ -94,673 +87,312 @@ public class ExcelUtil { ...@@ -94,673 +87,312 @@ public class ExcelUtil {
} }
} }
String address = getExcelCell(7, 2, sheetAt); String address = getExcelCell(7, 2, sheetAt);
reform.setAddress(yesOrNo(address)); if ("是".equals(address)) {
String nativeContent = getExcelCell(7, 4, sheetAt); reform.setAddress(1);
String[] nativeUnit = nativeContent.split("\n"); } else {
if (nativeUnit.length > 0) { reform.setAddress(2);
reform.setLocalContact(nativeUnit[0]);
reform.setLocalPhone(nativeUnit[1]);
} }
String secret = getExcelCell(8, 2, sheetAt); String secret = getExcelCell(8, 2, sheetAt);
reform.setSecret(yesOrNo(secret)); if ("是".equals(secret)) {
reform.setSecret(1);
String gradeProtection = getExcelCell(9, 2, sheetAt); } else {
reform.setGradeProtection(yesOrNo(gradeProtection)); reform.setSecret(2);
}
String construction = getExcelCell(10, 2, sheetAt); String construction = getExcelCell(10, 2, sheetAt);
reform.setFramework( getFramework(construction)); if ("B/S".equals(construction) || "C/S".equals(construction)) {
reform.setFramework(2);
} else if ("单机运行".equals(construction)) {
reform.setAddress(0);
} else if ("分布式".equals(construction)) {
reform.setFramework(4);
}
String disaster = getExcelCell(11, 2, sheetAt); String disaster = getExcelCell(11, 2, sheetAt);
int i2 = SpecialYesOrNo(disaster); if ("是".equals(disaster)) {
reform.setDisasterTolerance(i2); reform.setDisasterTolerance(4);
} else {
reform.setDisasterTolerance(0);
}
String type = getExcelCell(12, 2, sheetAt); String type = getExcelCell(12, 2, sheetAt);
ArrayList<Integer> applicationType = new ArrayList<>(); ArrayList<Integer> applicationType = new ArrayList<>();
if ("办公OA应用类".equals(type)) {
switch (type) { applicationType.add(1);
case "办公OA应用类": } else if ("门户、信息发布、综合入口服务类".equals(type)) {
applicationType.add(1); applicationType.add(2);
break; } else if ("申报、填报、审批等公共行政服务类".equals(type)) {
case "门户、信息发布、综合入口服务类": applicationType.add(4);
applicationType.add(2); } else if ("数据收集、分析、态势感知等大数据应用类".equals(type)) {
break; applicationType.add(5);
case "申报、填报、审批等公共行政服务类": } else if ("地图、定位等GIS服务类".equals(type)) {
applicationType.add(4); applicationType.add(6);
break; } else if ("视频、图形等流媒体应用类".equals(type)) {
case "数据收集、分析、态势感知等大数据应用类": applicationType.add(7);
applicationType.add(5); } else if ("3D、模型等视觉建模应用类".equals(type)) {
break; applicationType.add(8);
case "地图、定位等GIS服务类":
applicationType.add(6);
break;
case "视频、图形等流媒体应用类":
applicationType.add(7);
break;
case "3D、模型等视觉建模应用类":
applicationType.add(8);
break;
} }
reform.setApplicationType(applicationType); reform.setApplicationType(applicationType);
String module = getExcelCell(13, 2, sheetAt); String module = getExcelCell(13, 2, sheetAt);
reform.setModuleNum((int) returnDouble(module)); if (!"".equals(module)) {
reform.setModuleNum(Integer.valueOf(module));
}
String mode = getExcelCell(15, 2, sheetAt); String mode = getExcelCell(15, 2, sheetAt);
if ("终端适配".equals(mode)) { if ("终端适配".equals(mode)) {
reform.setMode(2); reform.setMode(2);
} else { } else {
reform.setMode(1); reform.setMode(1);
} }
DevelopLanguageSystem developLanguageSystem = new DevelopLanguageSystem();
List<BaseDes> devFrameworks = new ArrayList<>();
for (int i = 17; i < 22; i++) {
String framework = getExcelCell(i, 2, sheetAt);
if ("".equals(framework)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes devFramework = new BaseDes();
FrameWorkEnum frameWorkEnum = FrameWorkEnum.getByName(framework);
if (frameWorkEnum != null) {
devFramework.setCode(frameWorkEnum.getCode());
devFramework.setVersion(version);
devFramework.setDes(remark);
devFrameworks.add(devFramework);
}
}
developLanguageSystem.setDevFrameworks(devFrameworks);
List<BaseDes> fontTechnologies = new ArrayList<>();
for (int i = 22; i < 29; i++) {
String framework = getExcelCell(i, 2, sheetAt);
if ("".equals(framework)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes font = new BaseDes();
FontTechnologyEnum fontTechnologyEnum = FontTechnologyEnum.getByName(framework);
if (fontTechnologyEnum != null) {
font.setCode(fontTechnologyEnum.getCode());
font.setName(framework);
font.setDes(remark);
font.setVersion(version);
fontTechnologies.add(font);
}
}
developLanguageSystem.setFontDevTechnologies(fontTechnologies);
ArrayList<BaseDes> fontDevTechnologies = new ArrayList<BaseDes>();
for (int i = 28; i < 35; i++) {
String framework = getExcelCell(i, 2, sheetAt);
if ("".equals(framework)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes cs = new BaseDes();
cs.setDes(remark);
cs.setVersion(version);
CSTechnologyEnum csTechnologyEnum = CSTechnologyEnum.getByName(framework);
if (csTechnologyEnum != null) {
cs.setCode(csTechnologyEnum.getCode());
cs.setName(csTechnologyEnum.getName());
fontDevTechnologies.add(cs);
}
}
developLanguageSystem.setCsDevTechnologies(fontDevTechnologies);
List<BaseDes> opGAS = new ArrayList<>();
for (int i = 34; i < 39; i++) {
String framework = getExcelCell(i, 2, sheetAt);
if ("".equals(framework)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes opGA = new BaseDes();
OpgaEnum opgaEnum = OpgaEnum.getByName(framework);
if (opgaEnum != null) {
opGA.setName(framework);
opGA.setCode(opgaEnum.getCode());
opGA.setVersion(version);
opGA.setDes(remark);
opGAS.add(opGA);
}
}
developLanguageSystem.setOpGAs(opGAS);
String language = getExcelCell(39, 2, sheetAt);
developLanguageSystem.setCode(MainLanguageEnum.getByName(language).getCode());
developLanguageSystem.setName(MainLanguageEnum.getByName(language).getName());
ArrayList<BaseDes> devLanguages = new ArrayList<>();
for (int i = 40; i < 45; i++) {
String lan = getExcelCell(i, 2, sheetAt);
if ("".equals(lan)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes devLanguage = new BaseDes();
LanguageEnum languageEnum = LanguageEnum.getByName(lan);
if (languageEnum != null) {
devLanguage.setName(languageEnum.getName());
devLanguage.setCode(languageEnum.getCode());
devLanguage.setVersion(version);
devLanguage.setDes(remark);
devLanguages.add(devLanguage);
}
}
developLanguageSystem.setDevLanguages(devLanguages);
reform.setDevelopLanguageSystem(developLanguageSystem);
/** /**
* 中间件/API * 中间件/API
*/ */
Middleware middleware = new Middleware(); Middleware middleware = new Middleware();
List<BaseDes> middlewareEnums = new ArrayList<>(); List<MiddlewareEnum> middlewareEnums = new ArrayList<>();
for (int i = 46; i < 51; i++) { for (int i = 40; i < 45; i++) {
String middleware1 = getExcelCell(i, 2, sheetAt); String middleware1 = getExcelCell(i, 2, sheetAt);
String version = getExcelCell(i, 3, sheetAt); if (middleware1.equals("Tomcat")) {
String remark = getExcelCell(i, 4, sheetAt); middlewareEnums.add(MiddlewareEnum.TOMCAT);
if (!"".equals(middleware1)) { } else if (middleware1.equals("JBOSS")) {
MiddlewareEnum middlewareEnum = MiddlewareEnum.getByName(middleware1); middlewareEnums.add(MiddlewareEnum.JBOSS);
if (middlewareEnum != null) { } else if (middleware1.equals("Ngnix")) {
BaseDes baseDes = new BaseDes(); middlewareEnums.add(MiddlewareEnum.NGNIX);
baseDes.setDes(remark); } else if (middleware1.equals("Weblogic")) {
baseDes.setName(middlewareEnum.name()); middlewareEnums.add(MiddlewareEnum.WEBLOGIC);
baseDes.setCode(middlewareEnum.getCode()); } else if (middleware1.equals("Websphere")) {
baseDes.setVersion(version); middlewareEnums.add(MiddlewareEnum.WEBSPHERE);
middlewareEnums.add(baseDes); } else {
} middlewareEnums.add(MiddlewareEnum.NONE);
} }
} }
middleware.setMiddlewareEnums(middlewareEnums); middleware.setMiddlewareEnums(middlewareEnums);
ArrayList<OtherApi> otherApis = new ArrayList<>();
for (int i = 51; i < 62; i++) {
String api = getExcelCell(i, 2, sheetAt);
if ("".equals(api)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
OtherApi otherApi = new OtherApi();
otherApi.setApiName(api);
otherApi.setDes(remark);
otherApi.setVersion(version);
otherApi.setCode(String.valueOf(OtherApiEnum.getByName(api).getCode()));
otherApis.add(otherApi);
}
middleware.setOtherApis(otherApis);
List<BaseDes> microServices = new ArrayList<>();
for (int i = 62; i < 73; i++) {
String name = getExcelCell(i, 2, sheetAt);
if (name == null || "".equals(name)) {
continue;
}
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
BaseDes microService = new BaseDes();
MicroServiceEnum microServiceEnum = MicroServiceEnum.getByName(name);
if (microServiceEnum != null) {
microService.setCode(microServiceEnum.getCode());
microService.setName(microServiceEnum.getName());
microService.setDes(remark);
microService.setVersion(version);
microServices.add(microService);
}
}
middleware.setMicroServices(microServices);
reform.setMiddleware(middleware); reform.setMiddleware(middleware);
//数据库相关 //数据库相关
Database database1 = new Database(); Database database1 = new Database();
ArrayList<DatabaseType> databaseTypes = new ArrayList<>(); ArrayList<DatabaseType> databaseTypes = new ArrayList<>();
for (int i = 74; i < 77; i++) { for (int i = 68; i < 71; i++) {
String database = getExcelCell(i, 2, sheetAt); String database = getExcelCell(i, 2, sheetAt);
if (!"".equals(database)) { if ("MySQL".equals(database)) {
DatabaseType byName = DatabaseType.getByName(database); databaseTypes.add(DatabaseType.MYSQL);
databaseTypes.add(byName); } else if ("SQL SERVER".equals(database)) {
databaseTypes.add(DatabaseType.SQLSERVER);
} else if ("Oracle".equals(database)) {
databaseTypes.add(DatabaseType.ORACLE);
} else if ("DB2".equals(database)) {
databaseTypes.add(DatabaseType.DB2);
} else if ("SyBase".equals(database)) {
databaseTypes.add(DatabaseType.SYBASE);
} else {
databaseTypes.add(DatabaseType.NONE);
} }
} }
database1.setDatabaseType(databaseTypes); database1.setDatabaseType(databaseTypes);
String tableNum = getExcelCell(77, 2, sheetAt); String tableNum = getExcelCell(71, 2, sheetAt);
if ("".equals(tableNum)) { if("".equals(tableNum)){
reform.setTableNum(0); reform.setTableNum(0);
} else { }else{
reform.setTableNum(Integer.valueOf(tableNum)); reform.setTableNum(Integer.valueOf(tableNum));
} }
String sp = getExcelCell(81, 2, sheetAt); String sp = getExcelCell(75, 2, sheetAt);
database1.setSeparate(yesOrNo(sp)); if ("是".equals(sp)) {
String dblink = getExcelCell(82, 2, sheetAt); database1.setSeparate(1);
database1.setDbLink(yesOrNo(dblink)); } else {
String view = getExcelCell(83, 2, sheetAt); database1.setSeparate(2);
database1.setView(yesOrNo(view));
String storage = getExcelCell(84, 2, sheetAt);
database1.setStorage(yesOrNo(storage));
String function = getExcelCell(85, 2, sheetAt);
database1.setFunction(yesOrNo(function));
String timeTask = getExcelCell(86, 2, sheetAt);
database1.setTimeTask(yesOrNo(timeTask));
String sequence = getExcelCell(87, 2, sheetAt);
database1.setSequence(yesOrNo(sequence));
String trigger = getExcelCell(88, 2, sheetAt);
database1.setTrigger(yesOrNo(trigger));
String disasterTolerance = getExcelCell(89, 2, sheetAt);
database1.setDisasterTolerance(yesOrNo(disasterTolerance));
String safe = getExcelCell(90, 2, sheetAt);
database1.setSafe(yesOrNo(safe));
String performance = getExcelCell(91, 2, sheetAt);
if (!"无".equals(performance)) {
database1.setPerformance(1);
}
reform.setDatabase(database1);
Browser browser = new Browser();
List<BaseDes> compatibleBrowsers = new ArrayList<>();
for (int i = 93; i <= 97; i++) {
String brows = getExcelCell(i, 2, sheetAt);
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
CompatibleBrowser name = CompatibleBrowser.getByName(brows);
BaseDes baseDes = new BaseDes();
baseDes.setName(name.toString());
baseDes.setCode(name.getCode());
baseDes.setVersion(version);
baseDes.setDes(remark);
compatibleBrowsers.add(baseDes);
} }
browser.setCompatibleBrowsers(compatibleBrowsers); String dblink = getExcelCell(76, 2, sheetAt);
if ("是".equals(dblink)) {
ArrayList<BaseDes> browserPlugs = new ArrayList<>(); database1.setDbLink(1);
} else {
for (int i = 98; i <= 108; i++) { database1.setDbLink(2);
String plugin = getExcelCell(i, 2, sheetAt);
BaseDes browserPlug = new BaseDes();
String version = getExcelCell(i, 3, sheetAt);
String remark = getExcelCell(i, 4, sheetAt);
browserPlug.setVersion(version);
browserPlug.setDes(remark);
BrowserPlugEnum byName = BrowserPlugEnum.getByName(plugin);
browserPlug.setName(byName.getName());
browserPlug.setCode(byName.getCode());
switch (plugin) {
case "在线文本编辑类:请在备注中填写插件名和版本":
break;
case "打印调用":
case "扫描调用":
browser.setPeripheral(1);
break;
case "在线3D建模、渲染、展现:请在备注中填写插件名和版本":
browser.setThreeD(1);
break;
case "在线视频播放类:请在备注中填写插件名和版本":
browser.setMedia(1);
break;
default:
browser.setOtherDemand(1);
break;
}
browserPlugs.add(browserPlug);
}
browser.setBrowserPlugs(browserPlugs);
reform.setBrowser(browser);
String apply = getExcelCell(110, 2, sheetAt);
Apply apply1 = new Apply();
if(!"".equals(apply)){
apply1.setCost(Double.valueOf(apply));
}
String remark = getExcelCell(110, 3, sheetAt);
apply1.setReason(remark);
reform.setApply(apply1);
SystemStructure systemStructure = new SystemStructure();
Details sysDetails = getSysDetails(113, 2, sheetAt);
systemStructure.setApplication(sysDetails);
Details rdsdetails = getSysDetails(114, 2, sheetAt);
systemStructure.setDatabase(rdsdetails);
Details nasdetails = getSysDetails(115, 2, sheetAt);
systemStructure.setNas(nasdetails);
Details slbdetails = getSysDetails(116, 2, sheetAt);
systemStructure.setSlb(slbdetails);
Details cdndetails = getSysDetails(117, 2, sheetAt);
systemStructure.setCdn(cdndetails);
Details vpsdetails = getSysDetails(118, 2, sheetAt);
systemStructure.setVps(vpsdetails);
Details otherEquipment = getSysDetails(119, 2, sheetAt);
systemStructure.setOtherEquipment(otherEquipment);
reform.setSystemStructure(systemStructure);
String rpo = getExcelCell(121, 2, sheetAt);
RtoEnum rtoEnum = RtoEnum.getByName(rpo);
if (rtoEnum != null) {
reform.setRto(rtoEnum.getCode());
} }
String rto = getExcelCell(122, 2, sheetAt); String view = getExcelCell(77, 2, sheetAt);
RpoEnum rpoEnum = RpoEnum.getByName(rto); if ("是".equals(view)) {
if (rpoEnum != null) { database1.setView(1);
reform.setRpo(rpoEnum.getCode()); } else {
database1.setView(2);
} }
int max = Math.max(rpoEnum.getCode(), rtoEnum.getCode()); String storage = getExcelCell(78, 2, sheetAt);
if(max==1){ if ("是".equals(storage)) {
reform.setStrategy(3); database1.setStorage(1);
}else if(max<=5){ } else {
reform.setStrategy(1); database1.setStorage(2);
}else {
reform.setStrategy(2);
} }
return reform; String function = getExcelCell(79, 2, sheetAt);
} if ("是".equals(function)) {
database1.setFunction(1);
public static List<ExcelDataTemp> parseExcel2Entity(Evaluation evaluation) { } else {
ArrayList<ExcelDataTemp> excelDataTemps = new ArrayList<>(); database1.setFunction(2);
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 (BaseDes 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 (BaseDes 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);
} }
String timeTask = getExcelCell(80, 2, sheetAt);
return excelDataTemps; if ("是".equals(timeTask)) {
} database1.setTimeTask(1);
private static int getFramework(String construction) {
switch (construction) {
case "B/S":
return 1;
case "C/S":
return 2;
case "单机运行":
return 0;
case "分布式":
return 4;
}
return -1;
}
private static String getFilpFramework(int construction) {
switch (construction) {
case 1:
return "B/S";
case 2:
return "C/S";
case 0:
return "单机运行";
case 4:
return "分布式";
default:
break;
}
return "";
}
private static int yesOrNo(String target) {
if ("是".equals(target)) {
return 1;
} else if ("否".equals(target)) {
return 2;
} else { } else {
return -1; database1.setTimeTask(2);
} }
} String sequence = getExcelCell(81, 2, sheetAt);
private static int SpecialYesOrNo(String target) { if ("是".equals(sequence)) {
if ("是".equals(target)) { database1.setSequence(1);
return 4;
} else if ("否".equals(target)) {
return 0;
} else { } else {
return -1; database1.setSequence(2);
} }
} String trigger = getExcelCell(82, 2, sheetAt);
private static String flipYesOrNo(Integer target) { if ("是".equals(trigger)) {
if (target == 1) { database1.setTrigger(1);
return "是";
} else if (target == 2) {
return "否";
} else { } else {
return "我不清楚"; database1.setTrigger(2);
} }
} String disasterTolerance = getExcelCell(83, 2, sheetAt);
private static String flipSafeYesOrNo(Integer target) { if ("是".equals(disasterTolerance)) {
if(target==null){ database1.setDisasterTolerance(2);
return "否";
}
if (target == 4) {
return "强";
} else if (target == 2) {
return "弱";
} else { } else {
return "我不清楚"; database1.setDisasterTolerance(1);
} }
} String safe = getExcelCell(84, 2, sheetAt);
private static String flipSpecialYesOrNo(Integer target) { if ("是".equals(safe)) {
if (target == 4) { database1.setSafe(1);
return "是";
} else if (target == 0) {
return "否";
} else { } else {
return "我不清楚"; database1.setSafe(2);
} }
} String performance = getExcelCell(85, 2, sheetAt);
if (!"无".equals(safe)) {
database1.setPerformance(1);
}
reform.setDatabase(database1);
private static int returnNum(String target) { Browser browser = new Browser();
if (!"".equals(target)) { List<CompatibleBrowser> compatibleBrowsers = new ArrayList<>();
return Integer.parseInt(target); for (int i = 87; i < 92; i++) {
} else { String brows = getExcelCell(i, 2, sheetAt);
return 0; if ("IE(Trident内核)".equals(brows)) {
compatibleBrowsers.add(CompatibleBrowser.IETRIDENT);
} else if ("Chrome(Webkit/Blink内核)".equals(brows) || "Chrome(Chromium内核)".equals(brows)) {
compatibleBrowsers.add(CompatibleBrowser.CHROMEWEBKIT);
} else if ("Firefox(Gecko内核)".equals(brows)) {
compatibleBrowsers.add(CompatibleBrowser.FIREFOX);
} else if ("Opera(Blink内核)".equals(brows)) {
compatibleBrowsers.add(CompatibleBrowser.OPERA);
} else {
compatibleBrowsers.add(CompatibleBrowser.NONE);
}
}
browser.setCompatibleBrowsers(compatibleBrowsers);
for (int i = 92; i < 101; i++) {
String plugin = getExcelCell(i, 2, sheetAt);
if ("在线文本编辑类:请在备注中填写插件名和版本".equals(plugin)) {
browser.setDocument(1);
} else if ("打印调用".equals(plugin) || "扫描调用".equals(plugin)) {
browser.setPeripheral(1);
} else if ("在线3D建模、渲染、展现:请在备注中填写插件名和版本".equals(plugin)) {
browser.setThreeD(1);
} else if ("在线视频播放类:请在备注中填写插件名和版本".equals(plugin)) {
browser.setMedia(1);
} else {
browser.setOtherDemand(1);
}
} }
}
private static double returnDouble(String target) { SystemStructure systemStructure = new SystemStructure();
if (!"".equals(target)) { Details ecsdetails = new Details();
return Double.parseDouble(target); String ecs = getExcelCell(107, 2, sheetAt);
if ("本地".equals(ecs)) {
ecsdetails.setDeploy(1);
} else if ("政务云".equals(ecs)) {
ecsdetails.setDeploy(2);
}
String ecssys = getExcelCell(107, 4, sheetAt);
if ("CentOS系列".equals(ecssys)) {
ecsdetails.setOperateSystem(OperateSystem.CENTEROSREALES);
} else if ("WindowsServer(2008-2016)".equals(ecssys) || "WindowsServer(2016-2020)".equals(ecssys)) {
ecsdetails.setOperateSystem(OperateSystem.WINSERVER2012);
} else if ("Ubuntu系列".equals(ecssys)) {
ecsdetails.setOperateSystem(OperateSystem.UBUNTU);
} else if ("Redhat/OracleLinux系列".equals(ecssys)) {
ecsdetails.setOperateSystem(OperateSystem.REDHATREALES);
} else { } else {
return 0; ecsdetails.setOperateSystem(OperateSystem.NONE);
}
systemStructure.setApplication(ecsdetails);
Details rdsdetails = new Details();
String rds = getExcelCell(108, 2, sheetAt);
if ("本地".equals(rds)) {
rdsdetails.setDeploy(1);
} else if ("政务云".equals(rds)) {
rdsdetails.setDeploy(2);
}
String rdssys = getExcelCell(108, 4, sheetAt);
if ("CentOS系列".equals(rdssys)) {
rdsdetails.setOperateSystem(OperateSystem.CENTEROSREALES);
} else if ("WindowsServer(2008-2016)".equals(rdssys) || "WindowsServer(2016-2020)".equals(rdssys)) {
rdsdetails.setOperateSystem(OperateSystem.WINSERVER2012);
} else if ("Ubuntu系列".equals(rdssys)) {
rdsdetails.setOperateSystem(OperateSystem.UBUNTU);
} else if ("Redhat/OracleLinux系列".equals(rdssys)) {
rdsdetails.setOperateSystem(OperateSystem.REDHATREALES);
} else {
rdsdetails.setOperateSystem(OperateSystem.NONE);
} }
} systemStructure.setDatabase(rdsdetails);
Details nasdetails = new Details();
String nas = getExcelCell(109, 2, sheetAt);
private static String getDeploy(Integer target) { if ("本地".equals(nas)) {
if (target == 1) { nasdetails.setDeploy(1);
return "本地"; } else if ("政务云".equals(nas)) {
} else if (target == 2) { nasdetails.setDeploy(2);
return "政务云"; }
String nassys = getExcelCell(109, 4, sheetAt);
if ("CentOS系列".equals(nassys)) {
nasdetails.setOperateSystem(OperateSystem.CENTEROSREALES);
} else if ("WindowsServer(2008-2016)".equals(nassys) || "WindowsServer(2016-2020)".equals(nassys)) {
nasdetails.setOperateSystem(OperateSystem.WINSERVER2012);
} else if ("Ubuntu系列".equals(nassys)) {
nasdetails.setOperateSystem(OperateSystem.UBUNTU);
} else if ("Redhat/OracleLinux系列".equals(nassys)) {
nasdetails.setOperateSystem(OperateSystem.REDHATREALES);
} else { } else {
return "我不清楚"; nasdetails.setOperateSystem(OperateSystem.NONE);
} }
} systemStructure.setStorage(nasdetails);
Details slbdetails = new Details();
private static List<ExcelDataEntity> getSystemData(String name, Details application) { String slb = getExcelCell(110, 2, sheetAt);
ArrayList<ExcelDataEntity> excelDataEntities = new ArrayList<>();
if (application != null) {
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) {
Details details = new Details();
String slb = getExcelCell(rowNum, cellNum, sheetAt);
if ("本地".equals(slb)) { if ("本地".equals(slb)) {
details.setDeploy(1); slbdetails.setDeploy(1);
} else if ("政务云".equals(slb)) { } else if ("政务云".equals(slb)) {
details.setDeploy(2); slbdetails.setDeploy(2);
} }
String num3 = getExcelCell(rowNum, cellNum + 1, sheetAt); String slbsys = getExcelCell(110, 4, sheetAt);
details.setNum(num3); if ("CentOS系列".equals(slbsys)) {
slbdetails.setOperateSystem(OperateSystem.CENTEROSREALES);
String slbsys = getExcelCell(rowNum, cellNum + 2, sheetAt); } else if ("WindowsServer(2008-2016)".equals(slbsys) || "WindowsServer(2016-2020)".equals(slbsys)) {
OperateSystem slbByName = OperateSystem.getByName(slbsys); slbdetails.setOperateSystem(OperateSystem.WINSERVER2012);
details.setOperateSystem(slbByName); } else if ("Ubuntu系列".equals(slbsys)) {
details.setCode(slbByName.getCode()); slbdetails.setOperateSystem(OperateSystem.UBUNTU);
String cpu3 = getExcelCell(rowNum, cellNum + 3, sheetAt); } else if ("Redhat/OracleLinux系列".equals(slbsys)) {
details.setCpuNum(cpu3); slbdetails.setOperateSystem(OperateSystem.REDHATREALES);
String ghz3 = getExcelCell(rowNum, cellNum + 4, sheetAt); } else {
details.setGhz(ghz3); slbdetails.setOperateSystem(OperateSystem.NONE);
String memory = getExcelCell(rowNum, cellNum + 5, sheetAt); }
details.setMemory(memory); systemStructure.setSlb(slbdetails);
String space3 = getExcelCell(rowNum, cellNum + 6, sheetAt);
details.setSpace(space3); reform.setSystemStructure(systemStructure);
return details; return reform;
} }
private static ExcelDataEntity exportEntity(String name, Object value) {
ExcelDataEntity excelDataEntity = new ExcelDataEntity(); public static void main(String[] args) {
excelDataEntity.setName(name); MultipartFile f = null;
if (value != null) { ExcelUtil.parseExcel(f);
excelDataEntity.setValue(value.toString());
}
return excelDataEntity;
} }
} }
...@@ -12,7 +12,6 @@ import java.text.NumberFormat; ...@@ -12,7 +12,6 @@ import java.text.NumberFormat;
import java.text.ParsePosition; import java.text.ParsePosition;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 应用系统改造替换工作量根据表单计算 * 应用系统改造替换工作量根据表单计算
...@@ -51,9 +50,8 @@ public class WorkLoadUtil { ...@@ -51,9 +50,8 @@ public class WorkLoadUtil {
Browser browser = reform.getBrowser(); Browser browser = reform.getBrowser();
if(browser!=null) { if(browser!=null) {
//如果原浏览器包含IE,+10 //如果原浏览器包含IE,+10
List<BaseDes> compatibleBrowsers = browser.getCompatibleBrowsers(); List<CompatibleBrowser> compatibleBrowsers = browser.getCompatibleBrowsers();
List<String> names = compatibleBrowsers.stream().map(BaseDes::getName).collect(Collectors.toList()); if (compatibleBrowsers!=null&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT)) {
if (!names.isEmpty()&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT.toString())) {
score += 10; score += 10;
logger.info("包含IE+10:" + score); logger.info("包含IE+10:" + score);
} }
...@@ -104,12 +102,11 @@ public class WorkLoadUtil { ...@@ -104,12 +102,11 @@ public class WorkLoadUtil {
*/ */
Middleware middleware = reform.getMiddleware(); Middleware middleware = reform.getMiddleware();
if(middleware!=null) { if(middleware!=null) {
List<BaseDes> middlewareEnums = middleware.getMiddlewareEnums(); List<MiddlewareEnum> middlewareEnums = middleware.getMiddlewareEnums();
int effectMidNum = 0; int effectMidNum = 0;
if(middlewareEnums!=null) { if(middlewareEnums!=null) {
effectMidNum = middlewareEnums.size(); effectMidNum = middlewareEnums.size();
List<String> names = middlewareEnums.stream().map(BaseDes::getName).collect(Collectors.toList()); if (middlewareEnums.contains(MiddlewareEnum.TOMCAT)) {
if (names.contains(MiddlewareEnum.TOMCAT.getName())) {
effectMidNum--; effectMidNum--;
} }
} }
...@@ -292,10 +289,9 @@ public class WorkLoadUtil { ...@@ -292,10 +289,9 @@ public class WorkLoadUtil {
(1.0+(browserDifficulty.getMedia()!=null&&browserDifficulty.getMedia()==1?1.0:0)/100)* (1.0+(browserDifficulty.getMedia()!=null&&browserDifficulty.getMedia()==1?1.0:0)/100)*
(1.0+(browserDifficulty.getFlash()!=null&&browserDifficulty.getFlash()==1?1.0:0)/100)* (1.0+(browserDifficulty.getFlash()!=null&&browserDifficulty.getFlash()==1?1.0:0)/100)*
(1.0+(browserDifficulty.getOtherDemand()!=null&&browserDifficulty.getOtherDemand()==1?1.0:0)/100); (1.0+(browserDifficulty.getOtherDemand()!=null&&browserDifficulty.getOtherDemand()==1?1.0:0)/100);
List<BaseDes> compatibleBrowsers = reform.getBrowser().getCompatibleBrowsers(); List<CompatibleBrowser> compatibleBrowsers = reform.getBrowser().getCompatibleBrowsers();
List<String> names = compatibleBrowsers.stream().map(BaseDes::getName).collect(Collectors.toList());
//if (compatibleBrowsers!=null&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT)) { //if (compatibleBrowsers!=null&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT)) {
if (names.isEmpty()||!compatibleBrowsers.contains(CompatibleBrowser.FIREFOX.toString())) { if (compatibleBrowsers==null||!compatibleBrowsers.contains(CompatibleBrowser.FIREFOX)) {
eBrowser*=1.1; eBrowser*=1.1;
logger.info("浏览器难度包含IE"); logger.info("浏览器难度包含IE");
} }
...@@ -328,12 +324,12 @@ public class WorkLoadUtil { ...@@ -328,12 +324,12 @@ public class WorkLoadUtil {
(1.0+(middlewareDifficulty.getRoute()==1?10.0:0)/100); (1.0+(middlewareDifficulty.getRoute()==1?10.0:0)/100);
Middleware middleware = reform.getMiddleware(); Middleware middleware = reform.getMiddleware();
if(middleware!=null) { if(middleware!=null) {
List<BaseDes> middlewareEnums = middleware.getMiddlewareEnums(); List<MiddlewareEnum> middlewareEnums = middleware.getMiddlewareEnums();
if(middlewareEnums!=null) { if(middlewareEnums!=null) {
for (BaseDes middlewareEnum : middlewareEnums) { for (MiddlewareEnum middlewareEnum : middlewareEnums) {
if (middlewareEnum.getName() != MiddlewareEnum.TOMCAT.getName()) { if (middlewareEnum != MiddlewareEnum.TOMCAT) {
emiddle *= 1.05; emiddle *= 1.05;
logger.info("中间件:" + middlewareEnum.getName()); logger.info("中间件:" + middlewareEnum);
} }
} }
} }
...@@ -498,10 +494,7 @@ public class WorkLoadUtil { ...@@ -498,10 +494,7 @@ public class WorkLoadUtil {
String workloadDes = "本系统通过选择"+type+"方式部署到国产化安全自主可控环境上。代码层面的关键工作量包含"+nf.format(totalWorkload)+"人工月(包含对不可预见的估算)"; String workloadDes = "本系统通过选择"+type+"方式部署到国产化安全自主可控环境上。代码层面的关键工作量包含"+nf.format(totalWorkload)+"人工月(包含对不可预见的估算)";
report.getWorkload().setDes(workloadDes); report.getWorkload().setDes(workloadDes);
double multipleHardrage = totalWorkload*r/f; double multipleHardrage = totalWorkload*r/f;
if(Double.isNaN(multipleHardrage)){ report.getDifficultyAssessment().setDes("本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"+Double.valueOf(nf.format(multipleHardrage)));
multipleHardrage = 0;
}
//report.getDifficultyAssessment().setDes("本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"+Double.valueOf(nf.format(multipleHardrage)));
report.setDifficulty(Double.valueOf(nf.format(multipleHardrage))); report.setDifficulty(Double.valueOf(nf.format(multipleHardrage)));
/** /**
* 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值 * 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值
......
...@@ -51,7 +51,6 @@ spring.jackson.time-zone=GMT ...@@ -51,7 +51,6 @@ spring.jackson.time-zone=GMT
# mysql\u6570\u636E\u5E93\u914D\u7F6E # mysql\u6570\u636E\u5E93\u914D\u7F6E
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 #spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
#spring.datasource.url=jdbc:mysql://120.55.57.35:3306/adaptation?characterEncoding=utf-8 #spring.datasource.url=jdbc:mysql://120.55.57.35:3306/adaptation?characterEncoding=utf-8
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论