package cn.gov.customs.data.entity.wxjy.bus;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 按业务现场关区分类，月度统计出入境报关单总体通关时间和海关通关时间中间数据表
 *
 * @author wq
 * @Aug 20, 2025
 */
@Entity
@Data
@Table(name = "WXJY_CUSTOM_M_STAT")
public class CustomMonthlyStat implements Serializable {
    private static final long serialVersionUID = 6122282857637625069L;
    @Id
    @Column(name = "ID", length = 100)
    private String id;

	// 月度 如2019-08
	@Column(name = "MONTH", length = 7, nullable = false)
	private String month;

	// 业务现场关区代码
	@Column(name = "CUSTOM_CODE", length = 10)
	private String customCode;

	// 进口单数
	@Column(name = "IMP_DECL_COUNT", precision = 19)
	private Integer impDeclCount;

	// 进口查验单数
	@Column(name = "IMP_MAN_DECL_COUNT", precision = 19)
	private Integer impManDeclCount;

	// 进口接单（人工审单）单数
	@Column(name = "IMP_MANUAL_AUDIT_DECL_COUNT", precision = 19)
	private Integer impManualAuditDeclCount;

	// 上个月进口单数
	@Column(name = "IMP_DECL_COUNT_LM", precision = 19)
	private Integer impDeclCountLastMonth;

	// 去年12月进口单数
	@Column(name = "IMP_DECL_COUNT_LY_DEC", precision = 19)
	private Integer impDeclCountLastYearDecember;

	// 今年截止当月总进口单数
	@Column(name = "IMP_DECL_COUNT_CURYEAR", precision = 19)
	private Integer impDeclCountCurentYear;

	// 前年总进口单数
	@Column(name = "IMP_DECL_COUNT_YBL", precision = 19)
	private Integer impDeclCountYearBeforeLast;

	// 进口平均整体通关时间（小时）
	@Column(name = "IMP_TOTAL_COST", precision = 19, scale = 8)
	private BigDecimal impTotalCost;

	// 进口平均整体通关时间-上月
	@Column(name = "IMP_TOTAL_COST_LM", precision = 19, scale = 8)
	private BigDecimal impTotalCostLastMonth;

	// 进口平均整体通关时间-去年12月
	@Column(name = "IMP_TOTAL_COST_LY_DEC", precision = 19, scale = 8)
	private BigDecimal impTotalCostLastYearDecember;

	// 进口平均整体通关时间-1至当月
	@Column(name = "IMP_TOTAL_COST_CY", precision = 19, scale = 8)
	private BigDecimal impTotalCostCurentYear;

	// 进口平均整体通关时间-前年
	@Column(name = "IMP_TOTAL_COST_YBL", precision = 19, scale = 8)
	private BigDecimal impTotalCostYearBeforeLast;

	// 进口平均海关通关时间（小时）
	@Column(name = "IMP_CU_COST", precision = 19, scale = 8)
	private BigDecimal impCuCost;

	// 进口平均海关通关时间（小时）-上月
	@Column(name = "IMP_CU_COST_LM", precision = 19, scale = 8)
	private BigDecimal impCuCostLastMonth;

	// 进口平均海关通关时间-去年12月
	@Column(name = "IMP_CU_COST_LY_DEC", precision = 19, scale = 8)
	private BigDecimal impCuCostLastYearDecember;

	// 进口平均海关通关时间-1至当月
	@Column(name = "IMP_CU_COST_CY", precision = 19, scale = 8)
	private BigDecimal impCuCostCurentYear;

	// 进口平均海关通关时间-前年
	@Column(name = "IMP_CU_COST_YBL", precision = 19, scale = 8)
	private BigDecimal impCuCostYearBeforeLast;

	// 出口单数
	@Column(name = "EXP_DECL_COUNT", precision = 19)
	private Integer expDeclCount;

	// 出口查验单数
	@Column(name = "EXP_MAN_DECL_COUNT", precision = 19)
	private Integer expManDeclCount;

	// 出口接单（人工审单）单数
	@Column(name = "EXP_MANUAL_AUDIT_DECL_COUNT", precision = 19)
	private Integer expManualAuditDeclCount;

	// 上个月出口单数
	@Column(name = "EXP_DECL_COUNT_LM", precision = 19)
	private Integer expDeclCountLastMonth;

	// 去年12月进口单数
	@Column(name = "EXP_DECL_COUNT_LY_DEC", precision = 19)
	private Integer expDeclCountLastYearDecember;

	// 今年截止当月总出口单数
	@Column(name = "EXP_DECL_COUNT_CURYEAR", precision = 19)
	private Integer expDeclCountCurentYear;

	// 前年总出口单数
	@Column(name = "EXP_DECL_COUNT_YBL", precision = 19)
	private Integer expDeclCountYearBeforeLast;

	// 出口平均整体通关时间（小时）
	@Column(name = "EXP_TOTAL_COST", precision = 19, scale = 8)
	private BigDecimal expTotalCost;

	// 出口平均整体通关时间（小时）-上月
	@Column(name = "EXP_TOTAL_COST_LM", precision = 19, scale = 8)
	private BigDecimal expTotalCostLastMonth;

	// 出口平均整体通关时间-去年12月
	@Column(name = "EXP_TOTAL_COST_LY_DEC", precision = 19, scale = 8)
	private BigDecimal expTotalCostLastYearDecember;

	// 出口平均整体通关时间-1至当月
	@Column(name = "EXP_TOTAL_COST_CY", precision = 19, scale = 8)
	private BigDecimal expTotalCostCurentYear;

	// 出口平均整体通关时间-前年
	@Column(name = "EXP_TOTAL_COST_YBL", precision = 19, scale = 8)
	private BigDecimal expTotalCostYearBeforeLast;

	// 出口平均海关通关时间（小时）
	@Column(name = "EXP_CU_COST", precision = 19, scale = 8)
	private BigDecimal expCuCost;

	// 出口平均海关通关时间（小时）-上月
	@Column(name = "EXP_CU_COST_LM", precision = 19, scale = 8)
	private BigDecimal expCuCostLastMonth;

	// 出口平均海关通关时间-去年12月
	@Column(name = "EXP_CU_COST_LY_DEC", precision = 19, scale = 8)
	private BigDecimal expCuCostLastYearDecember;

	// 出口平均海关通关时间-1至当月
	@Column(name = "EXP_CU_COST_CY", precision = 19, scale = 8)
	private BigDecimal expCuCostCurentYear;

	// 出口平均海关通关时间-前年
	@Column(name = "EXP_CU_COST_YBL", precision = 19, scale = 8)
	private BigDecimal expCuCostYearBeforeLast;

}