提交 769d5475 authored 作者: 孙洁清's avatar 孙洁清

修正系数

上级 5aa7d6c9
...@@ -24,6 +24,8 @@ import javax.servlet.http.HttpServletResponse; ...@@ -24,6 +24,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.io.File; import java.io.File;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* 评估接口 * 评估接口
...@@ -148,16 +150,82 @@ public class InspectController { ...@@ -148,16 +150,82 @@ public class InspectController {
} }
Integer cost = reform.getCost(); Integer cost = reform.getCost();
int x=cost; int x=cost;
if(cost<100){ List<MasterConfig> configs = masterConfigParamDao.findAll();
int sub = BigDecimalUtil.sub(100, cost); Map<String, String> configMap = configs.stream().collect(Collectors.toMap(k -> k.getName(), k->k.getValue()));
int divi = BigDecimalUtil.divi(sub, 10); String adaptMaxValue = configMap.get("adaptMaxValue");
x = BigDecimalUtil.sub(100, divi); String adaptMinValue = configMap.get("adaptMinValue");
String transformMaxVal = configMap.get("transformMaxVal");
String transformMinVal = configMap.get("transformMinVal");
String adaptIns = configMap.get("adaptIns");
log.info("原价格:{}",cost);
//(1:改造 2:适配)
int sp=100;
int spsx=400;
int gzz=100;
int gzg=800;
int spqd=250;
try {
if(!StringUtils.isEmpty(adaptIns)){
spqd = Integer.valueOf(adaptIns);
}
}catch (Exception e){}
try {
if(!StringUtils.isEmpty(adaptMaxValue)) {
sp = Integer.valueOf(adaptMaxValue);
}
}catch (Exception e){
}
try {
if(!StringUtils.isEmpty(adaptMinValue)) {
spsx = Integer.valueOf(adaptMinValue);
}
}catch (Exception e){
}
try {
if (!StringUtils.isEmpty(transformMaxVal)) {
gzz = Integer.valueOf(transformMaxVal);
}
}catch (Exception e){
}
try {
if(!StringUtils.isEmpty(transformMinVal)) {
gzg = Integer.valueOf(transformMinVal);
}
}catch (Exception e){
}
}else if(cost>1000){ if(reform.getMode()==2){
int sub = BigDecimalUtil.sub( cost,1000); if(cost < sp){
int divi = BigDecimalUtil.divi(sub, 10); int i=sp;
x = BigDecimalUtil.add(1000, divi); int sub = BigDecimalUtil.sub(i, cost);
int divi = BigDecimalUtil.divi(sub, 10);
x = BigDecimalUtil.sub(i, divi);
}else if(cost > spsx){
int sub = BigDecimalUtil.sub(cost, spsx);
int divi = BigDecimalUtil.divi(sub, 10);
x = BigDecimalUtil.add(spsx, divi);
}
}else {
if (cost < gzz) {
int sub = BigDecimalUtil.sub(gzz, cost);
int divi = BigDecimalUtil.divi(sub, 10);
x = BigDecimalUtil.sub(gzz, divi);
} else if (cost > gzg) {
int sub = BigDecimalUtil.sub(cost, gzg);
int divi = BigDecimalUtil.divi(sub, 10);
x = BigDecimalUtil.add(gzg, divi);
}
} }
reform.setCost(x); reform.setCost(x);
log.info("修改后的价格:{}",reform.getCost()); log.info("修改后的价格:{}",reform.getCost());
...@@ -170,7 +238,7 @@ public class InspectController { ...@@ -170,7 +238,7 @@ public class InspectController {
admin = 2; admin = 2;
} }
System.out.println("admin:" + admin); System.out.println("admin:" + admin);
System.out.println(JSON.toJSONString(reform)); // System.out.println(JSON.toJSONString(reform));
//架构类型 //架构类型
Integer framework = reform.getFramework(); Integer framework = reform.getFramework();
if (framework != null && framework == 1) { if (framework != null && framework == 1) {
...@@ -393,9 +461,18 @@ public class InspectController { ...@@ -393,9 +461,18 @@ public class InspectController {
//造价估算 //造价估算
//r:人工费 //r:人工费
//计算f //计算f
int i = BigDecimalUtil.add(css, api);
int sum = BigDecimalUtil.add(i, plugIn);
log.info("css+js+html总数:{}",sum);
double divi = BigDecimalUtil.diviDouble(sum, spqd);
log.info("除以"+spqd+":{}",divi);
Budget budget = inspect.getBudgets().getBudget().get(0); Budget budget = inspect.getBudgets().getBudget().get(0);
double f = budget.getProportion() * budget.getSysFund() * budget.getMoneyRate() * budget.getCoefficient(); double f = budget.getProportion() * budget.getSysFund() * budget.getMoneyRate() * budget.getCoefficient();
System.out.println("F:" + f); if(reform.getMode()==2){
f+=divi;
}
log.info("F:" + f);
workLoadUtil.result(reform, assessmentReport, f, 1.5); workLoadUtil.result(reform, assessmentReport, f, 1.5);
//输出参数 //输出参数
......
...@@ -36,6 +36,11 @@ public class BigDecimalUtil { ...@@ -36,6 +36,11 @@ public class BigDecimalUtil {
BigDecimal b1 = new BigDecimal(b+""); BigDecimal b1 = new BigDecimal(b+"");
return (int)a1.divide(b1).doubleValue(); return (int)a1.divide(b1).doubleValue();
} }
public static double diviDouble(int a,int b){
BigDecimal a1 = new BigDecimal(a+"");
BigDecimal b1 = new BigDecimal(b+"");
return a1.divide(b1).doubleValue();
}
public static void main(String[] args) { public static void main(String[] args) {
double precision = BigDecimalUtil.get2precision(1.1111111D); double precision = BigDecimalUtil.get2precision(1.1111111D);
System.out.println(precision); System.out.println(precision);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论