Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

xs 5 éve
szülő
commit
eebed131ef

+ 40 - 0
src/main/java/com/jeeplus/common/utils/sg/ExcelUtil.java

@@ -94,6 +94,25 @@ public class ExcelUtil {
         return d;
     }
 
+    public static double[] getBashArray(ImportExcel importExcel,String st,int column1,int[] column2){
+        int lastRow = importExcel.getLastDataRowNum();
+        int len = column2.length;
+        double[] d = new double[len];
+        for(int i=0;i<lastRow;i++){
+            String type = importExcel.getValue(i+1,column1);
+            if(type.equals("")){
+                continue;
+            }
+            if(type.contains(st)){
+                for(int j=0;j<len;j++) {
+                    d[j] = importExcel.getDouble(i + 1, column2[j]);
+                }
+                break;
+            }
+        }
+        return d;
+    }
+
 
     /**
      * 根据字段读取数据
@@ -125,6 +144,27 @@ public class ExcelUtil {
         return d;
     }
 
+    public static double[][] getBashArray(ImportExcel importExcel,String[] sts,int column1,int[] column2){
+        int lastRow = importExcel.getLastDataRowNum();
+        int len = sts.length;
+        int len1 = column2.length;
+        double[][] d = new double[len][len1];
+        for(int i=0;i<lastRow;i++){
+            String type = importExcel.getValue(i+1,column1);
+            if(type.equals("")){
+                continue;
+            }
+            for(int j=0;j<len;j++){
+                if(type.contains(sts[j])){
+                    for(int k=0;k<column2.length;k++) {
+                        d[j][k] = importExcel.getDouble(i + 1, column2[k]);
+                    }
+                }
+            }
+        }
+        return d;
+    }
+
 
 
 

+ 10 - 6
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -331,11 +331,13 @@ public class BashInfo {
     public static double getFbrJzFee(ImportExcel importExcel){
         int lastRow = importExcel.getLastDataRowNum();
         double d = 0.00;
+        List list = new ArrayList();
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,1);
-            if(!type.contains(FBR_JZ)){
-                return d;
-            }
+            list.add(type);
+        }
+        if(!list.contains(FBR_JZ)){
+            return d;
         }
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,0);
@@ -358,11 +360,13 @@ public class BashInfo {
     public static double getFbrAzFee(ImportExcel importExcel){
         int lastRow = importExcel.getLastDataRowNum();
         double d = 0.00;
+        List list = new ArrayList();
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,1);
-            if(!type.contains(FBR_AZ)){
-                return d;
-            }
+            list.add(type);
+        }
+        if(!list.contains(FBR_AZ)){
+            return d;
         }
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,0);

+ 33 - 26
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -183,12 +183,13 @@ public class SubstationService {
             double csJzFee = SubstationInfo.getCsJzFee(csqd2);//建筑措施分摊费
             double csAzFee = SubstationInfo.getCsAzFee(csqd2);//安装措施分摊费
             double zjgcTotal = zjgcAzTotal+zjgcJzTotal;
-            double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
+//            double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
+            double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_SGZJ,1, new int[]{3, 4});  //建筑安全文明施工费
             double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd1);  //安装安全文明施工费
             double fbrJzFee = BashInfo.getFbrJzFee(fbrcg); //建筑发包人采购计价表合计金额
             double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
-            double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
-            double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+            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(); //安装进项税率
             //建筑部分基础数据
@@ -245,8 +246,10 @@ public class SubstationService {
             List<JkxlDetailFee> zbyq  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.ZBYQWBS,SubstationInfo.ZBYQSTR); //主变压器系统
             List<JkxlDetailFee> pdzz  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.PDZZWBS,SubstationInfo.PDZZSTR); //配电装置
             List<JkxlDetailFee> wgbc  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.WGBCWBS,SubstationInfo.WGBCSTR); //无功补偿
-            List<JkxlDetailFee> kzzl  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.KZZLWBS,SubstationInfo.KZZLSTR); //控制及直流系统
+//            List<JkxlDetailFee> kzzl  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.KZZLWBS,SubstationInfo.KZZLSTR); //控制及直流系统
+            List<JkxlDetailFee> kzzl = SubstationInfo.getKzzl(azqd,azhz);
             List<JkxlDetailFee> zyd  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.ZYDWBS,SubstationInfo.ZYDSTR); //站用电系统
+            List<JkxlDetailFee> dljd = SubstationInfo.getDljd(azqd,azhz);    //电缆接地
             List<JkxlDetailFee> txyd  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.TXYDWBS,SubstationInfo.TXYDSTR); //通信及远动系统
             List<JkxlDetailFee> yzts  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.QZTSWBS,SubstationInfo.QZTSSTR); //全站调试
             List<JkxlDetailFee> fzsc  = SubstationInfo.getBashInfo(azqd,azhz,SubstationInfo.AFZSCWBS,SubstationInfo.AFZSCSTR); //辅助生产工程
@@ -261,6 +264,7 @@ public class SubstationService {
             azTotal.addAll(wgbc);
             azTotal.addAll(kzzl);
             azTotal.addAll(zyd);
+            azTotal.addAll(dljd);
             azTotal.addAll(txyd);
             azTotal.addAll(yzts);
             azTotal.addAll(fzsc);
@@ -281,7 +285,7 @@ public class SubstationService {
                 double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
                 double measuresFee2 = csAzFee*rateCs;   //措施费一(2)
                 double otherFee =qtFees[2]*rateQt; //其他费用
-                double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2;  //规费
+                double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.6;  //规费
                 double tax = (originalTotalCost+measuresFee1+measuresFee2+fees+otherFee-originalFbrCost)*texRate; //税金
                 double totalfee = originalTotalCost+measuresFee1+measuresFee2+fees+otherFee+tax-originalFbrCost; //合计
                 jkxlDetailFee.setMeasuresFee1(measuresFee1);
@@ -291,28 +295,31 @@ public class SubstationService {
                 jkxlDetailFee.setTex(tax);
                 jkxlDetailFee.setTotalFee(totalfee);
             }
+            double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
+            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);
+            //将其他费用存入集合
+            JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
+            JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
+            jkxlDetailFee1.setId(id);
+            jkxlDetailFee1.setWbsCode("24120000");
+            jkxlDetailFee1.setTotalFee(qtFees[0]);
+            jkxlDetailFee2.setWbsCode("24220000");
+            jkxlDetailFee2.setTotalFee(qtFees[1]);
+            jkxlDetailFee2.setId(id);
+            azTotal.add(jkxlDetailFee1);
+            azTotal.add(jkxlDetailFee2);
+            for(JkxlDetailFee jkxlDetailFee:jzTotal){
+                overheadLineMapper.save(jkxlDetailFee);
+            }
+            for(JkxlDetailFee jkxlDetailFee:azTotal){
+                overheadLineMapper.save(jkxlDetailFee);
+            }
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+            JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
+            jkxlAdjustFee.setId(id);
+            jkxlAdjustFee.setType(BashInfo.CE);
+            jkxlAdjustFee.setFee(gxFee);
+            feeAdjustService.save(jkxlAdjustFee);
 
 
 

+ 123 - 211
src/main/java/com/jeeplus/modules/sg/substation/util/SubstationInfo.java

@@ -170,6 +170,7 @@ public class SubstationInfo {
     public static final String AZMX_JLXTUPS= "直流系统及不间断电源";
     public static final String AZMX_ZLFZXI= "智能辅助控制系统";
     public static final String AZMX_ZXJKXT= "在线监测系统";
+    public static final String AZMX_FZSB = "辅助设备与设施";
 
     public static final String AZMX_ZYDXT= "站用电系统";
     public static final String AZMX_ZYBYQ= "站用变压器";
@@ -215,6 +216,7 @@ public class SubstationInfo {
 
     public static final String CS_LS = "临时设施费";
     public static final String CS_AQWM = "安全文明施工费";
+    public static final String CS_SGZJ = "冬雨季施工增加费";
     public static final String GF_WXZY = "危险作业意外伤害保险费";
     public static final String QT_SGCDZY = "施工场地租用费";
     public static final String QT_ZBDL = "招标代理";
@@ -272,6 +274,9 @@ public class SubstationInfo {
     public static String[] ZYSCJZSTR = {JZMX_ZYSCJZ,JZMX_ZKTXL,JZMX_1000JDS,JZMX_750JDS,JZMX_500JDS,JZMX_330JDS,JZMX_220JDS,JZMX_110JDS,JZMX_66JDS,JZMX_35JDS,JZMX_ZYPDZZS,JZMX_1000PDZZS,JZMX_750PDZZS,
             JZMX_500PDZZS,JZMX_330PDZZS,JZMX_220PDZZS,JZMX_110PDZZS,JZMX_66PDZZS,JZMX_35PDZZS,JZMX_10PDZZS,JZMX_GDCLBC,JZMX_KKGYDKQ,JZMX_KKCLBCZZ,JZMX_JZWGBCZZ};
 
+    public static String[] PDZZJZWBS = {"21121000","2112B000","2112C000","2112D000","2112F000","2112G000","2112H000","2112J000","2112K000","2112L000","2112M000"};
+    public static String[] PDZZJZSTR = {JZMX_ZBYQXT,JZMX_GYDKQXT,JZMX_CLBCXT,JZMX_DYDRQ,JZMX_DYDKQ,JZMX_JZWGBC,JZMX_ZYBYQXT,JZMX_BLZT,JZMX_DLGD,JZMX_LGJDP,JZMX_PDZZQY};
+
 
 
     //供水系统建筑
@@ -316,7 +321,7 @@ public class SubstationInfo {
 
     //控制及直流系统
     public static String[] KZZLWBS = {"23140000","23141000","23142000","23143000","23144000","23145000"};
-    public static String[] KZZLSTR = {AZMX_KZJZLXT,AZMX_JSJJKXT,AZMX_JDBH,AZMX_JLXTUPS,AZMX_ZLFZXI,AZMX_ZXJKXT};
+    public static String[] KZZLSTR = {AZMX_KZJZLXT,AZMX_JSJJKXT,AZMX_JDBH,AZMX_JLXTUPS,AZMX_ZLFZXI,AZMX_ZXJKXT,AZMX_FZSB};
 
     //站用电系统
     public static String[] ZYDWBS = {"23150000","23151000","23152000","23153000"};
@@ -351,14 +356,14 @@ public class SubstationInfo {
      * 获取基础数据
      */
     public static JkxlDetailFee getBashInfo(ImportExcel importExcel,ImportExcel importExcel1,String wbs,String str){
-        double[] doubles = ExcelUtil.getDoubleArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
+        double[] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
         double d = ExcelUtil.getDouble(importExcel1,str,1,3);  //直接工程费
         JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
         jkxlDetailFee.setWbsCode(wbs);
         jkxlDetailFee.setOriginalTotalCost(doubles[0]);
         jkxlDetailFee.setOriginalRgCost(doubles[1]);
-        jkxlDetailFee.setOriginalFbrCost(doubles[2]);
-        jkxlDetailFee.setOriginalCbrCost(doubles[3]);
+        jkxlDetailFee.setOriginalFbrCost(doubles[3]);
+        jkxlDetailFee.setOriginalCbrCost(doubles[2]);
         jkxlDetailFee.setOriginalJxCost(doubles[4]);
         jkxlDetailFee.setZjgcFee(d);
         return jkxlDetailFee;
@@ -369,7 +374,7 @@ public class SubstationInfo {
      *
      */
     public static List<JkxlDetailFee> getBashInfo(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
-        double[][] doubles = ExcelUtil.getDoubleArrays(importExcel,str,2,new int[]{12,13, 14, 15, 17});
+        double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
         List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
         JkxlDetailFee jkxlDetailFee = null;
         for(int i=0;i<str.length;i++){
@@ -379,8 +384,8 @@ public class SubstationInfo {
             jkxlDetailFee.setOriginalTotalCost(doubles[i][0]);
             jkxlDetailFee.setZjgcFee(d);
             jkxlDetailFee.setOriginalRgCost(doubles[i][1]);
-            jkxlDetailFee.setOriginalFbrCost(doubles[i][2]);
-            jkxlDetailFee.setOriginalCbrCost(doubles[i][3]);
+            jkxlDetailFee.setOriginalFbrCost(doubles[i][3]);
+            jkxlDetailFee.setOriginalCbrCost(doubles[i][2]);
             jkxlDetailFee.setOriginalJxCost(doubles[i][4]);
             jkxlDetailFees.add(jkxlDetailFee);
         }
@@ -391,7 +396,7 @@ public class SubstationInfo {
      *获得基础数据,工程费分摊
      */
     public static List<JkxlDetailFee> getBashInfos(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
-         double[][] doubles = ExcelUtil.getDoubleArrays(importExcel,str,2,new int[]{12,13, 14, 15, 17});
+         double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
          double d = ExcelUtil.getDouble(importExcel1,str[0],1,3);  //直接工程费
          double total = doubles[0][0];
          int len = str.length;
@@ -408,8 +413,8 @@ public class SubstationInfo {
              jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
              jkxlDetailFee.setZjgcFee(zjgc[j]);
              jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
-             jkxlDetailFee.setOriginalFbrCost(doubles[j][2]);
-             jkxlDetailFee.setOriginalCbrCost(doubles[j][3]);
+             jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
+             jkxlDetailFee.setOriginalCbrCost(doubles[j][2]);
              jkxlDetailFee.setOriginalJxCost(doubles[j][4]);
              jkxlDetailFee.setWbsCode(wbs[j]);
              jkxlDetailFees.add(jkxlDetailFee);
@@ -428,8 +433,8 @@ public class SubstationInfo {
         jkxlDetailFee.setWbsCode(wbs);
         jkxlDetailFee.setOriginalTotalCost(doubles[0]);
         jkxlDetailFee.setOriginalRgCost(doubles[1]);
-        jkxlDetailFee.setOriginalFbrCost(doubles[2]);
-        jkxlDetailFee.setOriginalCbrCost(doubles[3]);
+        jkxlDetailFee.setOriginalFbrCost(doubles[3]);
+        jkxlDetailFee.setOriginalCbrCost(doubles[2]);
         jkxlDetailFee.setOriginalJxCost(doubles[4]);
         jkxlDetailFee.setZjgcFee(d);
         return jkxlDetailFee;
@@ -438,12 +443,100 @@ public class SubstationInfo {
     /**
      * 配电装置建筑基础数据
      */
-    public static List<JkxlDetailFee> getPdzzjz(ImportExcel importExcel,ImportExcel importExcel1){
-        String[] wbsIds = {"21120000","21121000","21121100","21121200","21121300","21121400","21121500"};
-        String[] str = {JZMX_PDZZJZ,JZMX_ZBYQXT,JZMX_GZJJJC,JZMX_ZBYQJC,JZMX_ZBYQYK,JZMX_FHQ,JZMX_SGYC};
-        double d = ExcelUtil.getDouble(importExcel1,JZMX_PDZZJZ,1,3);  //直接工程费
+//    public static List<JkxlDetailFee> getPdzzjz(ImportExcel importExcel,ImportExcel importExcel1){
+//        JkxlDetailFee total = getBashInfo(importExcel,importExcel1,"21120000",JZMX_PDZZJZ);
+//        double[][] bashInfo = ExcelUtil.getBashArray(importExcel,PDZZJZSTR,2,new int[]{12,13, 14, 15, 17});
+//
+//
+//
+//
+//    }
+
+    /**
+     * 控制直流
+     */
+    public static List<JkxlDetailFee> getKzzl(ImportExcel importExcel,ImportExcel importExcel1){
+        String[] str = KZZLSTR;
+        String[] wbs = KZZLWBS;
+        double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
+        double d = ExcelUtil.getDouble(importExcel1,str[0],1,3);  //直接工程费
+        double total = doubles[0][0];
+        double[] zjgc = new double[5];
+        zjgc[0] = d;
+        for(int i=1;i<5;i++){
+            double rate = doubles[i][0]/total;
+            zjgc[i] = d*rate;
+        }
+        List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
+        JkxlDetailFee jkxlDetailFee = null;
+        for(int j=0;j<5;j++){
+            jkxlDetailFee = new JkxlDetailFee();
+            jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
+            jkxlDetailFee.setZjgcFee(zjgc[j]);
+            jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
+            jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
+            jkxlDetailFee.setOriginalCbrCost(doubles[j][2]);
+            jkxlDetailFee.setOriginalJxCost(doubles[j][4]);
+            jkxlDetailFee.setWbsCode(wbs[j]);
+            jkxlDetailFees.add(jkxlDetailFee);
+        }
+        double zg = d*(doubles[5][0]+doubles[6][0])/total;
+        JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
+        jkxlDetailFee1.setOriginalTotalCost(doubles[5][0]+doubles[6][0]);
+        jkxlDetailFee1.setZjgcFee(zg);
+        jkxlDetailFee1.setOriginalRgCost(doubles[5][1]+doubles[6][1]);
+        jkxlDetailFee1.setOriginalFbrCost(doubles[5][3]+doubles[6][3]);
+        jkxlDetailFee1.setOriginalCbrCost(doubles[5][2]+doubles[6][2]);
+        jkxlDetailFee1.setOriginalJxCost(doubles[5][4]+doubles[6][4]);
+        jkxlDetailFee1.setWbsCode(wbs[5]);
+        jkxlDetailFees.add(jkxlDetailFee1);
+        return jkxlDetailFees;
+    }
 
-        return null;
+    /**
+     * 电缆及接地
+     */
+    public static List<JkxlDetailFee> getDljd(ImportExcel importExcel,ImportExcel importExcel1){
+        List<JkxlDetailFee> list = new ArrayList<>();
+        JkxlDetailFee total = getBashInfo(importExcel,importExcel1,"23160000",AZMX_DLJJD);
+        double[] qzdl = ExcelUtil.getBashArray(importExcel,AZMX_QZDL,2,new int[]{12,13, 14, 15, 17});
+        double[] qzjd = ExcelUtil.getBashArray(importExcel,AZMX_QZJD,2,new int[]{12,13, 14, 15, 17});
+        double qzZjgc = total.getZjgcFee()*qzdl[0]/total.getOriginalTotalCost();
+        double jdZjgc = total.getZjgcFee()*qzjd[0]/total.getOriginalTotalCost();
+        JkxlDetailFee dl = new JkxlDetailFee();
+        dl.setWbsCode("23161000");
+        dl.setOriginalTotalCost(qzjd[0]);
+        dl.setOriginalRgCost(qzjd[1]);
+        dl.setOriginalFbrCost(qzjd[3]);
+        dl.setOriginalCbrCost(qzjd[2]);
+        dl.setOriginalJxCost(qzjd[4]);
+        dl.setZjgcFee(qzZjgc);
+        JkxlDetailFee jd = new JkxlDetailFee();
+        jd.setWbsCode("23162000");
+        jd.setOriginalTotalCost(qzjd[0]);
+        jd.setOriginalRgCost(qzjd[1]);
+        jd.setOriginalFbrCost(qzjd[3]);
+        jd.setOriginalCbrCost(qzjd[2]);
+        jd.setOriginalJxCost(qzjd[4]);
+        jd.setZjgcFee(jdZjgc);
+        list.add(total);
+        list.add(dl);
+        list.add(jd);
+        String[] wbs = {"23161100","23161200","23161300","23161400"};
+        double[][] qz = ExcelUtil.getBashArray(importExcel,new String[]{AZMX_DLDL,AZMX_KZDL,AZMX_DLFZSS,AZMX_DLFH},2,new int[]{12,13, 14, 15, 17});
+        for(int i=0;i<4;i++){
+            JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
+            double gc = qzZjgc*qz[i][0]/qzdl[0];
+            jkxlDetailFee.setWbsCode(wbs[i]);
+            jkxlDetailFee.setOriginalTotalCost(qz[i][0]);
+            jkxlDetailFee.setOriginalRgCost(qz[i][1]);
+            jkxlDetailFee.setOriginalFbrCost(qz[i][3]);
+            jkxlDetailFee.setOriginalCbrCost(qz[i][2]);
+            jkxlDetailFee.setOriginalJxCost(qz[i][4]);
+            jkxlDetailFee.setZjgcFee(gc);
+            list.add(jkxlDetailFee);
+        }
+        return list;
     }
 
 
@@ -453,11 +546,13 @@ public class SubstationInfo {
     public static double getCsJzFee(ImportExcel importExcel){
         int lastRow = importExcel.getLastDataRowNum();
         double d = 0.00;
+        List list = new ArrayList();
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,2);
-            if(!type.contains(CS_JZ)){
-                return d;
-            }
+            list.add(type);
+        }
+        if(!list.contains(CS_JZ)){
+            return d;
         }
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,1);
@@ -479,11 +574,14 @@ public class SubstationInfo {
     public static double getCsAzFee(ImportExcel importExcel){
         int lastRow = importExcel.getLastDataRowNum();
         double d = 0.00;
+        List list = new ArrayList();
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,2);
-            if(!type.contains(CS_AZ)){
-                return d;
-            }
+            list.add(type);
+
+        }
+        if(!list.contains(CS_AZ)){
+            return d;
         }
         for(int i=0;i<lastRow;i++){
             String type = importExcel.getValue(i+1,1);
@@ -498,205 +596,19 @@ public class SubstationInfo {
     }
 
 
-    /**
-     * 获取电缆建筑工程措施费率
-     */
-     public static double getJzRate(ImportExcel importExcel){
-         int lastRow = importExcel.getLastDataRowNum();
-         double rate = 0.00;
-         for(int i=2;i<lastRow;i++){
-             String type = importExcel.getValue(i+1,1);
-             if(type.equals(CS_AZ)){
-                 break;
-             }
-             rate += importExcel.getDouble(i+1,3);
-         }
-       return rate/100;
-     }
 
-    /**
-     * 获取电缆安装工程措施费率
-     */
-    public static double[] getAzRate(ImportExcel importExcel){
-        int lastRow = importExcel.getLastDataRowNum();
-        int azRow = 0;
-        for(int i=0;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
-            if(type.equals(CS_AZ)){
-                azRow = i+1;
-                break;
-            }
-        }
-        double lsRate = 0.00;
-        double aqRate = 0.00;
-        double totalRate = 0.00;
-        for(int i=azRow;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
-            if(type.equals(CS_LS)){
-                lsRate = importExcel.getDouble(i+1,3);
-            }
-            if(type.equals(CS_AQWM)){
-                aqRate = importExcel.getDouble(i+1,3);
-            }
-            totalRate += importExcel.getDouble(i+1,3);
-        }
-        double[] rate = new double[2];
-        rate[0] = (lsRate+aqRate)/100;
-        rate[1] = (totalRate-lsRate-aqRate)/100;
-        return  rate;
-    }
 
 
 
-    /**
-     *架空线路获取规费率
-     */
-    public static double[] getGfRate(ImportExcel importExcel) {
-        int lastRow = importExcel.getLastDataRowNum();
-        double totalRate = 0.00;
-        double wxzyRate = 0.00;
-        for (int i = 2; i < lastRow; i++) {
-            String type = importExcel.getValue(i + 1, 1);
-            if (type.equals(GF_WXZY)) {
-                wxzyRate = importExcel.getDouble(i + 1, 3);
-            }
-            if (!importExcel.getValue(i + 1, 2).equals("")) {
-                totalRate += importExcel.getDouble(i + 1, 3);
-            }
-        }
-        double[] rate = new double[2];
-        rate[0] = wxzyRate / 100;
-        rate[1] = (totalRate - wxzyRate) / 100;
-        return rate;
-    }
 
-    /**
-     *电缆建筑获取规费率
-     */
-    public static double[] getJzGfRate(ImportExcel importExcel) {
-        int lastRow = importExcel.getLastDataRowNum();
-        double totalRate = 0.00;
-        double wxzyRate = 0.00;
-        for (int i = 2; i < lastRow; i++) {
-            String type = importExcel.getValue(i + 1, 1);
-            if (type.equals(GF_WXZY)) {
-                wxzyRate = importExcel.getDouble(i + 1, 3);
-            }
-            if (!importExcel.getValue(i + 1, 2).equals("")) {
-                totalRate += importExcel.getDouble(i + 1, 3);
-            }
-            if(type.equals(GF_AZ)){
-                break;
-            }
-        }
-        double[] rate = new double[2];
-        rate[0] = wxzyRate / 100;
-        rate[1] = (totalRate - wxzyRate) / 100;
-        return rate;
-    }
 
-    /**
-     *电缆安装获取规费率
-     */
-    public static double[] getAzGfRate(ImportExcel importExcel) {
-        int lastRow = importExcel.getLastDataRowNum();
-        int azRow = 0;
-        for(int i=0;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
-            if(type.equals(GF_AZ)){
-                azRow = i+1;
-                break;
-            }
-        }
-        double totalRate = 0.00;
-        double wxzyRate = 0.00;
-        for (int i = azRow; i < lastRow; i++) {
-            String type = importExcel.getValue(i + 1, 1);
-            if (type.equals(GF_WXZY)) {
-                wxzyRate = importExcel.getDouble(i + 1, 3);
-            }
-            if (!importExcel.getValue(i + 1, 2).equals("")) {
-                totalRate += importExcel.getDouble(i + 1, 3);
-            }
-        }
-        double[] rate = new double[2];
-        rate[0] = wxzyRate / 100;
-        rate[1] = (totalRate - wxzyRate) / 100;
-        return rate;
-    }
 
-    /**
-     * 获取其他费用
-     */
-    public static double[] getQtFees(ImportExcel importExcel) {
-        int lastRow = importExcel.getLastDataRowNum();
-        double cdFree = 0.00;
-        double zbFree = 0.00;
-        double totalFree = 0.00;
-        for(int i=2;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
-            String type1 = importExcel.getValue(i+1,0);
-            if(type.equals(QT_SGCDZY)){
-                cdFree = importExcel.getDouble(i+1,2);
-                continue;
-            }
-            if(type.contains(QT_ZBDL)){
-                zbFree = importExcel.getDouble(i+1,2);
-                continue;
-            }
-            if(type1.equals(QT_HJ)){
-                totalFree = importExcel.getDouble(i+1,2);
-                continue;
-            }
-        }
-        double[] rate = new double[3];
-        rate[0] = cdFree;
-        rate[1] = zbFree;
-        rate[2] = totalFree-cdFree-zbFree;
-        return  rate;
-    }
 
-    /**
-     * 获取发包人安装费
-     * @param importExcel
-     * @return
-     */
-    public static double getFbrAzFee(ImportExcel importExcel){
-        int lastRow = importExcel.getLastDataRowNum();
-        double d = 0.00;
-        for(int i=0;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,0);
-            if(type.equals("")){
-                continue;
-            }
-            if(type.equals(QT_XJ)){
-                d = importExcel.getDouble(i+1,6);
-            }
-        }
-        return d;
-    }
 
 
-    public static double[] getAqwfAzFee(ImportExcel importExcel){
-        int lastRow = importExcel.getLastDataRowNum();
-        double d = 0.00;
-        double e = 0.00;
-        for(int i=0;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
-            if(type.equals("")){
-                continue;
-            }
-            if(type.equals(CS_AQWM)){
-                d = importExcel.getDouble(i+1,3);
-                e = importExcel.getDouble(i+1,4);
-            }
-        }
-        double[] r = new double[2];
-        r[0] = d;
-        r[1] = e;
 
-        return r;
-    }
+
+
 
     /**
      * 获取工程结算价