|
@@ -974,53 +974,48 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
itemService.save(wbsItem);
|
|
|
}
|
|
|
//读取表格
|
|
|
- ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1,BashInfo.SHEET_HZB2},true ); //工程项目竣工结算汇总表
|
|
|
+ //读取表格
|
|
|
+ ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1,BashInfo.SHEET_HZB2,BashInfo.SHEET_HZB3},true ); //工程项目竣工结算汇总表
|
|
|
ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1},true); // 措施项目清单计价表(一)
|
|
|
ImportExcel csqd2 = new ImportExcel(file,1,BashInfo.SHEET_CSB2,false); // 措施项目清单计价表(二)
|
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD,true); //规费项目清单计价表
|
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY,true); //其他项目清单计价表
|
|
|
-// ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1,BashInfo.SHEET_FBRCG2,BashInfo.SHEET_ZBRCG,BashInfo.SHEET_ZBRCG1},true); //发包人采购材料设备计价表
|
|
|
ImportExcel cbrsb = new ImportExcel(file,1,new String[]{BashInfo.SHEET_TBRCG,BashInfo.SHEET_CBRCG},false);//承包人采购设备计价表
|
|
|
- List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
- double cbperson = 0.0;
|
|
|
- double word1total = ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
|
|
|
- double word2total=0.0;
|
|
|
- double csFees2 = ExcelUtil.getDouble(total,BashInfo.CSXM2,1,2);//措施费二
|
|
|
- double otherDlTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
- //规费
|
|
|
- double jzGf = BashInfo.getJzGf(gf);
|
|
|
- double azGf = BashInfo.getAzGf(gf);
|
|
|
-// double feesDlCount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
|
- double feesDlCount = jzGf+azGf;//获取规费合计
|
|
|
- int[] comlumn2 = {12,15};//定义所要数组
|
|
|
- List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
|
|
|
- double wsbfee = 0.00;
|
|
|
- double jzgc = ExcelUtil.getDouble(total,BashInfo.HZ_JZGC,1,2);//汇总表建筑金额
|
|
|
- double azgc = ExcelUtil.getDouble(total,BashInfo.HZ_AZGC,1,2);//汇总表安装金额
|
|
|
+ double jzgc = ExcelUtil.getDouble(total,new String[]{BashInfo.HZ_JZGC,BashInfo.HZ_JZGCF},1,2);//汇总表建筑金额
|
|
|
+ double azgc = ExcelUtil.getDouble(total,new String[]{BashInfo.HZ_AZGC,BashInfo.HZ_AZGCF},1,2);//汇总表安装金额
|
|
|
double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
|
double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2); //分部分项工程费
|
|
|
-// 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 jsCs = ExcelUtil.getDouble(total,BashInfo.JS_CSXM,1,2); //措施费合计
|
|
|
+ double csFees2 = ExcelUtil.getDouble(total,BashInfo.CSXM2,1,2);//措施费二合计
|
|
|
+ double jsGf = ExcelUtil.getDouble(total,BashInfo.JS_GF,1,2); //规费合计
|
|
|
+ double textotal = ExcelUtil.getTex(total); //税金合计
|
|
|
+ double btex = BashInfo.getBtex(total); //获取补税额
|
|
|
+ double fbrFees = ExcelUtil.getFbr(total); //获取发包人费
|
|
|
+ double cbrfee = ExcelUtil.getDouble(total,BashInfo.QT_CBRSB,1,2);//承包人采购设备费
|
|
|
double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
|
- double tax = 0.00; //税金
|
|
|
- double totalfee = 0.00; //合计
|
|
|
- //获取补税额
|
|
|
- double btex = BashInfo.getBtex(total);
|
|
|
- //承包人采购设备费
|
|
|
+ double jzcs = BashInfo.getJzCs(csqd); //建筑措施费合计
|
|
|
+ double azcs = BashInfo.getAzCs(csqd); //安装措施费合计
|
|
|
+ double word1total = jzcs+azcs;//获取措施费清单计价表一
|
|
|
+ double azCsFee = BashInfo.getAzCsfee(csqd); //安装措施费除临时施工费和安全文明施工费合计
|
|
|
+ double[] csJzFee = BashInfo.getJzCsfee(csqd); //建筑措施费除临时施工费和安全文明施工费以及除两项合计
|
|
|
+ double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
|
|
|
+ double word2total=0.0; //清单表措施费二合计
|
|
|
+ if(ImportExcel.getSheet(csqd2) != null){
|
|
|
+ word2total = SubstationInfo.getCsJzFee(csqd2);
|
|
|
+ }
|
|
|
+ double cbperson = 0.0; //承包人采购设备费
|
|
|
if(ImportExcel.getSheet(cbrsb) != null){
|
|
|
- cbperson = ExcelUtil.getDouble(cbrsb,BashInfo.QT_HJ,0,6);//投标人合计
|
|
|
+ cbperson = ExcelUtil.getDouble(cbrsb,BashInfo.QT_HJ,0,6);
|
|
|
}
|
|
|
- double cbrfee = ExcelUtil.getDouble(total,BashInfo.QT_CBRSB,1,2);
|
|
|
- //安装措施费
|
|
|
- double azCsFee = BashInfo.getAzCsfee(csqd);
|
|
|
- double[] csJzFee = BashInfo.getJzCsfee(csqd); //建筑措施费
|
|
|
- //获取结算表中基础数据
|
|
|
- double jsCs = ExcelUtil.getDouble(total,BashInfo.JS_CSXM,1,2);
|
|
|
- double jsGf = ExcelUtil.getDouble(total,BashInfo.JS_GF,1,2);
|
|
|
- double textotal = ExcelUtil.getTex(total);
|
|
|
+ double otherDlTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
+ double[] qtFees = BashInfo.getQtFees(qt); //获取场地租用费和招标代理费
|
|
|
+ double feesDlCount = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
|
|
|
+ double azGf = BashInfo.getAzGf(gf); //获取安装规费
|
|
|
+ double[] jzgfRate = BashInfo.getJzGfRate(gf); //获取建筑规费率
|
|
|
+ List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
+ int[] comlumn2 = {12,15};//定义所要数组
|
|
|
+ double tax = 0.00; //税金
|
|
|
+ double totalfee = 0.00; //合计金额
|
|
|
List<JkxlDetailFee> list = new ArrayList<>();
|
|
|
if(jzgc !=0.00 && azgc == 0.00){
|
|
|
ImportExcel jzqd = new ImportExcel(file,1,BashInfo.SHEET_JZFBFXJJ,true); //建筑分部分项工程量清单计价表
|
|
@@ -1177,8 +1172,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
double[] rgAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.TXHZ_AZ,1,4); //获取安装人工费
|
|
|
double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.TXMX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
|
|
|
double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.TXMX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
-// double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
|
|
|
-//// double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
double fbrJzFee = ExcelUtil.getDouble(jzqd,SubstationInfo.JZMX_BJZ,2,15);
|
|
|
double fbrAzFee = ExcelUtil.getDouble(azqd,SubstationInfo.AZMX_BDZAZ,2,15);
|
|
|
double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
@@ -1250,15 +1243,12 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
double rgAzFee = rgAzFees[i];//人工费
|
|
|
double originalRgCost = originalAzFees[i][0];// 原人工费
|
|
|
double rgRate = originalRgCost/rgAzTotal; //比例
|
|
|
-// double rgCost = originalRgCost/(1+tcRate[0]); //后人工费
|
|
|
double originalCbrCost = originalAzFees[i][1]; //原承包人采购
|
|
|
double originalFbrCost = originalAzFees[i][2]; //原发包人采购
|
|
|
double originalJxrCost = originalAzFees[i][3]; //原机械费
|
|
|
-// double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(1)
|
|
|
double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+azCsFee*rgRate; //措施费一(1)
|
|
|
double measuresFee2 = 0.00; //措施费一(2)
|
|
|
double measuresFee3 = csFees2*originalTotalCost/fbfxFee; //措施费二
|
|
|
-// double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2; //规费
|
|
|
double fees = rgRate*azGf; //规费
|
|
|
if(f){
|
|
|
tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
|
|
@@ -1269,7 +1259,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
}
|
|
|
jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
|
|
|
jkxlDetailFee.setOriginalRgCost(originalRgCost);
|
|
|
-// jkxlDetailFee.setRgCost(rgCost);
|
|
|
jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
|
|
|
jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
|
|
|
jkxlDetailFee.setOriginalJxCost(originalJxrCost);
|
|
@@ -1335,7 +1324,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
double cstotal2 = 0.00;
|
|
|
double cstotal3 = 0.00;
|
|
|
double gftotal = 0.00;
|
|
|
-// double textotal = 0.00;
|
|
|
double zjgcTotal = 0.00;
|
|
|
for(JkxlDetailFee jkxlDetailFee2 :list){
|
|
|
cstotal1 += jkxlDetailFee2.getMeasuresFee1();
|
|
@@ -1375,10 +1363,10 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
jkxlDetailFee.setTotalFee(jkxlDetailFee.getTotalFee()+tex);
|
|
|
|
|
|
}
|
|
|
- //计算差额
|
|
|
- for(JkxlDetailFee jkxlDetailFee : list){
|
|
|
- tz += jkxlDetailFee.getTotalFee();
|
|
|
- }
|
|
|
+
|
|
|
+ //获取未识别费用
|
|
|
+ List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
|
|
|
+ double wsbfee = 0.00;
|
|
|
if(wsbFees != null && wsbFees.size()>0){
|
|
|
for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
|
|
|
jkxlAdjustFee.setId(id);
|
|
@@ -1390,6 +1378,10 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
wsbfee += fee;
|
|
|
}
|
|
|
}
|
|
|
+ //计算差额
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : list){
|
|
|
+ tz += jkxlDetailFee.getTotalFee();
|
|
|
+ }
|
|
|
double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
|
|
|
//将其他费用存入集合
|
|
|
JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
|