package com.chinaweal.aiccs.aiccs.punishment.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 奖惩措施反馈记录表
 *
 * @author lroyia
 * @since 2025/5/7 16:26
 **/
@Data
@Accessors(chain = true)
@ApiModel("奖惩措施反馈记录表")
@TableName(schema = "AICCS", value = "PUNISHMENT_MEASURE_FEEDBACK_LOG")
public class PunishmentMeasureFeedbackLog implements Serializable {

    private static final long serialVersionUID = 1L;

        /**
     * 业务流水号
     */
    @TableId("BUSI_NO")
    @ApiModelProperty("业务流水号")
    private String busiNo;

    /**
     * 执行措施编码
     */
    @TableField("SID")
    @ApiModelProperty("执行措施编码")
    private String sid;

    /**
     * 奖惩名单名称（必填）
     */
    @TableField("MDMC")
    @ApiModelProperty("奖惩名单名称（必填）")
    private String mdmc;

    /**
     * 主体名称（必填）
     */
    @TableField("ZTMC")
    @ApiModelProperty("主体名称（必填）")
    private String ztmc;

    /**
     * 主体类别（必填）（0：法人；1：自然人）
     */
    @TableField("ZTLB")
    @ApiModelProperty("主体类别（必填）（0：法人；1：自然人）")
    private String ztlb;

    /**
     * 奖惩类别（必填）（1：惩戒；2：激励）
     */
    @TableField("JCLB")
    @ApiModelProperty("奖惩类别（必填）（1：惩戒；2：激励）")
    private String jclb;

    /**
     * 统一社会信用代码（主体类别为0时，三项必填一项）
     */
    @TableField("TYSHXYDM")
    @ApiModelProperty("统一社会信用代码（主体类别为0时，三项必填一项）")
    private String tyshxydm;

    /**
     * 主体工商注册号（主体类别为0时，三项必填一项）
     */
    @TableField("QYZCH")
    @ApiModelProperty("主体工商注册号（主体类别为0时，三项必填一项）")
    private String qyzch;

    /**
     * 主体组织机构代码（主体类别为0时，三项必填一项）
     */
    @TableField("ZZJGDM")
    @ApiModelProperty("主体组织机构代码（主体类别为0时，三项必填一项）")
    private String zzjgdm;

    /**
     * 主体证件类别（主体类别为1时必填。）（10：身份证；20：军人身份有效证件；30：港澳居民往来大陆通行证；40：台湾居民往来大陆通行证；50：护照；90：其他法定认可的证件）
     */
    @TableField("ZJLX")
    @ApiModelProperty("主体证件类别（主体类别为1时必填。）（10：身份证；20：军人身份有效证件；30：港澳居民往来大陆通行证；40：台湾居民往来大陆通行证；50：护照；90：其他法定认可的证件）")
    private String zjlx;

    /**
     * 主体证件号码（主体类别为1时必填）
     */
    @TableField("ZJHM")
    @ApiModelProperty("主体证件号码（主体类别为1时必填）")
    private String zjhm;

    /**
     * 执行措施内容（必填）
     */
    @TableField("CSNR")
    @ApiModelProperty("执行措施内容（必填）")
    private String csnr;

    /**
     * 涉及金额（必填，单位为元，不涉及金额时填0）
     */
    @TableField("SJJE")
    @ApiModelProperty("涉及金额（必填，单位为元，不涉及金额时填0）")
    private String sjje;

    /**
     * 奖惩说明（必填）
     */
    @TableField("JCSM")
    @ApiModelProperty("奖惩说明（必填）")
    private String jcsm;

    /**
     * 事项编码（选填，执行措施对应的具体事项编码）
     */
    @TableField("QLBM")
    @ApiModelProperty("事项编码（选填，执行措施对应的具体事项编码）")
    private String qlbm;

    /**
     * 事项名称（选填，执行措施对应的具体事项名称）
     */
    @TableField("QLMC")
    @ApiModelProperty("事项名称（选填，执行措施对应的具体事项名称）")
    private String qlmc;

    /**
     * 名单查询流水号
     */
    @TableField("CXCODE")
    @ApiModelProperty("名单查询流水号")
    private String cxcode;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    @ApiModelProperty("创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATED_TIME")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDateTime createdTime;
}
