|
|
@@ -5,28 +5,32 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.core.page.PageResult;
|
|
|
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
|
|
|
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
|
|
|
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
|
|
|
+import com.ydtech.exception.SystemException;
|
|
|
+import com.ydtech.modules.protocol.entity.dto.*;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreement;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
|
|
|
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.dao.PtlAgreementMapper;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
|
|
|
+import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
+import org.apache.commons.lang3.BooleanUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
- * @author Administrator
|
|
|
+ * @author wenks
|
|
|
* @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service实现
|
|
|
* @createDate 2023-06-05 17:59:52
|
|
|
*/
|
|
|
@@ -38,14 +42,30 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
|
|
|
private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
|
|
|
|
|
|
+ private PtlAgreementService proxyObject;
|
|
|
+
|
|
|
public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService) {
|
|
|
this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
|
|
|
this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
|
|
|
}
|
|
|
|
|
|
+ @Autowired
|
|
|
+ public void setProxyObject(PtlAgreementService proxyObject) {
|
|
|
+ this.proxyObject = proxyObject;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PtlAgreement ifExistsById(Integer agreementId) {
|
|
|
+ PtlAgreement ptlAgreement = getById(agreementId);
|
|
|
+ if (ObjectUtils.isEmpty(ptlAgreement)) {
|
|
|
+ throw new SystemException("协议id 不存在");
|
|
|
+ }
|
|
|
+ return ptlAgreement;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName) {
|
|
|
+ public HttpResult<?> saveAgreement(PtlAgreementSaveVo agreement, String userName) {
|
|
|
PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
|
|
|
PtlAgreement ptlAgreement = new PtlAgreement();
|
|
|
BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
|
|
|
@@ -53,19 +73,12 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
ptlAgreement.setCreateTime(LocalDateTime.now());
|
|
|
save(ptlAgreement);
|
|
|
// 产品费用
|
|
|
- List<PtlAgreementProductCostsSaveDto> productCosts = agreement.getProductCosts();
|
|
|
- Integer agreementId = ptlAgreement.getId();
|
|
|
- List<PtlAgreementProductCosts> ptlAgreementProductCostsList = PtlAgreementProductCostsSaveDto.toPtlAgreementProductCosts(agreementId, productCosts);
|
|
|
- ptlAgreementProductCostsService.saveBatch(ptlAgreementProductCostsList);
|
|
|
- // 承包规则
|
|
|
- List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules = agreement.getUnderwritingRules();
|
|
|
- List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRules(agreementId, underwritingRules);
|
|
|
- ptlAgreementUnderwritingRulesService.saveBatch(ptlAgreementUnderwritingRulesList);
|
|
|
- return HttpResult.ok();
|
|
|
+ proxyObject.saveProductCostsAndUnderwritingRules(ptlAgreement.getId(), agreement);
|
|
|
+ return HttpResult.ok("添加成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
|
|
|
+ public HttpResult<PageResult<PtlAgreement>> pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
|
|
|
int pageNum = ptlAgreementPageVo.getPageNum();
|
|
|
int pageSize = ptlAgreementPageVo.getPageSize();
|
|
|
Page<PtlAgreement> ptlAgreementPage = new Page<>(pageNum, pageSize);
|
|
|
@@ -82,28 +95,66 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult getByAgreementId(String agreementId) {
|
|
|
- LambdaQueryWrapper<PtlAgreementProductCosts> costsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- costsLambdaQueryWrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
|
|
|
- ptlAgreementProductCostsService.list();
|
|
|
-
|
|
|
- LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
|
|
|
- List<PtlAgreementUnderwritingRules> list = ptlAgreementUnderwritingRulesService.list(wrapper);
|
|
|
- return HttpResult.ok();
|
|
|
+ public HttpResult<PtlAgreementQueryVo> getByAgreementId(Integer 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);
|
|
|
+ return HttpResult.ok(ptlAgreementQueryVo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult deleteAgreement(String agreementId) {
|
|
|
- removeById(agreementId);
|
|
|
+ public HttpResult<?> deleteAgreement(Integer agreementId) {
|
|
|
+ proxyObject.ifExistsById(agreementId);
|
|
|
+ boolean b = removeById(agreementId);
|
|
|
+ AssertionUtils.isSucceed(BooleanUtils.toInteger(b), "协议信息删除失败");
|
|
|
// 删除产品费用
|
|
|
ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
- // 删除承包规则
|
|
|
+ // 删除承保规则
|
|
|
ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
- return HttpResult.ok();
|
|
|
+ return HttpResult.ok("删除成功");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpResult<?> reviseAgreement(String userName, Integer agreementId, PtlAgreementSaveVo agreement) {
|
|
|
+ PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
|
|
|
+ PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
|
|
|
+ BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
|
|
|
+ ptlAgreement.setModifiedBy(userName);
|
|
|
+ ptlAgreement.setUpdateTime(LocalDateTime.now());
|
|
|
+ // 修改协议
|
|
|
+ updateById(ptlAgreement);
|
|
|
+ // 删除产品费用
|
|
|
+ ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
+ // 删除承保规则
|
|
|
+ ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
+ proxyObject.saveProductCostsAndUnderwritingRules(agreementId, agreement);
|
|
|
+ return HttpResult.ok("修改成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 插入产品费用 和 承包规则
|
|
|
+ *
|
|
|
+ * @param agreementId 协议id
|
|
|
+ * @param agreement 协议信息全部实体
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void saveProductCostsAndUnderwritingRules(Integer agreementId, PtlAgreementSaveVo agreement) {
|
|
|
+ // 产品费用
|
|
|
+ List<PltAgreementSchemeSaveDto> scheme = agreement.getScheme();
|
|
|
+ List<PtlAgreementProductCosts> ptlAgreementProductCostsList = PtlAgreementProductCostsSaveDto.toPtlAgreementProductCosts(agreementId, scheme);
|
|
|
+ ptlAgreementProductCostsService.saveBatch(ptlAgreementProductCostsList);
|
|
|
+
|
|
|
+ // 承包规则
|
|
|
+ List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules = agreement.getUnderwritingRules();
|
|
|
+ List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRulesList(agreementId, underwritingRules);
|
|
|
+ ptlAgreementUnderwritingRulesService.saveBatch(ptlAgreementUnderwritingRulesList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|