提交 2f427d85 authored 作者: 孙洁清's avatar 孙洁清

Merge branch 'master' of git.yfzx.zjtys.com.cn:912-system/monitor/inspect

...@@ -24,5 +24,5 @@ public class Apply { ...@@ -24,5 +24,5 @@ public class Apply {
/** /**
* 原因 * 原因
*/ */
private String reason = "***********"; private String reason = "";
} }
...@@ -20,12 +20,12 @@ public class DatabaseDifficulty { ...@@ -20,12 +20,12 @@ public class DatabaseDifficulty {
/** /**
* 系统评估 * 系统评估
*/ */
private double systemEvaluation = 1.1; //private double systemEvaluation = 1.1;
/** /**
* 额外信息 * 额外信息
*/ */
private double message = 1.1; //private double message = 1.1;
/** /**
* 综合难度 * 综合难度
......
...@@ -20,12 +20,12 @@ public class ProgramDifficulty { ...@@ -20,12 +20,12 @@ public class ProgramDifficulty {
/** /**
* 系统评估 * 系统评估
*/ */
private double systemEvaluation = 1.1; //private double systemEvaluation = 1.1;
/** /**
* 额外信息 * 额外信息
*/ */
private double message = 1.1; //private double message = 1.1;
/** /**
* 综合难度 * 综合难度
......
...@@ -43,4 +43,6 @@ public class Warn { ...@@ -43,4 +43,6 @@ public class Warn {
* 关键字 * 关键字
*/ */
private String rule; private String rule;
private String categoryId;
} }
...@@ -170,6 +170,10 @@ public class Inspector { ...@@ -170,6 +170,10 @@ public class Inspector {
ruleMap.put(rule.getTarget()+":"+rule.getSuffix(),rule); ruleMap.put(rule.getTarget()+":"+rule.getSuffix(),rule);
} }
} }
List<Technology> technologies = technologyDao.findAll();
for (Technology technology : technologies) {
technologyHashMap.put(technology.getId(), technology);
}
try { try {
//以下为计算文件名称匹配正则表达式 //以下为计算文件名称匹配正则表达式
FileSystem aDefault = FileSystems.getDefault(); FileSystem aDefault = FileSystems.getDefault();
...@@ -584,7 +588,9 @@ public class Inspector { ...@@ -584,7 +588,9 @@ public class Inspector {
warn.setRuleId(rule.getId()); warn.setRuleId(rule.getId());
warn.setRule(rule.getTarget()); warn.setRule(rule.getTarget());
warn.setTechnologyId(rule.getTechnologyId()); warn.setTechnologyId(rule.getTechnologyId());
warn.setTechnologyName(technologyHashMap.get(rule.getTechnologyId()).getTechnologyName()); Technology technology = technologyHashMap.get(rule.getTechnologyId());
warn.setTechnologyName(technology.getTechnologyName());
warn.setCategoryId(technology.getCategory_id());
if (technologyHashMap.get(rule.getTechnologyId()).getSupport() == 2) { if (technologyHashMap.get(rule.getTechnologyId()).getSupport() == 2) {
warns.add(warn); warns.add(warn);
//设置a=0代表当前依赖有问题 //设置a=0代表当前依赖有问题
......
...@@ -6,6 +6,8 @@ import com.zjty.inspect.enums.*; ...@@ -6,6 +6,8 @@ import com.zjty.inspect.enums.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -228,6 +230,9 @@ public class WorkLoadUtil { ...@@ -228,6 +230,9 @@ public class WorkLoadUtil {
//f:工作量(马) //f:工作量(马)
//r:人工费 //r:人工费
public void result(Reform reform,AssessmentReport report,double f,double r){ public void result(Reform reform,AssessmentReport report,double f,double r){
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(3);
//nf.setRoundingMode(RoundingMode.HALF_UP);
double calculate = 0;//calculate(reform); double calculate = 0;//calculate(reform);
switch (reform.getStrategy()){ switch (reform.getStrategy()){
case 1: case 1:
...@@ -262,26 +267,26 @@ public class WorkLoadUtil { ...@@ -262,26 +267,26 @@ public class WorkLoadUtil {
//系统部署架构难度P(混合:1.1 前后分离:1)即系统评估 //系统部署架构难度P(混合:1.1 前后分离:1)即系统评估
double pFramework = (frameDifficulty.getDetails()== 1)?1.1:1; double pFramework = (frameDifficulty.getDetails()== 1)?1.1:1;
logger.info("系统部署架构难度-评估:"+pFramework); logger.info("系统部署架构难度-评估:"+pFramework);
frameDifficulty.setSystemEvaluation(pFramework); frameDifficulty.setSystemEvaluation(Double.valueOf(nf.format(pFramework)));
//系统部署架构难度e(分布式 0.2 负载均衡 0.1 容灾0.1 其他0.1) e = 1.2*1.1*1.1*1.1 即用户额外信息 //系统部署架构难度e(分布式 0.2 负载均衡 0.1 容灾0.1 其他0.1) e = 1.2*1.1*1.1*1.1 即用户额外信息
double eFramework = 1*frameDifficulty.getDistributed()==1?1.2:1*frameDifficulty.getLoadBalance()==1?1.1:1*frameDifficulty.getDisaster()==1?1.1:1; double eFramework = 1*frameDifficulty.getDistributed()==1?1.2:1*frameDifficulty.getLoadBalance()==1?1.1:1*frameDifficulty.getDisaster()==1?1.1:1;
logger.info("系统部署架构难度-用户额外:"+eFramework); logger.info("系统部署架构难度-用户额外:"+eFramework);
frameDifficulty.setMessage(eFramework); frameDifficulty.setMessage(Double.valueOf(nf.format(eFramework)));
//系统部署架构综合难度 p*e //系统部署架构综合难度 p*e
double multipleFramework = /*Math.sqrt(*/pFramework*eFramework/*)*/; double multipleFramework = /*Math.sqrt(*/pFramework*eFramework/*)*/;
logger.info("系统部署架构难度-综合(两个难度相乘):"+multipleFramework); logger.info("系统部署架构难度-综合(两个难度相乘):"+multipleFramework);
frameDifficulty.setDifficulty(multipleFramework); frameDifficulty.setDifficulty(Double.valueOf(nf.format(multipleFramework)));
//工作量2*j*(z-1) //工作量2*j*(z-1)
double frameworkWorkload = 2*j*(multipleFramework-1); double frameworkWorkload = 2*j*(multipleFramework-1);
logger.info("系统部署工作量:2*j"+j+"*(综合难度-1):"+frameworkWorkload); logger.info("系统部署工作量:2*j"+j+"*(综合难度-1):"+frameworkWorkload);
frameDifficulty.setLoad(frameworkWorkload); frameDifficulty.setLoad(Double.valueOf(nf.format(frameworkWorkload)));
BrowserDifficulty browserDifficulty = report.getDifficultyAssessment().getBrowserDifficulty(); BrowserDifficulty browserDifficulty = report.getDifficultyAssessment().getBrowserDifficulty();
//浏览器难度P(0.001*样式数量+0.01*API数量+0.01*插件数量+1) max=1.3 //浏览器难度P(0.001*样式数量+0.01*API数量+0.01*插件数量+1) max=1.3
double pBrowser = 0.001*browserDifficulty.getStyle()+0.01*browserDifficulty.getApi()+0.01*browserDifficulty.getPlugInUnit()+1; double pBrowser = 0.001*browserDifficulty.getStyle()+0.01*browserDifficulty.getApi()+0.01*browserDifficulty.getPlugInUnit()+1;
pBrowser = pBrowser>1.3?1.3:pBrowser; pBrowser = pBrowser>1.3?1.3:pBrowser;
logger.info("浏览器难度-评估:"+pBrowser); logger.info("浏览器难度-评估:"+pBrowser);
browserDifficulty.setSystemEvaluation(pBrowser); browserDifficulty.setSystemEvaluation(Double.valueOf(nf.format(pBrowser)));
//浏览器难度e(1+需求分数/100)*(1+需求分数/100) max=1.3 //浏览器难度e(1+需求分数/100)*(1+需求分数/100) max=1.3
double eBrowser = (1.0+(browserDifficulty.getGeography()!=null&&browserDifficulty.getGeography()==1.0?1:0)/100)* double eBrowser = (1.0+(browserDifficulty.getGeography()!=null&&browserDifficulty.getGeography()==1.0?1:0)/100)*
(1.0+(browserDifficulty.getPeripheral()!=null&&browserDifficulty.getPeripheral()==1?1.0:0)/100)* (1.0+(browserDifficulty.getPeripheral()!=null&&browserDifficulty.getPeripheral()==1?1.0:0)/100)*
...@@ -293,15 +298,15 @@ public class WorkLoadUtil { ...@@ -293,15 +298,15 @@ public class WorkLoadUtil {
(1.0+(browserDifficulty.getOtherDemand()!=null&&browserDifficulty.getOtherDemand()==1?1.0:0)/100); (1.0+(browserDifficulty.getOtherDemand()!=null&&browserDifficulty.getOtherDemand()==1?1.0:0)/100);
eBrowser = eBrowser>1.3?1.3:eBrowser; eBrowser = eBrowser>1.3?1.3:eBrowser;
logger.info("浏览器难度-用户额外:"+eBrowser); logger.info("浏览器难度-用户额外:"+eBrowser);
browserDifficulty.setMessage(eBrowser); browserDifficulty.setMessage(Double.valueOf(nf.format(eBrowser)));
//浏览器综合难度 p*e开根号 //浏览器综合难度 p*e开根号
double multipleBrowser = Math.sqrt(pBrowser*eBrowser); double multipleBrowser = Math.sqrt(pBrowser*eBrowser);
logger.info("浏览器难度-综合(两个难度相乘开根号):"+multipleBrowser); logger.info("浏览器难度-综合(两个难度相乘开根号):"+multipleBrowser);
browserDifficulty.setDifficulty(multipleBrowser); browserDifficulty.setDifficulty(Double.valueOf(nf.format(multipleBrowser)));
//工作量2*j*(z-1) //工作量2*j*(z-1)
double browserWorkload = 2*j*(multipleBrowser-1); double browserWorkload = 2*j*(multipleBrowser-1);
logger.info("浏览器工作量:2*j"+j+"*(综合难度-1):"+browserWorkload); logger.info("浏览器工作量:2*j"+j+"*(综合难度-1):"+browserWorkload);
browserDifficulty.setLoad(browserWorkload); browserDifficulty.setLoad(Double.valueOf(nf.format(browserWorkload)));
MiddlewareDifficulty middlewareDifficulty = report.getDifficultyAssessment().getMiddlewareDifficulty(); MiddlewareDifficulty middlewareDifficulty = report.getDifficultyAssessment().getMiddlewareDifficulty();
//中间件系统评估P (1+0.001*依赖数量)*(1+0.001*依赖数量) //中间件系统评估P (1+0.001*依赖数量)*(1+0.001*依赖数量)
...@@ -311,7 +316,7 @@ public class WorkLoadUtil { ...@@ -311,7 +316,7 @@ public class WorkLoadUtil {
} }
pMiddle = pMiddle>1.3?1.3:pMiddle; pMiddle = pMiddle>1.3?1.3:pMiddle;
logger.info("中间件难度-评估:"+pMiddle); logger.info("中间件难度-评估:"+pMiddle);
middlewareDifficulty.setSystemEvaluation(pMiddle); middlewareDifficulty.setSystemEvaluation(Double.valueOf(nf.format(pMiddle)));
//中间件系统评估e (1+需求分数/100)*(1+需求分数/100) max=1.3 //中间件系统评估e (1+需求分数/100)*(1+需求分数/100) max=1.3
double emiddle = (1.0+(middlewareDifficulty.getWeb()==1.0?1:0)/100)* double emiddle = (1.0+(middlewareDifficulty.getWeb()==1.0?1:0)/100)*
(1.0+(middlewareDifficulty.getJms()==1?1.0:0)/100)* (1.0+(middlewareDifficulty.getJms()==1?1.0:0)/100)*
...@@ -319,15 +324,15 @@ public class WorkLoadUtil { ...@@ -319,15 +324,15 @@ public class WorkLoadUtil {
(1.0+(middlewareDifficulty.getRoute()==1?1.0:0)/100); (1.0+(middlewareDifficulty.getRoute()==1?1.0:0)/100);
emiddle = emiddle>1.3?1.3:emiddle; emiddle = emiddle>1.3?1.3:emiddle;
logger.info("中间件难度-用户额外:"+emiddle); logger.info("中间件难度-用户额外:"+emiddle);
middlewareDifficulty.setMessage(emiddle); middlewareDifficulty.setMessage(Double.valueOf(nf.format(emiddle)));
//中间件综合难度 p*e开根号 //中间件综合难度 p*e开根号
double multipleMiddle = Math.sqrt(pMiddle*emiddle); double multipleMiddle = Math.sqrt(pMiddle*emiddle);
logger.info("中间件难度-综合:"+multipleMiddle); logger.info("中间件难度-综合:"+multipleMiddle);
middlewareDifficulty.setDifficulty(multipleMiddle); middlewareDifficulty.setDifficulty(Double.valueOf(nf.format(multipleMiddle)));
//工作量2*j*(z-1) //工作量2*j*(z-1)
double middleWorkload = 2*j*(multipleMiddle-1); double middleWorkload = 2*j*(multipleMiddle-1);
logger.info("中间件工作量:2*j"+j+"*(综合难度-1):"+middleWorkload); logger.info("中间件工作量:2*j"+j+"*(综合难度-1):"+middleWorkload);
middlewareDifficulty.setLoad(middleWorkload); middlewareDifficulty.setLoad(Double.valueOf(nf.format(middleWorkload)));
DatabaseDifficulty databaseDifficulty = report.getDifficultyAssessment().getDatabaseDifficulty(); DatabaseDifficulty databaseDifficulty = report.getDifficultyAssessment().getDatabaseDifficulty();
//数据库e (1+需求/100)*...*(1+需求/100) //数据库e (1+需求/100)*...*(1+需求/100)
...@@ -337,17 +342,18 @@ public class WorkLoadUtil { ...@@ -337,17 +342,18 @@ public class WorkLoadUtil {
(1.0+(databaseDifficulty.getPerformance()==1?1.0:0)/100)* (1.0+(databaseDifficulty.getPerformance()==1?1.0:0)/100)*
(1.0+((databaseDifficulty.getOtherContent()!=null&&!databaseDifficulty.getOtherContent().trim().equals("")) ?1.0:0)/100); (1.0+((databaseDifficulty.getOtherContent()!=null&&!databaseDifficulty.getOtherContent().trim().equals("")) ?1.0:0)/100);
logger.info("数据库难度:"+eDatabase); logger.info("数据库难度:"+eDatabase);
databaseDifficulty.setDifficulty(eDatabase); databaseDifficulty.setDifficulty(Double.valueOf(nf.format(eDatabase)));
//工作量2*j*(z-1) //工作量2*j*(z-1)
double databaseWorkload = 2*j*(eDatabase-1); double databaseWorkload = 2*j*(eDatabase-1);
logger.info("数据库工作量2*j"+j+"*(综合难度-1):"+databaseWorkload); logger.info("数据库工作量2*j"+j+"*(综合难度-1):"+databaseWorkload);
databaseDifficulty.setLoad(databaseWorkload); databaseDifficulty.setLoad(Double.valueOf(nf.format(databaseWorkload)));
//本地程序e (1+0.2)数量次幂 max=1.5 //本地程序e (1+0.2)数量次幂 max=1.5
ProgramDifficulty programDifficulty = report.getDifficultyAssessment().getProgramDifficulty(); ProgramDifficulty programDifficulty = report.getDifficultyAssessment().getProgramDifficulty();
int totalNum = 0; int totalNum = 0;
for(DependOnNum dependOnNum:programDifficulty.getDependOnNum()){ for(DependOnNum dependOnNum:programDifficulty.getDependOnNum()){
System.out.println(dependOnNum.getName()); // System.out.println(dependOnNum.getName());
// System.out.println(dependOnNum.getNum());
if(dependOnNum.getNum()!=-1){ if(dependOnNum.getNum()!=-1){
totalNum += dependOnNum.getNum(); totalNum += dependOnNum.getNum();
} }
...@@ -356,11 +362,11 @@ public class WorkLoadUtil { ...@@ -356,11 +362,11 @@ public class WorkLoadUtil {
double eProgram = Math.pow(1.2, totalNum); double eProgram = Math.pow(1.2, totalNum);
eProgram = eProgram>1.5?1.5:eProgram; eProgram = eProgram>1.5?1.5:eProgram;
logger.info("本地程序难度:"+eProgram); logger.info("本地程序难度:"+eProgram);
programDifficulty.setDifficulty(eProgram); programDifficulty.setDifficulty(Double.valueOf(nf.format(eProgram)));
//工作量2*j*(z-1) //工作量2*j*(z-1)
double programWorkload = 2*j*(eProgram-1); double programWorkload = 2*j*(eProgram-1);
logger.info("本地程序工作量2*j"+j+"*(综合难度-1):"+programWorkload); logger.info("本地程序工作量2*j"+j+"*(综合难度-1):"+programWorkload);
programDifficulty.setLoad(programWorkload); programDifficulty.setLoad(Double.valueOf(nf.format(programWorkload)));
//综合难度未知*************************** //综合难度未知***************************
double multipleHardrage = 0.0; double multipleHardrage = 0.0;
...@@ -371,48 +377,51 @@ public class WorkLoadUtil { ...@@ -371,48 +377,51 @@ public class WorkLoadUtil {
//开发修正系数 (本地难度系数-1)+(浏览器难度系数-1) //开发修正系数 (本地难度系数-1)+(浏览器难度系数-1)
double developmentCorrectionFactor = eProgram-1+multipleBrowser-1; double developmentCorrectionFactor = eProgram-1+multipleBrowser-1;
logger.info("开发修正系数 (本地难度系数-1)+(浏览器难度系数-1):"+developmentCorrectionFactor); logger.info("开发修正系数 (本地难度系数-1)+(浏览器难度系数-1):"+developmentCorrectionFactor);
report.getWorkload().getDevelopment().setCorrectionFactor(developmentCorrectionFactor); report.getWorkload().getDevelopment().setCorrectionFactor(Double.valueOf(nf.format(1+developmentCorrectionFactor)));
//测试修正系数 (系统部署难度-1)+(浏览器-1) //测试修正系数 (系统部署难度-1)+(浏览器-1)
double testCorrectionFactor = multipleFramework-1+multipleBrowser-1; double testCorrectionFactor = multipleFramework-1+multipleBrowser-1;
logger.info("测试修正系数 (系统部署难度-1)+(浏览器-1):"+testCorrectionFactor); logger.info("测试修正系数 (系统部署难度-1)+(浏览器-1):"+testCorrectionFactor);
report.getWorkload().getTest().setCorrectionFactor(testCorrectionFactor); report.getWorkload().getTest().setCorrectionFactor(Double.valueOf(nf.format(1+testCorrectionFactor)));
//部署修正系数 (迁移)/100+(系统部署-1)+中间件部署-1+数据库部署-1 //部署修正系数 (迁移)/100+(系统部署-1)+中间件部署-1+数据库部署-1
double deploymentCorrectionFactor = calculate/100+multipleFramework-1+multipleMiddle-1+eDatabase-1; double deploymentCorrectionFactor = calculate/100+multipleFramework-1+multipleMiddle-1+eDatabase-1;
logger.info("部署修正系数 (迁移)/100+(系统部署-1)+中间件部署-1+数据库部署-1:"+deploymentCorrectionFactor); logger.info("部署修正系数 (迁移)/100+(系统部署-1)+中间件部署-1+数据库部署-1:"+deploymentCorrectionFactor);
report.getWorkload().getDeploy().setCorrectionFactor(deploymentCorrectionFactor); report.getWorkload().getDeploy().setCorrectionFactor(Double.valueOf(nf.format(1+deploymentCorrectionFactor)));
//开发的开发量 J*(开发修正系数+0.4) //开发的开发量 J*(开发修正系数+0.4)
double developmentWorkload = j*(developmentCorrectionFactor+0.4); double developmentWorkload = j*(developmentCorrectionFactor+0.4);
logger.info("开发的开发量 J*(开发修正系数+0.4):"+developmentWorkload); logger.info("开发的开发量 J*(开发修正系数+0.4):"+developmentWorkload);
report.getWorkload().getDevelopment().setDevelopmentVolume(developmentWorkload); report.getWorkload().getDevelopment().setDevelopmentVolume(Double.valueOf(nf.format(developmentWorkload)));
//测试的开发量 J*(测试修正系数+0.3) //测试的开发量 J*(测试修正系数+0.3)
double testWorkload = j*(testCorrectionFactor+0.3); double testWorkload = j*(testCorrectionFactor+0.3);
logger.info("测试的开发量 J*(测试修正系数+0.3):"+testWorkload); logger.info("测试的开发量 J*(测试修正系数+0.3):"+testWorkload);
report.getWorkload().getTest().setDevelopmentVolume(testWorkload); report.getWorkload().getTest().setDevelopmentVolume(Double.valueOf(nf.format(testWorkload)));
//部署的开发量 J*(部署修正系数+0.3) //部署的开发量 J*(部署修正系数+0.3)
double deploymentWorkload = j*(deploymentCorrectionFactor+0.3); double deploymentWorkload = j*(deploymentCorrectionFactor+0.3);
logger.info("部署的开发量 J*(部署修正系数+0.3):"+deploymentWorkload); logger.info("部署的开发量 J*(部署修正系数+0.3):"+deploymentWorkload);
report.getWorkload().getDeploy().setDevelopmentVolume(deploymentWorkload); report.getWorkload().getDeploy().setDevelopmentVolume(Double.valueOf(nf.format(deploymentWorkload)));
//合计的开发量 总数 //合计的开发量 总数
double totalWorkload = developmentWorkload+testWorkload+deploymentWorkload; double totalWorkload = developmentWorkload+testWorkload+deploymentWorkload;
logger.info("合计的开发量 总数:"+totalWorkload); logger.info("合计的开发量 总数:"+totalWorkload);
report.getWorkload().getTotal().setDevelopmentVolume(totalWorkload); report.getWorkload().getTotal().setDevelopmentVolume(Double.valueOf(nf.format(totalWorkload)));
report.getWorkload().getTotal().setCorrectionFactor(-1);
/** /**
* 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值 * 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值
*/ */
report.getManufacturingCost().getArtificial().setCalculation(r); report.getManufacturingCost().getArtificial().setCalculation(Double.valueOf(nf.format(r)));
report.getManufacturingCost().getArtificial().setAdjustment(r); report.getManufacturingCost().getArtificial().setAdjustment(Double.valueOf(nf.format(r)));
report.getManufacturingCost().getWorkLoad().setCalculation(totalWorkload); report.getManufacturingCost().getWorkLoad().setCalculation(Double.valueOf(nf.format(totalWorkload)));
report.getManufacturingCost().getWorkLoad().setAdjustment(totalWorkload); report.getManufacturingCost().getWorkLoad().setAdjustment(Double.valueOf(nf.format(totalWorkload)));
report.getManufacturingCost().getDegreeOfDifficulty().setCalculation(multipleHardrage); report.getManufacturingCost().getDegreeOfDifficulty().setCalculation(Double.valueOf(nf.format(multipleHardrage)));
report.getManufacturingCost().getDegreeOfDifficulty().setAdjustment(multipleHardrage); report.getManufacturingCost().getDegreeOfDifficulty().setAdjustment(Double.valueOf(nf.format(multipleHardrage)));
report.getManufacturingCost().getApply().setCalculation(reform.getApply().getCost()==-1?0:reform.getApply().getCost()); report.getManufacturingCost().getApply().setCalculation(Double.valueOf(nf.format(reform.getApply().getCost()==-1?0:reform.getApply().getCost())));
report.getManufacturingCost().getApply().setAdjustment(0); report.getManufacturingCost().getApply().setAdjustment(0);
report.getManufacturingCost().getBudgetaryCost().setCalculation(r*totalWorkload+reform.getApply().getCost()); report.getManufacturingCost().getBudgetaryCost().setCalculation(Double.valueOf(nf.format(r*totalWorkload+reform.getApply().getCost())));
report.getManufacturingCost().getBudgetaryCost().setAdjustment(r*totalWorkload); report.getManufacturingCost().getBudgetaryCost().setAdjustment(Double.valueOf(nf.format(r*totalWorkload)));
logger.info("人工费:"+r+"万元"); logger.info("人工费:"+r+"万元");
logger.info("额外申请"+(reform.getApply().getCost()==-1?0:reform.getApply().getCost())+"万元"); logger.info("额外申请"+(reform.getApply().getCost()==-1?0:reform.getApply().getCost())+"万元");
logger.info("费用总计"+(r*totalWorkload+reform.getApply().getCost())); logger.info("费用总计"+(r*totalWorkload+reform.getApply().getCost()));
//修正系数+1
//额外申请原因
} }
public static void main(String[] args) { public static void main(String[] args) {
......
...@@ -53,7 +53,7 @@ spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ...@@ -53,7 +53,7 @@ spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
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
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=123456 spring.datasource.password=root
maven.home=/usr/share/maven maven.home=/usr/share/maven
maven.command=dependency:tree -DoutputType=txt -DoutputFile= maven.command=dependency:tree -DoutputType=txt -DoutputFile=
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论