package com.mini.capi.biz.domain;

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 java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 工作日报数据表
 * </p>
 *
 * @author gaoxq
 * @since 2025-08-25
 */
@Getter
@Setter
@TableName("biz_project_daily_report")
public class ProjectDailyReport implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 记录创建时间，自动设置为当前时间戳
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 主键ID，唯一标识每条工作日报记录
     */
    @TableId(value = "report_id", type = IdType.AUTO)
    private String reportId;

    /**
     * 工作标题
     */
    @TableField("report_title")
    private String reportTitle;

    /**
     * 工作日期，格式为YYYY-MM-DD
     */
    @TableField("report_date")
    private LocalDate reportDate;

    /**
     * 员工ID，用于关联员工信息表（如果有）
     */
    @TableField("employee_id")
    private String employeeId;

    /**
     * 当天的工作内容，可以是任务描述、完成的工作等
     */
    @TableField("work_content")
    private String workContent;

    /**
     * 当天工作时长，单位为小时，保留两位小数
     */
    @TableField("work_hours")
    private BigDecimal workHours;

    /**
     * 当天工作进度，以百分比形式表示（例如50.0表示50%）
     */
    @TableField("work_progress")
    private BigDecimal workProgress;

    /**
     * 当天遇到的问题或困难
     */
    @TableField("issues_encountered")
    private String issuesEncountered;

    /**
     * 针对遇到的问题的解决方案或处理措施
     */
    @TableField("solutions")
    private String solutions;

    /**
     * 项目名称
     */
    @TableField("project_id")
    private String projectId;

    /**
     * 记录最后更新时间，自动更新为当前时间戳
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 租户id
     */
    @TableField("f_tenant_id")
    private String fTenantId;

    /**
     * 流程id
     */
    @TableField("f_flow_id")
    private String fFlowId;

    /**
     * 流程任务主键
     */
    @TableField("f_flow_task_id")
    private String fFlowTaskId;

    /**
     * 流程任务状态
     */
    @TableField("f_flow_state")
    private Integer fFlowState;
}
