package com.ruoyi.bgt.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 包工头招工对象 bgt_project_recruit
 *
 * @author ruoyi
 * @date 2025-02-17
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bgt_project_recruit")
@ApiModel("包工头招工视图对象")
public class BgtProjectRecruit implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键ID
	 */
	@ApiModelProperty("主键ID")
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 项目ID
	 */
	@Excel(name = "项目ID")
	@ApiModelProperty("项目ID")
	private Long projectId;

	/**
	 * 标段ID
	 */
	@Excel(name = "标段ID")
	@ApiModelProperty("标段ID")
	private Long sectionId;

	/**
	 * 分包ID
	 */
	@Excel(name = "分包ID")
	@ApiModelProperty("分包ID")
	private Long subId;

	/**
	 * 任务ID
	 */
	@Excel(name = "任务ID")
	@ApiModelProperty("任务ID")
	private Long taskId;

	/**
	 * 招工名称
	 */
	@Excel(name = "招工名称")
	@ApiModelProperty("招工名称")
	private String recruitName;

	/**
	 * 招工地址
	 */
	@Excel(name = "招工地址")
	@ApiModelProperty("招工地址")
	private String recruitAddress;

	/**
	 * 招工金额
	 */
	@Excel(name = "招工金额")
	@ApiModelProperty("招工金额")
	private BigDecimal recruitAmount;

	/**
	 * 招工数量
	 */
	@Excel(name = "招工数量")
	@ApiModelProperty("招工数量")
	private Integer recruitStaffNum;

	/**
	 * 招工开始时间
	 */
	@ApiModelProperty("招工开始时间")
	private LocalDate recruitBeginTime;

	@ApiModelProperty("招工结束时间")
	private LocalDate recruitEndTime;

	@ApiModelProperty("招工开工时间")
	private LocalDate recruitWorkBeginTime;

	/**
	 * 联系人
	 */
	@Excel(name = "联系人")
	@ApiModelProperty("联系人")
	private String recruitContactPerson;

	/**
	 * 联系电话
	 */
	@Excel(name = "联系电话")
	@ApiModelProperty("联系电话")
	private String recruitContactPhone;

	/**
	 * 招工描述
	 */
	@Excel(name = "招工描述")
	@ApiModelProperty("招工描述")
	private String subDescribe;

	/**
	 * 招工要求
	 */
	@Excel(name = "招工要求")
	@ApiModelProperty("招工要求")
	private String recruitRequirement;

	@ApiModelProperty("上班时间")
	private LocalTime beginWorkTime;

	@ApiModelProperty("下班时间")
	private LocalTime endWorkTime;

	@ApiModelProperty("工种")
	private String typeOfWork;

	@ApiModelProperty("创建者ID")
	private Long userId;

	/**
	 * 删除标志（0代表存在 2代表删除）
	 */
	@Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
	@ApiModelProperty("删除标志（0代表存在 2代表删除）")
//    @TableLogic
	private String delFlag;

	/**
	 * 创建者
	 */
	@Excel(name = "创建者")
	@ApiModelProperty("创建者")
	@TableField(fill = FieldFill.INSERT)
	private String createBy;

	/**
	 * 创建时间
	 */
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("创建时间")
	@TableField(fill = FieldFill.INSERT)
	private LocalDateTime createTime;

	/**
	 * 更新者
	 */
	@Excel(name = "更新者")
	@ApiModelProperty("更新者")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String updateBy;

	/**
	 * 更新时间
	 */
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("更新时间")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private LocalDateTime updateTime;

	/**
	 * 备注
	 */
	@Excel(name = "备注")
	@ApiModelProperty("备注")
	private String remark;

}
