浏览代码

变更令下达,只影响指定日期的支付比例

qianxb 1 年之前
父节点
当前提交
0ce17b3460

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyVO3.java

@@ -35,6 +35,9 @@ import java.util.List;
 @Data
 public class MiddleMeterApplyVO3 {
 
+	@ApiModelProperty(value = "计量单id")
+	private String id;
+
 	@ApiModelProperty(value = "计量单编号")
 	private String meterNumber;
 

+ 18 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MiddleMeterApplyController.java

@@ -259,11 +259,11 @@ public class MiddleMeterApplyController extends BladeController {
     }
 
     /**
-     * 分页 中间计量申请表
+     * 资料关联台账-分页
      */
     @GetMapping("/dataLinkPage")
     @ApiOperationSupport(order = 14)
-    @ApiOperation(value = "分页", notes = "传合同id,节点id,计量期id和分页信息")
+    @ApiOperation(value = "资料关联台账-分页", notes = "传合同id,节点id,计量期id和分页信息")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "contractId", value = "合同id", required = true),
             @ApiImplicitParam(name = "contractUnitId", value = "节点id", required = true),
@@ -273,4 +273,20 @@ public class MiddleMeterApplyController extends BladeController {
         IPage<MiddleMeterApplyVO3> pages = middleMeterApplyService.dataLinkPage(middleMeterApply, query);
         return R.data(pages);
     }
+
+    /**
+     * 资料关联台账-关联质检资料
+     */
+    @GetMapping("/dataLinkFile")
+    @ApiOperationSupport(order = 14)
+    @ApiOperation(value = "资料关联台账-关联质检资料", notes = "传合同id,计量单id,选中文件id逗号分隔")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "contractId", value = "合同id", required = true),
+            @ApiImplicitParam(name = "id", value = "计量单id", required = true),
+            @ApiImplicitParam(name = "fileIds", value = "选中文件id逗号分隔(返回数据的selectId,queryInfo的主键)", required = true)
+    })
+    public R<String> dataLinkFile(Long contractId, Long id,String fileIds) {
+        middleMeterApplyService.dataLinkFile(contractId, id,fileIds);
+        return R.success("关联成功");
+    }
 }

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/InventoryFormApplyMapper.java

@@ -35,5 +35,5 @@ public interface InventoryFormApplyMapper extends BaseMapper<InventoryFormApply>
 
     void deleteByMiddleId(@Param("id") Long id);
 
-    List<InventoryFormApplyVO> getByMeterIdAndFormId(@Param("vo") ChangeFormVO2 vo2);
+    List<InventoryFormApplyVO> getByMeterIdAndFormId(@Param("ids")List<Long> ids);
 }

+ 4 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/InventoryFormApplyMapper.xml

@@ -24,8 +24,10 @@
     </delete>
     <select id="getByMeterIdAndFormId" resultType="org.springblade.meter.vo.InventoryFormApplyVO">
         select * from s_inventory_form_apply
-        where is_deleted = 0 and contract_id = #{vo.contractId} and contract_form_id = #{vo.id}
-        and contract_meter_id = #{vo.contractMeterId}
+        where is_deleted = 0 and id in
+        <foreach collection="ids" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
     </select>
 
 </mapper>

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

@@ -299,7 +299,7 @@
         order by sort,create_time
     </select>
     <select id="dataLinkPage" resultType="org.springblade.meter.vo.MiddleMeterApplyVO3">
-        SELECT meter_number,engineer_divide,is_link_data,meter_money,business_date
+        SELECT id,meter_number,engineer_divide,is_link_data,meter_money,business_date
         FROM s_middle_meter_apply mma
         WHERE contract_id = #{apply.contractId} and is_deleted = 0 and contract_period_id = #{apply.contractPeriodId}
         and contract_unit_id in (

+ 8 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IMiddleMeterApplyService.java

@@ -71,5 +71,13 @@ public interface IMiddleMeterApplyService extends BaseService<MiddleMeterApply>
 
     IPage<WbsFileVO> getWbsNodeInfo(WbsNodeDTO dto);
 
+    /**
+     * 资料关联台账-分页
+     */
     IPage<MiddleMeterApplyVO3> dataLinkPage(MiddleMeterApply middleMeterApply, Query query);
+
+    /**
+     * 资料关联台账-关联质检资料
+     */
+    void dataLinkFile(Long contractId, Long id, String fileIds);
 }

+ 21 - 16
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/InventoryFormApplyServiceImpl.java

@@ -17,6 +17,8 @@
 package org.springblade.meter.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang.StringUtils;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.meter.entity.InventoryFormApply;
 import org.springblade.meter.mapper.InventoryFormApplyMapper;
 import org.springblade.meter.service.IInventoryFormApplyService;
@@ -59,23 +61,26 @@ public class InventoryFormApplyServiceImpl extends BaseServiceImpl<InventoryForm
         List<InventoryFormApply> needUpdateData = new ArrayList<>();
         //目前先这样查询,后期优化
         for (ChangeFormVO2 vo2 : allForm) {
-            //查询指定节点,指定清单,在中间计量申请和清单中间表的数据,结果为多个计量期
-            List<InventoryFormApplyVO> vos = baseMapper.getByMeterIdAndFormId(vo2);
-            //不存在则跳过
-            if (vos.size() == 0){
-                continue;
-            }
-            //循环修改
-            BigDecimal total = vo2.getNewestChangeTotal().add(vo2.getCurrentChangeTotal());
-            for (InventoryFormApplyVO vo : vos) {
-                InventoryFormApply apply = new InventoryFormApply();
-                apply.setId(vo.getId());
-                if (total.compareTo(BigDecimal.ZERO) == 0) {
-                    apply.setPayRatio(BigDecimal.ZERO);
-                }else {
-                    apply.setPayRatio(vo.getCurrentMeterTotal().divide(total,2, RoundingMode.HALF_UP));
+            if (StringUtils.isNotBlank(vo2.getApplyIds())) {
+                //查询指定节点,指定清单,在中间计量申请和清单中间表的数据,结果为多个计量期
+                List<Long> ids = Func.toLongList(vo2.getApplyIds());
+                List<InventoryFormApplyVO> vos = baseMapper.getByMeterIdAndFormId(ids);
+                //不存在则跳过
+                if (vos.size() == 0) {
+                    continue;
+                }
+                //循环修改
+                BigDecimal total = vo2.getNewestChangeTotal().add(vo2.getCurrentChangeTotal());
+                for (InventoryFormApplyVO vo : vos) {
+                    InventoryFormApply apply = new InventoryFormApply();
+                    apply.setId(vo.getId());
+                    if (total.compareTo(BigDecimal.ZERO) == 0) {
+                        apply.setPayRatio(BigDecimal.ZERO);
+                    } else {
+                        apply.setPayRatio(vo.getCurrentMeterTotal().divide(total, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)));
+                    }
+                    needUpdateData.add(apply);
                 }
-                needUpdateData.add(apply);
             }
         }
         this.updateBatchById(needUpdateData);

+ 11 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -812,6 +812,9 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
         return iPage;
     }
 
+    /**
+     * 资料关联台账-分页
+     */
     @Override
     public IPage<MiddleMeterApplyVO3> dataLinkPage(MiddleMeterApply middleMeterApply, Query query) {
         IPage<MiddleMeterApplyVO3> iPage = new Page<>(query.getCurrent(),query.getSize());
@@ -835,6 +838,14 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
         return iPage;
     }
 
+    /**
+     * 资料关联台账-关联质检资料
+     */
+    @Override
+    public void dataLinkFile(Long contractId, Long id, String fileIds) {
+
+    }
+
     //递归方法
     private void gatherSortNode(List<NodeSortVO> list,List<Long> ids){
         for (NodeSortVO vo : list) {