蔡德晨 5 anni fa
parent
commit
931de7d9b6

+ 7 - 2
src/main/java/com/jeeplus/common/utils/excel/ImportExcel.java

@@ -218,8 +218,13 @@ public class ImportExcel {
 				throw new RuntimeException("缺少" + sheetName[0]);
 			}
 		}
-		this.sheet = this.wb.getSheet(sheetName[i]);
-		this.headerNum = headerNum;
+		if(i != 100){
+			this.sheet = this.wb.getSheet(sheetName[i]);
+			this.headerNum = headerNum;
+		}else {
+			this.sheet = this.wb.getSheet(sheetName[0]);
+			this.headerNum = headerNum;
+		}
 		log.debug("Initialize success.");
 	}
 

+ 23 - 11
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -384,9 +384,9 @@ public List<JkxlDetailFee> findList(String id,String type){
        ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1},true);  // 措施项目清单计价表(一)
        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,BashInfo.SHEET_HZB,true );  //工程项目竣工结算汇总表
+       ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1},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},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 zyrg = new ImportExcel(file,1,BashInfo.SHEET_ZYRG,true); //主要日工价格表
         //数据核验数据
         List<Settlement> settlementList =  SettementUtil.getComparison(total);
@@ -547,7 +547,7 @@ public List<JkxlDetailFee> findList(String id,String type){
         ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1},true);  // 措施项目清单计价表(一)
         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},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);   //发包人采购材料设备计价表
         List<Settlement> settlementList =  SettementUtil.getComparison(total);
         double cbperson = 0.0;
         double word1total =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
@@ -586,8 +586,11 @@ public List<JkxlDetailFee> findList(String id,String type){
             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 zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
-            double jxslJz = zgJz/(fbrJzFee-zgJz); //建筑进项税率
+            double jxslJz = 0.00;
+            if(fbrJzFee != 0.00){
+                double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
+                jxslJz = zgJz/(fbrJzFee-zgJz); //建筑进项税率
+            }
             boolean flag = BashInfo.getFlag(originalTotalJzFees,zjgcJzFees);
             for(int i=0;i<originalTotalJzFees.length;i++){
                 JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
@@ -657,8 +660,11 @@ public List<JkxlDetailFee> findList(String id,String type){
             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 = zgAz/(fbrAzFee-zgAz); //安装进项税率
+            double jxslAz = 0.00;
+            if(fbrAzFee != 0.00){
+                double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+                jxslAz = zgAz/(fbrAzFee-zgAz); //安装进项税率
+            }
             boolean flag = BashInfo.getFlag(originalTotalAzFees,zjgcAzFees);
             for(int i=0;i<originalTotalAzFees.length;i++){
                 JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
@@ -736,10 +742,16 @@ public List<JkxlDetailFee> findList(String id,String type){
             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 = zgJz/(fbrJzFee-zgJz); //建筑进项税率
-            double jxslAz = zgAz/(fbrAzFee-zgAz); //安装进项税率
+            double jxslJz = 0.00;
+            double jxslAz = 0.00;
+            if(fbrJzFee != 0.00){
+                double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
+                jxslJz = zgJz/(fbrJzFee-zgJz); //建筑进项税率
+            }
+            if(fbrAzFee != 0.00){
+                double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+                jxslAz = zgAz/(fbrAzFee-zgAz); //安装进项税率
+            }
             boolean flagJz = BashInfo.getFlag(originalTotalJzFees,zjgcJzFees);
             boolean flagAz = BashInfo.getFlag(originalTotalAzFees,zjgcAzFees);
             //将本体工程费用明细存入集合

+ 8 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -24,6 +24,8 @@ public class BashInfo {
     public static final String SHEET_FBRCG = "发包人采购材料设备计价表";
     public static final String SHEET_FBRCG1 = "发包人采购材料(设备)计价表";
     public static final String SHEET_FBRCG2 = "发包人采购材料计价表";
+    public static final String SHEET_ZBRCG = "招标人采购材料(设备)计价表";
+    public static final String SHEET_ZBRCG1 = "招标人采购材料设备计价表";
     public static final String SHEET_CBRCG = "承包人采购设备计价表";
     public static final String SHEET_JZFBFXJJ = "建筑分部分项工程量清单计价表";
     public static final String SHEET_AZFBFXJJ = "安装分部分项工程量清单计价表";
@@ -198,6 +200,9 @@ public class BashInfo {
                 break;
             }
         }
+        if(azRow == 0){
+            return new double[2];
+        }
         double lsRate = 0.00;
         double aqRate = 0.00;
         double totalRate = 0.00;
@@ -279,6 +284,9 @@ public class BashInfo {
                 break;
             }
         }
+        if(azRow == 0){
+            return new double[2];
+        }
         double totalRate = 0.00;
         double wxzyRate = 0.00;
         for (int i = azRow; i < lastRow; i++) {

+ 31 - 31
src/main/java/com/jeeplus/modules/sg/overheadline/web/OverheadLineController.java

@@ -538,49 +538,49 @@ public class OverheadLineController extends BaseController {
        for(JkxlDetailFee jkxlDetailFee : list){
           if(jkxlDetailFee.getWbsCode().equals("21000000")){
             zFees[0][0] = jkxlDetailFee.getOriginalTotalCost()!=null? jkxlDetailFee.getOriginalTotalCost():0.00;
-            zFees[1][0] = jkxlDetailFee.getZjgcFee();
-            zFees[2][0] = jkxlDetailFee.getOriginalRgCost();
-            zFees[3][0] = jkxlDetailFee.getOriginalCbrCost();
-            zFees[4][0] = jkxlDetailFee.getOriginalFbrCost();
-            zFees[5][0] = jkxlDetailFee.getOriginalJxCost();
-            zFees[6][0] = jkxlDetailFee.getRgCost();
-            zFees[7][0] = jkxlDetailFee.getCbrCost();
-            zFees[8][0] = jkxlDetailFee.getFbrCost();
-            zFees[9][0] = jkxlDetailFee.getJxCost();
+            zFees[1][0] = jkxlDetailFee.getZjgcFee()!=null? jkxlDetailFee.getZjgcFee():0.00;
+            zFees[2][0] = jkxlDetailFee.getOriginalRgCost()!=null? jkxlDetailFee.getOriginalRgCost():0.00;
+            zFees[3][0] = jkxlDetailFee.getOriginalCbrCost()!=null? jkxlDetailFee.getOriginalCbrCost():0.00;
+            zFees[4][0] = jkxlDetailFee.getOriginalFbrCost()!=null? jkxlDetailFee.getOriginalFbrCost():0.00;
+            zFees[5][0] = jkxlDetailFee.getOriginalJxCost()!=null? jkxlDetailFee.getOriginalJxCost():0.00;
+            zFees[6][0] = jkxlDetailFee.getRgCost()!=null? jkxlDetailFee.getRgCost():0.00;
+            zFees[7][0] = jkxlDetailFee.getCbrCost()!=null? jkxlDetailFee.getCbrCost():0.00;
+            zFees[8][0] = jkxlDetailFee.getFbrCost()!=null? jkxlDetailFee.getFbrCost():0.00;
+            zFees[9][0] = jkxlDetailFee.getJxCost()!=null? jkxlDetailFee.getJxCost():0.00;
             zFees[10][0] = jkxlDetailFee.getRgFtFee()!=null? jkxlDetailFee.getRgFtFee():0.00;
             zFees[11][0] = jkxlDetailFee.getCbrFtFee()!=null? jkxlDetailFee.getCbrFtFee():0.00;
             zFees[12][0] = jkxlDetailFee.getFbrFtFee()!=null? jkxlDetailFee.getFbrFtFee():0.00;
             zFees[13][0] = jkxlDetailFee.getJxFtFee()!=null? jkxlDetailFee.getJxFtFee():0.00;
-            zFees[14][0] = jkxlDetailFee.getMeasuresFee1();
-            zFees[15][0] = jkxlDetailFee.getMeasuresFee2();
+            zFees[14][0] = jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
+            zFees[15][0] = jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
             zFees[16][0] = jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
-            zFees[17][0] = jkxlDetailFee.getOtherCost();
-            zFees[18][0] = jkxlDetailFee.getFees();
-            zFees[19][0] = jkxlDetailFee.getTex();
-            zFees[21][0] = jkxlDetailFee.getTotalFee();
+            zFees[17][0] = jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
+            zFees[18][0] = jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
+            zFees[19][0] = jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
+            zFees[21][0] = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
           }
          if(jkxlDetailFee.getWbsCode().equals("23000000")){
-           zFees[0][1] = jkxlDetailFee.getOriginalTotalCost();
-           zFees[1][1] = jkxlDetailFee.getZjgcFee();
-           zFees[2][1] = jkxlDetailFee.getOriginalRgCost();
-           zFees[3][1] = jkxlDetailFee.getOriginalCbrCost();
-           zFees[4][1] = jkxlDetailFee.getOriginalFbrCost();
-           zFees[5][1] = jkxlDetailFee.getOriginalJxCost();
-           zFees[6][1] = jkxlDetailFee.getRgCost();
-           zFees[7][1] = jkxlDetailFee.getCbrCost();
-           zFees[8][1] = jkxlDetailFee.getFbrCost();
-           zFees[9][1] = jkxlDetailFee.getJxCost();
+           zFees[0][1] = jkxlDetailFee.getOriginalTotalCost()!=null? jkxlDetailFee.getOriginalTotalCost():0.00;
+           zFees[1][1] = jkxlDetailFee.getZjgcFee()!=null? jkxlDetailFee.getZjgcFee():0.00;
+           zFees[2][1] = jkxlDetailFee.getOriginalRgCost()!=null? jkxlDetailFee.getOriginalRgCost():0.00;
+           zFees[3][1] = jkxlDetailFee.getOriginalCbrCost()!=null? jkxlDetailFee.getOriginalCbrCost():0.00;
+           zFees[4][1] = jkxlDetailFee.getOriginalFbrCost()!=null? jkxlDetailFee.getOriginalFbrCost():0.00;
+           zFees[5][1] = jkxlDetailFee.getOriginalJxCost()!=null? jkxlDetailFee.getOriginalJxCost():0.00;
+           zFees[6][1] = jkxlDetailFee.getRgCost()!=null? jkxlDetailFee.getRgCost():0.00;
+           zFees[7][1] = jkxlDetailFee.getCbrCost()!=null? jkxlDetailFee.getCbrCost():0.00;
+           zFees[8][1] = jkxlDetailFee.getFbrCost()!=null? jkxlDetailFee.getFbrCost():0.00;
+           zFees[9][1] = jkxlDetailFee.getJxCost()!=null? jkxlDetailFee.getJxCost():0.00;
            zFees[10][1] = jkxlDetailFee.getRgFtFee()!=null? jkxlDetailFee.getRgFtFee():0.00;
            zFees[11][1] = jkxlDetailFee.getCbrFtFee()!=null? jkxlDetailFee.getCbrFtFee():0.00;
            zFees[12][1] = jkxlDetailFee.getFbrFtFee()!=null? jkxlDetailFee.getFbrFtFee():0.00;
            zFees[13][1] = jkxlDetailFee.getJxFtFee()!=null? jkxlDetailFee.getJxFtFee():0.00;
-           zFees[14][1] = jkxlDetailFee.getMeasuresFee1();
-           zFees[15][1] = jkxlDetailFee.getMeasuresFee2();
+           zFees[14][1] = jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
+           zFees[15][1] = jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
            zFees[16][1] = jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
-           zFees[17][1] = jkxlDetailFee.getOtherCost();
-           zFees[18][1] = jkxlDetailFee.getFees();
-           zFees[19][1] = jkxlDetailFee.getTex();
-           zFees[21][1] = jkxlDetailFee.getTotalFee();
+           zFees[17][1] = jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
+           zFees[18][1] = jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
+           zFees[19][1] = jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
+           zFees[21][1] = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
          }
        }
       JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();

+ 14 - 6
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -80,7 +80,7 @@ public class SubstationService {
         ImportExcel gf = new ImportExcel(file,1,SubstationInfo.SHEET_GFQD,true);  //规费项目清单计价表
         ImportExcel qt = new ImportExcel(file,1,SubstationInfo.SHEET_QTFY,true);  //其他项目清单计价表
 //        ImportExcel fbrcg = new ImportExcel(file,1,SubstationInfo.SHEET_ZBRCGSB,true);   //招标人采购材料设备计价表
-        ImportExcel tbrsb = new ImportExcel(file,1,new String[]{SubstationInfo.SHEET_TBRCGSB,SubstationInfo.SHEET_CBRCGSB},true);//投标人采购设备计价表
+        ImportExcel tbrsb = new ImportExcel(file,1,new String[]{SubstationInfo.SHEET_TBRCGSB,SubstationInfo.SHEET_CBRCGSB},false);//投标人采购设备计价表
         double jzgc = ExcelUtil.getDouble(total,SubstationInfo.HZ_JZGC,1,2);//汇总表建筑金额
         double azgc = ExcelUtil.getDouble(total,SubstationInfo.HZ_AZGC,1,2);//汇总表安装金额
         double texRate = ExcelUtil.getTexRate(total); //获取税率
@@ -92,6 +92,14 @@ public class SubstationService {
              csAzFee = SubstationInfo.getCsAzFee(csqd2);//安装措施分摊费
              word2total=csJzFee+csAzFee;
         }
+       double tbrJzFee = 0.00;
+       double tbrAzFee = 0.00;
+       double cbperson = 0.00;
+       if(ImportExcel.getSheet(tbrsb) != null){
+            tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
+            tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
+            cbperson = ExcelUtil.getDouble(tbrsb,BashInfo.QT_HJ,0,6);//投标人合计
+       }
         double fbfxFee = ExcelUtil.getDouble(total,SubstationInfo.JS_FBFX,1,2);  //分部分项工程费
         double jzcsRate = BashInfo.getJzRate(csqd1); //获取建筑措施费率
         double[] azcsRate = BashInfo.getAzRate(csqd1); //获取安装措施费率
@@ -106,7 +114,7 @@ public class SubstationService {
         double totalfee = 0.00;  //合计
         //变电站 结算汇总
         List<Settlement> settlementsBdz =  SettementUtil.getComparison(total);
-        double cbperson = ExcelUtil.getDouble(tbrsb,BashInfo.QT_HJ,0,6);//获取投标人设备表合计
+//        double cbperson = ExcelUtil.getDouble(tbrsb,BashInfo.QT_HJ,0,6);//获取投标人设备表合计
         double word1total =  ExcelUtil.getDouble(csqd1,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
 //        double word2total=ExcelUtil.getDouble(csqd2,SubstationInfo.CS_JZ,0,10);//获取措施费二表措施项目合计金额
         double otherBdzTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
@@ -130,8 +138,8 @@ public class SubstationService {
             double zjgcAzTotal = ExcelUtil.getDouble(azhz,SubstationInfo.QT_HJ,0,3);//安装直接工程费合计
 //            double csJzFee = SubstationInfo.getCsJzFee(csqd2);//建筑措施分摊费
 //            double csAzFee = SubstationInfo.getCsAzFee(csqd2);//安装措施分摊费
-            double tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
-            double tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
+//            double tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
+//            double tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
             double zjgcTotal = zjgcAzTotal+zjgcJzTotal;
             double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_SGZJ,1, new int[]{3, 4});  //建筑安全文明施工费
             double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd1);  //安装安全文明施工费
@@ -331,7 +339,7 @@ public class SubstationService {
             settlementService.save(settlementBdzs,id);
             double zjgcJzTotal = ExcelUtil.getDouble(jzhz,SubstationInfo.QT_HJ,0,3);//建筑直接工程费合计
 //            double csJzFee = SubstationInfo.getCsJzFee(csqd2);//建筑措施分摊费
-            double tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
+//            double tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
             double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_SGZJ,1, new int[]{3, 4});  //建筑安全文明施工费
             double fbrJzFee = ExcelUtil.getDouble(jzqd,SubstationInfo.JZMX_BJZ,2,15);
             double jxslJz = 0.00;
@@ -448,7 +456,7 @@ public class SubstationService {
             settlementService.save(settlementBdzs,id);
             double zjgcAzTotal = ExcelUtil.getDouble(azhz,SubstationInfo.QT_HJ,0,3);//安装直接工程费合计
 //            double csAzFee = SubstationInfo.getCsAzFee(csqd2);//安装措施分摊费
-            double tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
+//            double tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
             double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd1);  //安装安全文明施工费
             double fbrAzFee = ExcelUtil.getDouble(azqd,SubstationInfo.AZMX_BDZAZ,2,15);
             double jxslAz = 0.00;