package com.maintain.business.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.maintain.common.core.domain.BaseEntity;

/**
 * 报修单对象 erp_repair_form
 *
 * @author liushuai
 * @date 2025-04-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("erp_repair_form")
public class ErpRepairForm extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 车辆ID
     */
    private Long carId;
    /**
     * 车型ID
     */
    private Long vehicleModelId;
    /**
     * 客户ID
     */
    private Long clientId;
    /**
     * 客户名称
     */
    private String clientName;
    /**
     * 报修单号
     */
    private String repairNumber;
    /**
     * 报修单类型（1修理 2维护 3修理与维护）
     */
    private Integer repairType;
    /**
     * 是否返修（0否  1是）
     */
    private Integer isRebuild;
    /**
     * 报修原因
     */
    private String repairCause;
    /**
     * 公里数
     */
    private BigDecimal vehicleKilometers;
    /**
     * 旧件带走（0不带 1带走）
     */
    private Integer isOldPart;
    /**
     * 发现是否维修（0否 1是 默认0）
     */
    private Integer isFindMaintain;
    /**
     * 是否自备部件（0否 1是）
     */
    private Integer isByoPart;
    /**
     * 自备部件备注
     */
    private String byoPartRemark;
    /**
     * 自备部件照片
     */
    private String byoPartUrl;
    /**
     * 仪表盘照片
     */
    private String dashboardUrl;
    /**
     * 车身状况照片
     */
    private String bodyConditionUrl;
    /**
     * 是否拖车（0否 1是）
     */
    private String isTrailer;
    /**
     * 拖车单据编号
     */
    private String trailerDocumentNumber;
    /**
     * 拖车公司
     */
    private String trailerCompany;
    /**
     * 拖车车牌号
     */
    private String trailerPlateNumber;
    /**
     * 拖车司机
     */
    private String trailerDriver;
    /**
     * 拖车联系电话
     */
    private String trailerPhone;
    /**
     * 拖车公里
     */
    private BigDecimal trailerVehicleKilometers;
    /**
     * 拖车费用
     */
    private BigDecimal trailerMoney;
    /**
     * 拖车开始时间
     */
    private Date trailerStartTime;
    /**
     * 拖车结束时间
     */
    private Date trailerEndTime;
    /**
     * 拖车备注
     */
    private String trailerRemark;
    /**
     * 救援地点
     */
    private String rescueLocation;
    /**
     * 目的地点
     */
    private String destinationLocation;
    /**
     * 承修公司
     */
    private String repairerCompany;
    /**
     * 承修部门ID
     */
    private Long repairerDeptId;
    /**
     * 承修部门名称
     */
    private String repairerDeptName;
    /**
     * 承修班组ID
     */
    private Long repairerGroupId;
    /**
     * 承修班组名称
     */
    private String repairerGroupName;
    /**
     * 故障项目
     */
    private String malfunctionItem;
    /**
     * 检验项目
     */
    private String examineItem;
    /**
     * 状态（1维修中 2维修结束 3作废）
     */
    private Integer state;
    /**
     * 结算状态（1待结算 2待确认 3已确认）
     */
    private Integer settlementState;
    /**
     * 维修结束时间
     */
    private Date maintainEndTime;
    /**
     * 是否交工（0否 1是 默认0）
     */
    private Integer isDelivery;
    /**
     * 交工时间
     */
    private Date deliveryTime;
    /**
     * 结算时间
     */
    private Date settlementTime;
    /**
     * 创建部门ID （数据权限）
     */
    private Long createDeptId;

}
