add:1.补充后端报功功能。

This commit is contained in:
2026-07-15 13:43:16 +08:00
parent 3fc52c9af2
commit 129b596c1b
6 changed files with 239 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package org.nl.pms.projectProgressReport.dto;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* @author liejiu
*/
@Data
public class ProjectProgressReportCreateDTO {
@NotNull(message = "任务明细ID不能为空")
private Long detailId;
@NotNull(message = "报功日期不能为空")
private LocalDate reportDate;
@NotNull(message = "报功工时不能为空")
private BigDecimal workHours;
@NotNull(message = "报功前进度不能为空")
@Min(value = 0, message = "报功前进度不能小于0")
@Max(value = 100, message = "报功前进度不能大于100")
private Integer progressBefore;
@NotNull(message = "本次进度增量不能为空")
@Min(value = 0, message = "本次进度增量不能小于0")
@Max(value = 100, message = "本次进度增量不能大于100")
private Integer progressIncrement;
@NotBlank(message = "工作内容不能为空")
private String workContent;
private String remainingWork;
@NotNull(message = "是否加班不能为空")
private Integer isOvertime;
}

View File

@@ -0,0 +1,61 @@
package org.nl.pms.projectProgressReport.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author liejiu
*/
@Data
@TableName("project_progress_report")
public class ProjectProgressReport {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@TableField("detail_id")
private Long detailId;
@TableField("project_id")
private Long projectId;
@TableField("report_date")
private LocalDate reportDate;
@TableField("work_hours")
private BigDecimal workHours;
@TableField("progress_before")
private Integer progressBefore;
@TableField("progress_increment")
private Integer progressIncrement;
@TableField("work_content")
private String workContent;
@TableField("remaining_work")
private String remainingWork;
@TableField("is_overtime")
private Integer isOvertime;
@TableField("status")
private Integer status;
@TableField("created_time")
private LocalDateTime createdTime;
@TableField("created_name")
private String createdName;
@TableField("updated_time")
private LocalDateTime updatedTime;
}

View File

@@ -0,0 +1,10 @@
package org.nl.pms.projectProgressReport.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.pms.projectProgressReport.entity.ProjectProgressReport;
/**
* @author liejiu
*/
public interface ProjectProgressReportMapper extends BaseMapper<ProjectProgressReport> {
}

View File

@@ -0,0 +1,39 @@
package org.nl.pms.projectProgressReport.vo;
import lombok.Data;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
* @author liejiu
*/
@Data
public class ProjectProgressReportDetailVO {
private Long detailId;
private Long masterId;
private Long projectId;
private String projectCode;
private String projectName;
private String masterName;
private String subItemName;
private Integer detailSeq;
private String detailName;
private String detailDescription;
private Integer devDays;
private LocalDate devStartDate;
private LocalDate devEndDate;
private List<String> taskMembers;
private Integer status;
private String statusLabel;
private Integer priority;
private String priorityLabel;
private Integer progress;
private Long progressId;
private String remark;
private Boolean canCreateReport;
private String canCreateReportReason;
private List<ProjectProgressReportVO> reports = new ArrayList<>();
}

View File

@@ -0,0 +1,32 @@
package org.nl.pms.projectProgressReport.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author liejiu
*/
@Data
public class ProjectProgressReportVO {
private Long id;
private Long detailId;
private Long projectId;
private LocalDate reportDate;
private BigDecimal workHours;
private Integer progressBefore;
private Integer progressIncrement;
private Integer progressAfter;
private String workContent;
private String remainingWork;
private Integer isOvertime;
private String isOvertimeLabel;
private Integer status;
private String statusLabel;
private String createdName;
private LocalDateTime createdTime;
private LocalDateTime updatedTime;
}

View File

@@ -0,0 +1,53 @@
package org.nl.pms.projectProgressReport.vo;
import lombok.Data;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
* @author liejiu
*/
@Data
public class ProjectProgressTaskListVO {
private List<ProjectTaskVO> projects = new ArrayList<>();
@Data
public static class ProjectTaskVO {
private Long projectId;
private String projectCode;
private String projectName;
private String projectType;
private String developLeader;
private String projectLeader;
private Integer detailCount;
private List<TaskDetailVO> details = new ArrayList<>();
}
@Data
public static class TaskDetailVO {
private Long detailId;
private Long masterId;
private String masterName;
private String subItemName;
private Integer detailSeq;
private String detailName;
private String detailDescription;
private Integer devDays;
private LocalDate devStartDate;
private LocalDate devEndDate;
private List<String> taskMembers;
private Integer status;
private String statusLabel;
private Integer priority;
private String priorityLabel;
private Integer progress;
private Long progressId;
private String remark;
private Boolean canCreateReport;
private String canCreateReportReason;
private Integer reportCount;
}
}