作者 wwmin

基金计算调整

... ... @@ -421,8 +421,8 @@ public class ProjectServiceImpl implements ProjectService {
* 建筑面积
*/
double architectureArea = 0.0;
if(!synthesize_no_2_1s.isEmpty()){
for (Synthesize_no_2_1 synthesize_no_2_1 : synthesize_no_2_1s){
if (!synthesize_no_2_1s.isEmpty()) {
for (Synthesize_no_2_1 synthesize_no_2_1 : synthesize_no_2_1s) {
architectureArea += synthesize_no_2_1.getArchitectureArea();
}
}
... ... @@ -1853,15 +1853,16 @@ public class ProjectServiceImpl implements ProjectService {
otherIncome = synthesize_no_2_5.getOtherMoney();
}
/**
* 年收入
* 年收入 (含税)
* =供电收入+供热收入+供冷收入+热水收入
*/
double annualIncome = (Double.parseDouble(synthesize_no_3_6.getNo1()) + synthesize_no_3_6.getNo2() + synthesize_no_3_6.getNo3() + Double.parseDouble(synthesize_no_3_6.getNo4())) / 10000;
/**
* 原值=
* 原值 (收入不含税)=
* 年收入/(1+增值税率)
*/
double originalValue = annualIncome / (1 + synthesize_no_2_6.getNo64());
// double originalValue = annualIncome / (1 + synthesize_no_2_6.getNo64());
double originalValue = Double.parseDouble(synthesize_no_3_6.getNo1()) / 10000 / (1 + synthesize_no_2_6.getNo64()) + (synthesize_no_3_6.getNo2() + synthesize_no_3_6.getNo3() + Double.parseDouble(synthesize_no_3_6.getNo4())) / 10000 / (1 + 0.09);
/**
* 年总运成本
* = 光伏单位运维*光伏容量+风电单位运维*风电容量+
... ... @@ -1877,15 +1878,21 @@ public class ProjectServiceImpl implements ProjectService {
*/
// double fuelCost = (synthesize_no_3_6.getNo111() * (synthesize_no_3_6.getNo112() + synthesize_no_3_6.getNo113() + synthesize_no_3_6.getNo114()) / 3 + synthesize_no_3_6.getNo117() * synthesize_no_3_6.getNo114() + (Double.parseDouble(synthesize_no_3_6.getNo115()) * 3600 / 36000) * synthesize_no_3_6.getNo116() + synthesize_no_3_6.getNo20() * synthesize_no_3_6.getNo118()) / 10000;
/**
* 现金流出
* */
double outCome = (annualTotalTransportationCost + (annualIncome - originalValue) * 1.12);
/**
* 利润
* =原值-运维成本-燃料成本
*/
double profit = originalValue - annualTotalTransportationCost;
// double profit = originalValue - annualTotalTransportationCost;
double profit = annualIncome - outCome;
List<NpvData> npvDatas = new ArrayList<>();
NpvData npvData = new NpvData();
npvData.setR(synthesize_no_2_6.getNo63());
npvData.setYear(synthesize_no_2_6.getNo62());
List<Double> list = new ArrayList<>();
int yearLength = npvData.getYear();
if ("1".equals(synthesize_no_2_5.getSale())) {
/**
* 三免三减半
... ... @@ -1903,10 +1910,10 @@ public class ProjectServiceImpl implements ProjectService {
case 4:
case 5:
case 6:
list.add(profit * (1 - 0.25 / 2));
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.25 / 2);
break;
default:
list.add(profit * (1 - 0.25));
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.25);
break;
}
}
... ... @@ -1915,7 +1922,7 @@ public class ProjectServiceImpl implements ProjectService {
* 高新技术企业
*/
for (Integer i = 0; i < npvData.getYear(); i++) {
list.add(profit * (1 - 0.15));
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15);
}
list.set(0, -synthesize_no_3_6.getNo300() - otherIncome);
} else if ("1,2".equals(synthesize_no_2_5.getSale())) {
... ... @@ -1935,10 +1942,10 @@ public class ProjectServiceImpl implements ProjectService {
case 4:
case 5:
case 6:
list.add(profit * (1 - 0.15 / 2));
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15 / 2);
break;
default:
list.add(profit * (1 - 0.15));
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15);
break;
}
}
... ... @@ -1946,8 +1953,9 @@ public class ProjectServiceImpl implements ProjectService {
/**
* 都不选
*/
for (Integer i = 0; i < npvData.getYear(); i++) {
list.add(profit * (1 - 0.25));
for (int i = 0; i < yearLength; i++) {
list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength - outCome) * 0.25);
}
list.set(0, -synthesize_no_3_6.getNo300() - otherIncome);
}
... ...
... ... @@ -74,7 +74,7 @@ public class Synthesize_no_2_6ServiceImpl extends ServiceImpl<Synthesize_no_2_6M
* 光伏发电
*/
ComputeArgDto computeArgDto = new ComputeArgDto();
computeArgDto.setNamType("有效铺设量");
computeArgDto.setNamType("铺设比例");
computeArgDto.setId(16);
computeArgDto.setModelType(synthesize_no_2_6.getNo16());
computeArgDto.setName("W/m²");
... ...