|
@@ -126,6 +126,10 @@ public class SubstationService {
|
|
double azCsFee = BashInfo.getAzCsfee(csqd1);
|
|
double azCsFee = BashInfo.getAzCsfee(csqd1);
|
|
//安装规费
|
|
//安装规费
|
|
double azGf = BashInfo.getAzGf(gf);
|
|
double azGf = BashInfo.getAzGf(gf);
|
|
|
|
+ //获取结算表中基础数据
|
|
|
|
+ double jsCs = ExcelUtil.getDouble(total,BashInfo.JS_CSXM,1,2);
|
|
|
|
+ double jsGf = ExcelUtil.getDouble(total,BashInfo.JS_GF,1,2);
|
|
|
|
+ double jsTex = ExcelUtil.getTex(total);
|
|
if(jzgc !=0.00 && azgc != 0.00){
|
|
if(jzgc !=0.00 && azgc != 0.00){
|
|
ImportExcel jzqd = new ImportExcel(file, 1, SubstationInfo.SHEET_JZFBFXJJ,true); //建筑分部分项工程量清单计价表
|
|
ImportExcel jzqd = new ImportExcel(file, 1, SubstationInfo.SHEET_JZFBFXJJ,true); //建筑分部分项工程量清单计价表
|
|
ImportExcel azqd = new ImportExcel(file, 1, SubstationInfo.SHEET_AZFBFXJJ,true); //安装分部分项工程量清单计价表
|
|
ImportExcel azqd = new ImportExcel(file, 1, SubstationInfo.SHEET_AZFBFXJJ,true); //安装分部分项工程量清单计价表
|
|
@@ -245,7 +249,7 @@ public class SubstationService {
|
|
double measuresFee3 = csJzFee*rateCs; //措施费二
|
|
double measuresFee3 = csJzFee*rateCs; //措施费二
|
|
double otherFee =qtFees[2]*rateQt; //其他费用
|
|
double otherFee =qtFees[2]*rateQt; //其他费用
|
|
double fees = (zjgcJzFee-(originalFbrCost/(1+jxslJz)*jxslJz))*(jzgfRate[0]+jzgfRate[1]*0.2); //规费
|
|
double fees = (zjgcJzFee-(originalFbrCost/(1+jxslJz)*jxslJz))*(jzgfRate[0]+jzgfRate[1]*0.2); //规费
|
|
- if(flagJz && flagAz){
|
|
|
|
|
|
+ if(f){
|
|
tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
|
|
tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
|
|
totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax-originalFbrCost; //合计
|
|
totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax-originalFbrCost; //合计
|
|
} else {
|
|
} else {
|
|
@@ -288,7 +292,7 @@ public class SubstationService {
|
|
double otherFee =qtFees[2]*rateQt; //其他费用
|
|
double otherFee =qtFees[2]*rateQt; //其他费用
|
|
// double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.6; //规费
|
|
// double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.6; //规费
|
|
double fees = azGf*rateRg; //规费
|
|
double fees = azGf*rateRg; //规费
|
|
- if(flagJz && flagAz){
|
|
|
|
|
|
+ if(f){
|
|
tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
|
|
tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
|
|
totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax-originalFbrCost; //合计
|
|
totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax-originalFbrCost; //合计
|
|
} else {
|
|
} else {
|
|
@@ -312,22 +316,6 @@ public class SubstationService {
|
|
|
|
|
|
//补税
|
|
//补税
|
|
double texTotal = jzTotal.get(0).getTex()+azTotal.get(0).getTex();//税合计金额
|
|
double texTotal = jzTotal.get(0).getTex()+azTotal.get(0).getTex();//税合计金额
|
|
- if(btex != 0.00){
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee : jzTotal){
|
|
|
|
- double tex = jkxlDetailFee.getTex();
|
|
|
|
- double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
- double rate = tex/texTotal;
|
|
|
|
- jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
- jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
- }
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee : azTotal){
|
|
|
|
- double tex = jkxlDetailFee.getTex();
|
|
|
|
- double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
- double rate = tex/texTotal;
|
|
|
|
- jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
- jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
//其他费用补税
|
|
//其他费用补税
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
@@ -348,7 +336,51 @@ public class SubstationService {
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //补税
|
|
|
|
+ if(btex != 0.00){
|
|
|
|
+ double tex1 = jzTotal.get(0).getTex()+azTotal.get(0).getTex();//税合计金额
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : jzTotal){
|
|
|
|
+ double tex = jkxlDetailFee.getTex();
|
|
|
|
+ double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
+ double rate = tex/tex1;
|
|
|
|
+ jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
+ jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
+ }
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : azTotal){
|
|
|
|
+ double tex = jkxlDetailFee.getTex();
|
|
|
|
+ double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
+ double rate = tex/tex1;
|
|
|
|
+ jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
+ jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //分摊差额
|
|
|
|
+ double cstotal1 = jzTotal.get(0).getMeasuresFee1()+azTotal.get(0).getMeasuresFee1();
|
|
|
|
+ double cstotal2 = jzTotal.get(0).getMeasuresFee2()+azTotal.get(0).getMeasuresFee2();
|
|
|
|
+ double cstotal3 = jzTotal.get(0).getMeasuresFee3()+azTotal.get(0).getMeasuresFee3();
|
|
|
|
+ double gftotal = jzTotal.get(0).getFees()+azTotal.get(0).getFees();
|
|
|
|
+
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee1 : jzTotal){
|
|
|
|
+ double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
|
|
|
|
+ double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
|
|
|
|
+ double gfft = (jsGf-gftotal)*ftRate;
|
|
|
|
+ double texft = (csft+gfft)*texRate;
|
|
|
|
+ jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
|
|
|
|
+ jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
|
|
|
|
+ jkxlDetailFee1.setTex(jkxlDetailFee1.getTex()+texft);
|
|
|
|
+ jkxlDetailFee1.setTotalFee(jkxlDetailFee1.getTotalFee()+csft+gfft+texft);
|
|
|
|
+ }
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee1 : azTotal){
|
|
|
|
+ double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
|
|
|
|
+ double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
|
|
|
|
+ double gfft = (jsGf-gftotal)*ftRate;
|
|
|
|
+ double texft = (csft+gfft)*texRate;
|
|
|
|
+ jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
|
|
|
|
+ jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
|
|
|
|
+ jkxlDetailFee1.setTex(jkxlDetailFee1.getTex()+texft);
|
|
|
|
+ jkxlDetailFee1.setTotalFee(jkxlDetailFee1.getTotalFee()+csft+gfft+texft);
|
|
|
|
+ }
|
|
|
|
+ //计算差额
|
|
double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
|
|
double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
|
|
|
|
|
|
if(wsbFees != null && wsbFees.size()>0){
|
|
if(wsbFees != null && wsbFees.size()>0){
|
|
@@ -475,17 +507,8 @@ public class SubstationService {
|
|
jzDetail.setTex(jztex);
|
|
jzDetail.setTex(jztex);
|
|
jzTotal.set(0,jzDetail);
|
|
jzTotal.set(0,jzDetail);
|
|
|
|
|
|
- //补税
|
|
|
|
|
|
+
|
|
double jztexTotal = jzTotal.get(0).getTex();
|
|
double jztexTotal = jzTotal.get(0).getTex();
|
|
- if(btex != 0.00){
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee : jzTotal){
|
|
|
|
- double tex = jkxlDetailFee.getTex();
|
|
|
|
- double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
- double rate = tex/jztexTotal;
|
|
|
|
- jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
- jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
//其他费用补税
|
|
//其他费用补税
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
for (JkxlDetailFee jkxlDetailFee : jzTotal) {
|
|
for (JkxlDetailFee jkxlDetailFee : jzTotal) {
|
|
@@ -497,6 +520,33 @@ public class SubstationService {
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //补税
|
|
|
|
+ if(btex != 0.00){
|
|
|
|
+ double jztex1 = jzTotal.get(0).getTex();
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : jzTotal){
|
|
|
|
+ double tex = jkxlDetailFee.getTex();
|
|
|
|
+ double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
+ double rate = tex/jztex1;
|
|
|
|
+ jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
+ jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //分摊差额
|
|
|
|
+ double cstotal1 = jzTotal.get(0).getMeasuresFee1();
|
|
|
|
+ double cstotal2 = jzTotal.get(0).getMeasuresFee2();
|
|
|
|
+ double cstotal3 = jzTotal.get(0).getMeasuresFee3();
|
|
|
|
+ double gftotal = jzTotal.get(0).getFees();
|
|
|
|
+
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee1 : jzTotal){
|
|
|
|
+ double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcJzTotal;
|
|
|
|
+ double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
|
|
|
|
+ double gfft = (jsGf-gftotal)*ftRate;
|
|
|
|
+ double texft = (csft+gfft)*texRate;
|
|
|
|
+ jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
|
|
|
|
+ jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
|
|
|
|
+ jkxlDetailFee1.setTex(jkxlDetailFee1.getTex()+texft);
|
|
|
|
+ jkxlDetailFee1.setTotalFee(jkxlDetailFee1.getTotalFee()+csft+gfft+texft);
|
|
|
|
+ }
|
|
|
|
|
|
double tz = jzTotal.get(0).getTotalFee();//总合计金额
|
|
double tz = jzTotal.get(0).getTotalFee();//总合计金额
|
|
|
|
|
|
@@ -631,15 +681,6 @@ public class SubstationService {
|
|
|
|
|
|
//补税
|
|
//补税
|
|
double aztexTotal = azTotal.get(0).getTex();
|
|
double aztexTotal = azTotal.get(0).getTex();
|
|
- if(btex != 0.00){
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee : azTotal){
|
|
|
|
- double tex = jkxlDetailFee.getTex();
|
|
|
|
- double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
- double rate = tex/aztexTotal;
|
|
|
|
- jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
- jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
//其他费用补税
|
|
//其他费用补税
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
for (JkxlDetailFee jkxlDetailFee : azTotal) {
|
|
for (JkxlDetailFee jkxlDetailFee : azTotal) {
|
|
@@ -651,6 +692,33 @@ public class SubstationService {
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
jkxlDetailFee.setTotalFee(total1 + tzTex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //补税
|
|
|
|
+ if(btex != 0.00){
|
|
|
|
+ double tex1 = azTotal.get(0).getTex();
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : azTotal){
|
|
|
|
+ double tex = jkxlDetailFee.getTex();
|
|
|
|
+ double total1 = jkxlDetailFee.getTotalFee();
|
|
|
|
+ double rate = tex/aztexTotal;
|
|
|
|
+ jkxlDetailFee.setTex(tex+btex*rate);
|
|
|
|
+ jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //分摊差额
|
|
|
|
+ double cstotal1 = azTotal.get(0).getMeasuresFee1();
|
|
|
|
+ double cstotal2 = azTotal.get(0).getMeasuresFee2();
|
|
|
|
+ double cstotal3 = azTotal.get(0).getMeasuresFee3();
|
|
|
|
+ double gftotal = azTotal.get(0).getFees();
|
|
|
|
+
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee1 : azTotal){
|
|
|
|
+ double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcAzTotal;
|
|
|
|
+ double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
|
|
|
|
+ double gfft = (jsGf-gftotal)*ftRate;
|
|
|
|
+ double texft = (csft+gfft)*texRate;
|
|
|
|
+ jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
|
|
|
|
+ jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
|
|
|
|
+ jkxlDetailFee1.setTex(jkxlDetailFee1.getTex()+texft);
|
|
|
|
+ jkxlDetailFee1.setTotalFee(jkxlDetailFee1.getTotalFee()+csft+gfft+texft);
|
|
|
|
+ }
|
|
|
|
|
|
double tz = azTotal.get(0).getTotalFee();//总合计金额
|
|
double tz = azTotal.get(0).getTotalFee();//总合计金额
|
|
|
|
|