wente
2024-12-05 17ce02ec6fefa4e8b9ac870e2b52dea0942f5597
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
package com.zt.life.core.model;
 
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zt.common.entity.CompanyEntity;
import com.zt.common.entity.TreeNode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * CORE_PRODUCT
 *
 * @author zt generator
 * @since 1.0.0 2020-07-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("CORE_PRODUCT")
public class Product extends CompanyEntity implements TreeNode<Product>, Cloneable {
    private static final long serialVersionUID = 1L;
 
    @ApiModelProperty(value = "id")
    @JsonIgnore
    private Long productId;
 
    @ApiModelProperty(value = "编码")
    private String code;
 
    @ApiModelProperty(value = "名称")
    private String name;
 
    @ApiModelProperty(value = "父id")
    @JsonIgnore
    private Long parentProductId;
 
    @ApiModelProperty(value = "关联id")
    private Long moduleId;
 
    @ApiModelProperty(value = "父id集合")
    @JsonIgnore
    private String parentProductIds;
 
    @ApiModelProperty(value = "级别")
    @TableField(value = "level2")
    private String level;
 
    @ApiModelProperty(value = "级别名称")
    @TableField(exist = false)
    private String levelName;
 
    @ApiModelProperty(value = "排序")
    private Integer sort;
 
    @ApiModelProperty(value = "状态 0 无效 1 有效")
    @JsonIgnore
    private Integer status;
 
    @ApiModelProperty(value = "版本号")
    private Integer version;
 
    @ApiModelProperty(value = "X号")
    private Long shipId;
 
    @ApiModelProperty(value = "X号")
    private Long shipProductId;
 
    @ApiModelProperty(value = "系统编号")
    private Long sysId;
 
    @ApiModelProperty(value = "系统编号")
    private Long sysProductId;
 
    @ApiModelProperty(value = "分系统编号")
    private Long subSysId;
 
    @ApiModelProperty(value = "分系统编号")
    private Long subSysProductId;
 
    @ApiModelProperty(value = "设备编号")
    private Long deviceId;
 
    @ApiModelProperty(value = "设备编号")
    private Long deviceProductId;
 
    @ApiModelProperty(value = "是否有寿命件数据")
    @TableField(exist = false)
    private String hasnotdata;
 
    @ApiModelProperty(value = "是否叶子节点")
    @TableField(exist = false)
    private Boolean hasChildren;
 
    @ApiModelProperty(value = "子产品")
    @TableField(exist = false)
    public List<Product> children = new ArrayList<>();
 
    @TableField(exist = false)
    private String area;
 
    @TableField(exist = false)
    private String productIds;
 
    @TableField(exist = false)
    private Long projectId;
 
    @Override
    public Product clone() throws CloneNotSupportedException {
        Product product = (Product) super.clone();
        product.children = new ArrayList<>();
        return product;
    }
 
    @Override
    public Long getPid() {
        return parentProductId;
    }
 
    @Override
    public void setPid(Long pid) {
        this.parentProductId = pid;
    }
}