进度控制开发,任务模式bug修正

This commit is contained in:
2025-04-17 16:46:47 +08:00
parent a67cac2ebe
commit e159c3acc0
30 changed files with 1537 additions and 26 deletions

View File

@@ -0,0 +1,75 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 进度管理对象 oa_progress
*
* @author hdka
* @date 2025-04-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_progress")
public class OaProgress extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键ID
*/
@TableId(value = "progress_id")
private Long progressId;
/**
* 所属项目ID(可根据实际需要)
*/
private Long projectId;
/**
* 进度类型1-项目进度2-付款进度(可根据实际约定)
*/
private Long type;
/**
* 进度名称
*/
private String progressName;
/**
* 父进度ID0或NULL表示没有父节点
*/
private Long parentId;
/**
* 删除标志0-正常1-删除
*/
@TableLogic
private Long delFlag;
/**
* 排序字段(如需)
*/
private Long sort;
/**
* 备注(如需)
*/
private String remark;
/**
* 备注(如需)
*/
private String timeRemark;
/**
* 状态位
*/
private Long status;
/**
* 套数
*/
private Long amount;
/**
* 联系人电话
*/
private String contactPhone;
}

View File

@@ -0,0 +1,88 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 进度扩展对象 oa_progress_detail
*
* @author hdka2
* @date 2025-04-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_progress_detail")
public class OaProgressDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键ID
*/
@TableId(value = "detail_id")
private Long detailId;
/**
* 关联的进度ID关联 project_progress.id
*/
private Long progressId;
/**
* 子进度名称
*/
private String detailName;
/**
* 计划开始日期(项目进度)
*/
private Date planStartDate;
/**
* 计划结束日期(项目进度)
*/
private Date planEndDate;
/**
* 实际开始日期(项目进度)
*/
private Date actualStartDate;
/**
* 实际结束日期(项目进度)
*/
private Date actualEndDate;
/**
* 完成百分比(项目进度)
*/
private BigDecimal completePercent;
/**
* 计划付款日期(付款进度)
*/
private Date planPayDate;
/**
* 应付金额(付款进度)
*/
private BigDecimal payAmount;
/**
* 已付金额(付款进度)
*/
private BigDecimal paidAmount;
/**
* 删除标志0-正常1-删除
*/
@TableLogic
private Long delFlag;
/**
* 备注(如需)
*/
private String remark;
/**
* 子进度状态
*/
private Long detailStatus;
private String department;
}

View File

@@ -0,0 +1,82 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.oa.domain.OaProgressDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.List;
/**
* 进度管理业务对象 oa_progress
*
* @author hdka
* @date 2025-04-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaProgressBo extends BaseEntity {
/**
* 主键ID
*/
private Long progressId;
/**
* 所属项目ID(可根据实际需要)
*/
@NotNull(message = "所属项目ID(可根据实际需要)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long projectId;
/**
* 进度类型1-项目进度2-付款进度(可根据实际约定)
*/
private Long type;
/**
* 进度名称
*/
private String progressName;
/**
* 父进度ID0或NULL表示没有父节点
*/
private Long parentId;
/**
* 排序字段(如需)
*/
private Long sort;
/**
* 备注(如需)
*/
private String remark;
/**
* 备注(如需)
*/
private String timeRemark;
/**
* 状态位
*/
private Long status;
/**
* 套数
*/
private Long amount;
private List<OaProgressDetailBo> detailList;
/**
* 联系人电话
*/
private String contactPhone;
}

View File

@@ -0,0 +1,108 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 进度扩展业务对象 oa_progress_detail
*
* @author hdka2
* @date 2025-04-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaProgressDetailBo extends BaseEntity {
/**
* 主键ID
*/
private Long detailId;
/**
* 关联的进度ID关联 project_progress.id
*/
private Long progressId;
/**
* 子进度名称
*/
private String detailName;
/**
* 计划开始日期(项目进度)
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date planStartDate;
/**
* 计划结束日期(项目进度)
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date planEndDate;
/**
* 实际开始日期(项目进度)
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date actualStartDate;
/**
* 实际结束日期(项目进度)
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date actualEndDate;
/**
* 完成百分比(项目进度)
*/
private BigDecimal completePercent;
/**
* 计划付款日期(付款进度)
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date planPayDate;
/**
* 应付金额(付款进度)
*/
private BigDecimal payAmount;
/**
* 已付金额(付款进度)
*/
private BigDecimal paidAmount;
/**
* 备注(如需)
*/
private String remark;
/**
* 子进度状态
*/
private Long detailStatus;
/**
* 负责部门
*/
private String department;
}

View File

@@ -9,7 +9,7 @@ import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@@ -119,5 +119,6 @@ public class EmployeeOffboardingVo {
*/
private String nickName;
private List<EmployeeFilesVo> fileList;
}

View File

@@ -0,0 +1,112 @@
package com.ruoyi.oa.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 进度扩展视图对象 oa_progress_detail
*
* @author hdka2
* @date 2025-04-14
*/
@Data
@ExcelIgnoreUnannotated
public class OaProgressDetailVo {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long detailId;
/**
* 关联的进度ID关联 project_progress.id
*/
@ExcelProperty(value = "关联的进度ID关联 project_progress.id")
private Long progressId;
/**
* 子进度名称
*/
@ExcelProperty(value = "子进度名称")
private String detailName;
/**
* 计划开始日期(项目进度)
*/
@ExcelProperty(value = "计划开始日期(项目进度)")
private Date planStartDate;
/**
* 计划结束日期(项目进度)
*/
@ExcelProperty(value = "计划结束日期(项目进度)")
private Date planEndDate;
/**
* 实际开始日期(项目进度)
*/
@ExcelProperty(value = "实际开始日期(项目进度)")
private Date actualStartDate;
/**
* 实际结束日期(项目进度)
*/
@ExcelProperty(value = "实际结束日期(项目进度)")
private Date actualEndDate;
/**
* 完成百分比(项目进度)
*/
@ExcelProperty(value = "完成百分比(项目进度)")
private BigDecimal completePercent;
/**
* 计划付款日期(付款进度)
*/
@ExcelProperty(value = "计划付款日期(付款进度)")
private Date planPayDate;
/**
* 应付金额(付款进度)
*/
@ExcelProperty(value = "应付金额(付款进度)")
private BigDecimal payAmount;
/**
* 已付金额(付款进度)
*/
@ExcelProperty(value = "已付金额(付款进度)")
private BigDecimal paidAmount;
/**
* 备注(如需)
*/
@ExcelProperty(value = "备注(如需)")
private String remark;
/**
* 子进度状态
*/
@ExcelProperty(value = "子进度状态")
private Long detailStatus;
/**
* 负责部门
*/
private String department;
private Long remainTime;
}

View File

@@ -0,0 +1,111 @@
package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.oa.domain.OaProgress;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 进度管理视图对象 oa_progress
*
* @author hdka
* @date 2025-04-14
*/
@Data
@ExcelIgnoreUnannotated
public class OaProgressVo {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long progressId;
/**
* 所属项目ID(可根据实际需要)
*/
@ExcelProperty(value = "所属项目ID(可根据实际需要)")
private Long projectId;
/**
* 所属项目ID(可根据实际需要)
*/
private String projectName;
/**
* 所属项目ID(可根据实际需要)
*/
private String projectNum;
/**
* 进度类型1-项目进度2-付款进度(可根据实际约定)
*/
@ExcelProperty(value = "进度类型1-项目进度2-付款进度(可根据实际约定)")
private Long type;
/**
* 进度名称
*/
@ExcelProperty(value = "进度名称")
private String progressName;
/**
* 父进度ID0或NULL表示没有父节点
*/
@ExcelProperty(value = "父进度ID0或NULL表示没有父节点")
private Long parentId;
/**
* 排序字段(如需)
*/
@ExcelProperty(value = "排序字段(如需)")
private Long sort;
/**
* 备注(如需)
*/
@ExcelProperty(value = "备注(如需)")
private String remark;
/**
* 备注(如需)
*/
private String timeRemark;
/**
* 状态位
*/
@ExcelProperty(value = "状态位")
private Long status;
/**
* 套数
*/
private Long amount;
private List<OaProgressVo> children;
/**
* 联系人电话
*/
private String contactPhone;
// 新增统计字段
private Long progressSize;
private Long finishCount;
private Double completionPercent;
private Long remainTime;
private Double detailCompletePercent;
private String nowLevel;
private Long nowLevelId;
// 项目合同金额
private Double funds;
}

View File

@@ -11,6 +11,8 @@ import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.oa.domain.SysOaTask;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@@ -23,6 +25,7 @@ import java.util.List;
*/
@Data
@ExcelIgnoreUnannotated
@NoArgsConstructor
public class SysOaProjectVo {
private static final long serialVersionUID = 1L;
@@ -219,4 +222,6 @@ public class SysOaProjectVo {
* 最近更新时间
*/
private Date updateTime;
private List<OaProgressVo> progressList;
}

View File

@@ -15,4 +15,6 @@ public class UserFilesVo {
private String phonenumber;
private List<EmployeeFilesVo> fileList;
private String files;
}