using MadRunFabric.Model;
using System;
using System.Collections.Generic;
using System.Text;

namespace DistributionApi.Model.Dto
{
    /// <summary>
    /// 所有工单 - 随机工单 和 计划分送工单
    /// </summary>
    public class Distri_PlanAndOrderDto
    {
        /// <summary>
        /// 自增id
        /// </summary>
        public string id { get; set; }
        /// <summary>
        /// 工单分类(1随机工单,2分送工单,3计划工单)
        /// </summary>
        public int wosorts { get; set; }
        /// <summary>
        /// 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信
        /// </summary>
        public int channel { get; set; }
        /// <summary>
        /// 计划工单名称
        /// </summary>
        public string planname { get; set; }
        ///// <summary>
        ///// 紧急程度 - 1一般 2紧急
        ///// </summary>
        //public int emergencyid { get; set; }
        /// <summary>
        /// 计划Id
        /// </summary>
        public string planid { get; set; }
        /// <summary>
        /// 计划工单Id
        /// </summary>
        public string plantaskid { get; set; }
        /// <summary>
        /// 项目名称id
        /// </summary>
        public string projectid { get; set; }
        /// <summary>
        /// 工单编号 -------------------------------------------
        /// </summary>
        public string wocode { get; set; } = "";
        /// <summary>
        /// 配送工单状态:0创建工单，1转派或者抢单（待取货），2已取货（配送中)   ----- 备注计划工单没有取货
        /// </summary>
        public int planandorder_state { get; set; } = 0;
        /// <summary>
        /// 电梯岗 - 工单状态(0创建工单，1已接单（待取货），2已取货（待配送）)，9  -------------------------------------------
        /// </summary>
        public int wostate_elevator { get; set; } = 0;
        /// <summary>
        /// 接单/开始时间
        /// </summary>
        public DateTime? assigtime { get; set; }
        /// <summary>
        /// 处理时间(计划工单完成时间，随机工单送达时间)
        /// </summary>
        public DateTime dealtime { get; set; }

        /// <summary>
        /// 紧急程度 - 1一般 2紧急
        /// </summary>
        public int emergencyid { get; set; } = 0;
        /// <summary>
        /// 配送物品 -------------------------------------------
        /// </summary>
        public List<DistributionGoodsListByTask> goodslist { get; set; }

        /// <summary>
        /// 收件（地址，科室，联系） ------------------------------------------- 把收/发地址信息保存起来，保证地址的独立性
        /// </summary>
        public List<DistributionDddressModel> receiverlist { get; set; }
        /// <summary>
        /// 发货（地址，科室，联系）
        /// </summary>
        public List<DistributionDddressModel> deliverylist { get; set; }

        /// <summary>
        /// 是否送达（0否1是） - 异常上报 完结
        /// </summary>
        public int sended { get; set; }
        /// <summary>
        /// 异常说明
        /// </summary>
        public string exceptions { get; set; }
        /// <summary>
        /// 是否异常工单（0否1是） - 主管完结
        /// </summary>
        public int isexceptions { get; set; }
        /// <summary>
        /// 是否违规 0否 1是
        /// </summary>
        public int isoffence { get; set; }
        /// <summary>
        /// 违规倒计时剩余时间（分钟）
        /// </summary>
        public int timeout { get; set; } = 0;
        /// <summary>
        /// 抢单倒计时剩余时间（秒）
        /// </summary>
        public int timeout_receive { get; set; } = 0;

        /// <summary>
        /// 抢单人/计划任务参与人 -------------------------------------------
        /// </summary>
        public List<string> touser { get; set; }
        /// <summary>
        /// 抢单人/计划任务参与人 电话 -------------------------------------------
        /// </summary>
        public List<string> tousertel { get; set; }
        ///// <summary>
        ///// 是否最后一步 0否 1是
        ///// </summary>
        //public int islast { get; set; } = 0;

        /// <summary>
        /// 添加人工号 -------------------------------------------
        /// </summary>
        public string createtby { get; set; }
        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime createtime { get; set; } = DateTime.Now;
    }
}
