Bladeren bron

Merge remote-tracking branch 'origin/master'

xs 5 jaren geleden
bovenliggende
commit
a3b65af051

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/project/web/ProjectTemController.java

@@ -8,6 +8,7 @@ import com.jeeplus.modules.sg.project.entity.WbsSelection;
 import com.jeeplus.modules.sg.project.service.ItemService;
 import com.jeeplus.modules.sg.project.service.ProjectService;
 import com.jeeplus.modules.sg.substation.service.SubstationService;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -19,6 +20,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -259,6 +259,7 @@ public class SubstationService {
                  jkxlDetailFee.setOtherCost(otherFee);
                  jkxlDetailFee.setTex(tax);
                  jkxlDetailFee.setTotalFee(totalfee);
+                 jkxlDetailFee.setId(id);
             }
             //安装部分基础数据
             JkxlDetailFee az = SubstationInfo.getTolalInfo(jzqd,jzhz,"23000000",SubstationInfo.AZMX_BDZAZ);  //建筑合计
@@ -314,6 +315,7 @@ public class SubstationService {
                 jkxlDetailFee.setOtherCost(otherFee);
                 jkxlDetailFee.setTex(tax);
                 jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setId(id);
             }
             double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
             double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);

+ 42 - 19
src/main/java/com/jeeplus/modules/sg/substation/util/SubstationInfo.java

@@ -415,7 +415,10 @@ public class SubstationInfo {
          double[] zjgc = new double[len];
          zjgc[0] = d;
          for(int i=1;i<len;i++){
-             double rate = doubles[i][0]/total;
+             double rate = 0.00;
+             if(total != 0.00){
+                 rate = doubles[i][0]/total;
+             }
              zjgc[i] = d*rate;
          }
          List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
@@ -483,7 +486,10 @@ public class SubstationInfo {
         }
         total1.addAll(kvtotal); //合并
         for(JkxlDetailFee jkxlDetailFee:total1){
-            double rate = jkxlDetailFee.getOriginalRgCost()/total.getOriginalRgCost();
+            double rate = 0.00;
+            if(total.getOriginalRgCost() != 0.00) {
+                rate = jkxlDetailFee.getOriginalRgCost() / total.getOriginalRgCost();
+            }
             double zjgc = total.getZjgcFee()*rate;
             jkxlDetailFee.setZjgcFee(zjgc);
         }
@@ -494,7 +500,7 @@ public class SubstationInfo {
             String str1 = "";
             int lastRow = importExcel.getLastDataRowNum();
             for(int i=0;i<lastRow;i++){
-                String type = importExcel.getValue(i+1,1);
+                String type = importExcel.getValue(i+1,2);
                 if(type.equals("")){
                     continue;
                 }
@@ -509,7 +515,7 @@ public class SubstationInfo {
         int lastRow = importExcel.getLastDataRowNum();
         int[] arr = {12,13,14,15,17};
         for(int i=0;i<lastRow;i++){
-            String type = importExcel.getValue(i+1,1);
+            String type = importExcel.getValue(i+1,2);
             if(type.equals("")){
                 continue;
             }
@@ -609,15 +615,16 @@ public class SubstationInfo {
 
         }
         List<JkxlDetailFee> detailFees = new ArrayList<>();
-        JkxlDetailFee jkxlDetailFee = null;
-        for(int k=0;k<d.length;k++){
-           jkxlDetailFee.setOriginalTotalCost(d[k][0]);
-           jkxlDetailFee.setOriginalRgCost(d[k][1]);
-           jkxlDetailFee.setOriginalCbrCost(d[k][2]);
-           jkxlDetailFee.setOriginalFbrCost(d[k][3]);
-           jkxlDetailFee.setOriginalJxCost(d[k][4]);
-           jkxlDetailFee.setWbsCode(DETWBS[k]);
-           detailFees.add(jkxlDetailFee);
+        JkxlDetailFee jkxlDetailFee1 = null;
+        for(int k=0;k<18;k++){
+            jkxlDetailFee1 = new JkxlDetailFee();
+           jkxlDetailFee1.setOriginalTotalCost(d[k][0]);
+           jkxlDetailFee1.setOriginalRgCost(d[k][1]);
+           jkxlDetailFee1.setOriginalCbrCost(d[k][2]);
+           jkxlDetailFee1.setOriginalFbrCost(d[k][3]);
+           jkxlDetailFee1.setOriginalJxCost(d[k][4]);
+           jkxlDetailFee1.setWbsCode(DETWBS[k]);
+           detailFees.add(jkxlDetailFee1);
         }
 
         //主变压器系统
@@ -711,7 +718,10 @@ public class SubstationInfo {
         double gc = jkxlDetailFee.getZjgcFee();
         double d = jkxlDetailFee.getOriginalTotalCost();
         for(JkxlDetailFee jkxlDetailFee1:list){
-            double rate = jkxlDetailFee1.getOriginalRgCost()/d;
+            double rate = 0.00;
+            if(d != 0.00){
+                 rate = jkxlDetailFee1.getOriginalRgCost()/d;
+            }
             double d1 = gc*rate;
             jkxlDetailFee1.setZjgcFee(d1);
         }
@@ -731,7 +741,10 @@ public class SubstationInfo {
         double[] zjgc = new double[5];
         zjgc[0] = d;
         for(int i=1;i<5;i++){
-            double rate = doubles[i][0]/total;
+            double rate = 0.00;
+            if(total != 0.00) {
+                rate = doubles[i][0] / total;
+            }
             zjgc[i] = d*rate;
         }
         List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
@@ -747,7 +760,10 @@ public class SubstationInfo {
             jkxlDetailFee.setWbsCode(wbs[j]);
             jkxlDetailFees.add(jkxlDetailFee);
         }
-        double zg = d*(doubles[5][0]+doubles[6][0])/total;
+        double zg = 0.00;
+        if(total != 0.00){
+             zg = d*(doubles[5][0]+doubles[6][0])/total;
+        }
         JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
         jkxlDetailFee1.setOriginalTotalCost(doubles[5][0]+doubles[6][0]);
         jkxlDetailFee1.setZjgcFee(zg);
@@ -768,8 +784,12 @@ public class SubstationInfo {
         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();
+        double qzZjgc = 0.00;
+        double jdZjgc = 0.00;
+        if(total.getOriginalTotalCost()!= 0.00) {
+             qzZjgc = total.getZjgcFee() * qzdl[0] / total.getOriginalTotalCost();
+             jdZjgc = total.getZjgcFee() * qzjd[0] / total.getOriginalTotalCost();
+        }
         JkxlDetailFee dl = new JkxlDetailFee();
         dl.setWbsCode("23161000");
         dl.setOriginalTotalCost(qzjd[0]);
@@ -793,7 +813,10 @@ public class SubstationInfo {
         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];
+            double gc = 0.00;
+            if(qzdl[0] != 0.00) {
+                gc = qzZjgc * qz[i][0] / qzdl[0];
+            }
             jkxlDetailFee.setWbsCode(wbs[i]);
             jkxlDetailFee.setOriginalTotalCost(qz[i][0]);
             jkxlDetailFee.setOriginalRgCost(qz[i][1]);