Browse Source

2019-09-20 10:36

xs 5 years ago
parent
commit
eb9495ce38

+ 64 - 9
src/main/java/com/jeeplus/modules/sg/overheadline/util/SettementUtil.java

@@ -327,7 +327,7 @@ public class SettementUtil {
                     settlement.setTheAmount(String.valueOf(nf.format(money)));
                     break;
                 case BashInfo.JS_GCJS:
-                    double[] gcComparison =getGcComparison(settlements);
+                    double[] gcComparison =getGcComparison(settlements,opinion);
                     if (gcComparison[0]<=moneyComparison1&&gcComparison[0]>=moneyComparison2){
                         settlement.setStatus("0");
                     }
@@ -446,7 +446,7 @@ public class SettementUtil {
                     settlement.setTheAmount(String.valueOf(money));
                     break;
                 case BashInfo.JS_GCJS:
-                    double[] gcComparison =getGcComparison(settlements);
+                    double[] gcComparison =getGcComparison(settlements,opinion);
                     if (gcComparison[0]<=moneyComparison1&&gcComparison[0]>=moneyComparison2){
                         settlement.setStatus("0");
                     }
@@ -470,7 +470,7 @@ public class SettementUtil {
         double[] doubles = new double[8];
         String name;
         double money=0;
-        double kyj = 0.0;
+        double minus = 0.0;
         for (Settlement settlement:settlements){
             name = settlement.getEntryName();
             if(name.equals(BDZ_TBRNAME)){
@@ -506,14 +506,14 @@ public class SettementUtil {
                     doubles[7]=money;
                     break;
                 case RESON_KYJ:
-                    kyj = money;
+                    minus = money;
                     break;
             }
         }
         if (opinion){
-            doubles[0]=doubles[1]+doubles[2]+doubles[3]+doubles[4]+doubles[5]+doubles[6]-doubles[7]-kyj;
+            doubles[0]=doubles[1]+doubles[2]+doubles[3]+doubles[4]+doubles[5]+doubles[6]-doubles[7]-minus;
         }else {
-            doubles[0]=doubles[1]+doubles[2]+doubles[3]+doubles[4]+doubles[5]+doubles[6]-kyj;
+            doubles[0]=doubles[1]+doubles[2]+doubles[3]+doubles[4]+doubles[5]+doubles[6]-minus;
         }
         return doubles;
     }
@@ -522,16 +522,48 @@ public class SettementUtil {
      * @param settlements 《工程项目结算汇总表》 集合
      * @return double[] 计算匹配数据集合
      */
-    public static double[] getGcComparison(List<Settlement> settlements){
+    public static double[] getGcComparison(List<Settlement> settlements,boolean opinion){
         double[] doubles=new double[4];
+        double[] doubles1 = new double[8];
         String name;
         double money=0;
+        double minus = 0.0;
         for (Settlement settlement:settlements){
             name = settlement.getEntryName();
+            if(name.equals(BDZ_TBRNAME)){
+                name=BashInfo.JS_CBRF;
+            }
+            if (name.equals(BDZ_ZBRNAME)){
+                name=BashInfo.JS_FBRF;
+            }
+            if (name.equals(BDZ_TBNAME)){
+                name=BashInfo.JS_JGJS;
+            }
             money =settlement.getMoney();
             switch (name) {
-                case BashInfo.JS_JGJS://竣工结算
-                    doubles[1]=money;
+                case BashInfo.JS_FBFX:
+                    doubles1[1]=money;
+                    break;
+                case BashInfo.JS_CBRF:
+                    doubles1[2]=money;
+                    break;
+                case BashInfo.JS_CSXM:
+                    doubles1[3]=money;
+                    break;
+                case BashInfo.JS_QTXM:
+                    doubles1[4]=money;
+                    break;
+                case BashInfo.JS_GF:
+                    doubles1[5]=money;
+                    break;
+                case BashInfo.JS_SJ:
+                    doubles1[6]=money;
+                    break;
+                case BashInfo.JS_FBRF:
+                    doubles1[7]=money;
+                    break;
+                case RESON_KYJ:
+                    minus = money;
                     break;
                 case BashInfo.JS_BZZS://补增值税
                     doubles[2]=money;
@@ -541,8 +573,31 @@ public class SettementUtil {
                     break;
             }
         }
+        if (opinion){
+            doubles1[0]=doubles1[1]+doubles1[2]+doubles1[3]+doubles1[4]+doubles1[5]+doubles1[6]-doubles1[7]-minus;
+        }else {
+            doubles1[0]=doubles1[1]+doubles1[2]+doubles1[3]+doubles1[4]+doubles1[5]+doubles1[6]-minus;
+        }
+        doubles[1]=doubles1[0];
         doubles[0]=doubles[1]+doubles[2]-doubles[3];
         return doubles;
+//        for (Settlement settlement:settlements){
+//            name = settlement.getEntryName();
+//            money =settlement.getMoney();
+//            switch (name) {
+//                case BashInfo.JS_JGJS://竣工结算
+//                    doubles[1]=money;
+//                    break;
+//                case BashInfo.JS_BZZS://补增值税
+//                    doubles[2]=money;
+//                    break;
+//                case BashInfo.JS_KJJG://扣减
+//                    doubles[3]=money;
+//                    break;
+//            }
+//        }
+//        doubles[0]=doubles[1]+doubles[2]-doubles[3];
+//        return doubles;
     }
     /**
      * 前台显示提示数据匹配:架空线路