package com.ltgk.boat.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: wan kun
 * @Description: 船名登记信息
 * @Date: 2024/12/24 17:27
 * @Version: 1.0
 */
@Data
@TableName("ds_boat_name")
public class DsBoatName {
    @ApiModelProperty(value = "船名登记信息唯一标识")
    @JsonProperty("id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "渔船信息唯一标识")
    @JsonProperty("boatId")
    @TableField(value = "boat_id")
    private String boatId;
    @ApiModelProperty(value = "渔船所属地区代码")
    @JsonProperty("areaCode")
    @TableField(value = "area_code")
    private String areaCode;
    @ApiModelProperty(value = "渔船所属地区名称")
    @JsonProperty("areaName")
    @TableField(value = "area_name")
    private String areaName;
    @ApiModelProperty(value = "渔业船舶船名登记备案核准书编号")
    @JsonProperty("boatNameApprovalCode")
    @TableField(value = "boat_name_approval_code")
    private String boatNameApprovalCode;
    @ApiModelProperty(value = "渔船船名申请备案核准书编号")
    @JsonProperty("boatNameApplyCode")
    @TableField(value = "boat_name_apply_code")
    private String boatNameApplyCode;
    @ApiModelProperty(value = "申请人姓名")
    @JsonProperty("applyPersonName")
    @TableField(value = "apply_person_name")
    private String applyPersonName;
    @ApiModelProperty(value = "申请人居民身份证号码或公司注册")
    @JsonProperty("applyPersonIdcard")
    @TableField(value = "apply_person_idcard")
    private String applyPersonIdcard;
    @ApiModelProperty(value = "申请人地址")
    @JsonProperty("applyPersonAddr")
    @TableField(value = "apply_person_addr")
    private String applyPersonAddr;
    @ApiModelProperty(value = "申请人电话")
    @JsonProperty("applyPersonPhone")
    @TableField(value = "apply_person_phone")
    private String applyPersonPhone;
    @ApiModelProperty(value = "原船名")
    @JsonProperty("oldBoatName")
    @TableField(value = "old_boat_name")
    private String oldBoatName;
    @ApiModelProperty(value = "注销或中止登记证明书编号")
    @JsonProperty("logoutBoatCode")
    @TableField(value = "logout_boat_code")
    private String logoutBoatCode;
    @ApiModelProperty(value = "原渔业捕捞许可证编号")
    @JsonProperty("oldFishingType")
    @TableField(value = "old_fishing_type")
    private String oldFishingType;
    @ApiModelProperty(value = "批准文号")
    @JsonProperty("approvalDocumentNumber")
    @TableField(value = "approval_document_number")
    private String approvalDocumentNumber;
    @ApiModelProperty(value = "船网工具指标批准书编号")
    @JsonProperty("networkApprovalNum")
    @TableField(value = "network_approval_num")
    private String networkApprovalNum;
    @ApiModelProperty(value = "远洋项目批准文号")
    @JsonProperty("oceanApprovalDocumentNumber")
    @TableField(value = "ocean_approval_document_number")
    private String oceanApprovalDocumentNumber;
    @ApiModelProperty(value = "申请日期")
    @JsonProperty("applyDate")
    @TableField(value = "apply_date")
    private String applyDate;
    @ApiModelProperty(value = "船名")
    @JsonProperty("boatName")
    @TableField(value = "boat_name")
    private String boatName;
    @ApiModelProperty(value = "船名英文")
    @JsonProperty("boatNameEn")
    @TableField(value = "boat_name_en")
    private String boatNameEn;
    @ApiModelProperty(value = "船长")
    @JsonProperty("length")
    @TableField(value = "length")
    private BigDecimal length;
    @ApiModelProperty(value = "总吨位")
    @JsonProperty("tonnage")
    @TableField(value = "tonnage")
    private BigDecimal tonnage;
    @ApiModelProperty(value = "主机总功率")
    @JsonProperty("mainPower")
    @TableField(value = "main_power")
    private BigDecimal mainPower;
    @ApiModelProperty(value = "船体材质")
    @JsonProperty("boatMaterial")
    @TableField(value = "boat_material")
    private String boatMaterial;
    @ApiModelProperty(value = "船体材质英文")
    @JsonProperty("boatMaterialEn")
    @TableField(value = "boat_material_en")
    private String boatMaterialEn;
    @ApiModelProperty(value = "船舶所有人名称")
    @JsonProperty("holderName")
    @TableField(value = "holder_name")
    private String holderName;
    @ApiModelProperty(value = "船舶所有人名称英文")
    @JsonProperty("holderNameEn")
    @TableField(value = "holder_name_en")
    private String holderNameEn;
    @ApiModelProperty(value = "船舶所有人地址")
    @JsonProperty("holderAddress")
    @TableField(value = "holder_address")
    private String holderAddress;
    @ApiModelProperty(value = "船舶所有人地址英文")
    @JsonProperty("holderAddressEn")
    @TableField(value = "holder_address_en")
    private String holderAddressEn;
    @ApiModelProperty(value = "船舶所有人电话")
    @JsonProperty("holderPhone")
    @TableField(value = "holder_phone")
    private String holderPhone;
    @ApiModelProperty(value = "船舶类型")
    @JsonProperty("boatType")
    @TableField(value = "boat_type")
    private String boatType;
    @ApiModelProperty(value = "船舶类型英文")
    @JsonProperty("boatTypeEn")
    @TableField(value = "boat_type_en")
    private String boatTypeEn;
    @ApiModelProperty(value = "操作说明")
    @JsonProperty("remark")
    @TableField(value = "remark")
    private String remark;
    @ApiModelProperty(value = "删除标记")
    @JsonProperty("delFlag")
    @TableField(value = "del_flag")
    private Integer delFlag;
    @ApiModelProperty(value = "创建人")
    @JsonProperty("createBy")
    @TableField(value = "create_by")
    private String createBy;
    @ApiModelProperty(value = "创建时间")
    @JsonProperty("createAt")
    @TableField(value = "create_at")
    private Date createAt;
    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updateAt")
    @TableField(value = "update_at")
    private Date updateAt;
    @ApiModelProperty(value = "更新人")
    @JsonProperty("updateBy")
    @TableField(value = "update_by")
    private String updateBy;
    @ApiModelProperty("证书有效期")
    @JsonProperty(value = "certificateValidity")
    @TableField(value = "certificate_validity")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date certificateValidity;
}
