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

mcj:

新增新系数计算,新增预算计算
上级 777a9b59
......@@ -77,8 +77,10 @@ public class InspectController {
inspectParameter.setId(UUIDUtil.getUUID());
ReportVo reportVo = new ReportVo();
int count = technologyService.findAllTEchnologyCount();
int count = technologyService.findAllTechnologyCount();
reportVo.setTechnologiesNum(count);
int support = technologyService.findAllTechnologyNotSupport();
reportVo.setTechnologiesRepair(support);
reportVo.setId(TimeUtil.getNowDate());
reportVo.setUploadType("文件上传");
......@@ -88,6 +90,7 @@ public class InspectController {
reportVo.setDatabaseType(databaseType);
ReportVo inspect = inspectService.inspect(reportVo,inspectParameter);
Map map=new HashMap();
map.put("inspect",inspect);
map.put("time",TimeUtil.getTime());
......@@ -103,7 +106,9 @@ public class InspectController {
try {
String template = FreemarkerUtils.getTemplate("pg.ftl", map);
String s = inspectService.generateHtml(template, map);
FileUtil.write(s,"/opt/pgbg/"+fileName+".html");
String filePath = FileUtil.createFilePath();
FileUtil.write(s,"/opt/pgbg/"+filePath+"/"+file.getName()+".html");
reportVo.setHtmlAddress("/opt/pgbg/"+filePath+"/"+file.getName()+".html");
System.out.println("内容"+s);
} catch (TemplateException e) {
e.printStackTrace();
......@@ -122,13 +127,13 @@ public class InspectController {
public ResponseEntity inspect1(@RequestBody InspectParameter inspectParameter){
String path = GitLabUtil.downLoadProject(inspectParameter.getGitAddress(),inspectParameter.getGitName());
inspectParameter.setId(UUIDUtil.getUUID());
inspectParameter.setPath(path);
inspectParameter.setSourceAddress(path);
ReportVo reportVo = new ReportVo();
reportVo.setUploadType("git下载");
reportVo.setSourceAddress(path);
reportVo.setGitAddress(inspectParameter.getGitAddress());
inspectService.inspect(reportVo,inspectParameter);
return ResponseEntity.ok(200);
ReportVo inspect = inspectService.inspect(reportVo, inspectParameter);
return ResponseEntity.ok(inspect);
}
@PostMapping("/frontend")
......
......@@ -16,6 +16,11 @@ public interface TechnologyDao extends JpaRepository<Technology,String>, JpaSpec
*/
Technology findAllByTechnologyNameEquals(String name);
/**
* 模糊查询技术名称
* @param name
* @return
*/
List<Technology> findAllByTechnologyNameLike(String name);
/**
......@@ -28,4 +33,11 @@ public interface TechnologyDao extends JpaRepository<Technology,String>, JpaSpec
@Query("select technologyName from Technology ")
List<String> getTechnologyNames();
/**
* 查询不支持的技术个数
* @param support 是否支持
* @return
*/
int countAllBySupportIsNot(String support);
}
package com.zjty.inspect.entity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 预算
* @author Mcj
* @date 2020-02-27 19:05
*/
@Data
public class BudgetVo {
private List<Budget> budget = new ArrayList<>();
private List<CoefficientModelVo> coefficientModelVos = new ArrayList<>();
}
......@@ -46,6 +46,9 @@ public class CoefficientModel {
private Integer scale;
public Double countCoefficient(Integer data) {
if(data==null || data==0){
return 1D;
}
if(data<min){
return 1+belowCoefficient;
}else if(data>max){
......
package com.zjty.inspect.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* 系数计算
*
* @author Mcj
*/
@Data
public class CoefficientModelVo {
/**
* 系数名称
*/
private String name;
/**
* 系数
*/
private double value;
}
package com.zjty.inspect.enums;
public enum Framework {
/**
* 架构
*/
分离型架构("分离型架构",1),
混合型架构("混合型架构",2);
Framework(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;
public enum RecastMethod {
/**
* 架构
*/
适配重构("适配重构",1),
代码修改("代码修改",2);
RecastMethod(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;
}
}
......@@ -32,8 +32,14 @@ public interface TechnologyService {
Page<Technology> findSearch(Map searchMap, int page, int size);
/**
* 查询个数
* @return
* 查询全部技术个数
* @return 查询技术数量
*/
int findAllTEchnologyCount();
int findAllTechnologyCount();
/**
* 查询不支持的技术个数
* @return 查询技术数量
*/
int findAllTechnologyNotSupport();
}
......@@ -89,6 +89,10 @@ public class TechnologyServiceImpl implements TechnologyService {
return technologyDao.findAllByTechnologyNameLike("%"+name+"%");
}
/**
* 更新技术细节
* @param technology
*/
@Override
public void update(Technology technology) {
technologyDao.save(technology);
......@@ -100,6 +104,17 @@ public class TechnologyServiceImpl implements TechnologyService {
PageRequest pageRequest = PageRequest.of(page-1, size);
return technologyDao.findAll(specification, pageRequest);
}
@Override
public int findAllTechnologyCount() {
return (int) technologyDao.count();
}
@Override
public int findAllTechnologyNotSupport() {
return technologyDao.countAllBySupportIsNot("1");
}
/**
* 动态条件构建
* @param searchMap
......
......@@ -62,11 +62,9 @@ public class BudgetUitl {
Double moneyRate = inspectParameter.getMoneyRate();
int years = inspectParameter.getYears();
double pow = Math.pow(moneyRate, years);
//不带修正系数资金
double fundNotRepair = inspectParameter.getProportion() * pow * systemFund + fund;
//带修正系数资金
ArrayList<String> strings = new ArrayList<>();
Double fundRepair = fundNotRepair;
strings.add("安全能力");
strings.add("容灾能力");
strings.add("架构");
......@@ -118,6 +116,9 @@ public class BudgetUitl {
}
Budget codeRefactor = new Budget();
codeRefactor.setBudgetName("代码重构预算");
//不带修正系数资金
double fundNotRepair = inspectParameter.getProportion() * pow * systemFund + fund;
double fundRepair=fundNotRepair*coefficient;
if(fundNotRepair<fundRepair){
codeRefactor.setFund(fundNotRepair +"--"+fundRepair);
}else if(fundNotRepair>fundRepair){
......@@ -131,16 +132,19 @@ public class BudgetUitl {
Budget codeUpdate = new Budget();
codeUpdate.setBudgetName("代码修改替换预算");
double findUpdateNotRepair = inspectParameter.getProportion() * pow * systemFund + fund;
double findUpdateRepair = findUpdateNotRepair * coefficient;
if(fundNotRepair<fundRepair){
codeUpdate.setFund(fundNotRepair +"--"+fundRepair);
if(findUpdateNotRepair<findUpdateRepair){
codeUpdate.setFund(findUpdateNotRepair +"--"+findUpdateRepair);
}else if(fundNotRepair>fundRepair){
codeUpdate.setFund(fundRepair +"--"+fundNotRepair);
codeUpdate.setFund(findUpdateRepair +"--"+findUpdateNotRepair);
}else{
codeUpdate.setFund(fundRepair +"--"+fundNotRepair);
codeUpdate.setFund(findUpdateRepair +"--"+findUpdateNotRepair);
}
codeUpdate.setFundDetail("普通业务开发费用:"+fundNotRepair);
codeUpdate.setFundDetail("普通业务开发费用(修正):"+fundRepair);
codeUpdate.setFundDetail("普通业务开发费用:"+findUpdateNotRepair);
codeUpdate.setFundDetail("普通业务开发费用(修正):"+findUpdateRepair);
codeUpdate.setFundDetail("关键适配技术成本:"+fund);
budgetVo.getBudget().add(codeRefactor);
......
......@@ -18,6 +18,13 @@ public class FileUtil {
static int BUFFER_SIZE = 1024;
public static String createFilePath(){
//"./"+name+"/"+split1[0]
String[] split = UUIDUtil.getUUID().split("-");
String time = LocalDate.now().toString();
String filePath = time + "/"+split[0];
return filePath;
}
/**
* 保存文件到本地
......@@ -157,15 +164,4 @@ public class FileUtil {
return file;
}
public static void main(String[] args) throws IOException {
// System.out.println(LocalDate.now().toString());
// String[] split1 = UUIDUtil.getUUID().split("-");
// System.out.println(split1[0]);
// // FileUtil.unPackZip(new File("/Users/mcj/Downloads/acq-server.zip"),"", "./");
// //FileUtils.deleteDirectory(new File("./acq-server"));
// SAXReader reader = new SAXReader();
// Document document = null;
write("hello","E://test//text.txt");
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论