|
@@ -212,7 +212,7 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
|
|
|
//架空线路保存数据
|
|
|
@Transactional(readOnly = false)
|
|
|
- public void saveJk(MultipartFile file,WbsItem wbsItem) throws IOException, InvalidFormatException {
|
|
|
+ public void saveJk(MultipartFile file,WbsItem wbsItem) throws IOException, InvalidFormatException {
|
|
|
String id = wbsItem.getId();
|
|
|
WbsItem wbsItem1 = itemService.get(id);
|
|
|
if(wbsItem1 == null){
|
|
@@ -221,67 +221,46 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
itemService.save(wbsItem);
|
|
|
}
|
|
|
//读取表格
|
|
|
- ImportExcel importExcel = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ,true); //分部分项工程量清单计价表
|
|
|
- ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1},true); // 措施项目清单计价表(一)
|
|
|
+ ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1,BashInfo.SHEET_HZB2,BashInfo.SHEET_HZB3},true ); //工程项目竣工结算汇总表
|
|
|
+ ImportExcel importExcel = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ,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 total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1,BashInfo.SHEET_HZB2,BashInfo.SHEET_HZB3},true ); //工程项目竣工结算汇总表
|
|
|
- ImportExcel gzhz = new ImportExcel(file,1,new String[]{BashInfo.SHEET_GCHZ,BashInfo.SHEET_GCHZ1},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 gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD,true); //规费项目清单计价表
|
|
|
+ ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY,true); //其他项目清单计价表
|
|
|
+ ImportExcel gzhz = new ImportExcel(file,1,new String[]{BashInfo.SHEET_GCHZ,BashInfo.SHEET_GCHZ1},true ); //架空线路工程费用汇总
|
|
|
ImportExcel cbrsb = new ImportExcel(file,1,new String[]{BashInfo.SHEET_TBRCG,BashInfo.SHEET_CBRCG},false);//承包人采购设备计价表
|
|
|
-// ImportExcel zyrg = new ImportExcel(file,1,BashInfo.SHEET_ZYRG,true); //主要日工价格表
|
|
|
- //数据核验数据
|
|
|
- List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
- double builtTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,2);//获取架空线路工程费用汇总表 分部分项 合计
|
|
|
- double wordtotal1 = BashInfo.getJkCs(csqd);//获取措施费清单计价表一
|
|
|
- double otherTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
- double cbperson = 0.0;
|
|
|
- double[] divisiontotal=ExcelUtil.getDoubleArray(importExcel,BashInfo.PROJECTNAME,2,new int[]{12,15});//获取分部分项比对数据清单
|
|
|
- double gfFees = BashInfo.getJkGf(gf); //规费合计
|
|
|
- //数据核验并保存数据库
|
|
|
+ //获取表格数据
|
|
|
+ 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 cbrfee = ExcelUtil.getDouble(total,BashInfo.QT_CBRSB,1,2);//获取承包人采购设备费
|
|
|
+ double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
|
+ double textotal = ExcelUtil.getTex(total); //获取税金
|
|
|
+ double btex = BashInfo.getBtex(total); //获取补税额
|
|
|
+ double fbrFees = ExcelUtil.getFbr(total); //获取发包人费
|
|
|
+ double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
|
+ double[] originalTotalFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,2); //获取合计费
|
|
|
+ double[] zjgcFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,3); //获取直接工程费
|
|
|
+ double zjgcTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,3);//直接工程费合计
|
|
|
+ double totalRgFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,13); //获取人工费合计金额
|
|
|
+ double[][] originalFees = ExcelUtil.getDoubleArrays(importExcel,BashInfo.MX_ALL,2, new int[]{13, 14, 15, 17}); //获取分部分项费用
|
|
|
+ double fbrFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,15); //发包人采购计价表合计金额
|
|
|
+ double csFees = BashInfo.getCsFee(csqd); //获取措施费
|
|
|
+ double[] csRate = BashInfo.getCsRate(csqd); //获取措施费率
|
|
|
double wordtotal2 = 0.0; //措施费二合计
|
|
|
if(ImportExcel.getSheet(csqd2) != null){
|
|
|
wordtotal2 = SubstationInfo.getCsJzFee(csqd2);
|
|
|
}
|
|
|
- double csFees2 = ExcelUtil.getDouble(total,BashInfo.CSXM2,1,2);//措施费二
|
|
|
- //获取未识别费用
|
|
|
- List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
|
|
|
- double wsbfee = 0.00;
|
|
|
- //获取补税额
|
|
|
- double btex = BashInfo.getBtex(total);
|
|
|
- //承包人采购设备费
|
|
|
+ double[] aqwmFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //安全文明施工费
|
|
|
+ double gfFees = BashInfo.getJkGf(gf); //规费合计
|
|
|
+ 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[] originalTotalFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,2); //获取合计费
|
|
|
- double[] zjgcFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,3); //获取直接工程费
|
|
|
- double[][] originalFees = ExcelUtil.getDoubleArrays(importExcel,BashInfo.MX_ALL,2, new int[]{13, 14, 15, 17}); //获取原始费用
|
|
|
- double texRate = ExcelUtil.getTexRate(total); //获取税率
|
|
|
-// double rgRate = ExcelUtil.getRgRate(zyrg); //获取人工调差系数
|
|
|
- double totalRgFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,13); //获取人工费合计金额
|
|
|
- double[] csRate = BashInfo.getCsRate(csqd); //获取措施费率
|
|
|
-// double[] gfRate = BashInfo.getGfRate(gf); //获取规费率
|
|
|
- double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用
|
|
|
- double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
|
-// double fbrFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_HJ,0,6); //发包人采购计价表合计金额
|
|
|
- double fbrFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,15); //发包人采购计价表合计金额
|
|
|
- double zjgcTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,3);//直接工程费合计
|
|
|
- double[] aqwmFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //安全文明施工费
|
|
|
- double zg = zjgcTotal-(aqwmFees[1]/(aqwmFees[0]/100));
|
|
|
- double jxsl = zg/(fbrFee-zg); //进项税率
|
|
|
- double csFees = BashInfo.getCsFee(csqd); //安装措施费
|
|
|
-
|
|
|
- //结算汇总
|
|
|
- List<Settlement> settlements=SettementUtil.getComparison(settlementList,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,gfFees,cbperson);
|
|
|
- Boolean f = SettementUtil.getFlag;
|
|
|
- settlementService.save(settlements,id);
|
|
|
- //获取结算表中基础数据
|
|
|
- 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 fbrFees = ExcelUtil.getFbr(total); //获取发包人费
|
|
|
+ double otherTotal = ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
|
|
|
+ double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用中场地租用费和招标代理费
|
|
|
+ double zg = zjgcTotal-(aqwmFees[1]/(aqwmFees[0]/100));
|
|
|
+ double jxsl = zg/(fbrFee-zg); //进项税率
|
|
|
//措施项目
|
|
|
double csxmHj = ExcelUtil.getDouble(gzhz,BashInfo.HZ_CH,1,2);//措施项目合计
|
|
|
double[] csxmFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.CS,2,new int[]{13, 14, 15, 17});//措施项目费
|
|
@@ -290,6 +269,14 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
originalFees[5][1] = originalFees[5][1] + csxmFees[1];
|
|
|
originalFees[5][2] = originalFees[5][2] + csxmFees[2];
|
|
|
originalFees[5][3] = originalFees[5][3] + csxmFees[3];
|
|
|
+ //数据核验数据
|
|
|
+ List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
+ double builtTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,2);//获取架空线路工程费用汇总表 分部分项 合计
|
|
|
+ double wordtotal1 = BashInfo.getJkCs(csqd);//获取措施费清单计价表一合计
|
|
|
+ double[] divisiontotal=ExcelUtil.getDoubleArray(importExcel,BashInfo.PROJECTNAME,2,new int[]{12,15});//获取分部分项比对数据清单
|
|
|
+ List<Settlement> settlements=SettementUtil.getComparison(settlementList,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,gfFees,cbperson);
|
|
|
+ Boolean f = SettementUtil.getFlag;
|
|
|
+ settlementService.save(settlements,id);
|
|
|
//将本体工程费用明细存入集合
|
|
|
List<JkxlDetailFee> list = new ArrayList<>();
|
|
|
for(int i=0;i<originalTotalFees.length;i++){
|
|
@@ -298,7 +285,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
|
double originalTotalCost = originalTotalFees[i]; //原合计
|
|
|
double otherRate = originalTotalCost/builtTotal; //其他费用分摊比例
|
|
|
- double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
|
|
|
double otherFee = qtFees[2]*otherRate; //其他费用
|
|
|
double zjgcFee = zjgcFees[i];//直接工程费
|
|
|
double originalRgCost = originalFees[i][0];// 原人工费
|
|
@@ -322,7 +308,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);
|
|
@@ -338,7 +323,7 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
jkxlDetailFee.setId(id);
|
|
|
list.add(jkxlDetailFee);
|
|
|
}
|
|
|
- double tz = 0.00; //总合计金额
|
|
|
+
|
|
|
double texTotal = 0.00; //税合计金额
|
|
|
//其他费用补税
|
|
|
if(qtFees[0]+qtFees[1] != 0.00) {
|
|
@@ -398,7 +383,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
if(gftotal != 0.00) {
|
|
|
gfRate = jkxlDetailFee1.getFees() / gftotal;
|
|
|
}
|
|
|
- double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
|
|
|
double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
|
|
|
double gfft = (jsGf-gftotal)*gfRate;
|
|
|
double sgft = (csft+gfft)*texRate;
|
|
@@ -437,10 +421,9 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- //计算差额
|
|
|
- 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);
|
|
@@ -452,6 +435,11 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
wsbfee += fee;
|
|
|
}
|
|
|
}
|
|
|
+ //计算差额
|
|
|
+ double tz = 0.00; //总合计金额
|
|
|
+ for(JkxlDetailFee jkxlDetailFee : list){
|
|
|
+ tz += jkxlDetailFee.getTotalFee();
|
|
|
+ }
|
|
|
double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
|
|
|
//将其他费用存入集合
|
|
|
JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
|
|
@@ -478,7 +466,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
@Transactional(readOnly = false)
|
|
|
public void saveDl(MultipartFile file,WbsItem wbsItem) throws IOException, InvalidFormatException {
|
|
|
String id = wbsItem.getId();
|
|
|
- String type = wbsItem.getType();
|
|
|
WbsItem wbsItem1 = itemService.get(id);
|
|
|
if(wbsItem1 == null){
|
|
|
wbsItem.setDelFlag("0");
|
|
@@ -491,53 +478,42 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
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 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 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 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 csFees2 = ExcelUtil.getDouble(total,BashInfo.CSXM2,1,2);//措施费二
|
|
|
+ double cbperson = 0.0; //承包人采购设备费
|
|
|
+ if(ImportExcel.getSheet(cbrsb) != null){
|
|
|
+ cbperson = ExcelUtil.getDouble(cbrsb,BashInfo.QT_HJ,0,6);
|
|
|
+ }
|
|
|
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);//获取规费合计
|
|
|
- int[] comlumn2 = {12,15};//定义所要数组
|
|
|
- List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
|
|
|
- double wsbfee = 0.00;
|
|
|
- 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 azGf = BashInfo.getAzGf(gf); //获取安装规费
|
|
|
double[] jzgfRate = BashInfo.getJzGfRate(gf); //获取建筑规费率
|
|
|
-// double[] azgfRate = BashInfo.getAzGfRate(gf); //获取安装规费率
|
|
|
- double[] qtFees = BashInfo.getQtFees(qt); //获取其他费用
|
|
|
- double gcjsFee = BashInfo.getGcjsFee(total); //获取工程结算价
|
|
|
+ List<Settlement> settlementList = SettementUtil.getComparison(total);
|
|
|
+ int[] comlumn2 = {12,15};//定义所要数组
|
|
|
double tax = 0.00; //税金
|
|
|
- double totalfee = 0.00; //合计
|
|
|
- //获取补税额
|
|
|
- double btex = BashInfo.getBtex(total);
|
|
|
- //承包人采购设备费
|
|
|
- if(ImportExcel.getSheet(cbrsb) != null){
|
|
|
- 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 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 textotal = ExcelUtil.getTex(total);
|
|
|
- double fbrFees = ExcelUtil.getFbr(total); //获取发包人费
|
|
|
+ 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); //建筑分部分项工程量清单计价表
|
|
@@ -550,7 +526,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
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 fbrJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,15);
|
|
|
double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
|
double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4}); //建筑安全文明施工费
|
|
@@ -597,7 +572,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);
|
|
@@ -641,7 +615,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
double[] zjgcAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,3); //获取安装直接工程费
|
|
|
double[] rgFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,4); //人工费
|
|
|
double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
|
|
|
-// double fbrAzFee = BashInfo.getFbrAzFee(fbrcg); //安装发包人采购计价表合计金额
|
|
|
double fbrAzFee = ExcelUtil.getDouble(azqd,BashInfo.DLAZ,2,15);
|
|
|
double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
|
|
|
double rgAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,4);//安装人工费费合计
|
|
@@ -726,7 +699,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
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[] 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); //获取建筑直接工程费
|
|
@@ -734,8 +706,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
double[] rgAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,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 fbrJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,15);
|
|
|
double fbrAzFee = ExcelUtil.getDouble(azqd,BashInfo.DLAZ,2,15);
|
|
|
double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
|
|
@@ -773,7 +743,6 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
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 originalFbrCost = originalJzFees[i][2]; //原发包人采购
|
|
|
double originalJxrCost = originalJzFees[i][3]; //原机械费
|
|
@@ -815,7 +784,6 @@ 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]; //原机械费
|
|
@@ -899,7 +867,7 @@ public List<JkxlDetailFee> findList(String id,String type){
|
|
|
jkxlDetailFee.setTotalFee(total1+btex*rate);
|
|
|
}
|
|
|
}
|
|
|
- //承包人设备费
|
|
|
+ //承包人设备费分摊
|
|
|
if(cbrfee != 0.00){
|
|
|
for(JkxlDetailFee jkxlDetailFee : list){
|
|
|
double total1 = jkxlDetailFee.getTotalFee();
|
|
@@ -955,10 +923,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);
|
|
@@ -970,6 +938,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();
|