package com.ltgk.catches.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ltgk.catches.domain.entity.TcFishLogNet;
import com.ltgk.catches.domain.entity.TcFishLogNetYield;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @Author: wan kun
 * @Description: 鱼获列表
 * @Date: 2025/1/19 16:21
 * @Version: 1.0
 */
@Data
public class FishLogVo {
    @JsonProperty(value = "id")
    @ApiModelProperty(value = "捕捞日志id")
    private String id;

    @JsonProperty(value = "boatId")
    @ApiModelProperty(value = "船舶id")
    private String boatId;

    @JsonProperty(value = "boatName")
    @ApiModelProperty(value = "船舶名称")
    private String boatName;

    @ApiModelProperty(value = "地区code")
    @JsonProperty("areaCode")
    private String areaCode;

    @ApiModelProperty(value = "地区名称")
    @JsonProperty("areaName")
    private String areaName;

    @ApiModelProperty(value = "渔船编码")
    @JsonProperty("boatCode")
    private String boatCode;

    @ApiModelProperty(value = "主机总功率")
    @JsonProperty("mainPower")
    private BigDecimal mainPower;

    @ApiModelProperty(value = "船舶类型")
    @JsonProperty("boatType")
    private String boatType;

    @ApiModelProperty(value = "渔业捕捞许可证编号")
    @JsonProperty("fishingCode")
    private String fishingCode;

    @ApiModelProperty(value = "主作业类型")
    @JsonProperty("mainWorkType")
    private String mainWorkType;

    @ApiModelProperty(value = "许可证类型")
    @JsonProperty("certificateType")
    private String certificateType;

    @JsonProperty(value = "date")
    @ApiModelProperty(value = "日志时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date date;

    @ApiModelProperty(value = "捕捞日志图片")
    @JsonProperty("logPicture")
    private String logPicture;

    @JsonProperty(value = "NetList")
    @ApiModelProperty(value = "网序列表")
    private List<FishLogNetVo> NetList;

    @JsonProperty(value = "tcFishLogNetList")
    @ApiModelProperty(value = "捕捞日志网序列表")
    private List<TcFishLogNet> tcFishLogNetList;

    @JsonProperty(value = "tcFishLogNetYieldList")
    @ApiModelProperty(value = "渔获物品种类产量")
    private List<TcFishLogNetYield> tcFishLogNetYieldList;
}
