فهرست منبع

通过费用配置筛选合适的协议

cuixinpeng 2 سال پیش
والد
کامیت
019726fab8

+ 2 - 0
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementProductCostsService.java

@@ -64,4 +64,6 @@ public interface PtlAgreementProductCostsService extends IService<PtlAgreementPr
      * @return
      */
     public List<PtlAgreementProductCosts> selectVliadFeeFactor(String busType,String agreementId);
+
+    List<PtlAgreementProductCosts> selectVliadFeeFactor(String agreementId);
 }

+ 3 - 0
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementUndwrtRulesService.java

@@ -6,6 +6,7 @@ import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author CXP
@@ -28,6 +29,8 @@ public interface PtlAgreementUndwrtRulesService extends IService<PtlAgreementUnd
      */
     List<PtlAgreementUndwrtRulesSaveDto> getByAgreementId(String agreementId);
 
+    Map<String, List<String>> getByLicenseNo(List<String> agreementIdList);
+
     /**
      * 批量提添加承保规则
      *

+ 16 - 0
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementProductCostsServiceImpl.java

@@ -127,4 +127,20 @@ public class PtlAgreementProductCostsServiceImpl extends ServiceImpl<PtlAgreemen
         return ptlAgreementProductCosts;
     }
 
+    @Override
+    public List<PtlAgreementProductCosts> selectVliadFeeFactor(String agreementId){
+        //获取当前时间,用来卡费用方案中有效期区间
+        Date date=new Date();
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String nowDate=sdf.format(date);
+        //组织查询条件
+        LambdaQueryWrapper<PtlAgreementProductCosts> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PtlAgreementProductCosts::getAgreementId,agreementId);
+        wrapper.le(PtlAgreementProductCosts::getCostsStartDate,nowDate);//有效起期小于等于当前时间
+        wrapper.ge(PtlAgreementProductCosts::getCostsEndDate,nowDate);//有效止期大于等于当前时间
+        wrapper.eq(PtlAgreementProductCosts::getHistory, 0);//查询所有非历史记录的
+        wrapper.isNotNull(PtlAgreementProductCosts::getLicenseNumber);
+        List<PtlAgreementProductCosts> ptlAgreementProductCosts = baseMapper.selectList(wrapper);
+        return ptlAgreementProductCosts;
+    }
 }

+ 2 - 2
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -83,7 +83,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         LocalDate localDate = LocalDate.now();
         List<PtlAgreementInsCompanyDto> agreementCompany = baseMapper.getAgreementCompany(localDate, deptId);
 
-        /*List<String> agreementIdList = agreementCompany.stream()
+        List<String> agreementIdList = agreementCompany.stream()
                 .flatMap(x -> x.getAgreement().stream().map(PtlAgreementDto::getId))
                 .collect(Collectors.toList());
 
@@ -91,7 +91,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
         agreementCompany.forEach(
                 x -> x.getAgreement().forEach(a -> a.setLicenseNo(licenseNoList.get(a.getId())))
-        );*/
+        );
 
         return agreementCompany;
     }

+ 29 - 3
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementUndwrtRulesServiceImpl.java

@@ -4,14 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.protocol.dao.PtlAgreementUndwrtRulesMapper;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
+import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
 import com.ydtech.modules.protocol.service.PtlAgreementUndwrtRulesService;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author CXP
@@ -23,9 +26,11 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
         implements PtlAgreementUndwrtRulesService {
 
     private final PtlAgreementAttributionService ptlAgreementAttributionService;
+    private final PtlAgreementProductCostsService ptlAgreementProductCostsService;
 
-    public PtlAgreementUndwrtRulesServiceImpl(PtlAgreementAttributionService ptlAgreementAttributionService) {
+    public PtlAgreementUndwrtRulesServiceImpl(PtlAgreementAttributionService ptlAgreementAttributionService,PtlAgreementProductCostsService ptlAgreementProductCostsService) {
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
+        this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
     }
 
     @Override
@@ -40,7 +45,28 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
         List<PtlAgreementUndwrtRulesSaveDto> undwrtRulesSaveDtoList = PtlAgreementUndwrtRulesSaveDto.toPltAgreementRuleSaveDto(ptlAgreementUndwrtRulesList);
         return undwrtRulesSaveDtoList;
     }
-
+    @Override
+    public Map<String, List<String>> getByLicenseNo(List<String> agreementIdList) {
+        Map<String, List<String>> map = new HashMap<>();
+        if (!agreementIdList.isEmpty()) {
+            agreementIdList.forEach(x -> {
+                List<PtlAgreementProductCosts> ptlAgreementProductCosts =ptlAgreementProductCostsService.selectVliadFeeFactor(x);
+                List<String> licenseNoList = ptlAgreementProductCosts.stream()
+                        .map(PtlAgreementProductCosts::getLicenseNumber).distinct().collect(Collectors.toList());
+                if(licenseNoList!=null && licenseNoList.size()>0){
+                    //将List合并成String串
+                    String licenseNoStr = licenseNoList.stream().filter(tt->!tt.isEmpty()).map(String::valueOf).collect(Collectors.joining(","));
+                    //转换为List
+                    List<String> licenseNo = Arrays.asList(licenseNoStr.split(","));
+                    //去重
+                    HashSet<String> distinctLicenseSet = new HashSet<>(licenseNo);
+                    List<String> distinctLicenseList = new ArrayList<>(distinctLicenseSet);
+                    map.put(x, distinctLicenseList);
+                }
+            });
+        }
+        return map;
+    }
     @Override
     @Transactional
     public void saveBatchProductCosts(String agreementId, List<PtlAgreementUndwrtRulesSaveDto> undwrtRulesSaveDtoList) {