|
@@ -153,7 +153,7 @@ public class OverheadLineService {
|
|
tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
|
|
tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
|
|
//读取表格
|
|
//读取表格
|
|
ImportExcel importExcel = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ); //分部分项工程量清单计价表
|
|
ImportExcel importExcel = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ); //分部分项工程量清单计价表
|
|
- ImportExcel csqd = new ImportExcel(file,1,BashInfo.SHEET_CSB); // 措施项目清单计价表(一)
|
|
|
|
|
|
+ ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1}); // 措施项目清单计价表(一)
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD); //规费项目清单计价表
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD); //规费项目清单计价表
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY); //其他项目清单计价表
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY); //其他项目清单计价表
|
|
ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB ); //工程项目竣工结算汇总表
|
|
ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB ); //工程项目竣工结算汇总表
|
|
@@ -305,152 +305,318 @@ public class OverheadLineService {
|
|
tcRate[1] = ruleRatioService.getValueByName(BashInfo.RATIO_CLTC).getValue()/100;
|
|
tcRate[1] = ruleRatioService.getValueByName(BashInfo.RATIO_CLTC).getValue()/100;
|
|
tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
|
|
tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
|
|
//读取表格
|
|
//读取表格
|
|
- ImportExcel jzqd = new ImportExcel(file,1,BashInfo.SHEET_JZFBFXJJ); //建筑分部分项工程量清单计价表
|
|
|
|
- ImportExcel azqd = new ImportExcel(file,1,BashInfo.SHEET_AZFBFXJJ); //安装分部分项工程量清单计价表
|
|
|
|
- ImportExcel csqd = new ImportExcel(file,1,BashInfo.SHEET_CSB); // 措施项目清单计价表(一)
|
|
|
|
|
|
+ ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1} ); //工程项目竣工结算汇总表
|
|
|
|
+ ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1}); // 措施项目清单计价表(一)
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD); //规费项目清单计价表
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD); //规费项目清单计价表
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY); //其他项目清单计价表
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY); //其他项目清单计价表
|
|
- ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB ); //工程项目竣工结算汇总表
|
|
|
|
- ImportExcel jzhz = new ImportExcel(file,1,BashInfo.SHEET_JZHZB ); //电缆线路建筑工程费用汇总表
|
|
|
|
- ImportExcel azhz = new ImportExcel(file,1,BashInfo.SHEET_HZHZB ); //电缆线路安装工程费用汇总表
|
|
|
|
- ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1}); //发包人采购材料设备计价表
|
|
|
|
|
|
+ ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1,BashInfo.SHEET_FBRCG2}); //发包人采购材料设备计价表
|
|
List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
- double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
|
|
|
|
- double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
|
|
|
|
- double[] builtTotal={built1Total,built2Total};
|
|
|
|
- List<Settlement> settlementDLList = SettementUtil.getComparison(total);
|
|
|
|
- double wordtotal1 = ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表
|
|
|
|
- double otherTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
|
double cbperson = 0.0;
|
|
double cbperson = 0.0;
|
|
double word1total = ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
|
|
double word1total = ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
|
|
double word2total=0.0;
|
|
double word2total=0.0;
|
|
- double world2total=0.0;//措施费二
|
|
|
|
double otherDlTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
double otherDlTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
double feesDlCount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
double feesDlCount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
int[] comlumn2 = {12,15};//定义所要数组
|
|
int[] comlumn2 = {12,15};//定义所要数组
|
|
- double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
|
|
|
|
- double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
|
|
|
|
- double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
|
|
|
|
- double feescount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
|
|
- List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
|
|
|
|
- //数据核验并保存数据库
|
|
|
|
- settlementService.save(dlSettlements,id);
|
|
|
|
//获取补增值税税率调整差额和扣减甲供材超供材料费
|
|
//获取补增值税税率调整差额和扣减甲供材超供材料费
|
|
double wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
|
|
double wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
|
|
-// double csFee = ExcelUtil.getDouble(gzhz,BashInfo.HZ_CH,1,2); //措施项目费
|
|
|
|
- double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
|
|
|
|
- double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
|
|
|
|
- double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3); //获取建筑直接工程费
|
|
|
|
- double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4}); //获取安装直接工程费和人工费
|
|
|
|
- double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
|
|
|
|
- double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
|
|
|
+ double jzgc = ExcelUtil.getDouble(total,BashInfo.HZ_JZGC,1,2);//汇总表建筑金额
|
|
|
|
+ double azgc = ExcelUtil.getDouble(total,BashInfo.HZ_AZGC,1,2);//汇总表安装金额
|
|
double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2); //分部分项工程费
|
|
double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2); //分部分项工程费
|
|
- double totalJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,12); //获取电缆建筑合计金额
|
|
|
|
- double totalAzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLAZ,2,12); //获取电缆安装合计金额
|
|
|
|
-// double totalFee = totalJzFee + totalAzFee;
|
|
|
|
double jzcsRate = BashInfo.getJzRate(csqd); //获取建筑措施费率
|
|
double jzcsRate = BashInfo.getJzRate(csqd); //获取建筑措施费率
|
|
double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
|
|
double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
|
|
double[] jzgfRate = BashInfo.getJzGfRate(gf); //获取建筑规费率
|
|
double[] jzgfRate = BashInfo.getJzGfRate(gf); //获取建筑规费率
|
|
double[] azgfRate = BashInfo.getAzGfRate(gf); //获取安装规费率
|
|
double[] azgfRate = BashInfo.getAzGfRate(gf); //获取安装规费率
|
|
double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用
|
|
double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用
|
|
double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
- double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
|
|
|
|
- double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
|
- double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
|
|
- double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
|
|
|
|
- double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //建筑安全文明施工费
|
|
|
|
- double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd); //建筑安全文明施工费
|
|
|
|
- double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
|
|
|
|
- double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
|
|
|
|
- double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
|
|
|
|
- double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
|
|
|
|
- //将本体工程费用明细存入集合
|
|
|
|
List<JkxlDetailFee> list = new ArrayList<>();
|
|
List<JkxlDetailFee> list = new ArrayList<>();
|
|
- for(int i=0;i<originalTotalJzFees.length;i++){
|
|
|
|
- JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
- double originalTotalCost = originalTotalJzFees[i]; //原合计
|
|
|
|
|
|
+ if(jzgc !=0.00 && azgc == 0.00){
|
|
|
|
+ ImportExcel jzqd = new ImportExcel(file,1,BashInfo.SHEET_JZFBFXJJ); //建筑分部分项工程量清单计价表
|
|
|
|
+ ImportExcel jzhz = new ImportExcel(file,1,BashInfo.SHEET_JZHZB ); //电缆线路建筑工程费用汇总表
|
|
|
|
+ double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
|
|
|
|
+ double[] builtTotal={built1Total,0.00};
|
|
|
|
+ double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
|
|
|
|
+ double[] division = {division1total[0],division1total[1],0.00,0.00};
|
|
|
|
+ List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
|
|
|
|
+ //数据核验并保存数据库
|
|
|
|
+ settlementService.save(dlSettlements,id);
|
|
|
|
+ double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
|
|
|
|
+ double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3); //获取建筑直接工程费
|
|
|
|
+ double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
|
|
|
|
+ double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
|
|
|
|
+ double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
|
|
+ double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //建筑安全文明施工费
|
|
|
|
+ double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd); //建筑安全文明施工费
|
|
|
|
+ double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
|
|
|
|
+ double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
|
|
|
|
+ for(int i=0;i<originalTotalJzFees.length;i++){
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ double originalTotalCost = originalTotalJzFees[i]; //原合计
|
|
// double otherRate = originalTotalCost/totalFee; //其他费用分摊比例
|
|
// double otherRate = originalTotalCost/totalFee; //其他费用分摊比例
|
|
// double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
|
|
// double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
|
|
- double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
- double zjgcJzFee = zjgcJzFees[i];//直接工程费
|
|
|
|
- double originalRgCost = originalJzFees[i][0];// 原人工费
|
|
|
|
- double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
- double originalCbrCost = originalJzFees[i][1]; //原承包人采购
|
|
|
|
- double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
- double originalFbrCost = originalJzFees[i][2]; //原发包人采购
|
|
|
|
- double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
|
|
|
|
- double originalJxrCost = originalJzFees[i][3]; //原机械费
|
|
|
|
- double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
- double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
|
|
|
|
- double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
- double measuresFee3 = 0.00; //措施费二
|
|
|
|
- double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2; //规费
|
|
|
|
- double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
- double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
- jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
|
|
|
+ double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
+ double zjgcJzFee = zjgcJzFees[i];//直接工程费
|
|
|
|
+ double originalRgCost = originalJzFees[i][0];// 原人工费
|
|
|
|
+ double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
+ double originalCbrCost = originalJzFees[i][1]; //原承包人采购
|
|
|
|
+ double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
+ double originalFbrCost = originalJzFees[i][2]; //原发包人采购
|
|
|
|
+ double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
|
|
|
|
+ double originalJxrCost = originalJzFees[i][3]; //原机械费
|
|
|
|
+ double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
+ double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
|
|
|
|
+ double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
+ double measuresFee3 = 0.00; //措施费二
|
|
|
|
+ double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2; //规费
|
|
|
|
+ double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
+ double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
// jkxlDetailFee.setOriginalRate(orRate);
|
|
// jkxlDetailFee.setOriginalRate(orRate);
|
|
- jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
- jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
- jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
- jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
- jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
- jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
- jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
- jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
- jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
- jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
- jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
- jkxlDetailFee.setFees(fees);
|
|
|
|
- jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
- jkxlDetailFee.setTex(tax);
|
|
|
|
- jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
- jkxlDetailFee.setZjgcFee(zjgcJzFee);
|
|
|
|
- jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
|
|
|
|
- jkxlDetailFee.setId(id);
|
|
|
|
- list.add(jkxlDetailFee);
|
|
|
|
- }
|
|
|
|
- for(int i=0;i<originalTotalAzFees.length;i++){
|
|
|
|
- JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
- double originalTotalCost = originalTotalAzFees[i]; //原合计
|
|
|
|
- double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
- double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
|
|
|
|
- double rgAzFee = zjgcAzFees[i][1];//人工费
|
|
|
|
- double originalRgCost = originalAzFees[i][0];// 原人工费
|
|
|
|
- double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
- double originalCbrCost = originalAzFees[i][1]; //原承包人采购
|
|
|
|
- double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
- double originalFbrCost = originalAzFees[i][2]; //原发包人采购
|
|
|
|
- double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
|
|
|
|
- double originalJxrCost = originalAzFees[i][3]; //原机械费
|
|
|
|
- double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
- double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
|
|
|
|
- double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
- double measuresFee3 = 0.00; //措施费二
|
|
|
|
- double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2; //规费
|
|
|
|
- double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
- double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
- jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
|
- jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
- jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
- jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
- jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
- jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
- jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
- jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
- jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
- jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
- jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
- jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
- jkxlDetailFee.setFees(fees);
|
|
|
|
- jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
- jkxlDetailFee.setTex(tax);
|
|
|
|
- jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
- jkxlDetailFee.setZjgcFee(zjgcAzFee);
|
|
|
|
- jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
|
|
|
|
- jkxlDetailFee.setId(id);
|
|
|
|
- list.add(jkxlDetailFee);
|
|
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
+ jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
+ jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
+ jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
+ jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
+ jkxlDetailFee.setFees(fees);
|
|
|
|
+ jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
+ jkxlDetailFee.setTex(tax);
|
|
|
|
+ jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(zjgcJzFee);
|
|
|
|
+ jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
|
|
|
|
+ jkxlDetailFee.setId(id);
|
|
|
|
+ list.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else if(jzgc ==0.00 && azgc != 0.00){
|
|
|
|
+ ImportExcel azqd = new ImportExcel(file,1,BashInfo.SHEET_AZFBFXJJ); //安装分部分项工程量清单计价表
|
|
|
|
+ ImportExcel azhz = new ImportExcel(file,1,BashInfo.SHEET_HZHZB ); //电缆线路安装工程费用汇总表
|
|
|
|
+ double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
|
|
|
|
+ double[] builtTotal={0.00,built2Total};
|
|
|
|
+ double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
|
|
|
|
+ double[] division = {0.00,0.00,division2total[0],division2total[1]};
|
|
|
|
+ List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
|
|
|
|
+ //数据核验并保存数据库
|
|
|
|
+ settlementService.save(dlSettlements,id);
|
|
|
|
+ double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
|
|
|
|
+ double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4}); //获取安装直接工程费和人工费
|
|
|
|
+ double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
|
+ double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
|
+ double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
|
|
|
|
+ double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd); //建筑安全文明施工费
|
|
|
|
+ double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
|
|
|
|
+ double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
|
|
|
|
+ for(int i=0;i<originalTotalAzFees.length;i++){
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ double originalTotalCost = originalTotalAzFees[i]; //原合计
|
|
|
|
+ double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
+ double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
|
|
|
|
+ double rgAzFee = zjgcAzFees[i][1];//人工费
|
|
|
|
+ double originalRgCost = originalAzFees[i][0];// 原人工费
|
|
|
|
+ double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
+ double originalCbrCost = originalAzFees[i][1]; //原承包人采购
|
|
|
|
+ double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
+ double originalFbrCost = originalAzFees[i][2]; //原发包人采购
|
|
|
|
+ double fbrCost = originalFbrCost/(1+jxslAz); //后发包人采购
|
|
|
|
+ double originalJxrCost = originalAzFees[i][3]; //原机械费
|
|
|
|
+ double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
+ double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
|
|
|
|
+ double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
+ double measuresFee3 = 0.00; //措施费二
|
|
|
|
+ double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2; //规费
|
|
|
|
+ double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
+ double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
+ jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
+ jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
+ jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
+ jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
+ jkxlDetailFee.setFees(fees);
|
|
|
|
+ jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
+ jkxlDetailFee.setTex(tax);
|
|
|
|
+ jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(zjgcAzFee);
|
|
|
|
+ jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
|
|
|
|
+ jkxlDetailFee.setId(id);
|
|
|
|
+ list.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ ImportExcel jzqd = new ImportExcel(file, 1, BashInfo.SHEET_JZFBFXJJ); //建筑分部分项工程量清单计价表
|
|
|
|
+ ImportExcel azqd = new ImportExcel(file, 1, BashInfo.SHEET_AZFBFXJJ); //安装分部分项工程量清单计价表
|
|
|
|
+ ImportExcel jzhz = new ImportExcel(file, 1, BashInfo.SHEET_JZHZB); //电缆线路建筑工程费用汇总表
|
|
|
|
+ ImportExcel azhz = new ImportExcel(file, 1, BashInfo.SHEET_HZHZB); //电缆线路安装工程费用汇总表
|
|
|
|
+ double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
|
|
|
|
+ double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
|
|
|
|
+ double[] builtTotal={built1Total,built2Total};
|
|
|
|
+ double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
|
|
|
|
+ double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
|
|
|
|
+ double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
|
|
|
|
+ List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
|
|
|
|
+ //数据核验并保存数据库
|
|
|
|
+ settlementService.save(dlSettlements,id);
|
|
|
|
+ double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
|
|
|
|
+ double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
|
|
|
|
+ double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3); //获取建筑直接工程费
|
|
|
|
+ double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4}); //获取安装直接工程费和人工费
|
|
|
|
+ double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
|
|
|
|
+ double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
|
+ double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
|
|
|
|
+ double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
|
+ double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
|
|
+ double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
|
|
|
|
+ double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //建筑安全文明施工费
|
|
|
|
+ double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd); //建筑安全文明施工费
|
|
|
|
+ double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
|
|
|
|
+ double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
|
|
|
|
+ double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
|
|
|
|
+ double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
|
|
|
|
+ //将本体工程费用明细存入集合
|
|
|
|
+ for(int i=0;i<originalTotalJzFees.length;i++){
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ double originalTotalCost = originalTotalJzFees[i]; //原合计
|
|
|
|
+// double otherRate = originalTotalCost/totalFee; //其他费用分摊比例
|
|
|
|
+// double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
|
|
|
|
+ double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
+ double zjgcJzFee = zjgcJzFees[i];//直接工程费
|
|
|
|
+ double originalRgCost = originalJzFees[i][0];// 原人工费
|
|
|
|
+ double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
+ double originalCbrCost = originalJzFees[i][1]; //原承包人采购
|
|
|
|
+ double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
+ double originalFbrCost = originalJzFees[i][2]; //原发包人采购
|
|
|
|
+ double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
|
|
|
|
+ double originalJxrCost = originalJzFees[i][3]; //原机械费
|
|
|
|
+ double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
+ double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
|
|
|
|
+ double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
+ double measuresFee3 = 0.00; //措施费二
|
|
|
|
+ double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2; //规费
|
|
|
|
+ double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
+ double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
|
+// jkxlDetailFee.setOriginalRate(orRate);
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
+ jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
+ jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
+ jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
+ jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
+ jkxlDetailFee.setFees(fees);
|
|
|
|
+ jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
+ jkxlDetailFee.setTex(tax);
|
|
|
|
+ jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(zjgcJzFee);
|
|
|
|
+ jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
|
|
|
|
+ jkxlDetailFee.setId(id);
|
|
|
|
+ list.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
|
|
+ for(int i=0;i<originalTotalAzFees.length;i++){
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ double originalTotalCost = originalTotalAzFees[i]; //原合计
|
|
|
|
+ double otherFee = qtFees[2]/fbfxFee*originalTotalCost; //其他费用
|
|
|
|
+ double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
|
|
|
|
+ double rgAzFee = zjgcAzFees[i][1];//人工费
|
|
|
|
+ double originalRgCost = originalAzFees[i][0];// 原人工费
|
|
|
|
+ double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
|
+ double originalCbrCost = originalAzFees[i][1]; //原承包人采购
|
|
|
|
+ double cbrCost = originalCbrCost/(1+tcRate[1]); //后承包人采购
|
|
|
|
+ double originalFbrCost = originalAzFees[i][2]; //原发包人采购
|
|
|
|
+ double fbrCost = originalFbrCost/(1+jxslAz); //后发包人采购
|
|
|
|
+ double originalJxrCost = originalAzFees[i][3]; //原机械费
|
|
|
|
+ double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
|
|
|
|
+ double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
|
|
|
|
+ double measuresFee2 = 0.00; //措施费一(1)
|
|
|
|
+ double measuresFee3 = 0.00; //措施费二
|
|
|
|
+ double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2; //规费
|
|
|
|
+ double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
|
|
|
|
+ double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
|
+ jkxlDetailFee.setRgCost(rgCost);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
|
+ jkxlDetailFee.setCbrCost(cbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
|
+ jkxlDetailFee.setFbrCost(fbrCost);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
|
|
+ jkxlDetailFee.setJxCost(jxCost);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee1(measuresFee1);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee2(measuresFee2);
|
|
|
|
+ jkxlDetailFee.setMeasuresFee3(measuresFee3);
|
|
|
|
+ jkxlDetailFee.setFees(fees);
|
|
|
|
+ jkxlDetailFee.setOtherCost(otherFee);
|
|
|
|
+ jkxlDetailFee.setTex(tax);
|
|
|
|
+ jkxlDetailFee.setTotalFee(totalfee);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(zjgcAzFee);
|
|
|
|
+ jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
|
|
|
|
+ jkxlDetailFee.setId(id);
|
|
|
|
+ list.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+// ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1,BashInfo.SHEET_FBRCG2}); //发包人采购材料设备计价表
|
|
|
|
+// List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
|
+// double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
|
|
|
|
+// double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
|
|
|
|
+// double[] builtTotal={built1Total,built2Total};
|
|
|
|
+// double cbperson = 0.0;
|
|
|
|
+// double word1total = ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
|
|
|
|
+// double word2total=0.0;
|
|
|
|
+// double otherDlTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
|
+// double feesDlCount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
|
|
+// int[] comlumn2 = {12,15};//定义所要数组
|
|
|
|
+// double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
|
|
|
|
+// double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
|
|
|
|
+// double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
|
|
|
|
+// List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
|
|
|
|
+// //数据核验并保存数据库
|
|
|
|
+// settlementService.save(dlSettlements,id);
|
|
|
|
+// //获取补增值税税率调整差额和扣减甲供材超供材料费
|
|
|
|
+// double wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
|
|
|
|
+// double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
|
|
|
|
+// double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
|
|
|
|
+// double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3); //获取建筑直接工程费
|
|
|
|
+// double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4}); //获取安装直接工程费和人工费
|
|
|
|
+// double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
|
|
|
|
+// double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
|
+// double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
|
|
+// double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2); //分部分项工程费
|
|
|
|
+// double totalJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,12); //获取电缆建筑合计金额
|
|
|
|
+// double totalAzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLAZ,2,12); //获取电缆安装合计金额
|
|
|
|
+//// double totalFee = totalJzFee + totalAzFee;
|
|
|
|
+// double jzcsRate = BashInfo.getJzRate(csqd); //获取建筑措施费率
|
|
|
|
+// double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
|
|
|
|
+// double[] jzgfRate = BashInfo.getJzGfRate(gf); //获取建筑规费率
|
|
|
|
+// double[] azgfRate = BashInfo.getAzGfRate(gf); //获取安装规费率
|
|
|
|
+// double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用
|
|
|
|
+// double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
|
|
+// double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
|
|
|
|
+// double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
|
+// double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
|
|
+// double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
|
|
|
|
+// double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //建筑安全文明施工费
|
|
|
|
+// double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd); //建筑安全文明施工费
|
|
|
|
+// double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
|
|
|
|
+// double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
|
|
|
|
+// double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
|
|
|
|
+// double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
|
|
|
|
+
|
|
|
|
+
|
|
double tz = 0.00; //总合计金额
|
|
double tz = 0.00; //总合计金额
|
|
for(JkxlDetailFee jkxlDetailFee : list){
|
|
for(JkxlDetailFee jkxlDetailFee : list){
|
|
tz += jkxlDetailFee.getTotalFee();
|
|
tz += jkxlDetailFee.getTotalFee();
|