From 129b596c1bece64cef7b16bd2275b992e6e65335 Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Wed, 15 Jul 2026 13:43:16 +0800 Subject: [PATCH] =?UTF-8?q?add:1.=E8=A1=A5=E5=85=85=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8A=A5=E5=8A=9F=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/ProjectProgressReportCreateDTO.java | 44 +++++++++++++ .../entity/ProjectProgressReport.java | 61 +++++++++++++++++++ .../mapper/ProjectProgressReportMapper.java | 10 +++ .../vo/ProjectProgressReportDetailVO.java | 39 ++++++++++++ .../vo/ProjectProgressReportVO.java | 32 ++++++++++ .../vo/ProjectProgressTaskListVO.java | 53 ++++++++++++++++ 6 files changed, 239 insertions(+) create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/dto/ProjectProgressReportCreateDTO.java create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/entity/ProjectProgressReport.java create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/mapper/ProjectProgressReportMapper.java create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportDetailVO.java create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportVO.java create mode 100644 pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressTaskListVO.java diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/dto/ProjectProgressReportCreateDTO.java b/pms/src/main/java/org/nl/pms/projectProgressReport/dto/ProjectProgressReportCreateDTO.java new file mode 100644 index 0000000..dee2fa5 --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/dto/ProjectProgressReportCreateDTO.java @@ -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; +} diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/entity/ProjectProgressReport.java b/pms/src/main/java/org/nl/pms/projectProgressReport/entity/ProjectProgressReport.java new file mode 100644 index 0000000..0be524e --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/entity/ProjectProgressReport.java @@ -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; +} diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/mapper/ProjectProgressReportMapper.java b/pms/src/main/java/org/nl/pms/projectProgressReport/mapper/ProjectProgressReportMapper.java new file mode 100644 index 0000000..d9434b0 --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/mapper/ProjectProgressReportMapper.java @@ -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 { +} diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportDetailVO.java b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportDetailVO.java new file mode 100644 index 0000000..b87779d --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportDetailVO.java @@ -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 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 reports = new ArrayList<>(); +} diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportVO.java b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportVO.java new file mode 100644 index 0000000..92cf8aa --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressReportVO.java @@ -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; +} diff --git a/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressTaskListVO.java b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressTaskListVO.java new file mode 100644 index 0000000..d79ced3 --- /dev/null +++ b/pms/src/main/java/org/nl/pms/projectProgressReport/vo/ProjectProgressTaskListVO.java @@ -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 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 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 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; + } +}