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;

}
