tj
2025-06-05 2d549a04870d1315868a7cf19952b64e8071e711
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
package com.cloudroam.dto.projectTask;
 
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
 
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
 
@NoArgsConstructor
@AllArgsConstructor
@Data
public class CreateProjectTaskDTO {
 
    /**
     * Id
     */
    private String id;
 
    /**
     * 项目id
     */
    @NotEmpty(message = "项目不能为空")
    private String projectId;
 
    /**
     * 模块id
     */
    @NotEmpty(message = "项目模块不能为空")
    private String moduleId;
 
    /**
     * 任务名称
     */
    @NotEmpty(message = "任务名称不能为空")
    private String name;
 
    /**
     * 任务类型
     */
    @NotEmpty(message = "任务类型不能为空")
    private String type;
 
    /**
     * 任务描述
     */
    @NotEmpty(message = "任务描述不能为空")
    private String description;
 
    /**
     * 优先级
     */
    @NotEmpty(message = "任务描述不能为空")
    private String priority;
 
    /**
     * 状态(project_task_status)
     */
    @NotEmpty(message = "任务状态不能为空")
    private String status;
 
    /**
     * 排配状态(project_task_assign_status)
     */
    @NotEmpty(message = "任务排配状态不能为空")
    private String assignStatus;
 
    /**
     * 计划工时
     */
    private BigDecimal planHour;
 
    /**
     * 实际工时
     */
    private BigDecimal actualHour;
 
    /**
     * 计划开始时间
     */
    @NotNull(message = "计划开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planBeginDate;
 
    /**
     * 计划结束时间
     */
    @NotNull(message = "计划结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planEndDate;
 
    /**
     * 实际开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime actualBeginDate;
 
    /**
     * 实际结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime actualEndDate;
 
    /**
     * 剩余工时
     */
    private BigDecimal leftHour;
 
    /**
     * 进度
     */
    private BigDecimal process;
 
    /**
     * 备注
     */
    private String remark;
 
    /**
     * 评估者
     */
    @NotNull(message = "评估者不能为空")
    private List<String> evaluatorUsers;
 
    /**
     * 开发者
     */
    private List<String> developerUsers;
 
    /**
     * 文件列表
     */
    private List<Integer> uploadFileList;
 
 
}