package cn.iocoder.yudao.module.tickets.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 维修工单表
 *
 * @author 小李
 * @date 9:32 2024/9/25
**/
@Data
@TableName("dl_repair_tickets")
@EqualsAndHashCode(callSuper = true)
public class Tickets extends TenantBaseDO {

    /**
     * 主键标识
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 工单号;自动生成
     */
    private String ticketNo;

    /**
     * 业务类型(repair_type)
     */
    private String repairType;

    /**
     * 用户ID(system_users表的ID)
     */
    private String userId;

    /**
     * 用户名(base_customer_main表的cus_name)
     */
    private String userName;

    /**
     * 用户手机号(base_customer_main表的phone_number)
     */
    private String userMobile;

    /**
     * 车辆ID(base_car_main表的ID);选择用户之后选择车辆，有直接选，没有就添加
     */
    private String carId;

    /**
     * 车牌号(base_car_main表的license_number)
     */
    private String carNo;

    /**
     * 车架号(base_car_main的vin)
     */
    private String carVin;

    /**
     * 车辆品牌ID(base_car_brand表的ID);车辆存在就会有品牌，没有就需要新增
     */
    private String carBrandId;

    /**
     * 车辆品牌名称(base_car_brand表的brand_name)
     */
    private String carBrandName;

    /**
     * 车辆品牌类型(base_car_brand表的brand_type)
     */
    private String carBrandType;

    /**
     * 服务顾问ID(system_users表的ID)
     */
    private String adviserId;

    /**
     * 服务顾问名字(system_user表的nickname)
     */
    private String adviserName;

    /**
     * 结算方法(字典repair_pay_type);可能是组合结算(微信+现金等)，所以多选
     */
    private String payType;

    /**
     * 维修建议
     */
    private String repairAdvice;

    /**
     * 质保说明(公里)
     */
    private String qualityMileage;

    /**
     * 质保说明(天数)
     */
    private String qualityDay;

    /**
     * 是否终检(字典yes_no);已存在于系统中(是:0,否:1)
     */
    private String endCheck;

    /**
     * 维修旧件处理方式(字典repair_part_disposal)
     */
    private String partDisposal;

    /**
     * 备注
     */
    private String remark;

    /**
     * 工单类型(字典repair_tickets_type)
     */
    private String ticketType;

    /**
     * 门店ID(base_company表的ID)
     */
    private String corpId;

    /**
     * 部门ID
     */
    private Long deptId;

    /** 工单子项的总数（每一个子项的数量） */
    private Integer count;

    /** 工单项目总价 */
    private BigDecimal projectPrice;

    /** 工单配件总价 */
    private BigDecimal partPrice;

    /** 工单其他总价 */
    private BigDecimal otherPrice;

    /** 工单总价 */
    private BigDecimal totalPrice;

    /** 是否已结算 */
    private String ticketsStatus;

    /** 进厂时间 */
    private Date inTime;

    /** 预计完工时间 */
    private Date outTime;

    /** 参考成本 */
    private BigDecimal cost;

    /** 参考毛利 */
    private BigDecimal profit;

    /** 领料状态 */
    private String partStatus;

    /** 工单进行状态 */
    private String ticketsWorkStatus;
}
