|
|
@@ -1,19 +1,108 @@
|
|
|
package com.ydtech.modules.protocol.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+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.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.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 org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
-* @author Administrator
|
|
|
-* @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service实现
|
|
|
-* @createDate 2023-06-05 17:59:52
|
|
|
-*/
|
|
|
+ * @author Administrator
|
|
|
+ * @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service实现
|
|
|
+ * @createDate 2023-06-05 17:59:52
|
|
|
+ */
|
|
|
@Service
|
|
|
public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, PtlAgreement>
|
|
|
- implements PtlAgreementService{
|
|
|
+ implements PtlAgreementService {
|
|
|
+
|
|
|
+ private final PtlAgreementProductCostsService ptlAgreementProductCostsService;
|
|
|
+
|
|
|
+ private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
|
|
|
+
|
|
|
+ public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService) {
|
|
|
+ this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
|
|
|
+ this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName) {
|
|
|
+ PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
|
|
|
+ PtlAgreement ptlAgreement = new PtlAgreement();
|
|
|
+ BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
|
|
|
+ ptlAgreement.setCreator(userName);
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpResult pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
|
|
|
+ int pageNum = ptlAgreementPageVo.getPageNum();
|
|
|
+ int pageSize = ptlAgreementPageVo.getPageSize();
|
|
|
+ Page<PtlAgreement> ptlAgreementPage = new Page<>(pageNum, pageSize);
|
|
|
+ LambdaQueryWrapper<PtlAgreement> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ // 审核状态
|
|
|
+ wrapper.eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getAuditStatus()), PtlAgreement::getAuditStatus, ptlAgreementPageVo.getAuditStatus())
|
|
|
+ // 保险公司
|
|
|
+ .eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getInsuranceCompany()), PtlAgreement::getInsuranceCompany, ptlAgreementPageVo.getInsuranceCompany())
|
|
|
+ // 录入时间
|
|
|
+ .between(!ObjectUtils.isEmpty(ptlAgreementPageVo.getStartDate()) && ObjectUtils.isEmpty(ptlAgreementPageVo.getEndDate()), PtlAgreement::getCreateTime, ptlAgreementPageVo.getStartDate(), ptlAgreementPageVo.getEndDate());
|
|
|
+ Page<PtlAgreement> agreementPage = page(ptlAgreementPage, wrapper);
|
|
|
+ PageResult<PtlAgreement> ptlAgreementPageResult = new PageResult<>(pageNum, pageSize, (int) agreementPage.getTotal(), agreementPage.getRecords());
|
|
|
+ return HttpResult.ok(ptlAgreementPageResult);
|
|
|
+ }
|
|
|
+
|
|
|
+ @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();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult deleteAgreement(String agreementId) {
|
|
|
+ removeById(agreementId);
|
|
|
+ // 删除产品费用
|
|
|
+ ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
|
|
|
+ // 删除承包规则
|
|
|
+ ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
|
|
|
+ return HttpResult.ok();
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|