/**
 * BladeX Commercial License Agreement
 * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
 * <p>
 * Use of this software is governed by the Commercial License Agreement
 * obtained after purchasing a license from BladeX.
 * <p>
 * 1. This software is for development use only under a valid license
 * from BladeX.
 * <p>
 * 2. Redistribution of this software's source code to any third party
 * without a commercial license is strictly prohibited.
 * <p>
 * 3. Licensees may copyright their own code but cannot use segments
 * from this software for such purposes. Copyright of this software
 * remains with BladeX.
 * <p>
 * Using this software signifies agreement to this License, and the software
 * must not be used for illegal purposes.
 * <p>
 * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
 * not liable for any claims arising from secondary or illegal development.
 * <p>
 * Author: Chill Zhuang (bladejava@qq.com)
 */
package org.springblade.transport.excel;

import cn.idev.excel.annotation.ExcelIgnore;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.write.style.ColumnWidth;
import cn.idev.excel.annotation.write.style.ContentRowHeight;
import cn.idev.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 船舶管理 Excel
 *
 * @author Chill
 */
@Data
@ColumnWidth(18)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class TransportShipExcel implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

	@ExcelIgnore
	private Long id;

	@ExcelProperty("所属组织 *")
	private String organizationName;

	@ExcelProperty("船名 *")
	private String shipName;

	@ExcelProperty("安放龙骨日期 / 建造完工日期")
	private String constructionDateRange;

	@ExcelProperty("总长 (m)")
	private BigDecimal totalLength;

	@ExcelProperty("船宽 (m)")
	private BigDecimal shipWidth;

	@ExcelProperty("型深 (m)")
	private BigDecimal moldedDepth;

	@ExcelProperty("最大船高 (m)")
	private BigDecimal maxShipHeight;

	@ExcelProperty("空载吃水 (t)")
	private BigDecimal lightDraft;

	@ExcelProperty("满载吃水 (t)")
	private BigDecimal fullLoadDraft;

	@ExcelProperty("航区 *")
	private String navigationArea;

	@ExcelProperty("登记号码 *")
	private String ownershipRegistrationNo;

	@ExcelProperty("初次登记号码 *")
	private String initialRegistrationNo;

	@ExcelProperty("船舶所有人")
	private String shipOwner;

	@ExcelProperty("取得所有权日期")
	private LocalDate ownershipAcquisitionDate;

	@ExcelProperty("船舶识别号 *")
	private String shipIdentifierNo;

	@ExcelProperty("总吨 *")
	private BigDecimal grossTonnage;

	@ExcelProperty("净吨 *")
	private BigDecimal netTonnage;

	@ExcelProperty("船检登记号 *")
	private String shipInspectionNo;

	@ExcelProperty("船舶类型 *")
	private String shipType;

	@ExcelProperty("证书有效期自 *（国籍证书）")
	private LocalDate nationalityCertStartDate;

	@ExcelProperty("至 *（国籍证书）")
	private LocalDate nationalityCertEndDate;

	@ExcelProperty("证书有效期自 *（最低安全配员证书）")
	private LocalDate safeManningCertStartDate;

	@ExcelProperty("至 *（最低安全配员证书）")
	private LocalDate safeManningCertEndDate;

	@ExcelProperty("起租日期")
	private LocalDate leaseStartDate;

	@ExcelProperty("终止日期")
	private LocalDate leaseEndDate;

	@ExcelProperty("船舶承租人")
	private String shipLessee;

	@ExcelProperty("证书编号（营业运输证）")
	private String businessTransportCertNo;

	@ExcelProperty("发证日期 *")
	private LocalDate businessTransportCertIssueDate;

	@ExcelProperty("有效期至 *")
	private LocalDate businessTransportCertEndDate;

	@ExcelProperty("船舶经营人")
	private String shipOperator;

}
