package com.izouma.uwip.domain;

import com.izouma.uwip.enums.ApplyRoute;
import com.izouma.uwip.enums.CountryWorkflow;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import java.math.BigDecimal;
import java.time.LocalDate;

@AllArgsConstructor
@Data
@Builder
@NoArgsConstructor
@ApiModel(value = "国家申请")
public class CountryPatent extends BaseEntity {

    @ApiModelProperty(value = "流程")
    private CountryWorkflow workflow;

    private String country;

    @Enumerated(EnumType.STRING)
    @ApiModelProperty(value = "申请途径")
    private ApplyRoute applyRoute;

    /*
    选择pct时必填
    */
    @ApiModelProperty(value = "pct申请号")
    private String pctApplyNo;

    @ApiModelProperty(value = "pct申请日")
    private String pctApplyDate;

    @ApiModelProperty(value = "pct公开号")
    private String pctPublicNo;

    @ApiModelProperty(value = "pct公开日")
    private String pctPublicDate;

    @ApiModelProperty(value = "授权号")
    private String grantNo;

    @ApiModelProperty(value = "授权日")
    private LocalDate grantDate;

    /*
    翻译
     */
    @ApiModelProperty(value = "翻译字数")
    private long translateWord;

    @ApiModelProperty(value = "翻译语种")
    private String translationLanguage;

    @ApiModelProperty(value = "单价/千字")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "翻译交期")
    private LocalDate translationPeriod;

    @ApiModelProperty(value = "是否决定答复")
    private Boolean decideReply;

    /*
    true 客户准备
    false 律师准备
     */
    @ApiModelProperty(value = "准备答复意见")
    private Boolean isClientReady;

    @ApiModelProperty(value = "是否通过答复")
    private Boolean replyPassed;

    @ApiModelProperty(value = "办登缴费期限")
    private LocalDate registerPayPeriod;

}
