package com.chushang.inspection.project.po;

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 com.chushang.common.mybatis.annotation.Condition;
import com.chushang.common.mybatis.base.BaseEntity;

import java.time.LocalDateTime;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
  * @auther: zhao
  * @date: 2024/6/18 15:39
  */
/**
 * 巡检任务表
 */
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "ta_polling_task")
public class PollingTask extends BaseEntity {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 项目id
     */
    @TableField(value = "project_id")
    private Long projectId;

    /**
     * 上级id
     */
    @TableField(value = "parent_id")
    private Long parentId;

    /**
     * 任务名称
     */
    @TableField(value = "`name`")
    private String name;

    /**
     * 任务联系人
     */
    @TableField(value = "contact")
    private String contact;

    /**
     * 联系电话
     */
    @TableField(value = "phone")
    private String phone;

    /**
     * 编号
     */
    @TableField(value = "`number`")
    private String number;

    /**
     * 是否有电子巡检单
     */
    @TableField(value = "is_inspection")
    private Integer isInspection;

    /**
     * 巡检方式 （0 业务员领取 1 只能派给负责项目的业务员 2 只能派给商户对应的客户经理 ）
     */
    @TableField(value = "dispatch_method")
    private Integer dispatchMethod;

    /**
     * 审核方式
     */
    @TableField(value = "review_method")
    private Integer reviewMethod;

    /**
     * 是否重复派单（领取）
     */
    @TableField(value = "is_repeat")
    private Integer isRepeat;

    /**
     * 租户id
     */
    @TableField(value = "dept_id")
    private Long deptId;

    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private LocalDateTime endTime;

    /**
     * 任务状态 false 未使用, 1 已启用
     */
    @TableField(value = "enabled")
    private Boolean enabled;

    /**
     * 索引
     */
    @TableField(value = "search_num")
    private String searchNum;

    /**
     * 机构层级
     */
    @TableField(value = "`level`")
    private Integer level;

    /**
     * 索引下标
     */
    @TableField(value = "search_index")
    private Integer searchIndex;
}
