kongzy
2024-06-03 022b17044ab6bb284fd6313da91d1d1dfb2d5079
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
package com.gkhy.assess.system.domain;
 
import com.baomidou.mybatisplus.annotation.*;
 
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
 
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.gkhy.assess.common.annotation.DataDesensitizationType;
import com.gkhy.assess.common.domain.BaseEntity;
import com.gkhy.assess.common.enums.SensitiveTypeEnum;
import com.gkhy.assess.common.validate.AgencyGroup;
import com.gkhy.assess.common.validate.ExpertGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
 
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
 
import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
 
/**
 * <p>
 * 机构表
 * </p>
 *
 * @author kzy
 * @since 2023-11-23 16:04:36
 */
@Getter
@Setter
@TableName("sys_agency")
@ApiModel(value = "SysAgency对象", description = "机构表")
@Accessors(chain = true)
@JsonInclude(NON_NULL)
public class SysAgency extends BaseEntity {
 
    private static final long serialVersionUID = 1L;
 
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
 
 
    @NotBlank(message = "机构名称不能为空")
    @Length(min = 1, max = 50, message = "机构名称不能超过50个字符")
    @ApiModelProperty("机构名称")
    @TableField("name")
    private String name;
 
 
    @NotBlank(message = "社会信用代码不能为空")
    @ApiModelProperty(value = "社会信用代码",required = true)
    @TableField("credit_code")
    private String creditCode;
 
 
    @NotNull(message = "机构属性不能为空")
    @ApiModelProperty(value = "机构属性(0疆内,1疆外,默认0)",required = true)
    @TableField("attribute")
    private Integer attribute;
 
 
    @ApiModelProperty("省")
    @TableField("province")
    private String province;
 
 
    @NotBlank(message = "市不能为空")
    @ApiModelProperty(value = "市",required = true)
    @TableField("city")
    private String city;
 
  //  @NotBlank(message = "区不能为空")
    @ApiModelProperty(value = "区",required = true)
    @TableField("district")
    private String district;
 
 
    @NotBlank(message = "经营地址不能为空")
    @Length(min = 1, max = 100, message = "经营地址不能超过100个字符")
    @ApiModelProperty(value = "经营地址",required = true)
    @TableField("address")
    private String address;
 
    @ApiModelProperty("机构网址")
    @TableField("web")
    private String web;
 
 
    @NotBlank(message = "法定代表人不能为空")
    @ApiModelProperty(value = "法定代表人",required = true)
    @TableField("legal_person")
    private String legalPerson;
 
 
    @DataDesensitizationType(type = SensitiveTypeEnum.MOBILE_PHONE)
    @NotBlank(message = "法人电话不能为空")
    @Length(min = 11, max = 11, message = "手机号只能为11位")
    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!")
    @ApiModelProperty(value = "法人电话",required = true)
    @TableField("legal_phone")
    private String legalPhone;
 
 
    @NotBlank(message = "机构负责人不能为空")
    @ApiModelProperty(value = "机构负责人",required = true)
    @TableField("manager")
    private String manager;
 
    @DataDesensitizationType(type = SensitiveTypeEnum.MOBILE_PHONE)
    @NotBlank(message = "负责人电话不能为空")
    @Length(min = 11, max = 11, message = "手机号只能为11位")
    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!")
    @ApiModelProperty(value = "负责人电话",required = true)
    @TableField("manager_phone")
    private String managerPhone;
 
 
    @NotBlank(message = "资质证书编号不能为空")
    @ApiModelProperty(value = "资质证书编号",required = true)
    @TableField("cert_number")
    private String certNumber;
 
    @NotNull(message = "资质证书图片路径不能为空")
    @ApiModelProperty("资质证书图片路径,创建机构时传入")
    @TableField("cert_path")
    private String certPath;
 
 
    @NotNull(message = "发证日期不能为空")
    @ApiModelProperty(value = "发证日期",required = true)
    @TableField("issue_date")
//    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime issueDate;
 
 
    @NotNull(message = "有效日期不能为空")
    @ApiModelProperty(value = "有效日期",required = true)
    @TableField("valid_date")
//    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime validDate;
 
 
    @NotBlank(message = "固定资产总值不能为空")
    @ApiModelProperty(value = "固定资产总值",required = true)
    @TableField("asset_value")
    private String assetValue;
 
 
    @NotBlank(message = "工作场所建筑面积不能为空")
    @ApiModelProperty(value = "工作场所建筑面积",required = true)
    @TableField("work_area")
    private String workArea;
 
 
    @NotBlank(message = "档案室面积不能为空")
    @ApiModelProperty(value = "档案室面积",required = true)
    @TableField("archive_area")
    private String archiveArea;
 
 
    @NotBlank(message = "注册地址不能为空")
    @Length(min = 1, max = 100, message = "注册地址不能超过100个字符")
    @ApiModelProperty(value = "注册地址",required = true)
    @TableField("reg_address")
    private String regAddress;
 
 
    @NotBlank(message = "业务范围不能为空")
    @ApiModelProperty(value = "业务范围,字典id,多个逗号隔开",required = true)
    @TableField("business")
    private String business;
 
 
//    @NotBlank(message = "机构信息上报表存放路径不能为空")
    @ApiModelProperty(value = "机构信息上报表存放路径",required = true)
    @TableField("report_path")
    private String reportPath;
 
    @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)")
    @TableField("del_flag")
    private Integer delFlag;
 
    @ApiModelProperty("是否公示(0代表公示,1代表不公示,默认0)")
    @TableField("publication")
    private Integer publication;
 
    @ApiModelProperty(value = "业务范围,字典对应的名称")
    @TableField(exist = false)
    private List<String> businessNames;
 
    @ApiModelProperty(value = "注册用户")
    @TableField(exist = false)
    private SysUser user;
 
    @Version
    @ApiModelProperty("乐观锁")
    @TableField("version")
    private Integer version;
 
 
 
}