package org.springblade.openapi.ocr.pojo.vo.result;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.core.tool.utils.DateUtil;

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

/**
 * 车辆运输凭证批次明细表 实体类
 *
 * @author BladeX
 * @since 2024-10-23
 */
@Data
@Schema(description = "凭证数据对象")
public class TransportCertificateBatchDetailData implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;
	/**
	 * 磅单车牌号
	 */
	@Schema(description = "磅单车牌号")
	private String poundPlateNo;
	/**
	 * 行驶证上的车牌号
	 */
	@Schema(description = "行驶证上的车牌号")
	private String drivingPlateNo;
	/**
	 * 车头车牌号
	 */
	@Schema(description = "车头车牌号")
	private String carFrontPlateNo;
	/**
	 * 到货日期
	 */
	@JsonFormat(pattern = DateUtil.PATTERN_DATE, timezone = "GMT+8")
	@Schema(description = "到货日期")
	private Date supplyMaterialDate;
	/**
	 * 货物名称
	 */
	@Schema(description = "货物名称")
	private String productName;
	/**
	 * 规格料型
	 */
	@Schema(description = "规格料型")
	private String specificationMaterial;
	/**
	 * 毛重（吨）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "毛重（吨）")
	private BigDecimal grossWeight;
	/**
	 * 皮重（吨）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "皮重（吨）")
	private BigDecimal skinWeight;
	/**
	 * 净重（吨）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "净重（吨）")
	private BigDecimal netWeight;
	/**
	 * 扣杂（吨）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "扣杂（吨）")
	private BigDecimal miscellaneousWeight;
	/**
	 * 实收（吨）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "实收（吨）")
	private BigDecimal realityWeight;
	/**
	 * 驾驶证是否有效（1 否 2 是）
	 */
	@JsonSerialize(nullsUsing = NullSerializer.class)
	@Schema(description = "驾驶证是否有效（1 否 2 是）")
	private Integer isDriverLicenseValid;
}
