package com.chinaweal.aiccs.aiccs.market.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDate;
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 2021-10-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(schema = "aiccs", value = "tsusualinspect")
@ApiModel(value="TSUsualInspect对象", description="现场核查信息")
public class TSUsualInspect extends SuperEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

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

    /**
     *  业务类型 1-单独检查 2-批量检查
     */
    @ApiModelProperty(value = "业务类型 1-单独检查 2-批量检查")
    @TableField("busType")
    private String busType;

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

    /**
     * 注册号
     */
    @ApiModelProperty(value = "注册号")
    @TableField("regNo")
    private String regNo;

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

    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    @TableField("entName")
    private String entName;

    /**
     * 法人名称
     */
    @ApiModelProperty(value = "法人名称")
    @TableField("legalName")
    private String legalName;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @TableField("dom")
    private String dom;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    @TableField("contacts")
    private String contacts;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    @TableField("contactPhone")
    private String contactPhone;

    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码")
    @TableField("mobilePhone")
    private String mobilePhone;

    /**
     * 经营范围
     */
    @ApiModelProperty(value = "经营范围")
    @TableField("scope")
    private String scope;

    /**
     * 实际经营项目
     */
    @ApiModelProperty(value = "实际经营项目")
    @TableField("actualScope")
    private String actualScope;

    /**
     * 实际经营项目备注
     */
    @ApiModelProperty(value = "实际经营项目备注")
    @TableField("remarks")
    private String remarks;

    /**
     * 实际经营项目面积
     */
    @ApiModelProperty(value = "实际经营项目面积")
    @TableField("area")
    private BigDecimal area;

    /**
     * 经营方式
     */
    @ApiModelProperty(value = "经营方式")
    @TableField("busMode")
    private String busMode;

    /**
     * 检查类型
     */
    @ApiModelProperty(value = "检查类型")
    @TableField("inspectType")
    private String inspectType;

    /**
     * 检查内容
     */
    @ApiModelProperty(value = "检查内容")
    @TableField("inspectContent")
    private String inspectContent;

    /**
     * 检查结果 (1-正常 2-涉嫌违法违章 3-实地查无 4-待复查)
     */
    @ApiModelProperty(value = "检查结果")
    @TableField("inspectResult")
    private String inspectResult;

    /**
     * 检查机关ID
     */
    @ApiModelProperty(value = "检查机关ID")
    @TableField("inspectOrg")
    private String inspectOrg;

    /**
     * 检查机关名称
     */
    @ApiModelProperty(value = "检查机关名称")
    @TableField("inspectOrgName")
    private String inspectOrgName;

    /**
     * 处理意见
     */
    @ApiModelProperty(value = "处理意见")
    @TableField("opinion")
    private String opinion;

    /**
     * 回退处理意见
     */
    @ApiModelProperty(value = "回退处理意见")
    @TableField("backOpinion")
    private String backOpinion;

    /**
     * 检查人Id
     */
    @ApiModelProperty(value = "检查人Id")
    @TableField("inspectorId")
    private String inspectorId;

    /**
     * 检查人
     */
    @ApiModelProperty(value = "检查人")
    @TableField("inspector")
    private String inspector;

    /**
     * 协查人
     */
    @ApiModelProperty(value = "协查人")
    @TableField("helper")
    private String helper;

    /**
     * 状态（0-待检查, 1-已检查, 4-删除）
     */
    @ApiModelProperty(value = "状态")
    @TableField("status")
    private String status;

    /**
     * 来源
     */
    @ApiModelProperty(value = "来源")
    @TableField("source")
    private String source;


    /**
     * 源监管Id
     */
    @ApiModelProperty(value = "源监管Id")
    @TableField("sourceInspectId")
    private String sourceInspectId;

    /**
     * 源检查结果
     */
    @ApiModelProperty(value = "源检查结果")
    @TableField("sourceInspectResult")
    private String sourceInspectResult;

    /**
     * 检查开始时间
     */
    @ApiModelProperty(value = "检查开始时间")
    @TableField("inspectStartDate")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDate inspectStartDate;

    /**
     * 检查到期时间
     */
    @ApiModelProperty(value = "检查到期时间")
    @TableField("inspectExpireDate")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDate inspectExpireDate;

    /**
     * 检查日期
     */
    @ApiModelProperty(value = "检查日期")
    @TableField("inspectDate")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDateTime inspectDate;


    /**
     * 同一地址的基准地址
     */
    @ApiModelProperty(value = "同一地址的基准地址")
    @TableField("check_address")
    private String checkAddress;

    /**
     * 是否予以审慎监管特殊标记（番禺）
     */
    @ApiModelProperty(value = "是否予以审慎监管特殊标记（番禺）")
    @TableField("is_complained")
    private String isComplained;

    /**
     * 检查结果(中文)
     */
    @ApiModelProperty(value = "检查结果(中文)")
    @TableField(exist = false)
    private String inspectResultStr;

    /**
     * 登记状态
     */
    @ApiModelProperty(value = "登记状态")
    @TableField(exist = false)
    private String regStateCn;

    /**
     * 登记机关
     */
    @ApiModelProperty(value = "登记机关")
    @TableField(exist = false)
    private String regOrgCn;

    /**
     * 监管机关
     */
    @ApiModelProperty(value = "监管机关")
    @TableField(exist = false)
    private String supOrgCn;

    /**
     * 关联信用修复的bizSeq
     */
    @ApiModelProperty(value = "关联信用修复的bizSeq")
    @TableField("xyxfbizSeq")
    private String xyxfbizSeq;

}
