package com.yeejoin.amos.boot.module.ymt.api.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 单位许可信息表
 *
 * @author duanwei
 * @date 2022-08-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_base_unit_licence")
@ApiModel(value="TzBaseUnitLicence对象", description="单位许可信息表")
public class TzBaseUnitLicenceDto extends BaseDto {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "单位编码")
    private String unitCode;

    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @ApiModelProperty(value = "许可地址")
    private String licAddress;

    @ApiModelProperty(value = "证书类型")
    private String certType;

    @ApiModelProperty(value = "证书类型code")
    private String certTypeCode;

    @ApiModelProperty(value = "证书编号")
    private String certNo;

    @ApiModelProperty(value = "有效期至")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expiryDate;

    @ApiModelProperty(value = "发证日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date issueDate;

    @ApiModelProperty(value = "发证机关")
    private String approvedOrgan;

    @ApiModelProperty(value = "发证机关code")
    private String approvedOrganCode;

    @ApiModelProperty(value = "变更日期")
    private Date changeDate;

    @ApiModelProperty(value = "许可方式/许可状态")
    private String applyType;

    @ApiModelProperty(value = "许可方式/许可状态code")
    private String applyTypeCode;

    @ApiModelProperty(value = "许可评审方式")
    private String appraisalType;

    @ApiModelProperty(value = "许可评审方式code")
    private String appraisalTypeCode;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "许可项目/检验类型/设备品种编码")
    private String itemCode;

    @ApiModelProperty(value = "许可项目/检验类型/设备品种")
    private String itemCodeName;

    @ApiModelProperty(value = "许可子项目/检验项目/充装介质类别code")
    private String subItemCode;

    @ApiModelProperty(value = "许可子项目/检验项目/充装介质类别")
    private String subItemName;

    @ApiModelProperty(value = "许可参数/充装介质名称")
    private String parameter;

    @ApiModelProperty(value = "参数code")
    private String parameterCode;

    @ApiModelProperty(value = "固定检验地址")
    private String itemAddress;

    @ApiModelProperty(value = "机构类别枚举")
    private String agencyType;

    @ApiModelProperty(value = "机构类别枚举名称，冗余")
    private String agencyTypeName;

    @ApiModelProperty(value = "资质类型编码（检验检测、其他）")
    private String licenceType;
}
