package com.prolog.rdc.tms.model.entity;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Table;

/**
* 智能调度汇总表 Model
* <p>
* Copyright: Copyright (C) 2023 prolog-int, Inc. All rights reserved.
* <p>
* Company: 湖北普罗格科技股份有限公司
*
*
* @author hongbo.pan
* @since 2023-08-24 12:27:10
*/
@Data
@Table(value = "tms_intelligent_dispatch")
public class TmsIntelligentDispatch implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "智能调度id")
    @Id
    @Column(value = "intelligent_dispatch_id")
    private String intelligentDispatchId;

    @ApiModelProperty(value = "智能调度单号")
    @Column(value = "intelligent_dispatch_no")
    private String intelligentDispatchNo;

    @ApiModelProperty(value = "智能调度日期")
    @Column(value = "intelligent_dispatch_time")
    private Date intelligentDispatchTime;

    @ApiModelProperty(value = "调度限制条件")
    @Column(value = "condition")
    private String condition;

    @ApiModelProperty(value = "智能调度规则")
    @Column(value = "rule")
    private String rule;

    @ApiModelProperty(value = "已派车辆")
    @Column(value = "vehicle_num")
    private Integer vehicleNum;

    @ApiModelProperty(value = "已规划线路")
    @Column(value = "line_num")
    private Integer lineNum;

    @ApiModelProperty(value = "已派运单")
    @Column(value = "ship_bill_num")
    private Integer shipBillNum;

    @ApiModelProperty(value = "已调度车辆")
    @Column(value = "dispatch_vehicle_num")
    private Integer dispatchVehicleNum;

    @ApiModelProperty(value = "已调度线路")
    @Column(value = "dispatch_line_num")
    private Integer dispatchLineNum;

    @ApiModelProperty(value = "已调度运单")
    @Column(value = "dispatch_ship_bill_num")
    private Integer dispatchShipBillNum;

    @ApiModelProperty(value = "参与智能调度运单数")
    @Column(value = "total_ship_bill_num")
    private Integer totalShipBillNum;

    @ApiModelProperty(value = "预估成本")
    @Column(value = "estimate_cost")
    private BigDecimal estimateCost;

    @ApiModelProperty(value = "智能调度状态 数据字典：INTELLIGENT_DISPATCH_STATUS:1新建 2待调度 3调度中 4调度完成")
    @Column(value = "status")
    private Integer status;

    @ApiModelProperty(value = "参与智能调度运单id集合")
    @Column(value = "ship_bill_ids")
    private String shipBillIds;

    @ApiModelProperty(value = "请求json")
    @Column(value = "request_json")
    private String requestJson;

    @ApiModelProperty(value = "调度结果")
    @Column(value = "response_json")
    private String responseJson;

    @ApiModelProperty(value = "备注")
    @Column(value = "memo")
    private String memo;

    @ApiModelProperty(value = "智能调度进程标识")
    @Column(value = "process_id")
    private String processId;

    @ApiModelProperty(value = "回调json")
    @Column(value = "process_result")
    private String processResult;

    @ApiModelProperty(value = "企业ID")
    @Column(value = "enterprise_id")
    private Long enterpriseId;

    @ApiModelProperty(value = "企业名称")
    @Column(value = "enterprise_name")
    private String enterpriseName;

    @ApiModelProperty(value = "创建时间")
    @Column(value = "createtime")
    private Date createtime;

    @ApiModelProperty(value = "创建人")
    @Column(value = "createperson")
    private String createperson;

    @ApiModelProperty(value = "修改时间")
    @Column(value = "updatetime")
    private Date updatetime;

    @ApiModelProperty(value = "修改人")
    @Column(value = "updateperson")
    private String updateperson;

}
