Commit ea3a0adc by zhangxingmin

Merge remote-tracking branch 'origin/test' into test

parents e7f5d876 d6bd43b9
...@@ -561,7 +561,7 @@ public class ApiPolicyFollowController { ...@@ -561,7 +561,7 @@ public class ApiPolicyFollowController {
*/ */
@PostMapping("/list/page/vo") @PostMapping("/list/page/vo")
@Operation(summary = "分页获取新单跟进列表") @Operation(summary = "分页获取新单跟进列表")
public Result<Page<PolicyFollowDetailVO>> listPolicyFollowByPage(@RequestBody PolicyFollowQueryRequest policyFollowQueryRequest, public Result<Page<PolicyFollowVO>> listPolicyFollowByPage(@RequestBody PolicyFollowQueryRequest policyFollowQueryRequest,
HttpServletRequest request) { HttpServletRequest request) {
long current = policyFollowQueryRequest.getPageNo(); long current = policyFollowQueryRequest.getPageNo();
long size = policyFollowQueryRequest.getPageSize(); long size = policyFollowQueryRequest.getPageSize();
...@@ -569,7 +569,7 @@ public class ApiPolicyFollowController { ...@@ -569,7 +569,7 @@ public class ApiPolicyFollowController {
// 查询数据库 // 查询数据库
Page<PolicyFollow> policyFollowPage = policyFollowService.page(new Page<>(current, size), Page<PolicyFollow> policyFollowPage = policyFollowService.page(new Page<>(current, size),
policyFollowService.getQueryWrapper(policyFollowQueryRequest)); policyFollowService.getQueryWrapper(policyFollowQueryRequest));
return Result.success(policyFollowService.getPolicyFollowDetailVOList(policyFollowPage)); return Result.success(policyFollowService.getPolicyFollowVOPage(policyFollowPage));
} }
/** /**
......
...@@ -622,9 +622,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService { ...@@ -622,9 +622,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//客户名称 //客户名称
follow.setCustomerName(customer.getNamePyEn()); follow.setCustomerName(customer.getNamePyEn());
} }
//待跟进 //待签单
follow.setStatus(PolicyFollowStatusEnum.FOLLOW_UP.getItemValue()); follow.setStatus(PolicyFollowStatusEnum.PENDING_SIGN.getItemValue());
follow.setNextStatusList(policyFollowService.getNextStatus(PolicyFollowStatusEnum.FOLLOW_UP)); follow.setNextStatusList(policyFollowService.getNextStatus(PolicyFollowStatusEnum.PENDING_SIGN));
//TODO 保险公司业务id //TODO 保险公司业务id
// follow.setInsurerBizId(); // follow.setInsurerBizId();
//TODO 期交保费 //TODO 期交保费
......
...@@ -7,7 +7,7 @@ import lombok.Data; ...@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -24,9 +24,9 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable { ...@@ -24,9 +24,9 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
private String policyNo; private String policyNo;
/** /**
* 新单状态 * 新单跟进状态
*/ */
@Schema(description = "新单状态 'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消', 字典值: csf_policy_follow_status") @Schema(description = "新单状态, 字典值: csf_policy_follow_status")
private String status; private String status;
/** /**
...@@ -40,33 +40,33 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable { ...@@ -40,33 +40,33 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
*/ */
@Schema(description = "签单日期开始 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd") @Schema(description = "签单日期开始 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate signDateStart; private Date signDateStart;
/** /**
* 签单日结束 * 签单日结束
*/ */
@Schema(description = "签单日期结束 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd") @Schema(description = "签单日期结束 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate signDateEnd; private Date signDateEnd;
/** /**
* 最晚缴费日期 * 最晚缴费日期
*/ */
@Schema(description = "最晚缴费日期 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd") @Schema(description = "最晚缴费日期 格式: yyyy-MM-dd", example = "2023-01-01", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate latestPaymentDate; private Date latestPaymentDate;
/** /**
* 投保人业务id列表 * 投保人业务id列表
*/ */
@Schema(description = "投保人业务id列表") // @Schema(description = "投保人业务id列表")
private List<String> policyholderBizIdList; // private List<String> policyholderBizIdList;
/** /**
* 受保人业务id列表 * 受保人业务id列表
*/ */
@Schema(description = "受保人业务id列表") // @Schema(description = "受保人业务id列表")
private List<String> policyInsurantBizIdList; // private List<String> policyInsurantBizIdList;
/** /**
* 保险公司业务id列表 * 保险公司业务id列表
...@@ -84,7 +84,7 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable { ...@@ -84,7 +84,7 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
* 缴费年期 * 缴费年期
*/ */
@Schema(description = "缴费年期") @Schema(description = "缴费年期")
private String paymentTerm; private String issueNumber;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -3,16 +3,22 @@ package com.yd.csf.service.enums; ...@@ -3,16 +3,22 @@ package com.yd.csf.service.enums;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
/** /**
* 新单跟进状态枚举 'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消' * 新单跟进状态枚举
*/ */
public enum PolicyFollowStatusEnum { public enum PolicyFollowStatusEnum {
FOLLOW_UP("待跟进", "FOLLOW_UP"), PENDING_SIGN("待签单", "PENDING_SIGN"),
CHECKING("文件检查中", "CHECKING"), SIGNED("已签单", "SIGNED"),
UNDERWRITING("承保中", "UNDERWRITING"), WAITING_PAYMENT("等待汇款", "WAITING_PAYMENT"),
FINISHED("已完成", "FINISHED"), PREMIUM_RECONCILING("首期保费对账中", "PREMIUM_RECONCILING"),
DECLINED("已拒绝", "DECLINED"), PREMIUM_RECONCILED_UNDERWRITING("保费对账成功,核保中", "PREMIUM_RECONCILED_UNDERWRITING"),
CANCELLED("已取消", "CANCELLED"), EFFECTIVE("生效", "EFFECTIVE"),
CANCELLED("取消投保", "CANCELLED"),
DECLINED("拒保", "DECLINED"),
DELAYED_UNDERWRITING("延缓承保", "DELAYED_UNDERWRITING"),
LAPSED("失效", "LAPSED"),
CLOSED("关闭", "CLOSED"),
; ;
//字典项标签(名称) //字典项标签(名称)
private String itemLabel; private String itemLabel;
//字典项值 //字典项值
...@@ -68,4 +74,18 @@ public enum PolicyFollowStatusEnum { ...@@ -68,4 +74,18 @@ public enum PolicyFollowStatusEnum {
return null; return null;
} }
/**
* 状态映射为中文
*
* @param status
* @return
*/
public static String mapStatusToLabel(String status) {
PolicyFollowStatusEnum policyFollowStatusEnum = getEnumByValue(status);
if (policyFollowStatusEnum == null) {
return "";
}
return policyFollowStatusEnum.getItemLabel();
}
} }
package com.yd.csf.service.vo; package com.yd.csf.service.vo;
import com.google.common.reflect.TypeToken; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yd.csf.service.dto.PolicyFollowUpdateDto; import com.yd.csf.service.dto.PolicyFollowUpdateDto;
import com.yd.csf.service.dto.PolicyMailing;
import com.yd.csf.service.dto.VerifyPolicyInfo;
import com.yd.csf.service.enums.PolicyFollowStatusEnum; import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.PolicyBroker;
import com.yd.csf.service.model.PolicyFollow; import com.yd.csf.service.model.PolicyFollow;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -13,8 +10,6 @@ import org.springframework.beans.BeanUtils; ...@@ -13,8 +10,6 @@ import org.springframework.beans.BeanUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.*; import java.util.*;
import com.yd.csf.service.utils.GSONUtil;
import com.yd.csf.service.dto.PolicySigner;
/** /**
* 新单跟进视图 * 新单跟进视图
...@@ -24,6 +19,9 @@ public class PolicyFollowVO implements Serializable { ...@@ -24,6 +19,9 @@ public class PolicyFollowVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Schema(description = "policy follow id")
private Long id;
/** /**
* 新单跟进唯一业务ID * 新单跟进唯一业务ID
*/ */
...@@ -31,40 +29,84 @@ public class PolicyFollowVO implements Serializable { ...@@ -31,40 +29,84 @@ public class PolicyFollowVO implements Serializable {
private String policyBizId; private String policyBizId;
/** /**
* 下一步跟进状态列表 * 保单号
*/ */
@Schema(description = "下一步跟进状态列表, 下拉框") @Schema(description = "保单号")
private Object nextStatusList; private String policyNo;
/** /**
* 新单跟进Dto * 新单跟进状态
*/ */
@Schema(description = "新单跟进Dto") @Schema(description = "新单跟进状态")
private PolicyFollowUpdateDto policyFollowUpdateDto; private String status;
/** /**
* 转介人 * 预约信息主表唯一业务ID
*/ */
@Schema(description = "转介人") @Schema(description = "预约信息主表唯一业务ID")
private List<PolicyBroker> brokerList; private String appointmentBizId;
/** /**
* 核保信息 * 预约编号
*/ */
@Schema(description = "核保信息") @Schema(description = "预约编号")
private VerifyPolicyInfo verifyPolicyInfo; private String appointmentNo;
/** /**
* 保单邮寄 * 客户业务id
*/ */
@Schema(description = "保单邮寄") @Schema(description = "客户业务id")
private PolicyMailing policyMailing; private String customerBizId;
/** /**
* 保单信息 * 签单日
*/ */
// private Policy policy; @Schema(description = "签单日", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date signDate;
/**
* 最晚缴费日
*/
@Schema(description = "最晚缴费日", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date latestPaymentDate;
/**
* 保單持有人
*/
@Schema(description = "投保人")
private String policyHolder;
/**
* 受保人
*/
@Schema(description = "受保人")
private String insured;
/**
* 产品计划唯一业务ID
*/
@Schema(description = "产品计划唯一业务ID")
private String productLaunchBizId;
/**
* 产品计划
*/
@Schema(description = "产品计划")
private String productName;
/**
* 保险公司
*/
@Schema(description = "保险公司")
private String insuranceCompany;
/**
* 保险公司业务id
*/
@Schema(description = "保险公司业务id")
private String insuranceCompanyBizId;
/** /**
* 对象转封装类 * 对象转封装类
...@@ -77,35 +119,9 @@ public class PolicyFollowVO implements Serializable { ...@@ -77,35 +119,9 @@ public class PolicyFollowVO implements Serializable {
return null; return null;
} }
PolicyFollowVO policyFollowVO = new PolicyFollowVO(); PolicyFollowVO policyFollowVO = new PolicyFollowVO();
policyFollowVO.setPolicyBizId(policyFollow.getPolicyBizId()); BeanUtils.copyProperties(policyFollow, policyFollowVO);
// 状态映射为中文
// 转换PolicyFollowUpdateDto policyFollowVO.setStatus(PolicyFollowStatusEnum.mapStatusToLabel(policyFollow.getStatus()));
PolicyFollowUpdateDto policyFollowUpdateDto = new PolicyFollowUpdateDto();
BeanUtils.copyProperties(policyFollow, policyFollowUpdateDto);
policyFollowVO.setPolicyFollowUpdateDto(policyFollowUpdateDto);
// 处理 nextStatusList 字段
Object nextStatusList = policyFollow.getNextStatusList();
if (nextStatusList != null && !nextStatusList.toString().isEmpty()) {
String[] statusArr = nextStatusList.toString().split(",");
List<Map<String, String>> statusMapList = new ArrayList<>();
for (String status : statusArr) {
Map<String, String> map = new HashMap<>();
map.put("itemLabel", PolicyFollowStatusEnum.getEnumByValue(status).getItemLabel());
map.put("itemValue", status);
statusMapList.add(map);
}
policyFollowVO.setNextStatusList(statusMapList);
}
VerifyPolicyInfo verifyPolicyInfo = new VerifyPolicyInfo();
BeanUtils.copyProperties(policyFollow, verifyPolicyInfo);
policyFollowVO.setVerifyPolicyInfo(verifyPolicyInfo);
PolicyMailing policyMailing = new PolicyMailing();
BeanUtils.copyProperties(policyFollow, policyMailing);
policyFollowVO.setPolicyMailing(policyMailing);
return policyFollowVO; return policyFollowVO;
} }
......
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