package com.cpxt.biz.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.cpxt.common.annotation.Excel;
import com.cpxt.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 订单任务对象 biz_order_task
 * 
 * @author ruoyi
 * @date 2024-12-20
 */
@Data
public class BizOrderTask
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Integer id;

    /** 任务code */
    private String code;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String name;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 路线ID */
    @Excel(name = "路线ID")
    private Long routeId;

    /** 路线名称 */
    @Excel(name = "路线名称")
    private String routeName;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 司机ID */
    @Excel(name = "司机ID")
    private Long driverId;

    /** 司机名称 */
    @Excel(name = "司机名称")
    private String driverName;

    /** 副驾司机ID */
    @Excel(name = "副驾司机ID")
    private Long copilotId;

    /** 副驾司机名称 */
    @Excel(name = "副驾司机名称")
    private String copilotName;

    /** cron执行表达式 */
    @Excel(name = "cron执行表达式")
    private String cronExpression;

    /** 计划执行策略（1立即执行 2执行一次 3放弃执行） */
    @Excel(name = "计划执行策略", readConverterExp = "1=立即执行,2=执行一次,3=放弃执行")
    private String misfirePolicy;

    /** 是否并发执行（0允许 1禁止） */
    @Excel(name = "是否并发执行", readConverterExp = "0=允许,1=禁止")
    private String concurrent;

    /** 状态（0正常 1暂停） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=暂停")
    private String status;

    /** 对应定时任务ID */
    @Excel(name = "对应定时任务ID")
    private Long jobId;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 更新者 */
    private String updateBy;

    private Integer execMode;

    private String execTimes;

    private Integer orderDateMode;

}
