package com.ruoyi.projectManagement.dto; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; import java.time.LocalDate; import java.time.LocalDateTime; /** * @author buhuazhen * @date 2026/3/11 * @email 3038525872@qq.com */ @Data @AllArgsConstructor @NoArgsConstructor public class InfoStageDto implements java.io.Serializable { private Long id; /** * 对应计划节点id */ @NotNull(message = "对应计划节点projectManagementPlanNodeId不能为空") private Long projectManagementPlanNodeId; /** * 对应项目id */ @NotNull(message = "对应项目projectManagementInfoId不能为空") private Long projectManagementInfoId; /** * 描述 */ private String description; /** * 实际负责人id */ private Long actuallyLeaderId; /** * 实际负责人名称 */ private String actuallyLeaderName; /** * 预计工期 */ private Integer estimatedDuration; /** * 计划开始 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate planStartTime; /** * 进度 */ private Integer progress; /** * 实际开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate actualStartTime; /** * 实际结束时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate actualEndTime; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; private String attachment; }