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

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 行政处罚修复业务表
 * </p>
 *
 * @author chinaweal
 * @since 2023-04-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("TBizRemPunishment")
@ApiModel(value="TBizRemPunishment对象", description="行政处罚修复业务表")
public class TBizRemPunishment extends SuperEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 业务号
     */
    @ApiModelProperty(value = "业务号")
    @TableField("bizSeq")
    private String bizSeq;

    /**
     * 企业主键
     */
    @ApiModelProperty(value = "企业主键")
    @TableField("pripid")
    private String pripid;

    /**
     * 处罚id
     */
    @ApiModelProperty(value = "处罚id")
    @TableField("punishmentId")
    private String punishmentId;

    /**
     * 创建业务人id
     */
    @ApiModelProperty(value = "创建业务人id")
    @TableField("userId")
    private String userId;

    /**
     * 业务状态 0-受理中、1-审批中、2-已通过、3-不通过
     */
    @ApiModelProperty(value = "业务状态 0-受理中、1-审批中、2-已通过、3-不通过")
    @TableField("status")
    private String status;

    /**
     * 当前环节 1-业务受理 0-执法人员审核 2-业务审批 3-业务结束
     */
    @ApiModelProperty(value = "当前环节 1-业务受理 0-执法人员审核 2-业务审批 3-业务结束")
    @TableField("linkType")
    private String linkType;

    /**
     * 主体申请修复日期
     */
    @ApiModelProperty(value = "主体申请修复日期")
    @TableField("applyDate")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDate applyDate;

    /**
     * 准予修复决定书文号
     */
    @ApiModelProperty(value = "准予修复决定书文号")
    @TableField("repairNo")
    private String repairNo;

    /**
     * 信用修复决定时间
     */
    @ApiModelProperty(value = "信用修复决定时间")
    @TableField("repairDate")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDateTime repairDate;

    /**
     * 作出信用修复决定机关
     */
    @ApiModelProperty(value = "作出信用修复决定机关")
    @TableField("repairOrg")
    private String repairOrg;

    /**
     * 作出信用修复决定机关名称
     */
    @ApiModelProperty(value = "作出信用修复决定机关名称")
    @TableField("repairOrgCn")
    private String repairOrgCn;

    /**
     * 回退建议
     */
    @ApiModelProperty(value = "回退建议")
    @TableField("backProposal")
    private String backProposal;

    /**
     * 信用修复申请是否受理,0否,1是
     */
    @TableField("isAccept")
    private String isAccept;

    /**
     *信用修复申请是否予以信用修复,0否,1是
     */
    @TableField("isAgreeRepair")
    private String isAgreeRepair;



    @ApiModelProperty(value = "下一个处理人id")
    @TableField(exist = false)
    String nextPerformerids;

    @ApiModelProperty(value = "意见")
    @TableField(exist = false)
    String opinion;

    @ApiModelProperty(value = "下一个节点id")
    @TableField(exist = false)
    String nextNodeId;

    @ApiModelProperty(value = "下一个处理人姓名")
    @TableField(exist = false)
    String nextPerformerName;

    /**
     * 数据来源标识 本省/外省
     */
    @ApiModelProperty(value = "数据来源标识")
    @TableField(exist = false)
    private String sourceType;

}
