ソースを参照

1.更正未识别部分超过10条不显示的问题
2.修改架空线路和电缆未识别费用调整后总金额不发生变动问题
3.修改获取汇总表未识别费用金额正负值问题

chengqiang 4 年 前
コミット
441d757a7e

+ 9 - 3
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -80,6 +80,7 @@ public class OverheadLineService {
         }
         List<JkxlDetailFee> list = getDetails(id,"1","1",itemType,"1");
         JkxlDetailFee top = new JkxlDetailFee();
+        //处理变电站调整
         if(itemType.equals("3")){
             top.setWbsCode("20000000");
             List<JkxlDetailFee> bdzList = new ArrayList<>();
@@ -92,7 +93,10 @@ public class OverheadLineService {
             list.add(top);
             DetailFeeUtil.getTree(list);
         }else{
+            //处理架空和电缆线路
             DetailFeeUtil.getGatherFee(top,list);
+            //top节点要把totalFee也进行调差,这样后面调用dealTotalFee处理计算差额时不会出错,变电站不需要这一步,因为它把top放到list里,在循环调整金额时top节点也会调整
+            top.setTotalFee(DoubleUtil.add(top.getTotalFee(),ftFee));
             top.setNodes(list);
         }
         //分摊依据字段和
@@ -418,13 +422,15 @@ public class OverheadLineService {
         double wsbfee = 0.00;
         if(wsbFees != null && wsbFees.size()>0){
             for(JkxlAdjustFee jkxlAdjustFee : wsbFees){
-                jkxlAdjustFee.setId(id);
-                feeAdjustService.save(jkxlAdjustFee);
+//                取未识别费用合计,这里要处理一种情况,就是有些金额是应该减掉的,但是在结算书里是正数
                 double fee = jkxlAdjustFee.getFee();
-                if(jkxlAdjustFee.getType().contains("减") || jkxlAdjustFee.getType().contains("扣") || jkxlAdjustFee.getType().contains("下浮")){
+                if(fee>0&&(jkxlAdjustFee.getType().contains("减") || jkxlAdjustFee.getType().contains("扣") || jkxlAdjustFee.getType().contains("下浮"))){
                     fee = fee* -1;
                 }
                 wsbfee = DoubleUtil.add(wsbfee,fee);
+                jkxlAdjustFee.setId(id);
+                jkxlAdjustFee.setFee(Math.abs(fee));
+                feeAdjustService.save(jkxlAdjustFee);
             }
         }
         //计算差额

+ 5 - 2
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -929,7 +929,7 @@ public class BashInfo {
 
     /**
      * 获取工程结算价
-     * 代码逻辑:获取最后一个包含竣工结算价相关文字的行的金额
+     * 代码逻辑:获取最后一个包含竣工结算价相关文字的行的金额  是否应该用第一个??????
      */
     public static double getGcjsFee(ImportExcel importExcel){
         int lastRow = importExcel.getLastDataRowNum();
@@ -977,7 +977,10 @@ public class BashInfo {
             }
             if (!type.contains("投标")  && !type.contains("结算") && !type.contains("合计") && !type.contains("发包人") && !type.contains("竣工") && !type.contains("招标人") && !type.contains("税金")&& !type.contains("税额") && !type.contains("工程造价")&& !type.contains("下浮后造价") || type.contains("投标下浮")) {
                  jkxlAdjustFee = new JkxlAdjustFee();
-                 double fee = Math.abs(importExcel.getDouble(j+1,2));
+//                 原来是不管金额正负都给设为正,然后根据名称有减、扣、下浮给判定为负。
+// 现在改为结算书是什么就是什么,然后再判断,如果有减、扣、下浮,且原值为正数,再给它取负
+//                 double fee = Math.abs(importExcel.getDouble(j+1,2));
+                 double fee = importExcel.getDouble(j+1,2);
                  jkxlAdjustFee.setType(type);
                  jkxlAdjustFee.setFee(fee);
                  jkxlAdjustFees.add(jkxlAdjustFee);

+ 2 - 1
src/main/webapp/webpage/modules/sg/free/wbslist.js

@@ -152,12 +152,14 @@ layui.use(['table', 'form', 'element', 'treetable'], function () {
             //未标识部分 表格渲染
             table.render({
                 elem: '#xmmc'
+                ,limit:Number.MAX_VALUE
                 ,title: '未标识'
                 ,cols: [[ //渲染 表头
                     {field:'xmmc', width:200,title:'项目名称'}
                     ,{field:'fyje', width:178,title:'费用金额'}
                     ,{width:178,  toolbar: '#barDemo',title:'操作'}
                 ]]
+                // ,page: false
                 ,data:[ //渲染 数据
                     <c:if test="${ not empty map.tzList}">
                         <c:forEach items="${map.tzList}" var="data" varStatus="index">
@@ -169,7 +171,6 @@ layui.use(['table', 'form', 'element', 'treetable'], function () {
                         </c:forEach>
                     </c:if>
                 ]
-                ,page: false
             });
             //监听工具条
             table.on('tool(freestr)', function(obj){