/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.record.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 过磅记录添加参数
 *
 * @author 徐超
 * @date  2025/01/02 16:34
 **/
@Getter
@Setter
public class BizRecordAddParam {

    /** 关联本地数据ID */
    @Schema(description = "关联本地数据ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "relationId不能为空")
    private String relationId;

    /** 车牌号码 */
    @Schema(description = "车牌号码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "licensePlate不能为空")
    private String licensePlate;

    /** 车牌颜色 */
    @Schema(description = "车牌颜色")
    private String plateColor;

    /** 车次编码 */
    @Schema(description = "车次编码")
    private String carNumber;

    /** 过毛时间 */
    @Schema(description = "过毛时间")
    private Date grossTime;

    /** 过皮时间 */
    @Schema(description = "过皮时间")
    private Date tareTime;

    /** 皮重类型 */
    @Schema(description = "皮重类型")
    private String tareType;

    /** 毛量 */
    @Schema(description = "毛量")
    private BigDecimal grossWeight;

    /** 皮重 */
    @Schema(description = "皮重")
    private BigDecimal tareWeight;

    /** 净重 */
    @Schema(description = "净重")
    private BigDecimal netWeight;

    /** 矿发重量 */
    @Schema(description = "矿发重量")
    private BigDecimal kfWeight;

    /** 司机姓名 */
    @Schema(description = "司机姓名")
    private String driverName;

    /** 司机电话 */
    @Schema(description = "司机电话")
    private String driverMobile;

    /** 货品名称 */
    @Schema(description = "货品名称")
    private String goodsName;

    /** 规格型号 */
    @Schema(description = "规格型号")
    private String goodsModel;

    /** 收货单位 */
    @Schema(description = "收货单位")
    private String receiptCompany;

    /** 发货单位 */
    @Schema(description = "发货单位")
    private String shippingCompany;

    /** 运输路线 */
    @Schema(description = "运输路线")
    private String transportCompany;

    /** 运输单位 */
    @Schema(description = "运输单位")
    private String transportRoute;

    /** 过毛车牌图片 */
    @Schema(description = "过毛车牌图片")
    private String grossPlateName;

    /** 过毛车图片 */
    @Schema(description = "过毛车图片")
    private String grossLicenseName;

    /** 过毛车头相机抓拍 */
    @Schema(description = "过毛车头相机抓拍")
    private String grossCaptureHead;

    /** 过毛车尾相机抓拍 */
    @Schema(description = "过毛车尾相机抓拍")
    private String grossCaptureTail;

    /** 过毛车仓相机抓拍 */
    @Schema(description = "过毛车仓相机抓拍")
    private String grossCaptureWare;

    /** 过毛车身相机抓拍 */
    @Schema(description = "过毛车身相机抓拍")
    private String grossCaptureBody;

    /** 过毛磅房相机抓拍 */
    @Schema(description = "过毛磅房相机抓拍")
    private String grossCapturePoundRoom;

    /** 过皮车牌图片 */
    @Schema(description = "过皮车牌图片")
    private String tarePlateName;

    /** 过皮车图片 */
    @Schema(description = "过皮车图片")
    private String tareLicenseName;

    /** 过皮车头相机抓拍 */
    @Schema(description = "过皮车头相机抓拍")
    private String tareCaptureHead;

    /** 过皮车尾相机抓拍 */
    @Schema(description = "过皮车尾相机抓拍")
    private String tareCaptureTail;

    /** 过皮车仓相机抓拍 */
    @Schema(description = "过皮车仓相机抓拍")
    private String tareCaptureWare;

    /** 过皮车身相机抓拍 */
    @Schema(description = "过皮车身相机抓拍")
    private String tareCaptureBody;

    /** 过皮磅房相机抓拍 */
    @Schema(description = "过皮磅房相机抓拍")
    private String tareCapturePoundRoom;

    /** 备注1 */
    @Schema(description = "备注1")
    private String extKey1;

    /** 备注2 */
    @Schema(description = "备注2")
    private String extKey2;

    /**过磅次数*/
    private String weighingType;

    /**预约id**/
    private String appointmentId;

    /**订单id*/
    private String orderId;
}
