Commit 2521634f by zhangxingmin

push

parent 382c0b4e
......@@ -58,6 +58,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -946,16 +947,15 @@ public class ApiPolicyFollowController {
return Result.success(policyFollowService.updatePolicySecondHolder(policySecondHolderUpdateRequest));
}
// /**
// * 根据保单号查询新单跟进详情
// * @param policyNo
// * @return
// */
// @GetMapping("/detail")
// public Result<ApiPolicyFollowDetailResponse> detail(@NotBlank(message = "保单号不能为空") @RequestParam(value = "policyNo") String policyNo){
//
// }
/**
* 根据保单号查询新单跟进详情
* @param policyNo
* @return
*/
@GetMapping("/detail")
public Result<ApiPolicyFollowDetailResponse> detail(@RequestParam(value = "policyNo") String policyNo){
return policyFollowService.detail(policyNo);
}
}
\ No newline at end of file
......@@ -946,6 +946,7 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
policyInsurant.setPolicyBizId(policyBizId);
policyInsurant.setPolicyInsurantBizId(RandomStringGenerator.generateBizId16("policy_insurant"));
policyInsurant.setName(apiInsurantInfoDto.getNameCn());
policyInsurant.setNameEn(apiInsurantInfoDto.getNamePyEn());
return policyInsurantService.saveOrUpdate(policyInsurant);
}
......@@ -963,6 +964,7 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
policyPolicyholder.setPolicyBizId(policyBizId);
policyPolicyholder.setPolicyPolicyholderBizId(RandomStringGenerator.generateBizId16("policy_policyholder"));
policyPolicyholder.setName(apiPolicyholderInfoDto.getNameCn());
policyPolicyholder.setNameEn(apiPolicyholderInfoDto.getNamePyEn());
return policyPolicyholderService.saveOrUpdate(policyPolicyholder);
}
......
......@@ -35,11 +35,16 @@ public class ApiPremiumReconciliationPageRequest extends PageDto {
private String appointmentNo;
/**
* 保單持有人(投保人)
* 保單持有人(投保人)(中文名/英文名)
*/
private String policyHolder;
/**
* 受保人(保单表)(中文名/英文名)
*/
private String insured;
/**
* 缴费方式
*/
private String paymentMethod;
......
......@@ -11,7 +11,6 @@ public class ApiPolicyFollowDetailResponse {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
......
......@@ -85,16 +85,26 @@ public class ApiPremiumReconciliationPageResponse {
private String payingBank;
/**
* 保單持有人(投保人,保单表)
* 保單持有人(投保人,保单表)(中文名)
*/
private String policyHolder;
/**
* 受保人(保单表)
* 保單持有人(投保人,保单表)(英文名)
*/
private String policyHolderEn;
/**
* 受保人(保单表)(中文名)
*/
private String insured;
/**
* 受保人(保单表)(英文名)
*/
private String insuredEn;
/**
* 转介人名称(保单转介人表,多个分号分隔)
*/
private String brokerName;
......
......@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.common.result.Result;
import com.yd.csf.feign.response.policyfollow.ApiPolicyFollowDetailResponse;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.*;
......@@ -179,4 +181,6 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
* @return 是否成功
*/
Boolean updatePolicySecondHolder(PolicySecondHolderUpdateRequest policySecondHolderUpdateRequest);
Result<ApiPolicyFollowDetailResponse> detail(String policyNo);
}
......@@ -19,6 +19,7 @@ import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.feign.response.policyfollow.ApiPolicyFollowDetailResponse;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.FnaStatusEnum;
......@@ -44,6 +45,8 @@ import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.util.*;
......@@ -1200,5 +1203,24 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
}
return policySecondHolderService.updatePolicySecondHolder(policySecondHolderUpdateRequest);
}
/**
* 根据保单号查询新单跟进详情
* @param policyNo
* @return
*/
@Override
public Result<ApiPolicyFollowDetailResponse> detail(String policyNo){
if (StringUtils.isBlank(policyNo)) {
throw new BusinessException("保单号不能为空");
}
PolicyFollow policyFollow = this.queryOneByPolicyNo(policyNo);
if (policyFollow == null) {
throw new BusinessException("新单跟进信息不存在");
}
ApiPolicyFollowDetailResponse response = new ApiPolicyFollowDetailResponse();
BeanUtils.copyProperties(policyFollow,response);
return Result.success(response);
}
}
......@@ -22,8 +22,10 @@
pr.recognized_currency,
prm_total.payer,
prm_total.paying_bank,
p.policy_holder,
p.insured,
pp.name as policyHolder,
pp.name_en as policyHolderEn,
pi.name as insured,
pi.name_en as insuredEn,
pb.broker_name AS brokerName,
pr.create_time,
pr.update_time,
......@@ -31,6 +33,8 @@
FROM premium_reconciliation pr
LEFT JOIN policy p ON p.policy_no = pr.policy_no AND p.is_deleted = 0
LEFT JOIN policy_follow pf ON pf.policy_no = pr.policy_no AND pf.is_deleted = 0
LEFT JOIN policy_policyholder pp ON pp.policy_biz_id = pf.policy_biz_id AND pp.is_deleted = 0
LEFT JOIN policy_insurant pi ON pi.policy_biz_id = pf.policy_biz_id AND pi.is_deleted = 0
LEFT JOIN (
SELECT
premium_reconciliation_biz_id,
......@@ -86,9 +90,15 @@
<if test="request.reconciliationType != null and request.reconciliationType != ''">
AND pr.reconciliation_type = #{request.reconciliationType}
</if>
<if test="request.policyHolder != null and request.policyHolder != ''">
AND (pp.name LIKE CONCAT('%', #{request.policyHolder}, '%') OR pp.name_en LIKE CONCAT('%', #{request.policyHolder}, '%'))
</if>
<if test="request.insured != null and request.insured != ''">
AND (pi.name LIKE CONCAT('%', #{request.insured}, '%') OR pi.name_en LIKE CONCAT('%', #{request.insured}, '%'))
</if>
<choose>
<when test="request.paymentDate != null">
AND prm_total.premium_reconciliation_biz_id IS NOT NULL
AND pp.premium_reconciliation_biz_id IS NOT NULL
</when>
<otherwise>
</otherwise>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment