|
|
@@ -1,6 +1,8 @@
|
|
|
package com.ydtech.modules.protocol.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -8,19 +10,23 @@ import com.ydtech.config.DictEnumConfig;
|
|
|
import com.ydtech.constants.enums.dict.DictionaryData;
|
|
|
import com.ydtech.constants.enums.dict.DictionaryManagement;
|
|
|
import com.ydtech.constants.enums.dict.agreement.AgreementType;
|
|
|
+import com.ydtech.constants.enums.dict.agreement.ProductsType;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.core.page.PageResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.esm.model.EsmInsCompany;
|
|
|
import com.ydtech.modules.esm.service.EsmInsCompanyService;
|
|
|
import com.ydtech.modules.order.service.InsCrawlerOrderService;
|
|
|
+import com.ydtech.modules.protocol.constants.HistoryStatusConstants;
|
|
|
import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
|
|
|
import com.ydtech.modules.protocol.entity.constants.PtlApiType;
|
|
|
import com.ydtech.modules.protocol.entity.dto.*;
|
|
|
+import com.ydtech.modules.protocol.entity.dto.history.PtlAgreementUndwrtRulesHistory;
|
|
|
import com.ydtech.modules.protocol.entity.po.*;
|
|
|
import com.ydtech.modules.protocol.entity.vo.*;
|
|
|
import com.ydtech.modules.protocol.service.*;
|
|
|
import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
+import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -30,7 +36,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -56,16 +64,26 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
|
|
|
private final PtlAgreementService proxyObject;
|
|
|
|
|
|
+ private final PtlAgreementHistoryService ptlAgreementHistoryService;
|
|
|
+
|
|
|
private final PtlNonCarInsuranceProductService ptlNonCarInsuranceProductService;
|
|
|
|
|
|
private final PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService;
|
|
|
|
|
|
private final PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
|
|
|
|
|
|
+ private final PtlAgreementProductCostsHistoryService ptlAgreementProductCostsHistoryService;
|
|
|
+
|
|
|
+ private final PtlAgreementUndwrtRulesHistoryService ptlAgreementUndwrtRulesHistoryService;
|
|
|
+
|
|
|
+ private final PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService;
|
|
|
+
|
|
|
public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService,
|
|
|
PtlAgreementAttributionService ptlAgreementAttributionService, PtlAgreementDeptService ptlAgreementDeptService,
|
|
|
EsmInsCompanyService esmInsCompanyService, PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService,
|
|
|
- @Lazy InsCrawlerOrderService insCrawlerOrderController, @Lazy PtlAgreementService proxyObject,PtlNonCarInsuranceProductService ptlNonCarInsuranceProductService,@Lazy PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService) {
|
|
|
+ @Lazy InsCrawlerOrderService insCrawlerOrderController, @Lazy PtlAgreementService proxyObject,PtlNonCarInsuranceProductService ptlNonCarInsuranceProductService,@Lazy PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
|
|
|
+ PtlAgreementHistoryService ptlAgreementHistoryService,PtlAgreementProductCostsHistoryService ptlAgreementProductCostsHistoryService,
|
|
|
+ PtlAgreementUndwrtRulesHistoryService ptlAgreementUndwrtRulesHistoryService,PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService) {
|
|
|
this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
|
|
|
this.ptlAgreementAttributionService = ptlAgreementAttributionService;
|
|
|
this.ptlAgreementDeptService = ptlAgreementDeptService;
|
|
|
@@ -75,6 +93,10 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
this.proxyObject = proxyObject;
|
|
|
this.ptlNonCarInsuranceProductService=ptlNonCarInsuranceProductService;
|
|
|
this.ptlAgreementUndwrtRulesService=ptlAgreementUndwrtRulesService;
|
|
|
+ this.ptlAgreementHistoryService = ptlAgreementHistoryService;
|
|
|
+ this.ptlAgreementProductCostsHistoryService = ptlAgreementProductCostsHistoryService;
|
|
|
+ this.ptlAgreementUndwrtRulesHistoryService = ptlAgreementUndwrtRulesHistoryService;
|
|
|
+ this.ptlAgreementAttributionHistoryService=ptlAgreementAttributionHistoryService;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -103,9 +125,6 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
return agreementCompany;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
@Override
|
|
|
public PtlAgreement ifExistsById(String agreementId) {
|
|
|
PtlAgreement ptlAgreement = getById(agreementId);
|
|
|
@@ -124,15 +143,187 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
|
|
|
|
|
|
EsmInsCompany esmInsCompany = proxyObject.verifyLogin(ptlAgreement, agreementSaveDto, attribution);
|
|
|
-
|
|
|
+// ptlAgreement.setId(IdGenerate.nextId());
|
|
|
ptlAgreement.setCreator(userName);
|
|
|
ptlAgreement.setCreateTime(LocalDateTime.now());
|
|
|
save(ptlAgreement);
|
|
|
- // 提交 产品费用 承保规则 账号信息 授权部门
|
|
|
- proxyObject.saveAssociationInformation(ptlAgreement.getId(), esmInsCompany, agreement);
|
|
|
+ // 提交 账号信息 授权部门
|
|
|
+ proxyObject.saveAssociationInformation(ptlAgreement.getId(), esmInsCompany,agreement);
|
|
|
+ // 添加 历史记录表
|
|
|
+ //生成批次号
|
|
|
+ String batchNo = IdGenerate.nextId();
|
|
|
+ PtlAgreementHistory ptlAgreementHistory = new PtlAgreementHistory(batchNo,userName, HistoryStatusConstants.HISTORY_TYPE_ADD, ptlAgreement);
|
|
|
+ ptlAgreementHistory.setStartDate(ptlAgreement.getStartDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setEndDate(ptlAgreement.getEndDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setAgreementId(ptlAgreement.getId());
|
|
|
+ ptlAgreementHistory.setId(IdGenerate.nextId());
|
|
|
+ ptlAgreementHistoryService.saveAgreementHistory(ptlAgreementHistory);
|
|
|
+ PtlAgreementAttributionHistory ptlAgreementAttributionHistory = new PtlAgreementAttributionHistory(batchNo,ptlAgreement.getId(),esmInsCompany.getId(),esmInsCompany.getName(),agreement.getAttribution());
|
|
|
+ ptlAgreementAttributionHistory.setId(IdGenerate.nextId());
|
|
|
+ if (StringUtils.isNotEmpty(attribution.getTemplateId())) {
|
|
|
+ ptlAgreementAttributionHistoryService.save(ptlAgreementAttributionHistory);
|
|
|
+ }
|
|
|
+
|
|
|
return HttpResult.ok("添加成功");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> saveAgreementProduct(PtlAgreementProductCosts ptlAgreementProductCosts, String userName) {
|
|
|
+
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, ptlAgreementProductCosts.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ // 产品费用
|
|
|
+ ptlAgreementProductCostsService.save(ptlAgreementProductCosts);
|
|
|
+ // 添加 历史记录表
|
|
|
+ PtlAgreementProductCostsHistory history = new PtlAgreementProductCostsHistory(userName, DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"),
|
|
|
+ HistoryStatusConstants.HISTORY_TYPE_UPDATE,ptlAgreementProductCosts);
|
|
|
+ ptlAgreementProductCostsHistoryService.save(history);
|
|
|
+ return HttpResult.ok("添加成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpResult<Object> updateAgreementProduct(PtlAgreementProductCosts agreement, String userName) {
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, agreement.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ // 产品费用
|
|
|
+ ptlAgreementProductCostsService.updateById(agreement);
|
|
|
+ // 添加 历史记录表
|
|
|
+ PtlAgreementProductCostsHistory history = new PtlAgreementProductCostsHistory(userName, DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"),
|
|
|
+ HistoryStatusConstants.HISTORY_TYPE_UPDATE,agreement);
|
|
|
+ ptlAgreementProductCostsHistoryService.save(history);
|
|
|
+ return HttpResult.ok("修改成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> deleteAgreementProduct(String id,String userName) {
|
|
|
+ PtlAgreementProductCosts ptlAg=ptlAgreementProductCostsService.getById(id);
|
|
|
+ if(ptlAg==null){
|
|
|
+ throw new SystemException("协议产品费用不存在");
|
|
|
+ }
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, ptlAg.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ //删除协议
|
|
|
+ ptlAgreementProductCostsService.removeById(id);
|
|
|
+ PtlAgreementProductCostsHistory history = new PtlAgreementProductCostsHistory(userName, DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"),
|
|
|
+ HistoryStatusConstants.HISTORY_TYPE_DELETE,ptlAg);
|
|
|
+ ptlAgreementProductCostsHistoryService.save(history);
|
|
|
+ return HttpResult.ok("删除成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> saveAgreementNonCarProductCosts(PtlAgreementNonVehicleProductCostsVo agreement, String userName) {
|
|
|
+ //同步刷新其他协议非车产品费用信息(有待同步协议时,进行同步)
|
|
|
+ if(agreement.getSyncAgreementIds()!=null&&agreement.getSyncAgreementIds().size()>0){
|
|
|
+ for(int i=0;i<agreement.getSyncAgreementIds().size();i++){
|
|
|
+ String tempAgreementId=agreement.getSyncAgreementIds().get(i);
|
|
|
+ PtlAgreement destAgreement= getById(tempAgreementId);
|
|
|
+ //根据归属保司,找出本级和上级 所有产品代码
|
|
|
+ //先获取相关保险公司列表
|
|
|
+ String companyId=destAgreement.getPartnerCompaniesId();
|
|
|
+ if(destAgreement.getAssociationCompaniesId()!=null&&!"".equals(destAgreement.getAssociationCompaniesId())){
|
|
|
+ companyId=destAgreement.getAssociationCompaniesId();
|
|
|
+ }
|
|
|
+ List<String> companyIdList=esmInsCompanyService.getAllRelationCompanyId(companyId);
|
|
|
+ //再根据保险公司列表获取所有非车产品列表
|
|
|
+ List<PtlNonCarInsuranceProduct> productList=ptlNonCarInsuranceProductService.findProductListByCompangIds(companyIdList);
|
|
|
+ List<PtlAgreementNonCarProductCostsSaveVo> finalList=new ArrayList<>();
|
|
|
+ //按找出的产品过滤传进来的 费用方案列表
|
|
|
+ for(PtlNonCarInsuranceProduct tempProductDto:productList){
|
|
|
+ for(PtlAgreementNonCarProductCostsSaveVo productCostDto:agreement.getNonCarProductCosts()){
|
|
|
+ if(productCostDto.getProductId().equals(tempProductDto.getProductCode())){
|
|
|
+ finalList.add(productCostDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ptlAgreementNonCarProductCostsService.synNonCarProductCosts(destAgreement,finalList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return HttpResult.ok("添加成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> saveAgreementUndwrtRules(PtlAgreementUndwrtRules ptlAgreementUndwrtRules, String userName) {
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, ptlAgreementUndwrtRules.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ //添加承保规则
|
|
|
+ ptlAgreementUndwrtRulesService.save(ptlAgreementUndwrtRules);
|
|
|
+ //添加历史记录
|
|
|
+ PtlAgreementUndwrtRulesHistory ptlAgreementUndwrtRulesHistory=new PtlAgreementUndwrtRulesHistory(userName,HistoryStatusConstants.HISTORY_TYPE_ADD,ptlAgreementUndwrtRules);
|
|
|
+ ptlAgreementUndwrtRulesHistoryService.save(ptlAgreementUndwrtRulesHistory);
|
|
|
+ return HttpResult.ok("添加成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> updateAgreementUndwrtRules(PtlAgreementUndwrtRules ptlAgreementUndwrtRules, String userName) {
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, ptlAgreementUndwrtRules.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ //添加承保规则
|
|
|
+ ptlAgreementUndwrtRulesService.updateById(ptlAgreementUndwrtRules);
|
|
|
+ //添加历史记录
|
|
|
+ PtlAgreementUndwrtRulesHistory ptlAgreementUndwrtRulesHistory=new PtlAgreementUndwrtRulesHistory(userName,HistoryStatusConstants.HISTORY_TYPE_UPDATE,ptlAgreementUndwrtRules);
|
|
|
+ ptlAgreementUndwrtRulesHistoryService.save(ptlAgreementUndwrtRulesHistory);
|
|
|
+ return HttpResult.ok("修改成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult<Object> deleteAgreementUndwrtRules(String id, String userName) {
|
|
|
+ PtlAgreementUndwrtRules ptlAgreementUndwrtRules = ptlAgreementUndwrtRulesService.getOne(new LambdaQueryWrapper<PtlAgreementUndwrtRules>().eq(PtlAgreementUndwrtRules::getId, id));
|
|
|
+ if(ptlAgreementUndwrtRules==null){
|
|
|
+ throw new SystemException("协议承保规则不存在");
|
|
|
+ }
|
|
|
+ PtlAgreement ptlAgreement = baseMapper.selectOne(new LambdaQueryWrapper<PtlAgreement>().eq(PtlAgreement::getId, ptlAgreementUndwrtRules.getAgreementId()));
|
|
|
+ if(ptlAgreement==null){
|
|
|
+ throw new SystemException("协议不存在");
|
|
|
+ }
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ //更新协议信息
|
|
|
+ baseMapper.updateById(ptlAgreement);
|
|
|
+ //删除承保规则
|
|
|
+ ptlAgreementUndwrtRulesService.removeById(id);
|
|
|
+ //添加历史记录
|
|
|
+ PtlAgreementUndwrtRulesHistory ptlAgreementUndwrtRulesHistory=new PtlAgreementUndwrtRulesHistory(userName,HistoryStatusConstants.HISTORY_TYPE_DELETE,ptlAgreementUndwrtRules);
|
|
|
+ ptlAgreementUndwrtRulesHistoryService.save(ptlAgreementUndwrtRulesHistory);
|
|
|
+ return HttpResult.ok("删除成功");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public HttpResult<PageResult<PtlAgreement>> pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
|
|
|
int pageNum = ptlAgreementPageVo.getPageNum();
|
|
|
@@ -159,12 +350,12 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
@Override
|
|
|
public HttpResult<PtlAgreementQueryVo> getByAgreementId(String agreementId) {
|
|
|
PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|
|
|
- // 获取产品费用
|
|
|
- List<PltAgreementSchemeSaveDto> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(agreementId);
|
|
|
- // 获取非车险产品费用
|
|
|
- List<PtlAgreementNonCarProductCosts> nonCarProductCosts = ptlAgreementNonCarProductCostsService.getByAgreementId(agreementId);
|
|
|
- // 获取承保规则
|
|
|
- List<PtlAgreementUndwrtRulesSaveDto> underwritingRules = ptlAgreementUndwrtRulesService.getByAgreementId(agreementId);
|
|
|
+// // 获取产品费用
|
|
|
+// List<PltAgreementSchemeSaveDto> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(agreementId);
|
|
|
+// // 获取非车险产品费用
|
|
|
+// List<PtlAgreementNonCarProductCosts> nonCarProductCosts = ptlAgreementNonCarProductCostsService.getByAgreementId(agreementId);
|
|
|
+// // 获取承保规则
|
|
|
+// List<PtlAgreementUndwrtRulesSaveDto> underwritingRules = ptlAgreementUndwrtRulesService.getByAgreementId(agreementId);
|
|
|
// 账号信息查询
|
|
|
PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
|
|
|
//2023-08-28 lig 增加 解决前端空对象为null问题,改为返回为空对象
|
|
|
@@ -182,18 +373,38 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
}
|
|
|
// 授权查询
|
|
|
List<PtlAgreementDept> deptList = ptlAgreementDeptService.getByAgreementId(agreementId);
|
|
|
- PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement, schemeQueryDto, nonCarProductCosts, underwritingRules, ptlAgreementAttribution, deptList);
|
|
|
+ PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement,ptlAgreementAttribution, deptList);
|
|
|
return HttpResult.ok(ptlAgreementQueryVo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult<Object> deleteAgreement(String agreementId) {
|
|
|
+ public HttpResult<Object> deleteAgreement(String agreementId,String userName) {
|
|
|
proxyObject.ifExistsById(agreementId);
|
|
|
+ HttpResult<PtlAgreementQueryVo> byAgreementId = getByAgreementId(agreementId);
|
|
|
+
|
|
|
boolean b = removeById(agreementId);
|
|
|
AssertionUtils.isSucceed(b, "协议信息删除失败");
|
|
|
// 关联表删除
|
|
|
proxyObject.deleteAssociationInformation(agreementId);
|
|
|
+ // 添加 历史记录表
|
|
|
+ //生成批次号
|
|
|
+ String batchNo = IdGenerate.nextId();
|
|
|
+ PtlAgreementHistory ptlAgreementHistory = new PtlAgreementHistory(batchNo,userName, HistoryStatusConstants.HISTORY_TYPE_ADD, byAgreementId.getData().getAgreement());
|
|
|
+ ptlAgreementHistory.setStartDate(byAgreementId.getData().getAgreement().getStartDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setEndDate(byAgreementId.getData().getAgreement().getEndDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setAgreementId(ptlAgreementHistory.getId());
|
|
|
+ ptlAgreementHistory.setId(IdGenerate.nextId());
|
|
|
+ ptlAgreementHistoryService.saveAgreementHistory(ptlAgreementHistory);
|
|
|
+ PtlAgreementAttributionHistory ptlAgreementAttributionHistory = new PtlAgreementAttributionHistory(batchNo,agreementId,
|
|
|
+ byAgreementId.getData().getAgreement().getInsuranceCompanyId(),
|
|
|
+ byAgreementId.getData().getAgreement().getInsuranceCompany(),
|
|
|
+ byAgreementId.getData().getPtlAgreementAttribution()
|
|
|
+ );
|
|
|
+ ptlAgreementAttributionHistory.setId(IdGenerate.nextId());
|
|
|
+ if (StringUtils.isNotEmpty(ptlAgreementAttributionHistory.getTemplateId())) {
|
|
|
+ ptlAgreementAttributionHistoryService.save(ptlAgreementAttributionHistory);
|
|
|
+ }
|
|
|
return HttpResult.ok("删除成功");
|
|
|
}
|
|
|
|
|
|
@@ -209,50 +420,35 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
|
|
|
ptlAgreement.setModifiedBy(userName);
|
|
|
ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ HttpResult<PtlAgreementQueryVo> byAgreementId = this.getByAgreementId(agreementId);
|
|
|
// 修改协议
|
|
|
boolean b = updateById(ptlAgreement);
|
|
|
AssertionUtils.isSucceed(b, "协议信息修改失败");
|
|
|
// 关联表都是先删除后添加
|
|
|
proxyObject.deleteAssociationInformationExcludeCosts(agreementId);
|
|
|
- // 提交 产品费用 承保规则 账号信息 授权部门
|
|
|
+ // 提交 账号信息 授权部门
|
|
|
proxyObject.saveAssociationInformation(agreementId, esmInsCompany, agreement);
|
|
|
+
|
|
|
+ // 添加 历史记录表
|
|
|
+ //生成批次号
|
|
|
+ String batchNo = IdGenerate.nextId();
|
|
|
+ PtlAgreementHistory ptlAgreementHistory = new PtlAgreementHistory(batchNo,userName, HistoryStatusConstants.HISTORY_TYPE_ADD, ptlAgreement);
|
|
|
+ ptlAgreementHistory.setStartDate(ptlAgreement.getStartDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setEndDate(ptlAgreement.getEndDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ ptlAgreementHistory.setAgreementId(ptlAgreement.getId());
|
|
|
+ ptlAgreementHistory.setId(IdGenerate.nextId());
|
|
|
+ ptlAgreementHistoryService.saveAgreementHistory(ptlAgreementHistory);
|
|
|
+ PtlAgreementAttributionHistory ptlAgreementAttributionHistory = new PtlAgreementAttributionHistory(batchNo,ptlAgreement.getId(),esmInsCompany.getId(),esmInsCompany.getName(),agreement.getAttribution());
|
|
|
+ ptlAgreementAttributionHistory.setId(IdGenerate.nextId());
|
|
|
+ if (StringUtils.isNotEmpty(attribution.getTemplateId())) {
|
|
|
+ ptlAgreementAttributionHistoryService.save(ptlAgreementAttributionHistory);
|
|
|
+ }
|
|
|
return HttpResult.ok("修改成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void saveAssociationInformation(String agreementId, EsmInsCompany esmInsCompany, PtlAgreementSaveVo agreement) {
|
|
|
- // 产品费用
|
|
|
- ptlAgreementProductCostsService.saveBatchProductCosts(agreementId, agreement.getScheme());
|
|
|
- // 非车险产品费用
|
|
|
- ptlAgreementNonCarProductCostsService.saveBatchNonCarProductCosts(agreementId, agreement.getNonCarProductCosts());
|
|
|
- //同步刷新其他协议非车产品费用信息(有待同步协议时,进行同步)
|
|
|
- if(agreement.getSyncAgreementIds()!=null&&agreement.getSyncAgreementIds().size()>0){
|
|
|
- for(int i=0;i<agreement.getSyncAgreementIds().size();i++){
|
|
|
- String tempAgreementId=agreement.getSyncAgreementIds().get(i);
|
|
|
- PtlAgreement destAgreement= getById(tempAgreementId);
|
|
|
- //根据归属保司,找出本级和上级 所有产品代码
|
|
|
- //先获取相关保险公司列表
|
|
|
- String companyId=destAgreement.getPartnerCompaniesId();
|
|
|
- if(destAgreement.getAssociationCompaniesId()!=null&&!"".equals(destAgreement.getAssociationCompaniesId())){
|
|
|
- companyId=destAgreement.getAssociationCompaniesId();
|
|
|
- }
|
|
|
- List<String> companyIdList=esmInsCompanyService.getAllRelationCompanyId(companyId);
|
|
|
- //再根据保险公司列表获取所有非车产品列表
|
|
|
- List<PtlNonCarInsuranceProduct> productList=ptlNonCarInsuranceProductService.findProductListByCompangIds(companyIdList);
|
|
|
- List<PtlAgreementNonCarProductCostsSaveVo> finalList=new ArrayList<>();
|
|
|
- //按找出的产品过滤传进来的 费用方案列表
|
|
|
- for(PtlNonCarInsuranceProduct tempProductDto:productList){
|
|
|
- for(PtlAgreementNonCarProductCostsSaveVo productCostDto:agreement.getNonCarProductCosts()){
|
|
|
- if(productCostDto.getProductId().equals(tempProductDto.getProductCode())){
|
|
|
- finalList.add(productCostDto);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- ptlAgreementNonCarProductCostsService.synNonCarProductCosts(destAgreement,finalList);
|
|
|
- }
|
|
|
- }
|
|
|
- // 承包规则
|
|
|
- ptlAgreementUndwrtRulesService.saveBatchProductCosts(agreementId,agreement.getUnderwritingRules());
|
|
|
+
|
|
|
// 账号添加
|
|
|
PtlAgreementAttributionDto attribution = agreement.getAttribution();
|
|
|
if (StringUtils.isNotEmpty(attribution.getTemplateId())) {
|
|
|
@@ -311,7 +507,6 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
return esmInsCompany;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public HttpResult<Object> auditAgreement(String agreementId, PtlAgreementAuditVo ptlAgreementAuditVo) {
|
|
|
PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|