Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

xs vor 5 Jahren
Ursprung
Commit
18590b1627

+ 30 - 24
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -394,15 +394,16 @@ public List<JkxlDetailFee> findList(String id,String type){
        double wordtotal1 =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
        double otherTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
         double cbperson =  0.0;
-       int[] comlumn2 = {12,15};//定义所要数组
-       double[] divisiontotal=ExcelUtil.getDoubleArray(importExcel,BashInfo.PROJECTNAME,2,comlumn2);//获取分部分项比对数据清单
+       double[] divisiontotal=ExcelUtil.getDoubleArray(importExcel,BashInfo.PROJECTNAME,2,new int[]{12,15});//获取分部分项比对数据清单
        double feescount =  ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
        //数据核验并保存数据库
         double wordtotal2 =  0.0;
         List<Settlement> settlements=SettementUtil.getComparison(settlementList,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,feescount,cbperson);
         settlementService.save(settlements,id);
-      //获取补增值税税率调整差额和扣减甲供材超供材料费
-       double[] wsbFees = ExcelUtil.getDoubleArray(total, new String[]{BashInfo.BZZSSL,BashInfo.KJJGCC},1,2);
+      //获取未识别费用
+        List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
+        double wsbfee = 0.00;
+//       double[] wsbFees = ExcelUtil.getDoubleArray(total, new String[]{BashInfo.BZZSSL,BashInfo.KJJGCC},1,2);
        double csFee = ExcelUtil.getDouble(gzhz,BashInfo.HZ_CH,1,2);
        double[] originalTotalFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,2); //获取合计费
        double[] zjgcFees = ExcelUtil.getDoubleArray(gzhz,BashInfo.HZ_ALL,1,3);  //获取直接工程费
@@ -477,7 +478,14 @@ public List<JkxlDetailFee> findList(String id,String type){
        for(JkxlDetailFee jkxlDetailFee : list){
            tz += jkxlDetailFee.getTotalFee();
        }
-       double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbFees[0]-wsbFees[1]);
+       if(wsbFees != null && wsbFees.size()>0){
+           for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+               jkxlAdjustFee.setId(id);
+               feeAdjustService.save(jkxlAdjustFee);
+               wsbfee += jkxlAdjustFee.getFee();
+           }
+       }
+       double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
        //将其他费用存入集合
        JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
        JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
@@ -495,16 +503,9 @@ public List<JkxlDetailFee> findList(String id,String type){
 //       }
         overheadLineMapper.saveList(list);
        //保存未识别费用
-       JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
-       jkxlAdjustFee.setId(id);
-       jkxlAdjustFee.setType(BashInfo.BZZSSL);
-       jkxlAdjustFee.setFee(wsbFees[0]);
-       feeAdjustService.save(jkxlAdjustFee);
-       JkxlAdjustFee jkxlAdjustFee1 = new JkxlAdjustFee();
-       jkxlAdjustFee1.setId(id);
-       jkxlAdjustFee1.setType(BashInfo.KJJGCC);
-       jkxlAdjustFee1.setFee(wsbFees[1]);
-       feeAdjustService.save(jkxlAdjustFee1);
+//       for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+//           feeAdjustService.save(jkxlAdjustFee);
+//       }
        JkxlAdjustFee jkxlAdjustFee2 = new JkxlAdjustFee();
        jkxlAdjustFee2.setId(id);
        jkxlAdjustFee2.setType(BashInfo.CE);
@@ -554,8 +555,8 @@ public List<JkxlDetailFee> findList(String id,String type){
         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 wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
+        List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
+        double wsbfee = 0.00;
         double jzgc = ExcelUtil.getDouble(total,BashInfo.HZ_JZGC,1,2);//汇总表建筑金额
         double azgc = ExcelUtil.getDouble(total,BashInfo.HZ_AZGC,1,2);//汇总表安装金额
         double texRate = ExcelUtil.getTexRate(total); //获取税率
@@ -842,7 +843,14 @@ public List<JkxlDetailFee> findList(String id,String type){
         for(JkxlDetailFee jkxlDetailFee : list){
             tz += jkxlDetailFee.getTotalFee();
         }
-        double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbFees);
+        if(wsbFees != null && wsbFees.size()>0){
+            for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+                jkxlAdjustFee.setId(id);
+                feeAdjustService.save(jkxlAdjustFee);
+                wsbfee += jkxlAdjustFee.getFee();
+            }
+        }
+        double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
         //将其他费用存入集合
         JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
         JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
@@ -855,12 +863,10 @@ public List<JkxlDetailFee> findList(String id,String type){
         list.add(jkxlDetailFee1);
         list.add(jkxlDetailFee2);
         overheadLineMapper.saveList(list);
-        //保存未识别费用
-        JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
-        jkxlAdjustFee.setId(id);
-        jkxlAdjustFee.setType(BashInfo.KJYJSG);
-        jkxlAdjustFee.setFee(wsbFees);
-        feeAdjustService.save(jkxlAdjustFee);
+//        //保存未识别费用
+//        for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+//            feeAdjustService.save(jkxlAdjustFee);
+//        }
         JkxlAdjustFee jkxlAdjustFee2 = new JkxlAdjustFee();
         jkxlAdjustFee2.setId(id);
         jkxlAdjustFee2.setType(BashInfo.CE);

+ 34 - 96
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -1,6 +1,7 @@
 package com.jeeplus.modules.sg.overheadline.util;
 
 import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee;
 import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
 import com.jeeplus.modules.sg.overheadline.entity.Settlement;
 
@@ -124,7 +125,6 @@ public class BashInfo {
     public static final String JS_BZZS="补增值税税率调整差额";
     public static final String JS_KJJG="扣减甲供材超供材料费";
     public static final String JS_GCJS="工程结算价";
-    public static final String JS_REASON="数据核验正确";
 
 
 
@@ -440,103 +440,41 @@ public class BashInfo {
         return  gcjs;
 
     }
-    /*
-     获取《工程项目竣工结算汇总表》匹配数据
-    */
-    public static Map<String,Object[]> getCompletionWorks(ImportExcel importExcel){
-        Map<String,Object[]> map  = new LinkedHashMap<String, Object[]>();
-        int lastDataRowNum =  importExcel.getLastDataRowNum();
-        String key="";
-        double val=0.0;
-        String text = "";
-        Object[] objects;
-        for (int i = 2; i < lastDataRowNum; i++) {
-            objects = new Object[2];
-            key =  importExcel.getValue(i+1,1);
-            if(key.contains(BashInfo.JS_SJ)){
-                key=BashInfo.JS_SJ;
+
+    /**
+     * 获取未识别费用
+     */
+    public static List<JkxlAdjustFee> getWsbFee(ImportExcel importExcel) {
+        int lastRow = importExcel.getLastDataRowNum();
+        int row = 0;
+        List<JkxlAdjustFee> jkxlAdjustFees = new ArrayList<>();
+        JkxlAdjustFee jkxlAdjustFee = null;
+        for (int i = 0; i < lastRow; i++) {
+            String type = importExcel.getValue(i + 1, 1);
+            if (type.contains(JS_SJ)) {
+                row = i+1;
+            }
+//            if(index.length()==1 && !type.contains(JS_FBFX) && !type.contains(JS_CSXM) && !type.contains(JS_QTXM)  && !type.contains(JS_GF)
+//                    && !type.contains(JS_SJ) && !type.contains(JS_FBRF) && !type.contains(JS_CBRF) && !type.contains(JS_JGJS)){
+//
+//            }
+        }
+        for (int j = row; j < lastRow; j++) {
+            String type = importExcel.getValue(j + 1, 1);
+            String index = importExcel.getValue(j + 1, 0);
+            if(type.equals("")){
+                continue;
             }
-            switch (key){
-                case BashInfo.JS_FBFX:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_CBRF:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_CSXM:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_QTXM:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_GF:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_SJ:
-
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_FBRF:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_JGJS:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_BZZS:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_KJJG:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
-                case BashInfo.JS_GCJS:
-                    val = importExcel.getDouble(i+1,2);
-                    text=importExcel.getValue(i+1,3);
-                    objects[0] = val;
-                    objects[1] = text;
-                    map.put(key, objects);
-                    break;
+            if (!type.contains("投标") && !type.contains("结算") && !type.contains("合计") && !type.contains("发包人") && !type.contains("竣工") && !type.contains("招标人")) {
+                 jkxlAdjustFee = new JkxlAdjustFee();
+                 double fee = importExcel.getDouble(j+1,2);
+                 jkxlAdjustFee.setType(type);
+                 jkxlAdjustFee.setFee(fee);
+                 jkxlAdjustFees.add(jkxlAdjustFee);
             }
         }
-        return  map;
+        return jkxlAdjustFees;
     }
+
+
 }

+ 30 - 16
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -90,8 +90,10 @@ public class SubstationService {
         double[] jzgfRate = BashInfo.getJzGfRate(gf);  //获取建筑规费率
         double[] azgfRate = BashInfo.getAzGfRate(gf);  //获取安装规费率
         double[] qtFees = BashInfo.getQtFees(qt);  //获取其他费用
-
         double gcjsFee = BashInfo.getGcjsFee(total);  //获取工程结算价
+       //获取未识别费用
+        List<JkxlAdjustFee> wsbFees = BashInfo.getWsbFee(total);
+        double wsbfee = 0.00;
         double tax = 0.00; //税金
         double totalfee = 0.00;  //合计
         //变电站 结算汇总
@@ -270,7 +272,15 @@ public class SubstationService {
             azTotal.set(0,azDetail);
 
             double tz = jzTotal.get(0).getTotalFee()+azTotal.get(0).getTotalFee();//总合计金额
-            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);
+
+            if(wsbFees != null && wsbFees.size()>0){
+                for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+                    jkxlAdjustFee.setId(id);
+                    feeAdjustService.save(jkxlAdjustFee);
+                    wsbfee += jkxlAdjustFee.getFee();
+                }
+            }
+            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1] -wsbfee);
             //将其他费用存入集合
             JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
             JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
@@ -282,13 +292,7 @@ public class SubstationService {
             jkxlDetailFee2.setId(id);
             azTotal.add(jkxlDetailFee1);
             azTotal.add(jkxlDetailFee2);
-//            for(JkxlDetailFee jkxlDetailFee:jzTotal){
-//                overheadLineMapper.save(jkxlDetailFee);
-//            }
             overheadLineMapper.saveList(jzTotal);
-//            for(JkxlDetailFee jkxlDetailFee:azTotal){
-//                overheadLineMapper.save(jkxlDetailFee);
-//            }
             overheadLineMapper.saveList(azTotal);
             JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
             jkxlAdjustFee.setId(id);
@@ -383,7 +387,15 @@ public class SubstationService {
             jzTotal.set(0,jzDetail);
 
             double tz = jzTotal.get(0).getTotalFee();//总合计金额
-            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);
+
+            if(wsbFees != null && wsbFees.size()>0){
+                for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+                    jkxlAdjustFee.setId(id);
+                    feeAdjustService.save(jkxlAdjustFee);
+                    wsbfee += jkxlAdjustFee.getFee();
+                }
+            }
+            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
             //将其他费用存入集合
             JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
             JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
@@ -395,9 +407,6 @@ public class SubstationService {
             jkxlDetailFee2.setId(id);
             jzTotal.add(jkxlDetailFee1);
             jzTotal.add(jkxlDetailFee2);
-//            for(JkxlDetailFee jkxlDetailFee:jzTotal){
-//                overheadLineMapper.save(jkxlDetailFee);
-//            }
             overheadLineMapper.saveList(jzTotal);
             JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
             jkxlAdjustFee.setId(id);
@@ -495,7 +504,15 @@ public class SubstationService {
             azTotal.set(0,azDetail);
 
             double tz = azTotal.get(0).getTotalFee();//总合计金额
-            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]);
+
+            if(wsbFees != null && wsbFees.size()>0){
+                for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
+                    jkxlAdjustFee.setId(id);
+                    feeAdjustService.save(jkxlAdjustFee);
+                    wsbfee += jkxlAdjustFee.getFee();
+                }
+            }
+            double gxFee = Math.abs(gcjsFee-tz-qtFees[0]-qtFees[1]-wsbfee);
             //将其他费用存入集合
             JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();
             JkxlDetailFee jkxlDetailFee2 = new JkxlDetailFee();
@@ -507,9 +524,6 @@ public class SubstationService {
             jkxlDetailFee2.setId(id);
             azTotal.add(jkxlDetailFee1);
             azTotal.add(jkxlDetailFee2);
-//            for(JkxlDetailFee jkxlDetailFee:azTotal){
-//                overheadLineMapper.save(jkxlDetailFee);
-//            }
             overheadLineMapper.saveList(azTotal);
             JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
             jkxlAdjustFee.setId(id);