package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.utils.Constants; import com.doumee.dao.business.vo.TaxesInvoicingVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 投保申请信息表 * @author 江蹄蹄 * @date 2024/01/16 10:03 */ @Data @ApiModel("投保申请信息表") @TableName("`insurance_apply`") public class InsuranceApply { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") @ExcelColumn(name="主键") private Integer id; @ApiModelProperty(value = "创建人编码", example = "1") @ExcelColumn(name="创建人编码") private Integer creator; @ApiModelProperty(value = "创建时间") @ExcelColumn(name="创建时间") private Date createDate; @ApiModelProperty(value = "更新人编码", example = "1") @ExcelColumn(name="更新人编码") private Integer editor; @ApiModelProperty(value = "更新时间") @ExcelColumn(name="更新时间") private Date editDate; @ApiModelProperty(value = "是否删除0否 1是", example = "1") @ExcelColumn(name="是否删除0否 1是") private Integer isdeleted; @ApiModelProperty(value = "备注") @ExcelColumn(name="备注") private String remark; @ApiModelProperty(value = "排序码", example = "1") @ExcelColumn(name="排序码") private Integer sortnum; @ApiModelProperty(value = "方案编码(关联solutions)", example = "1") @ExcelColumn(name="方案编码(关联solutions)") private Integer solutionId; @ApiModelProperty(value = "企业编码(关联company)", example = "1") @ExcelColumn(name="企业编码(关联company)") private Integer companyId; @ApiModelProperty(value = "期望保险生效止期") @ExcelColumn(name="期望保险生效止期") // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern="yyyy-MM-dd") private Date applyEndTime; @ApiModelProperty(value = "期望保险生效起期") @ExcelColumn(name="期望保险生效起期") // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern="yyyy-MM-dd") private Date applyStartTime; @ApiModelProperty(value = "实际保险生效止期") @ExcelColumn(name="实际保险生效止期") // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern="yyyy-MM-dd") private Date endTime; @ApiModelProperty(value = "实际保险生效起期") @ExcelColumn(name="实际保险生效起期") // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern="yyyy-MM-dd") private Date startTime; @ApiModelProperty(value = "最近操作时间") @ExcelColumn(name="最近操作时间") private Date checkDate; @ApiModelProperty(value = "最近操作备注") @ExcelColumn(name="最近操作备注") private String checkInfo; @ApiModelProperty(value = "最近操作人编码(关联system_user)", example = "1") @ExcelColumn(name="最近操作人编码(关联system_user)") private Integer checkUserId; @ApiModelProperty(value = "合并单编码(关联union_apply)", example = "1") @ExcelColumn(name="合并单编码(关联union_apply)") private Integer unionApplyId; @ApiModelProperty(value = "合并单-投保单状态 0=未上传;1=已上传;2=已签署;3=已上传保险单", example = "1") private Integer unionApplyTbdStatus; @ApiModelProperty(value = "委托保-投保单合同号 (商户上传,企业签署)") @ExcelColumn(name="委托保-投保单合同号 (商户上传,企业签署)") private String applyTbdNo; @ApiModelProperty(value = "单号") @ExcelColumn(name="单号") private String code; @ApiModelProperty(value = "在线签章合同号") @ExcelColumn(name="在线签章合同号") private String signApplyNo; @ApiModelProperty(value = "状态 0待审核 1平台退回保单(已退回) 2已上传代签申请表待企业签章(待签署) 3已签章待上传保险单(待出单) 4保单出具失败退回(已退回) 5已上传保单(保障中)6企业申请退回中 7平台同意退回(已退回) 8企业关闭 (已关闭);" + " 【委托投保】 0提交投保 12已签署方案确认书 13已签署名单 10审核通过 5保障中", example = "1") @ExcelColumn(name="状态 0待审核 1平台退回保单(已退回) 2已上传代签申请表待企业签章(待签署) 3已签章待上传保险单(待出单) 4保单出具失败退回(已退回) 5已上传保单(保障中)6企业申请退回中 7平台同意退回(已退回) 8企业关闭 (已关闭)") private Integer status; @ApiModelProperty(value = "当前费用") @ExcelColumn(name="当前费用") private BigDecimal currentFee; @ApiModelProperty(value = "总费用") @ExcelColumn(name="总费用") private BigDecimal fee; @ApiModelProperty(value = "在线确认书合同号") @ExcelColumn(name="在线确认书合同号") private String signQrsNo; @ApiModelProperty(value = "人员名单签署合同号") @ExcelColumn(name="人员名单签署合同号") private String signMemberListNo; @ApiModelProperty(value = "企业名称") @TableField(exist = false) private String companyName; @ApiModelProperty(value = "方案名称") @TableField(exist = false) private String solutionsName; @ApiModelProperty(value = "方案类型 0直保 1委托投保") @TableField(exist = false) private Integer solutionType; @ApiModelProperty(value = "方案邮件") @TableField(exist = false) private String solutionEmail; @ApiModelProperty(value = "签章关键字") @TableField(exist = false) private String signKeyword; @ApiModelProperty(value = "人员信息") @TableField(exist = false) private List applyDetailList; @ApiModelProperty(value = "投保人数") @TableField(exist = false) private Integer insureNum; @ApiModelProperty(value = "开票金额") @TableField(exist = false) private BigDecimal taxesMoney; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @ApiModelProperty(value = "最后一次开票时间") @TableField(exist = false) private Date taxesLast; @ApiModelProperty(value = "失效剩余天数") @TableField(exist = false) private Integer loseEfficacyDays; @ApiModelProperty(value = "服务天数") @TableField(exist = false) private Integer serviceDays; @ApiModelProperty(value = "投保单对象") @TableField(exist = false) private Multifile toubaodanFile; @ApiModelProperty(value = "投保单(已签署)对象") @TableField(exist = false) private Multifile toubaodanSignedFile; @ApiModelProperty(value = "保险单对象") @TableField(exist = false) private Multifile baoxiandanFile; @ApiModelProperty(value = "申请单对象") @TableField(exist = false) private Multifile shenqingdanFile; @ApiModelProperty(value = "签署后方案确认书对象") @TableField(exist = false) private Multifile fanganFile; @ApiModelProperty(value = "日志记录") @TableField(exist = false) private List applyLogList; @ApiModelProperty(value = "处理企业申请状态 0同意 1驳回") @TableField(exist = false) private int dealBackApply; @ApiModelProperty(value = "状态 0待审核 1待出单 2保障中 3已过期 4已撤回 5退回申请中 6已关闭", example = "1") @TableField(exist = false) private Integer statusCollect; @ApiModelProperty(value = "集合状态" , example = "1") @TableField(exist = false) private String statusInfo; @ApiModelProperty(value = "最后一次加减保/换厂日期") @TableField(exist = false) private Date lastChangeDate; @ApiModelProperty(value = "最低年龄", example = "1") @TableField(exist = false) private Integer minAge; @ApiModelProperty(value = "最高年龄", example = "1") @TableField(exist = false) private Integer maxAge; @ApiModelProperty(value = "保险费用(人/天)", example = "1") @TableField(exist = false) private BigDecimal price; @ApiModelProperty(value = "保险时间单位0天 1半月 2月 3年", example = "1") @TableField(exist = false) private Integer timeUnit; @ApiModelProperty(value = "方案基础版本主键", example = "1") @TableField(exist = false) private Integer solutionBaseId; @ApiModelProperty(value = "最新版本的方案主键", example = "1") @TableField(exist = false) private Integer newVersionSolutionId; @ApiModelProperty(value = "商户名称") @TableField(exist = false) private String shopName; public TaxesInvoicingVO toTaxesInvoicingVO(){ TaxesInvoicingVO taxesInvoicingVO = new TaxesInvoicingVO(); taxesInvoicingVO.setId(this.getId()); taxesInvoicingVO.setSolutionsName(this.getSolutionsName()); taxesInvoicingVO.setInsuranceCode(this.getCode()); taxesInvoicingVO.setInsuranceNum(this.getInsureNum()); taxesInvoicingVO.setStartTime(this.getStartTime()); taxesInvoicingVO.setAmount(this.getFee()); taxesInvoicingVO.setType(Constants.ZERO); return taxesInvoicingVO; } @ApiModelProperty(value = "在线签章地址") @TableField(exist = false) private String signLink; }