|
|
@@ -10,14 +10,14 @@ import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
|
|
|
import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeQueryDto;
|
|
|
import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreement;
|
|
|
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
|
+import com.ydtech.modules.protocol.entity.po.PtlAgreementDept;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
|
|
|
import com.ydtech.modules.protocol.entity.vo.PtlAgreementAuditVo;
|
|
|
import com.ydtech.modules.protocol.entity.vo.PtlAgreementPageVo;
|
|
|
import com.ydtech.modules.protocol.entity.vo.PtlAgreementQueryVo;
|
|
|
import com.ydtech.modules.protocol.entity.vo.PtlAgreementSaveVo;
|
|
|
-import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
|
|
|
-import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
|
-import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
|
|
|
+import com.ydtech.modules.protocol.service.*;
|
|
|
import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -41,11 +41,17 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
|
|
|
private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
|
|
|
|
|
|
+ private final PtlAgreementAttributionService ptlAgreementAttributionService;
|
|
|
+
|
|
|
+ private final PtlAgreementDeptService ptlAgreementDeptService;
|
|
|
+
|
|
|
private PtlAgreementService proxyObject;
|
|
|
|
|
|
- public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService) {
|
|
|
+ public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService, PtlAgreementAttributionService ptlAgreementAttributionService, PtlAgreementDeptService ptlAgreementDeptService) {
|
|
|
this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
|
|
|
this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
|
|
|
+ this.ptlAgreementAttributionService = ptlAgreementAttributionService;
|
|
|
+ this.ptlAgreementDeptService = ptlAgreementDeptService;
|
|
|
}
|
|
|
|
|
|
@Autowired
|
|
|
@@ -54,7 +60,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PtlAgreement ifExistsById(Integer agreementId) {
|
|
|
+ public PtlAgreement ifExistsById(Long agreementId) {
|
|
|
PtlAgreement ptlAgreement = getById(agreementId);
|
|
|
if (ObjectUtils.isEmpty(ptlAgreement)) {
|
|
|
throw new SystemException("协议id 不存在");
|
|
|
@@ -72,7 +78,8 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
ptlAgreement.setCreateTime(LocalDateTime.now());
|
|
|
save(ptlAgreement);
|
|
|
// 产品费用
|
|
|
- proxyObject.saveProductCostsAndUnderwritingRules(ptlAgreement.getId(), agreement);
|
|
|
+ String insuranceCompany = ptlAgreement.getInsuranceCompany();
|
|
|
+ proxyObject.saveAssociationInformation(ptlAgreement.getId(), insuranceCompany, agreement);
|
|
|
return HttpResult.ok("添加成功");
|
|
|
}
|
|
|
|
|
|
@@ -94,32 +101,34 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult<PtlAgreementQueryVo> getByAgreementId(Integer agreementId) {
|
|
|
+ public HttpResult<PtlAgreementQueryVo> getByAgreementId(Long agreementId) {
|
|
|
PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|
|
|
// 获取产品费用
|
|
|
List<PltAgreementSchemeQueryDto> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(agreementId);
|
|
|
// 获取承保规则
|
|
|
List<PtlAgreementUnderwritingRules> underwritingRules = ptlAgreementUnderwritingRulesService.getByAgreementId(agreementId);
|
|
|
- PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement, schemeQueryDto, underwritingRules);
|
|
|
+ // 账号信息查询
|
|
|
+ PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
|
|
|
+ // 授权查询
|
|
|
+ List<PtlAgreementDept> deptList = ptlAgreementDeptService.getByAgreementId(agreementId);
|
|
|
+ PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement, schemeQueryDto, underwritingRules, ptlAgreementAttribution, deptList);
|
|
|
return HttpResult.ok(ptlAgreementQueryVo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult<Object> deleteAgreement(Integer agreementId) {
|
|
|
+ public HttpResult<Object> deleteAgreement(Long agreementId) {
|
|
|
proxyObject.ifExistsById(agreementId);
|
|
|
boolean b = removeById(agreementId);
|
|
|
AssertionUtils.isSucceed(b, "协议信息删除失败");
|
|
|
- // 删除产品费用
|
|
|
- ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
- // 删除承保规则
|
|
|
- ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
+ // 关联表删除
|
|
|
+ proxyObject.deleteAssociationInformation(agreementId);
|
|
|
return HttpResult.ok("删除成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult<Object> reviseAgreement(String userName, Integer agreementId, PtlAgreementSaveVo agreement) {
|
|
|
+ public HttpResult<Object> reviseAgreement(String userName, Long agreementId, PtlAgreementSaveVo agreement) {
|
|
|
PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
|
|
|
PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|
|
|
BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
|
|
|
@@ -128,11 +137,11 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
// 修改协议
|
|
|
boolean b = updateById(ptlAgreement);
|
|
|
AssertionUtils.isSucceed(b, "协议信息修改失败");
|
|
|
- // 删除产品费用
|
|
|
- ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
- // 删除承保规则
|
|
|
- ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
- proxyObject.saveProductCostsAndUnderwritingRules(agreementId, agreement);
|
|
|
+ // 关联表都是先删除后添加
|
|
|
+ proxyObject.deleteAssociationInformation(agreementId);
|
|
|
+
|
|
|
+ String insuranceCompany = ptlAgreement.getInsuranceCompany();
|
|
|
+ proxyObject.saveAssociationInformation(agreementId, insuranceCompany, agreement);
|
|
|
return HttpResult.ok("修改成功");
|
|
|
}
|
|
|
|
|
|
@@ -143,15 +152,32 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
* @param agreement 协议信息全部实体
|
|
|
*/
|
|
|
@Override
|
|
|
- public void saveProductCostsAndUnderwritingRules(Integer agreementId, PtlAgreementSaveVo agreement) {
|
|
|
+ public void saveAssociationInformation(Long agreementId, String insuranceCompany, PtlAgreementSaveVo agreement) {
|
|
|
// 产品费用
|
|
|
ptlAgreementProductCostsService.saveBatchProductCosts(agreementId, agreement.getScheme());
|
|
|
// 承包规则
|
|
|
ptlAgreementUnderwritingRulesService.saveBatchUnderwritingRules(agreementId, agreement.getUnderwritingRules());
|
|
|
+ // 部门授权
|
|
|
+ ptlAgreementAttributionService.saveAttribution(agreementId, insuranceCompany, agreement.getAttribution());
|
|
|
+ // 账号添加
|
|
|
+ ptlAgreementDeptService.saveBatchDept(agreementId, agreement.getDept());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteAssociationInformation(Long agreementId) {
|
|
|
+ // 删除产品费用
|
|
|
+ ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
+ // 删除承保规则
|
|
|
+ ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
+ // 删除账号信息
|
|
|
+ ptlAgreementAttributionService.removeById(agreementId);
|
|
|
+ // 删除授权部门
|
|
|
+ ptlAgreementDeptService.deleteByAgreementId(agreementId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult<Object> auditAgreement(Integer agreementId, PtlAgreementAuditVo ptlAgreementAuditVo) {
|
|
|
+ public HttpResult<Object> auditAgreement(Long agreementId, PtlAgreementAuditVo ptlAgreementAuditVo) {
|
|
|
PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|
|
|
ptlAgreement.setAuditStatus(ptlAgreementAuditVo.getAuditStatus());
|
|
|
ptlAgreement.setAuditContent(ptlAgreementAuditVo.getAuditContent());
|