Переглянути джерело

合同计量单元添加清单,列表不显示不能计量的

qianxb 1 рік тому
батько
коміт
7f577b5960

+ 7 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ResolveInventoryVO.java

@@ -37,4 +37,11 @@ public class ResolveInventoryVO {
     @ApiModelProperty(value = "分解剩余量")
     private BigDecimal resolveResidueTotal;
 
+    //下面两个属性为判断是否还有计量数量
+    @ApiModelProperty(value = "累计计量数量")
+    private BigDecimal allMeterTotal;
+
+    @ApiModelProperty(value = "实际为节点清单施工图变更后数量")
+    private BigDecimal ChangeTotal2;
+
 }

+ 5 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MiddleMeterApplyMapper.xml

@@ -40,7 +40,11 @@
     <select id="getFormList" resultType="org.springblade.meter.vo.ResolveInventoryVO">
         select id,form_number,form_name,current_price,contract_total,change_total,
                change_total as buildChangeTotal,
-                (change_total - IFNULL((select sum(build_picture_total) from s_inventory_form_meter where is_deleted = 0 and contract_form_id = cif.id),0)) as resolveResidueTotal
+                (change_total - IFNULL((select sum(build_picture_total) from s_inventory_form_meter where is_deleted = 0 and contract_form_id = cif.id),0)) as resolveResidueTotal,
+                IFNULL((select sum(change_build_picture_total) from s_inventory_form_meter where is_deleted = 0
+                    and contract_meter_id = #{nodeId} and contract_form_id = cif.id),0) as ChangeTotal2,
+                IFNULL((select sum(current_meter_total) from s_inventory_form_apply where is_deleted = 0
+                    and contract_meter_id = #{nodeId} and contract_form_id = cif.id),0) as allMeterTotal
         from s_contract_inventory_form  cif where contract_id = #{contractId} and is_deleted = 0 and is_form_node = 1
             AND id in
             <foreach collection="ids" item="id" open="(" separator="," close=")">

+ 6 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -115,6 +115,8 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
             return vos;
         }
         vos = baseMapper.getFormList(contractId, nodeId, list);
+        vos = vos.stream().filter(l-> !l.getAllMeterTotal().equals(l.getChangeTotal2()) && l.getChangeTotal2().compareTo(BigDecimal.ZERO) != 0)
+                .collect(Collectors.toList());
         return vos;
     }
 
@@ -133,8 +135,10 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
         vos = vos.stream().filter(l-> !l.getAllMeterTotal().equals(l.getChangeTotal()) && l.getChangeTotal().compareTo(BigDecimal.ZERO) != 0)
                             .collect(Collectors.toList());
         for (MeterInventoryVO vo : vos) {
-            //默认分解清单的比例为0
-            vo.setPayRatio(new BigDecimal(0));
+            //如果合同计量单元填写了比例,则默认分解清单的比例为0
+            if (vo.getUpPayRatio() != null) {
+                vo.setPayRatio(new BigDecimal(0));
+            }
             //设置其他计量总数
             vo.setOtherMeterTotal(vo.getAllMeterTotal().subtract(vo.getCurrentMeterTotal()));
             vo.setOtherPayRatio(vo.getOtherMeterTotal().divide(vo.getChangeTotal(), 4, RoundingMode.DOWN).multiply(new BigDecimal(100)).setScale(2));