Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

xs 5 lat temu
rodzic
commit
37af353503

+ 292 - 213
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -43,173 +43,300 @@ public class OverheadLineService {
        return overheadLineMapper.getList(id,type);
    }
 
-   public List<JkxlDetailFee> findList(String id,String type){
-       List<JkxlDetailFee> list = overheadLineMapper.findList(id,type);
-       JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
-       jkxlAdjustFee.setId(id);
-       jkxlAdjustFee.setType(BashInfo.CE);
-       List<JkxlAdjustFee> jkxlAdjustFees = feeAdjustService.getTzFee(jkxlAdjustFee);
-       JkxlAdjustFee jkxlAdjustFee1 = jkxlAdjustFees.get(0);
-       double cFee = jkxlAdjustFee1.getFee();
-       double btTotal = 0.00;
-       double qtTotal = 0.00;
-       double azTotal = 0.00;
-       double otherTotal = 0.00;
-       for(JkxlDetailFee jkxlDetailFee : list){
-           double measuresFee1 = jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
-           double measuresFee2 = jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
-           double measuresFee3 = jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
-           double Tex = jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
-           double otherCost = jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
-           double Fees = jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
-           double qtFee = measuresFee1 + measuresFee2 + measuresFee3 + otherCost + Fees + Tex;
-           double rgFee = jkxlDetailFee.getRgCost()!=null? jkxlDetailFee.getRgCost():0.00;
-           double cbrFee = jkxlDetailFee.getCbrCost()!=null? jkxlDetailFee.getCbrCost():0.00;
-           double fbrFee = jkxlDetailFee.getFbrCost()!=null? jkxlDetailFee.getFbrCost():0.00;
-           double jxFee = jkxlDetailFee.getJxCost()!=null? jkxlDetailFee.getJxCost():0.00;
-           double azFee = rgFee + cbrFee + jxFee;
-           if(jkxlDetailFee.getWbsCode().substring(0,2).equals("21") || jkxlDetailFee.getWbsCode().substring(0,3).equals("491")){
-               jkxlDetailFee.setJzFee(azFee);
-               jkxlDetailFee.setSbgzFee(qtFee);
-           } else if(jkxlDetailFee.getWbsCode().substring(0,2).equals("23") || jkxlDetailFee.getWbsCode().substring(0,3).equals("493") || jkxlDetailFee.getWbsCode().substring(0,2).equals("39")){
-               jkxlDetailFee.setQtFee(qtFee);
-               jkxlDetailFee.setAzFee(azFee);
-           }
-       }
-       //变电站导出
-       if(type.equals("3")) {
-           double jz1 = 0.00;
-           double az1 = 0.00;
-           double jz2 = 0.00;
-           double az2 = 0.00;
-           double jz3 = 0.00;
-           double az3 = 0.00;
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               if (jkxlDetailFee.getWbsCode().equals("21000000")) {
-                   jz1 = jkxlDetailFee.getTotalFee();
-                   jz2 = jkxlDetailFee.getJzFee();
-                   jz3 = jkxlDetailFee.getSbgzFee();
-               }
-               if (jkxlDetailFee.getWbsCode().equals("23000000")) {
-                   az1 = jkxlDetailFee.getTotalFee();
-                   az2 = jkxlDetailFee.getAzFee();
-                   az3 = jkxlDetailFee.getQtFee();
-               }
-               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-                   qtTotal += jkxlDetailFee.getTotalFee();
-               }
-           }
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               if(jkxlDetailFee.getWbsCode().equals("20000000")){
-                   jkxlDetailFee.setJzFee(jz2);
-                   jkxlDetailFee.setAzFee(az2);
-                   jkxlDetailFee.setSbgzFee(jz3);
-                   jkxlDetailFee.setQtFee(az3);
-                   jkxlDetailFee.setTotalFee(jz1+az1);
-                   jkxlDetailFee.setcFee(cFee);
-                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("24000000")){
-                   jkxlDetailFee.setTotalFee(qtTotal);
-               }
-           }
-       }
-       //电缆导出
-       if(type.equals("2")){
-           double jz1 = 0.00;
-           double az1 = 0.00;
-           double jz2 = 0.00;
-           double az2 = 0.00;
-           double jz3 = 0.00;
-           double az3 = 0.00;
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               String wbs = jkxlDetailFee.getWbsCode().substring(0,3);
-               String wbs1 = jkxlDetailFee.getWbsCode().substring(3,4);
-               if(wbs.equals("491") && !wbs1.equals("0")){
-                   jz1 += jkxlDetailFee.getTotalFee();
-                   jz2 += jkxlDetailFee.getJzFee();
-                   jz3 += jkxlDetailFee.getSbgzFee();
-               }
-               if(wbs.equals("493") && !wbs1.equals("0")){
-                   az1 += jkxlDetailFee.getTotalFee();
-                   az2 += jkxlDetailFee.getAzFee();
-                   az3 += jkxlDetailFee.getQtFee();
-               }
-               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-                   qtTotal += jkxlDetailFee.getTotalFee();
-               }
-           }
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               if(jkxlDetailFee.getWbsCode().equals("40000000")){
-                   jkxlDetailFee.setJzFee(jz2);
-                   jkxlDetailFee.setAzFee(az2);
-                   jkxlDetailFee.setSbgzFee(jz3);
-                   jkxlDetailFee.setQtFee(az3);
-                   jkxlDetailFee.setTotalFee(jz1+az1);
-                   jkxlDetailFee.setcFee(cFee);
-                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("49100000")){
-                   jkxlDetailFee.setTotalFee(jz1);
-                   jkxlDetailFee.setJzFee(jz2);
-                   jkxlDetailFee.setSbgzFee(jz3);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("49300000")){
-                   jkxlDetailFee.setTotalFee(az1);
-                   jkxlDetailFee.setAzFee(az2);
-                   jkxlDetailFee.setQtFee(az3);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("49000000")){
-                   jkxlDetailFee.setJzFee(jz2);
-                   jkxlDetailFee.setAzFee(az2);
-                   jkxlDetailFee.setSbgzFee(jz3);
-                   jkxlDetailFee.setQtFee(az3);
-                   jkxlDetailFee.setTotalFee(jz1+az1);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("44000000")){
-                   jkxlDetailFee.setTotalFee(qtTotal);
-               }
-           }
+//   public List<JkxlDetailFee> findList(String id,String type){
+//       List<JkxlDetailFee> list = overheadLineMapper.findList(id,type);
+//       JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
+//       jkxlAdjustFee.setId(id);
+//       jkxlAdjustFee.setType(BashInfo.CE);
+//       List<JkxlAdjustFee> jkxlAdjustFees = feeAdjustService.getTzFee(jkxlAdjustFee);
+//       JkxlAdjustFee jkxlAdjustFee1 = jkxlAdjustFees.get(0);
+//       double cFee = jkxlAdjustFee1.getFee();
+//       double btTotal = 0.00;
+//       double qtTotal = 0.00;
+//       double azTotal = 0.00;
+//       double otherTotal = 0.00;
+//       for(JkxlDetailFee jkxlDetailFee : list){
+//           double measuresFee1 = jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
+//           double measuresFee2 = jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
+//           double measuresFee3 = jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
+//           double Tex = jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
+//           double otherCost = jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
+//           double Fees = jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
+//           double qtFee = measuresFee1 + measuresFee2 + measuresFee3 + otherCost + Fees + Tex;
+//           double rgFee = jkxlDetailFee.getRgCost()!=null? jkxlDetailFee.getRgCost():0.00;
+//           double cbrFee = jkxlDetailFee.getCbrCost()!=null? jkxlDetailFee.getCbrCost():0.00;
+//           double fbrFee = jkxlDetailFee.getFbrCost()!=null? jkxlDetailFee.getFbrCost():0.00;
+//           double jxFee = jkxlDetailFee.getJxCost()!=null? jkxlDetailFee.getJxCost():0.00;
+//           double azFee = rgFee + cbrFee + jxFee;
+//           if(jkxlDetailFee.getWbsCode().substring(0,2).equals("21") || jkxlDetailFee.getWbsCode().substring(0,3).equals("491")){
+//               jkxlDetailFee.setJzFee(azFee);
+//               jkxlDetailFee.setSbgzFee(qtFee);
+//           } else if(jkxlDetailFee.getWbsCode().substring(0,2).equals("23") || jkxlDetailFee.getWbsCode().substring(0,3).equals("493") || jkxlDetailFee.getWbsCode().substring(0,2).equals("39")){
+//               jkxlDetailFee.setQtFee(qtFee);
+//               jkxlDetailFee.setAzFee(azFee);
+//           }
+//       }
+//       //变电站导出
+//       if(type.equals("3")) {
+//           double jz1 = 0.00;
+//           double az1 = 0.00;
+//           double jz2 = 0.00;
+//           double az2 = 0.00;
+//           double jz3 = 0.00;
+//           double az3 = 0.00;
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               if (jkxlDetailFee.getWbsCode().equals("21000000")) {
+//                   jz1 = jkxlDetailFee.getTotalFee();
+//                   jz2 = jkxlDetailFee.getJzFee();
+//                   jz3 = jkxlDetailFee.getSbgzFee();
+//               }
+//               if (jkxlDetailFee.getWbsCode().equals("23000000")) {
+//                   az1 = jkxlDetailFee.getTotalFee();
+//                   az2 = jkxlDetailFee.getAzFee();
+//                   az3 = jkxlDetailFee.getQtFee();
+//               }
+//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+//                   qtTotal += jkxlDetailFee.getTotalFee();
+//               }
+//           }
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               if(jkxlDetailFee.getWbsCode().equals("20000000")){
+//                   jkxlDetailFee.setJzFee(jz2);
+//                   jkxlDetailFee.setAzFee(az2);
+//                   jkxlDetailFee.setSbgzFee(jz3);
+//                   jkxlDetailFee.setQtFee(az3);
+//                   jkxlDetailFee.setTotalFee(jz1+az1);
+//                   jkxlDetailFee.setcFee(cFee);
+//                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("24000000")){
+//                   jkxlDetailFee.setTotalFee(qtTotal);
+//               }
+//           }
+//       }
+//       //电缆导出
+//       if(type.equals("2")){
+//           double jz1 = 0.00;
+//           double az1 = 0.00;
+//           double jz2 = 0.00;
+//           double az2 = 0.00;
+//           double jz3 = 0.00;
+//           double az3 = 0.00;
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               String wbs = jkxlDetailFee.getWbsCode().substring(0,3);
+//               String wbs1 = jkxlDetailFee.getWbsCode().substring(3,4);
+//               if(wbs.equals("491") && !wbs1.equals("0")){
+//                   jz1 += jkxlDetailFee.getTotalFee();
+//                   jz2 += jkxlDetailFee.getJzFee();
+//                   jz3 += jkxlDetailFee.getSbgzFee();
+//               }
+//               if(wbs.equals("493") && !wbs1.equals("0")){
+//                   az1 += jkxlDetailFee.getTotalFee();
+//                   az2 += jkxlDetailFee.getAzFee();
+//                   az3 += jkxlDetailFee.getQtFee();
+//               }
+//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+//                   qtTotal += jkxlDetailFee.getTotalFee();
+//               }
+//           }
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               if(jkxlDetailFee.getWbsCode().equals("40000000")){
+//                   jkxlDetailFee.setJzFee(jz2);
+//                   jkxlDetailFee.setAzFee(az2);
+//                   jkxlDetailFee.setSbgzFee(jz3);
+//                   jkxlDetailFee.setQtFee(az3);
+//                   jkxlDetailFee.setTotalFee(jz1+az1);
+//                   jkxlDetailFee.setcFee(cFee);
+//                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("49100000")){
+//                   jkxlDetailFee.setTotalFee(jz1);
+//                   jkxlDetailFee.setJzFee(jz2);
+//                   jkxlDetailFee.setSbgzFee(jz3);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("49300000")){
+//                   jkxlDetailFee.setTotalFee(az1);
+//                   jkxlDetailFee.setAzFee(az2);
+//                   jkxlDetailFee.setQtFee(az3);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("49000000")){
+//                   jkxlDetailFee.setJzFee(jz2);
+//                   jkxlDetailFee.setAzFee(az2);
+//                   jkxlDetailFee.setSbgzFee(jz3);
+//                   jkxlDetailFee.setQtFee(az3);
+//                   jkxlDetailFee.setTotalFee(jz1+az1);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("44000000")){
+//                   jkxlDetailFee.setTotalFee(qtTotal);
+//               }
+//           }
+//
+//       }
+//       //架空导出
+//       if(type.equals("1")) {
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               //本体费用求和
+//               if (jkxlDetailFee.getOriginalTotalCost() != null) {
+//                   btTotal += jkxlDetailFee.getTotalFee();
+//                   azTotal += jkxlDetailFee.getAzFee();
+//                   otherTotal += jkxlDetailFee.getQtFee();
+//               }
+//               //其他费用求和
+//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+//                   qtTotal += jkxlDetailFee.getTotalFee();
+//               }
+//           }
+//           for (JkxlDetailFee jkxlDetailFee : list) {
+//               if(jkxlDetailFee.getWbsCode().equals("30000000")){
+//                  jkxlDetailFee.setTotalFee(btTotal+qtTotal);
+//                  jkxlDetailFee.setAzFee(azTotal);
+//                  jkxlDetailFee.setQtFee(otherTotal);
+//                  jkxlDetailFee.setcFee(cFee);
+//                  jkxlDetailFee.setJsFee(btTotal+qtTotal+cFee);
+//               }
+//               if(jkxlDetailFee.getWbsCode().equals("39000000")){
+//                  jkxlDetailFee.setTotalFee(btTotal);
+//                  jkxlDetailFee.setAzFee(azTotal);
+//                  jkxlDetailFee.setQtFee(otherTotal);
+//               }
+//              if(jkxlDetailFee.getWbsCode().equals("34000000")){
+//               jkxlDetailFee.setTotalFee(qtTotal);
+//               }
+//              }
+//         }
+//       for (int i=0;i<list.size();i++){
+//           list.get(i).setIndex(i+1);
+//       }
+//       return list;
+//
+//   }
+public List<JkxlDetailFee> findList(String id,String type){
+    List<JkxlDetailFee> list = overheadLineMapper.findList(id,type);
+    for(JkxlDetailFee jkxlDetailFee : list){
+        double totalFee  = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
+        //建筑
+        if(jkxlDetailFee.getWbsCode().substring(0,2).equals("21") || jkxlDetailFee.getWbsCode().substring(0,3).equals("491")){
+            jkxlDetailFee.setJzFee(totalFee);
+        }
+        //安装
+        if(jkxlDetailFee.getWbsCode().substring(0,2).equals("23") || jkxlDetailFee.getWbsCode().substring(0,3).equals("493") || jkxlDetailFee.getWbsCode().substring(0,2).equals("39")){
+            jkxlDetailFee.setAzFee(totalFee);
+        }
+        if(jkxlDetailFee.getOriginalTotalCost() == null){
+            double qtFee = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
+            jkxlDetailFee.setQtFee(qtFee);
+        }
 
-       }
-       //架空导出
-       if(type.equals("1")) {
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               //本体费用求和
-               if (jkxlDetailFee.getOriginalTotalCost() != null) {
-                   btTotal += jkxlDetailFee.getTotalFee();
-                   azTotal += jkxlDetailFee.getAzFee();
-                   otherTotal += jkxlDetailFee.getQtFee();
-               }
-               //其他费用求和
-               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-                   qtTotal += jkxlDetailFee.getTotalFee();
-               }
-           }
-           for (JkxlDetailFee jkxlDetailFee : list) {
-               if(jkxlDetailFee.getWbsCode().equals("30000000")){
-                  jkxlDetailFee.setTotalFee(btTotal+qtTotal);
-                  jkxlDetailFee.setAzFee(azTotal);
-                  jkxlDetailFee.setQtFee(otherTotal);
-                  jkxlDetailFee.setcFee(cFee);
-                  jkxlDetailFee.setJsFee(btTotal+qtTotal+cFee);
-               }
-               if(jkxlDetailFee.getWbsCode().equals("39000000")){
-                  jkxlDetailFee.setTotalFee(btTotal);
-                  jkxlDetailFee.setAzFee(azTotal);
-                  jkxlDetailFee.setQtFee(otherTotal);
-               }
-              if(jkxlDetailFee.getWbsCode().equals("34000000")){
-               jkxlDetailFee.setTotalFee(qtTotal);
-               }
-              }
-         }
-       for (int i=0;i<list.size();i++){
-           list.get(i).setIndex(i+1);
-       }
-       return list;
+    }
+    double jz1 = 0.00;
+    double az1 = 0.00;
+    double jz2 = 0.00;
+    double az2 = 0.00;
+    double qtTotal = 0.00;
+    //变电站导出
+    if(type.equals("3")) {
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            if (jkxlDetailFee.getWbsCode().equals("21000000")) {
+                jz1 = jkxlDetailFee.getTotalFee();
+                jz2 = jkxlDetailFee.getJzFee();
+            }
+            if (jkxlDetailFee.getWbsCode().equals("23000000")) {
+                az1 = jkxlDetailFee.getTotalFee();
+                az2 = jkxlDetailFee.getAzFee();
+            }
+            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+                qtTotal += jkxlDetailFee.getTotalFee();
+            }
+        }
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            if(jkxlDetailFee.getWbsCode().equals("20000000")){
+                jkxlDetailFee.setJzFee(jz2);
+                jkxlDetailFee.setAzFee(az2);
+                jkxlDetailFee.setTotalFee(jz1+az1);
+                jkxlDetailFee.setQtFee(qtTotal);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("24000000")){
+                jkxlDetailFee.setTotalFee(qtTotal);
+            }
+        }
+    }
+    //电缆导出
+    if(type.equals("2")){
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            String wbs = jkxlDetailFee.getWbsCode().substring(0,3);
+            String wbs1 = jkxlDetailFee.getWbsCode().substring(3,4);
+            if(wbs.equals("491") && !wbs1.equals("0")){
+                jz1 += jkxlDetailFee.getTotalFee();
+                jz2 += jkxlDetailFee.getJzFee();
+            }
+            if(wbs.equals("493") && !wbs1.equals("0")){
+                az1 += jkxlDetailFee.getTotalFee();
+                az2 += jkxlDetailFee.getAzFee();
+            }
+            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+                qtTotal += jkxlDetailFee.getTotalFee();
+            }
+        }
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            if(jkxlDetailFee.getWbsCode().equals("40000000")){
+                jkxlDetailFee.setJzFee(jz2);
+                jkxlDetailFee.setAzFee(az2);
+                jkxlDetailFee.setTotalFee(jz1+az1);
+                jkxlDetailFee.setQtFee(qtTotal);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("49100000")){
+                jkxlDetailFee.setTotalFee(jz1);
+                jkxlDetailFee.setJzFee(jz2);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("49300000")){
+                jkxlDetailFee.setTotalFee(az1);
+                jkxlDetailFee.setAzFee(az2);
 
-   }
+            }
+            if(jkxlDetailFee.getWbsCode().equals("49000000")){
+                jkxlDetailFee.setJzFee(jz2);
+                jkxlDetailFee.setAzFee(az2);
+                jkxlDetailFee.setTotalFee(jz1+az1);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("44000000")){
+                jkxlDetailFee.setTotalFee(qtTotal);
+            }
+        }
+
+    }
+    //架空导出
+    if(type.equals("1")) {
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            //本体费用求和
+            if (jkxlDetailFee.getOriginalTotalCost() != null) {
+                az1 += jkxlDetailFee.getTotalFee();
+            }
+            //其他费用求和
+            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+                qtTotal += jkxlDetailFee.getTotalFee();
+            }
+        }
+        for (JkxlDetailFee jkxlDetailFee : list) {
+            if(jkxlDetailFee.getWbsCode().equals("30000000")){
+                jkxlDetailFee.setTotalFee(az1);
+                jkxlDetailFee.setAzFee(az1);
+                jkxlDetailFee.setQtFee(qtTotal);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("39000000")){
+                jkxlDetailFee.setTotalFee(az1);
+                jkxlDetailFee.setAzFee(az1);
+            }
+            if(jkxlDetailFee.getWbsCode().equals("34000000")){
+                jkxlDetailFee.setTotalFee(qtTotal);
+            }
+        }
+    }
+    for (int i=0;i<list.size();i++){
+        list.get(i).setIndex(i+1);
+    }
+    return list;
+
+}
 
    public JkxlDetailFee getDate(String id, String wbsCode){
        return overheadLineMapper.getData(id,wbsCode);
@@ -668,54 +795,6 @@ public class OverheadLineService {
                 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; //总合计金额
         for(JkxlDetailFee jkxlDetailFee : list){
             tz += jkxlDetailFee.getTotalFee();

+ 9 - 9
src/main/java/com/jeeplus/modules/sg/project/web/ProjectController.java

@@ -173,25 +173,25 @@ public class ProjectController extends BaseController {
                    if(jkxlDetailFee1.getWbsCode().equals(wbsCode)){
                        double jzFee = jkxlDetailFee1.getJzFee()!=null? jkxlDetailFee1.getJzFee():0.00;
                        double jzFee1 = jkxlDetailFee.getJzFee()!=null? jkxlDetailFee.getJzFee():0.00;
-                       double sbgzFee = jkxlDetailFee1.getSbgzFee()!=null? jkxlDetailFee1.getSbgzFee():0.00;
-                       double sbgzFee1 = jkxlDetailFee.getSbgzFee()!=null? jkxlDetailFee.getSbgzFee():0.00;
+//                       double sbgzFee = jkxlDetailFee1.getSbgzFee()!=null? jkxlDetailFee1.getSbgzFee():0.00;
+//                       double sbgzFee1 = jkxlDetailFee.getSbgzFee()!=null? jkxlDetailFee.getSbgzFee():0.00;
                        double azFee = jkxlDetailFee1.getAzFee()!=null? jkxlDetailFee1.getAzFee():0.00;
                        double azFee1 = jkxlDetailFee.getAzFee()!=null? jkxlDetailFee.getAzFee():0.00;
                        double qtFee = jkxlDetailFee1.getQtFee()!=null? jkxlDetailFee1.getQtFee():0.00;
                        double qtFee1 = jkxlDetailFee.getQtFee()!=null? jkxlDetailFee.getQtFee():0.00;
                        double totalFee = jkxlDetailFee1.getTotalFee()!=null? jkxlDetailFee1.getTotalFee():0.00;
                        double totalFee1 = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
-                       double jsFee = jkxlDetailFee1.getJsFee()!=null? jkxlDetailFee1.getJsFee():0.00;
-                       double jsFee1 = jkxlDetailFee.getJsFee()!=null? jkxlDetailFee.getJsFee():0.00;
-                       double cFee = jkxlDetailFee1.getcFee()!=null? jkxlDetailFee1.getcFee():0.00;
-                       double cFee1 = jkxlDetailFee.getcFee()!=null? jkxlDetailFee.getcFee():0.00;
+//                       double jsFee = jkxlDetailFee1.getJsFee()!=null? jkxlDetailFee1.getJsFee():0.00;
+//                       double jsFee1 = jkxlDetailFee.getJsFee()!=null? jkxlDetailFee.getJsFee():0.00;
+//                       double cFee = jkxlDetailFee1.getcFee()!=null? jkxlDetailFee1.getcFee():0.00;
+//                       double cFee1 = jkxlDetailFee.getcFee()!=null? jkxlDetailFee.getcFee():0.00;
                        jkxlDetailFee1.setJzFee(jzFee+jzFee1);
-                       jkxlDetailFee1.setSbgzFee(sbgzFee+sbgzFee1);
+//                       jkxlDetailFee1.setSbgzFee(sbgzFee+sbgzFee1);
                        jkxlDetailFee1.setAzFee(azFee+azFee1);
                        jkxlDetailFee1.setQtFee(qtFee+qtFee1);
                        jkxlDetailFee1.setTotalFee(totalFee+totalFee1);
-                       jkxlDetailFee1.setJsFee(jsFee+jsFee1);
-                       jkxlDetailFee1.setcFee(cFee+cFee1);
+//                       jkxlDetailFee1.setJsFee(jsFee+jsFee1);
+//                       jkxlDetailFee1.setcFee(cFee+cFee1);
                    }
                }
            }

+ 206 - 7
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -51,7 +51,7 @@ public class SubstationService {
    }
 
 
-
+   @Transactional(readOnly = false)
     public void save(MultipartFile file,WbsItem wbsItem) throws IOException, InvalidFormatException {
         String id = wbsItem.getId();
         String type = wbsItem.getType();
@@ -122,18 +122,13 @@ public class SubstationService {
             double tbrJzFee = BashInfo.getFbrJzFee(tbrsb); //投标人建筑费
             double tbrAzFee = BashInfo.getFbrAzFee(tbrsb); //投标人安装费
             double zjgcTotal = zjgcAzTotal+zjgcJzTotal;
-//            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 fbrJzFee = ExcelUtil.getDouble(jzqd,SubstationInfo.JZMX_BJZ,2,15);
-//            double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
             double fbrAzFee = ExcelUtil.getDouble(azqd,SubstationInfo.AZMX_BDZAZ,2,15);
             double zgJz = zjgcJzTotal-aqwmJzFees[1]/aqwmJzFees[0]*100;
             double zgAz = zjgcAzTotal-aqwmAzFees[1]/aqwmAzFees[0]*100;
-//            double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(10, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
             double jxslJz = zgJz/(fbrJzFee-zgJz); //建筑进项税率
-//            double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(10, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
             double jxslAz = zgAz/(fbrAzFee-zgAz); //安装进项税率
             //建筑部分基础数据
             JkxlDetailFee jz = SubstationInfo.getTolalInfo(jzqd,jzhz,"21000000",SubstationInfo.JZMX_BJZ);  //建筑合计
@@ -253,7 +248,6 @@ public class SubstationService {
             azDetail.setTotalFee(aztotalFee);
             azTotal.set(0,azDetail);
 
-
             double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
             double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);
             //将其他费用存入集合
@@ -279,6 +273,211 @@ public class SubstationService {
             jkxlAdjustFee.setFee(gxFee);
             feeAdjustService.save(jkxlAdjustFee);
         }
+        if(jzgc !=0.00 && azgc == 0.00){
+            ImportExcel jzqd = new ImportExcel(file, 1, SubstationInfo.SHEET_JZFBFXJJ);  //建筑分部分项工程量清单计价表
+            ImportExcel jzhz = new ImportExcel(file, 1, SubstationInfo.SHEET_JZHZB);   //建筑工程费用汇总表
+            //变电站结算汇总
+            int[] comlumn2 = {12,15};//定义所要数组
+            double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//变电站建筑
+            double[] builtTotal={built1Total,0.00};
+            double[] division1total=ExcelUtil.getDoubleArray(jzqd,SubstationInfo.JZMX_BJZ,2,comlumn2);//建筑分部分项比对数据清单合计
+            double[] division = {division1total[0],division1total[1],0.00,0.00};
+            List<Settlement> settlementBdzs = SettementUtil.getDLComparison(settlementsBdz,builtTotal,division,word1total,word2total,otherBdzTotal,feesBdzCount,cbperson);
+            settlementService.save(settlementBdzs,id);
+            double zjgcJzTotal = ExcelUtil.getDouble(jzhz,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[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_SGZJ,1, new int[]{3, 4});  //建筑安全文明施工费
+            double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd1);  //安装安全文明施工费
+            double fbrJzFee = ExcelUtil.getDouble(jzqd,SubstationInfo.JZMX_BJZ,2,15);
+            double zgJz = zjgcJzTotal-aqwmJzFees[1]/aqwmJzFees[0]*100;
+            double jxslJz = zgJz/(fbrJzFee-zgJz); //建筑进项税率
+            //建筑部分基础数据
+            JkxlDetailFee jz = SubstationInfo.getTolalInfo(jzqd,jzhz,"21000000",SubstationInfo.JZMX_BJZ);  //建筑合计
+            JkxlDetailFee jzsc = SubstationInfo.getBashInfo(jzqd,jzhz,"21100000",SubstationInfo.JZMX_ZYGC);  //主要生产工程
+            List<JkxlDetailFee> scjz = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.ZYSCWBS,SubstationInfo.ZYSCJZSTR); //主要生产建筑
+            List<JkxlDetailFee> pdzz = SubstationInfo.getPdzzjz(jzqd,jzhz);    //配电装置
+            List<JkxlDetailFee> gsxt  = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.GSXTWBS,SubstationInfo.GSXTSTR); //供水系统建筑
+            List<JkxlDetailFee> xfxt  = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.XFXTWBS,SubstationInfo.XFXTSTR); //消防系统
+            JkxlDetailFee jzfz = SubstationInfo.getBashInfo(jzqd,jzhz,"21200000",SubstationInfo.JZMX_FZSCGC);  //辅助生产工程
+            List<JkxlDetailFee> fzscjz  = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.FZSCWBS,SubstationInfo.FZSCSTR); //辅助生产建筑
+            List<JkxlDetailFee> zqxjz  = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.ZQXWBS,SubstationInfo.ZQXSTR); //站区性建筑
+            List<JkxlDetailFee> tsgzw  = SubstationInfo.getBashInfos(jzqd,jzhz,SubstationInfo.TXGJWWBS,SubstationInfo.TXGJWSTR); //特殊构筑物
+            JkxlDetailFee zqlh = SubstationInfo.getBashInfo(jzqd,jzhz,"21240000",SubstationInfo.JZMX_ZQLH);  //站区绿化
+            List<JkxlDetailFee> dxgc  = SubstationInfo.getBashInfo(jzqd,jzhz,SubstationInfo.YDZYGWBS,SubstationInfo.YDZYGSTR); //与站址有关的单项工程
+            List<JkxlDetailFee> jzTotal = new ArrayList<>();
+            jzTotal.add(jz);
+            jzTotal.add(jzsc);
+            jzTotal.addAll(scjz);
+            jzTotal.addAll(pdzz);
+            jzTotal.addAll(gsxt);
+            jzTotal.addAll(xfxt);
+            jzTotal.add(jzfz);
+            jzTotal.addAll(fzscjz);
+            jzTotal.addAll(zqxjz);
+            jzTotal.addAll(tsgzw);
+            jzTotal.add(zqlh);
+            jzTotal.addAll(dxgc);
+            for(JkxlDetailFee jkxlDetailFee:jzTotal){
+                double originalTotalCost = jkxlDetailFee.getOriginalTotalCost();
+                double originalFbrCost = jkxlDetailFee.getOriginalFbrCost();
+                double zjgcJzFee = jkxlDetailFee.getZjgcFee();
+                double rateCs = zjgcJzFee/zjgcJzTotal;  //措施费分摊比例
+                double rateQt = zjgcJzFee/zjgcJzTotal;    //其他费用分摊比例
+                jkxlDetailFee.setRgCost(jkxlDetailFee.getOriginalRgCost()/(1+tcRate[0]));
+                jkxlDetailFee.setCbrCost(jkxlDetailFee.getOriginalCbrCost()/(1+tcRate[1]));
+                jkxlDetailFee.setFbrCost(originalFbrCost/(1+jxslJz));
+                jkxlDetailFee.setJxCost(jkxlDetailFee.getOriginalJxCost()/(1+tcRate[2]));
+                double measuresFee1 = (zjgcJzFee -(originalFbrCost/(1+jxslJz)*jxslJz))*jzcsRate; //措施费一(1)
+                double measuresFee2 = csJzFee*rateCs;   //措施费一(2)
+                double otherFee =qtFees[2]*rateQt; //其他费用
+                double fees = (zjgcJzFee-(originalFbrCost/(1+jxslJz)*jxslJz))*(jzgfRate[0]+jzgfRate[1]*0.2);  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+fees+otherFee-originalFbrCost)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+fees+otherFee+tax-originalFbrCost; //合计
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setId(id);
+            }
+            //建筑部门求和
+            JkxlDetailFee jzDetail = jzTotal.get(0);
+            double jztotalFee =  jzDetail.getTotalFee()+tbrJzFee*(1+texRate);
+            double jztex =  jzDetail.getTex()+tbrJzFee*texRate;
+            jzDetail.setTotalFee(jztotalFee);
+            jzDetail.setTex(jztex);
+            jzTotal.set(0,jzDetail);
+
+            double tz = jzTotal.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);
+            jzTotal.add(jkxlDetailFee1);
+            jzTotal.add(jkxlDetailFee2);
+            for(JkxlDetailFee jkxlDetailFee:jzTotal){
+                overheadLineMapper.save(jkxlDetailFee);
+            }
+            JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
+            jkxlAdjustFee.setId(id);
+            jkxlAdjustFee.setType(BashInfo.CE);
+            jkxlAdjustFee.setFee(gxFee);
+            feeAdjustService.save(jkxlAdjustFee);
+        }
+        if(jzgc ==0.00 && azgc != 0.00){
+            ImportExcel azqd = new ImportExcel(file, 1, SubstationInfo.SHEET_AZFBFXJJ);  //安装分部分项工程量清单计价表
+            ImportExcel azhz = new ImportExcel(file, 1, SubstationInfo.SHEET_HZHZB);   //安装工程费用汇总表
+            //变电站结算汇总
+            int[] comlumn2 = {12,15};//定义所要数组
+            double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//变电站安装
+            double[] builtTotal={0.00,built2Total};
+            double[] division2total=ExcelUtil.getDoubleArray(azqd,SubstationInfo.AZMX_BDZAZ,2,comlumn2);//安装分部分项比对数据清单合计
+            double[] division = {0.00,0.00,division2total[0],division2total[1]};
+            List<Settlement> settlementBdzs = SettementUtil.getDLComparison(settlementsBdz,builtTotal,division,word1total,word2total,otherBdzTotal,feesBdzCount,cbperson);
+            settlementService.save(settlementBdzs,id);
+            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[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd1,SubstationInfo.CS_SGZJ,1, new int[]{3, 4});  //建筑安全文明施工费
+            double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd1);  //安装安全文明施工费
+            double fbrAzFee = ExcelUtil.getDouble(azqd,SubstationInfo.AZMX_BDZAZ,2,15);
+            double zgAz = zjgcAzTotal-aqwmAzFees[1]/aqwmAzFees[0]*100;
+            double jxslAz = zgAz/(fbrAzFee-zgAz); //安装进项税率
+            //安装部分基础数据
+            JkxlDetailFee az = SubstationInfo.getTolalInfo(azqd,azhz,"23000000",SubstationInfo.AZMX_BDZAZ);  //安装合计
+            JkxlDetailFee azsc = SubstationInfo.getBashInfo(azqd,azhz,"23100000",SubstationInfo.AZMX_ZYSCGC);  //主要生产工程
+            List<JkxlDetailFee> zbyq  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.ZBYQWBS,SubstationInfo.ZBYQSTR); //主变压器系统
+            List<JkxlDetailFee> pdzzs  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.PDZZWBS,SubstationInfo.PDZZSTR); //配电装置
+            List<JkxlDetailFee> wgbc  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.WGBCWBS,SubstationInfo.WGBCSTR); //无功补偿
+            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); //辅助生产工程
+            JkxlDetailFee azdx = SubstationInfo.getBashInfo(azqd,azhz,"23300000",SubstationInfo.AZMX_ZZDXGC);  //与站址有关的单项工程
+            List<JkxlDetailFee> zwdy  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.ZWDYWBS,SubstationInfo.ZWDYSTR); //站外电源
+            List<JkxlDetailFee> zwtx  = SubstationInfo.getBashInfos(azqd,azhz,SubstationInfo.ZWTXWBS,SubstationInfo.ZWTXSTR); //站外通信
+            List<JkxlDetailFee> azTotal = new ArrayList<>();
+            azTotal.add(az);
+            azTotal.add(azsc);
+            azTotal.addAll(zbyq);
+            azTotal.addAll(pdzzs);
+            azTotal.addAll(wgbc);
+            azTotal.addAll(kzzl);
+            azTotal.addAll(zyd);
+            azTotal.addAll(dljd);
+            azTotal.addAll(txyd);
+            azTotal.addAll(yzts);
+            azTotal.addAll(fzsc);
+            azTotal.add(azdx);
+            azTotal.addAll(zwdy);
+            azTotal.addAll(zwtx);
+            for(JkxlDetailFee jkxlDetailFee:azTotal){
+                double originalTotalCost = jkxlDetailFee.getOriginalTotalCost();
+                double originalFbrCost = jkxlDetailFee.getOriginalFbrCost();
+                double rgAzFee = jkxlDetailFee.getOriginalRgCost();
+                double zjgcAzFee = jkxlDetailFee.getZjgcFee();
+                double rateCs = zjgcAzFee/zjgcAzTotal;  //措施费分摊比例
+                double rateQt = zjgcAzFee/zjgcAzTotal;    //其他费用分摊比例
+                jkxlDetailFee.setRgCost(jkxlDetailFee.getOriginalRgCost()/(1+tcRate[0]));
+                jkxlDetailFee.setCbrCost(jkxlDetailFee.getOriginalCbrCost()/(1+tcRate[1]));
+                jkxlDetailFee.setFbrCost(originalFbrCost/(1+jxslAz));
+                jkxlDetailFee.setJxCost(jkxlDetailFee.getOriginalJxCost()/(1+tcRate[2]));
+                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.6;  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+fees+otherFee-originalFbrCost)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+fees+otherFee+tax-originalFbrCost; //合计
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setId(id);
+            }
+            //安装求和
+            JkxlDetailFee azDetail = azTotal.get(0);
+            double aztotalFee =  azDetail.getTotalFee()+tbrAzFee*(1+texRate);
+            azDetail.setTotalFee(aztotalFee);
+            azTotal.set(0,azDetail);
+
+            double tz = 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:azTotal){
+                overheadLineMapper.save(jkxlDetailFee);
+            }
+            JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
+            jkxlAdjustFee.setId(id);
+            jkxlAdjustFee.setType(BashInfo.CE);
+            jkxlAdjustFee.setFee(gxFee);
+            feeAdjustService.save(jkxlAdjustFee);
+        }