package com.hotent.project.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hotent.base.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 *@author: zhao yue yue
 *@create: 2025-11-18 10:21
 */
@ApiModel(value = "CostProjectSupervise", description = "督办表")
@TableName(value ="cost_project_supervise")
@Data
@EqualsAndHashCode(callSuper=false)
@Accessors(chain = true)
public class CostProjectSupervise extends BaseModel<CostProjectSupervise> implements Serializable {

    private static final long serialVersionUID = 21L;

    @ApiModelProperty(value = "【系统标记】主键ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @TableId(value = "id")
    private String id;
    @ApiModelProperty(value = "项目id")
    @TableField(value = "project_id")
    private String projectId;
    @ApiModelProperty(value = "监督人")
    @TableField(value = "supervisor_id")
    private String supervisorId;
    @ApiModelProperty(value = "监督人")
    @TableField(value = "supervisor_name")
    private String supervisorName;
    @ApiModelProperty(value = "要求时间")
    @TableField(value = "require_time")
    private LocalDateTime requireTime;
    @ApiModelProperty(value = "督促要求内容")
    @TableField(value = "require_content")
    private String requireContent;
    @ApiModelProperty(value = "附件id")
    @TableField(value = "attachment_urls")
    private String attachmentUrls;
    @ApiModelProperty(value = "状态：0：在办、1：办结")
    @TableField(value = "status")
    private Integer status;
    @ApiModelProperty(value = "逻辑删除：0正常 1已删除")
    @TableField(value = "is_deleted")
    private Integer isDeleted;
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "创建人名称")
    @TableField(value = "create_by")
    private String createBy;
    @ApiModelProperty(value = "创建人ID")
    @TableField(value = "create_id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private String createId;
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time")
    private LocalDateTime updateTime;
    @TableField(value = "update_by")
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @TableField(value = "update_id")
    @ApiModelProperty(value = "更新人ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private String updateId;
}
