nidapeng
2024-03-29 39fb77e70bae8aa3289df71bcb04b78dc9f2ba8f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
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=已签署", example = "1")
    private Integer unionApplyTbdStatus;
 
    @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<ApplyDetail> 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 List<ApplyLog> 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;
}