作者 wwmin

基金计算调整

@@ -421,8 +421,8 @@ public class ProjectServiceImpl implements ProjectService { @@ -421,8 +421,8 @@ public class ProjectServiceImpl implements ProjectService {
421 * 建筑面积 421 * 建筑面积
422 */ 422 */
423 double architectureArea = 0.0; 423 double architectureArea = 0.0;
424 - if(!synthesize_no_2_1s.isEmpty()){  
425 - for (Synthesize_no_2_1 synthesize_no_2_1 : synthesize_no_2_1s){ 424 + if (!synthesize_no_2_1s.isEmpty()) {
  425 + for (Synthesize_no_2_1 synthesize_no_2_1 : synthesize_no_2_1s) {
426 architectureArea += synthesize_no_2_1.getArchitectureArea(); 426 architectureArea += synthesize_no_2_1.getArchitectureArea();
427 } 427 }
428 } 428 }
@@ -1853,15 +1853,16 @@ public class ProjectServiceImpl implements ProjectService { @@ -1853,15 +1853,16 @@ public class ProjectServiceImpl implements ProjectService {
1853 otherIncome = synthesize_no_2_5.getOtherMoney(); 1853 otherIncome = synthesize_no_2_5.getOtherMoney();
1854 } 1854 }
1855 /** 1855 /**
1856 - * 年收入 1856 + * 年收入 (含税)
1857 * =供电收入+供热收入+供冷收入+热水收入 1857 * =供电收入+供热收入+供冷收入+热水收入
1858 */ 1858 */
1859 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; 1859 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;
1860 /** 1860 /**
1861 - * 原值= 1861 + * 原值 (收入不含税)=
1862 * 年收入/(1+增值税率) 1862 * 年收入/(1+增值税率)
1863 */ 1863 */
1864 - double originalValue = annualIncome / (1 + synthesize_no_2_6.getNo64()); 1864 +// double originalValue = annualIncome / (1 + synthesize_no_2_6.getNo64());
  1865 + 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);
1865 /** 1866 /**
1866 * 年总运成本 1867 * 年总运成本
1867 * = 光伏单位运维*光伏容量+风电单位运维*风电容量+ 1868 * = 光伏单位运维*光伏容量+风电单位运维*风电容量+
@@ -1877,15 +1878,21 @@ public class ProjectServiceImpl implements ProjectService { @@ -1877,15 +1878,21 @@ public class ProjectServiceImpl implements ProjectService {
1877 */ 1878 */
1878 // 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; 1879 // 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;
1879 /** 1880 /**
  1881 + * 现金流出
  1882 + * */
  1883 + double outCome = (annualTotalTransportationCost + (annualIncome - originalValue) * 1.12);
  1884 + /**
1880 * 利润 1885 * 利润
1881 * =原值-运维成本-燃料成本 1886 * =原值-运维成本-燃料成本
1882 */ 1887 */
1883 - double profit = originalValue - annualTotalTransportationCost; 1888 +// double profit = originalValue - annualTotalTransportationCost;
  1889 + double profit = annualIncome - outCome;
1884 List<NpvData> npvDatas = new ArrayList<>(); 1890 List<NpvData> npvDatas = new ArrayList<>();
1885 NpvData npvData = new NpvData(); 1891 NpvData npvData = new NpvData();
1886 npvData.setR(synthesize_no_2_6.getNo63()); 1892 npvData.setR(synthesize_no_2_6.getNo63());
1887 npvData.setYear(synthesize_no_2_6.getNo62()); 1893 npvData.setYear(synthesize_no_2_6.getNo62());
1888 List<Double> list = new ArrayList<>(); 1894 List<Double> list = new ArrayList<>();
  1895 + int yearLength = npvData.getYear();
1889 if ("1".equals(synthesize_no_2_5.getSale())) { 1896 if ("1".equals(synthesize_no_2_5.getSale())) {
1890 /** 1897 /**
1891 * 三免三减半 1898 * 三免三减半
@@ -1903,10 +1910,10 @@ public class ProjectServiceImpl implements ProjectService { @@ -1903,10 +1910,10 @@ public class ProjectServiceImpl implements ProjectService {
1903 case 4: 1910 case 4:
1904 case 5: 1911 case 5:
1905 case 6: 1912 case 6:
1906 - list.add(profit * (1 - 0.25 / 2)); 1913 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.25 / 2);
1907 break; 1914 break;
1908 default: 1915 default:
1909 - list.add(profit * (1 - 0.25)); 1916 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.25);
1910 break; 1917 break;
1911 } 1918 }
1912 } 1919 }
@@ -1915,7 +1922,7 @@ public class ProjectServiceImpl implements ProjectService { @@ -1915,7 +1922,7 @@ public class ProjectServiceImpl implements ProjectService {
1915 * 高新技术企业 1922 * 高新技术企业
1916 */ 1923 */
1917 for (Integer i = 0; i < npvData.getYear(); i++) { 1924 for (Integer i = 0; i < npvData.getYear(); i++) {
1918 - list.add(profit * (1 - 0.15)); 1925 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15);
1919 } 1926 }
1920 list.set(0, -synthesize_no_3_6.getNo300() - otherIncome); 1927 list.set(0, -synthesize_no_3_6.getNo300() - otherIncome);
1921 } else if ("1,2".equals(synthesize_no_2_5.getSale())) { 1928 } else if ("1,2".equals(synthesize_no_2_5.getSale())) {
@@ -1935,10 +1942,10 @@ public class ProjectServiceImpl implements ProjectService { @@ -1935,10 +1942,10 @@ public class ProjectServiceImpl implements ProjectService {
1935 case 4: 1942 case 4:
1936 case 5: 1943 case 5:
1937 case 6: 1944 case 6:
1938 - list.add(profit * (1 - 0.15 / 2)); 1945 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15 / 2);
1939 break; 1946 break;
1940 default: 1947 default:
1941 - list.add(profit * (1 - 0.15)); 1948 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength- outCome) * 0.15);
1942 break; 1949 break;
1943 } 1950 }
1944 } 1951 }
@@ -1946,8 +1953,9 @@ public class ProjectServiceImpl implements ProjectService { @@ -1946,8 +1953,9 @@ public class ProjectServiceImpl implements ProjectService {
1946 /** 1953 /**
1947 * 都不选 1954 * 都不选
1948 */ 1955 */
1949 - for (Integer i = 0; i < npvData.getYear(); i++) {  
1950 - list.add(profit * (1 - 0.25)); 1956 +
  1957 + for (int i = 0; i < yearLength; i++) {
  1958 + list.add(profit - (originalValue - synthesize_no_3_6.getNo300() / yearLength - outCome) * 0.25);
1951 } 1959 }
1952 list.set(0, -synthesize_no_3_6.getNo300() - otherIncome); 1960 list.set(0, -synthesize_no_3_6.getNo300() - otherIncome);
1953 } 1961 }
@@ -74,7 +74,7 @@ public class Synthesize_no_2_6ServiceImpl extends ServiceImpl<Synthesize_no_2_6M @@ -74,7 +74,7 @@ public class Synthesize_no_2_6ServiceImpl extends ServiceImpl<Synthesize_no_2_6M
74 * 光伏发电 74 * 光伏发电
75 */ 75 */
76 ComputeArgDto computeArgDto = new ComputeArgDto(); 76 ComputeArgDto computeArgDto = new ComputeArgDto();
77 - computeArgDto.setNamType("有效铺设量"); 77 + computeArgDto.setNamType("铺设比例");
78 computeArgDto.setId(16); 78 computeArgDto.setId(16);
79 computeArgDto.setModelType(synthesize_no_2_6.getNo16()); 79 computeArgDto.setModelType(synthesize_no_2_6.getNo16());
80 computeArgDto.setName("W/m²"); 80 computeArgDto.setName("W/m²");