Ver código fonte

调整产品费用及承包规则历史记录查询

haoyu 2 anos atrás
pai
commit
77f2e57884

+ 46 - 5
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -103,6 +103,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 
     /**
      * 遍历费用属性描述文字
+     *
      * @param v
      * @param undwrtRulesAttrList
      * @return
@@ -464,12 +465,52 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     @Transactional
     @Override
     public boolean costsDelete(String costsId) {
+        //获取产品费用历史记录
+        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = baseMapper.selectById(costsId);
+        //获取产品费用出口历史记录
+        PtlAgreementProductCostsExport productCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, costsId));
+
+
+        //保存产品费用历史记录
+        PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
+        BeanUtils.copyProperties(ptlAgreementProductCostsNew, ptlAgreementProductCostsNewHistory);
+        BeanUtils.copyProperties(productCostsExport, ptlAgreementProductCostsNewHistory);
+        //添加费用ID
+        ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
+        //生成批次ID
+        String uuid = UUID.randomUUID().toString();
+        ptlAgreementProductCostsNewHistory.setBatch(uuid);
+
+        ptlAgreementProductCostsNewHistory.setOperatorType("delete");
+        ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
+        ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
+        ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
+
+        //创建产品费用因子历史记录容器
+        List<PtlAgreementProductCostsAttrLinkHistory> costsAttrLinkHistories = new ArrayList<>();
+
+        //获取产品费用因子出口历史记录
+        List<PtlAgreementProductCostsAttrLink> costsAttrLinks = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>()
+                .eq(PtlAgreementProductCostsAttrLink::getCostsId, costsId));
+
+        costsAttrLinks.forEach(x -> {
+            PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
+            BeanUtils.copyProperties(x, costsAttrLinkHistory);
+            //设置产品费用因子历史记录
+            costsAttrLinkHistory.setBatch(uuid);
+            costsAttrLinkHistory.setOperatorType("add");
+            costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+            costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+            costsAttrLinkHistories.add(costsAttrLinkHistory);
+        });
+
+        //保存产品费用因子历史记录
+        ptlAgreementProductCostsAttrLinkHistoryService.saveBatch(costsAttrLinkHistories);
+
+        //删除产品费用及费用因子
         baseMapper.deleteById(costsId);
         ptlAgreementProductCostsAttrLinkService.remove(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>().eq(PtlAgreementProductCostsAttrLink::getCostsId, costsId));
-        //删除产品费用历史记录
-        ptlAgreementProductCostsNewHistoryService.remove(new LambdaQueryWrapper<PtlAgreementProductCostsNewHistory>().eq(PtlAgreementProductCostsNewHistory::getCostsId, costsId));
-        //删除产品费用因子历史记录
-        ptlAgreementProductCostsAttrLinkHistoryService.remove(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLinkHistory>().eq(PtlAgreementProductCostsAttrLinkHistory::getCostsId, costsId));
-              return true;
+
+        return true;
     }
 }

+ 42 - 7
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementUndwrtRulesNewServiceImpl.java

@@ -140,7 +140,7 @@ public class PtlAgreementUndwrtRulesNewServiceImpl extends ServiceImpl<PtlAgreem
         Map<String, List<PtlAgreementUndwrtRulesAttrLink>> groupedByCostsId = list.stream()
                 .collect(Collectors.groupingBy(PtlAgreementUndwrtRulesAttrLink::getRulesId));
         groupedByCostsId.forEach((k, v) -> {
-            records.stream().filter(x -> x.getId().equals(k)).findFirst().ifPresent(x -> x.setDesc(buildDesc(v,undwrtRulesAttrList)));
+            records.stream().filter(x -> x.getId().equals(k)).findFirst().ifPresent(x -> x.setDesc(buildDesc(v, undwrtRulesAttrList)));
         });
 
 //        records.forEach(item -> {
@@ -222,7 +222,6 @@ public class PtlAgreementUndwrtRulesNewServiceImpl extends ServiceImpl<PtlAgreem
         //创建承包规则费用因子历史记录容器
         List<PtlAgreementUndwrtRulesAttrLinkHistory> undwrtRulesAttrLinkHistories = new ArrayList<>();
 
-
         //遍历承保规则属性
         List<PtlAgreementUndwrtRulesAttrLink> rulesAttrList = agreementUndwrtRules.getRulesAttrList();
         List<PtlAgreementUndwrtRulesAttrLink> costsAttrLink = new ArrayList<>();
@@ -357,12 +356,48 @@ public class PtlAgreementUndwrtRulesNewServiceImpl extends ServiceImpl<PtlAgreem
     @Transactional
     @Override
     public boolean rulesDelete(String rulesId) {
-        ptlAgreementUndwrtRulesAttrLinkService.remove(new LambdaQueryWrapper<PtlAgreementUndwrtRulesAttrLink>().eq(PtlAgreementUndwrtRulesAttrLink::getRulesId, rulesId));
-        //删除承包规则历史记录
-        ptlAgreementUndwrtRulesNewHistoryService.remove(new LambdaQueryWrapper<PtlAgreementUndwrtRulesNewHistory>().eq(PtlAgreementUndwrtRulesNewHistory::getRulesId, rulesId));
-        //删除承包规则费用因子历史记录
-        ptlAgreementUndwrtRulesAttrLinkHistoryService.remove(new LambdaQueryWrapper<PtlAgreementUndwrtRulesAttrLinkHistory>().eq(PtlAgreementUndwrtRulesAttrLinkHistory::getRulesId, rulesId));
+
+        //获取承包规则
+        PtlAgreementUndwrtRulesNew ptlAgreementUndwrtRulesNew = baseMapper.selectById(rulesId);
+
+        //保存承包规则历史记录
+        PtlAgreementUndwrtRulesNewHistory ptlAgreementUndwrtRulesNewHistory = new PtlAgreementUndwrtRulesNewHistory();
+        BeanUtils.copyProperties(ptlAgreementUndwrtRulesNew, ptlAgreementUndwrtRulesNewHistory);
+        //添加费用ID
+        ptlAgreementUndwrtRulesNewHistory.setRulesId(ptlAgreementUndwrtRulesNew.getId());
+        //生成批次ID
+        String uuid = UUID.randomUUID().toString();
+        ptlAgreementUndwrtRulesNewHistory.setBatch(uuid);
+
+        ptlAgreementUndwrtRulesNewHistory.setOperatorType("delete");
+        ptlAgreementUndwrtRulesNewHistory.setModifier(BaseController.getUser().getId());
+        ptlAgreementUndwrtRulesNewHistory.setOperatorTime(LocalDateTime.now());
+        ptlAgreementUndwrtRulesNewHistoryService.save(ptlAgreementUndwrtRulesNewHistory);
+
+        //创建承包规则费用因子历史记录容器
+        List< PtlAgreementUndwrtRulesAttrLinkHistory> costsAttrLinkHistories = new ArrayList<>();
+
+        //获取承包规则费用因子出口历史记
+        List<PtlAgreementUndwrtRulesAttrLink> costsAttrLinks = ptlAgreementUndwrtRulesAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementUndwrtRulesAttrLink>()
+                .eq(PtlAgreementUndwrtRulesAttrLink::getRulesId, rulesId));
+
+        costsAttrLinks.forEach(x -> {
+            PtlAgreementUndwrtRulesAttrLinkHistory costsAttrLinkHistory = new PtlAgreementUndwrtRulesAttrLinkHistory();
+            BeanUtils.copyProperties(x, costsAttrLinkHistory);
+            //设置承包规则费用因子历史记录
+            costsAttrLinkHistory.setBatch(uuid);
+            costsAttrLinkHistory.setOperatorType("add");
+            costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+            costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+            costsAttrLinkHistories.add(costsAttrLinkHistory);
+        });
+        //保存产品费用因子历史记录
+        ptlAgreementUndwrtRulesAttrLinkHistoryService.saveBatch(costsAttrLinkHistories);
+
+
         baseMapper.deleteById(rulesId);
+        ptlAgreementUndwrtRulesAttrLinkService.remove(new LambdaQueryWrapper<PtlAgreementUndwrtRulesAttrLink>().eq(PtlAgreementUndwrtRulesAttrLink::getRulesId, rulesId));
+
         return true;
     }
 }