package com.chinaweal.aiccs.aiccs.expelled.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @Description:
 * @Author: TiAmo-cc
 * @Email: 1049976610@qq.com
 * @Date: 2026/1/7 11:39
 */
@Data
public class AuditInfoVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 市场主体拟除名名单决定业务表主键ID
     */
    @ApiModelProperty(value = "市场主体拟除名名单决定业务表主键ID")
    private String auditId;

    /**
     * 业务类型：1-异议管理，2-决定管理
     */
    @ApiModelProperty(value = "业务类型：1-异议管理，2-决定管理")
    private String bizType;

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

    /**
     * 市场主体拟除名名单结果表主键ID（UUID）
     */
    @ApiModelProperty(value = "市场主体拟除名名单结果表主键ID（UUID）")
    private String resultId;

    /**
     * 是否有异议：0-无，1-有
     */
    @ApiModelProperty(value = "是否有异议：0-无，1-有")
    private String isObjection;

    /**
     * 拟除名市场主体提出的陈述、申辩意见
     */
    @ApiModelProperty(value = "拟除名市场主体提出的陈述、申辩意见")
    private String opinion;

    /**
     * 除名状态：0-不同意除名，1-同意除名
     */
    @ApiModelProperty(value = "除名状态：0-不同意除名，1-同意除名")
    private String isRemove;

    /**
     * 异议/决定意见
     */
    @ApiModelProperty(value = "异议/决定意见")
    private String auditOpinion;

    /**
     * 除名时间
     */
    @ApiModelProperty(value = "除名时间")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDate removeDate;

    /**
     * 除名机关编码
     */
    @ApiModelProperty(value = "除名机关编码")
    private String removeOrgNo;

    /**
     * 除名机关名称
     */
    @ApiModelProperty(value = "除名机关名称")
    private String removeOrgName;

    /**
     * 拟除名名单企业信息主键ID
     */
    @ApiModelProperty(value = "拟除名名单企业信息主键ID")
    private String entId;

    /**
     * 除名告知业务主键ID
     */
    @ApiModelProperty(value = "除名告知业务主键ID")
    private String bizId;

    /**
     * 拟除名主体名单库主键ID
     */
    @ApiModelProperty(value = "拟除名主体名单库主键ID")
    private String expelledId;

    /**
     * 告知书编号
     */
    @ApiModelProperty(value = "告知书编号")
    private String noticeNo;

    /**
     * 市场主体名称
     */
    @ApiModelProperty(value = "市场主体名称")
    private String entName;

    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码")
    private String uscc;

    /**
     * 法定代表人（负责人、经营者）
     */
    @ApiModelProperty(value = "法定代表人（负责人、经营者）")
    private String lerepName;

    /**
     * 住所（经营场所）
     */
    @ApiModelProperty(value = "住所（经营场所）")
    private String address;

    /**
     * 送达状态：0-未送达，1-已送达
     */
    @ApiModelProperty(value = "送达状态：0-未送达，1-已送达")
    private String sendStatus;

    /**
     * 送达时间
     */
    @ApiModelProperty(value = "送达时间")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDate sendTime;

    /**
     * 状态：10-有效，11-修复中，12-复议中，13-撤销中，91-修复完成，92-复议通过被动撤销完成，93-主动撤销完成
     */
    @ApiModelProperty(value = "状态：10-有效，11-修复中，12-复议中，13-撤销中，91-修复完成，92-复议通过被动撤销完成，93-主动撤销完成")
    private String state;

    /**
     * 拟除名异议告知业务信息
     */
    @ApiModelProperty(value = "拟除名异议告知业务信息")
    private List<BizInfoVo>  bizInfos;

    /**
     * 业务名称
     */
    @ApiModelProperty(value = "业务名称")
    @TableField(exist = false)
    private String busName;

    /**
     * 状态：10-有效，11-修复中，12-复议中，13-撤销中，91-修复完成，92-复议通过被动撤销完成，93-主动撤销完成
     */
    @ApiModelProperty(value = "状态：10-有效，11-修复中，12-复议中，13-撤销中，91-修复完成，92-复议通过被动撤销完成，93-主动撤销完成")
    private List<String> states;
}
