package com.ruoyi.projectManagement.dto;
|
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/** 项目执行工作台使用的轻量请求对象。 */
|
public final class ProjectWorkflowDtos {
|
private ProjectWorkflowDtos() {
|
}
|
|
@Data
|
public static class ModuleSaveRequest {
|
private Long id;
|
private Long projectId;
|
private String moduleName;
|
private LocalDate plannedStartDate;
|
private String summary;
|
private BigDecimal projectWeight;
|
private List<MemberRequest> members = new ArrayList<>();
|
}
|
|
@Data
|
public static class ModulesBatchRequest {
|
private Long projectId;
|
private List<ModuleSaveRequest> modules = new ArrayList<>();
|
}
|
|
@Data
|
public static class MemberRequest {
|
private Long userId;
|
private String userName;
|
private BigDecimal moduleShare;
|
}
|
|
@Data
|
public static class FollowUpRequest {
|
private Long id;
|
private Long projectId;
|
private LocalDate followDate;
|
private String detail;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
|
@Data
|
public static class ProgressReportRequest {
|
private Long id;
|
private Long projectId;
|
private Long moduleId;
|
private List<Long> reporterIds = new ArrayList<>();
|
private List<String> reporterNames = new ArrayList<>();
|
/** 本次汇报中每位执行人的工作量分配,占比合计必须为100%。 */
|
private List<MemberRequest> reporterShares = new ArrayList<>();
|
/** 本次汇报新增的模块进度,不是模块累计进度。 */
|
private BigDecimal incrementProgress;
|
private BigDecimal progress;
|
private LocalDate reportDate;
|
private String remark;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
|
@Data
|
public static class MaterialRequest {
|
private Long id;
|
private Long projectId;
|
private String materialName;
|
private String materialType;
|
private String remark;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
|
@Data
|
public static class StageTransitionRequest {
|
private Long projectId;
|
private String targetStage;
|
private Map<String, Object> formData;
|
private String remark;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
|
@Data
|
public static class PhaseRequest {
|
private Long projectId;
|
private String phaseCode;
|
private String status;
|
private Map<String, Object> formData;
|
private String remark;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
|
@Data
|
public static class CategoryRequest {
|
private Long id;
|
private Long parentId;
|
private String categoryName;
|
private Integer sort;
|
private String remark;
|
}
|
|
@Data
|
public static class PolicyRequest {
|
private Long id;
|
private String policyName;
|
private LocalDate publishDate;
|
private String policyUrl;
|
private String maintainerName;
|
private String remark;
|
private List<Map<String, Object>> attachments = new ArrayList<>();
|
}
|
}
|