package com.izouma.uwip.domain;

import com.izouma.uwip.enums.DomesticWorkflow;
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 DomesticPatent extends BaseEntity {

    @Enumerated(EnumType.STRING)
    @ApiModelProperty(value = "流程")
    private DomesticWorkflow workflow;

    @ApiModelProperty(value = "申请人统一社会信用代码")
    private String applicantUscc;

    @ApiModelProperty(value = "第一发明人身份证")
    private String inventorIdno;

    @ApiModelProperty(value = "是否请求费减")
    private boolean deduction;

    @ApiModelProperty(value = "是否请求实质审查")
    private boolean essentialReview;

    @ApiModelProperty(value = "是否申请提前公开")
    private boolean publicInAdvance;

    @ApiModelProperty(value = "是否申请红章受理通知书")
    private boolean chapterAcceptanceNotice;

    @ApiModelProperty(value = "是否申请红章缴费通知书")
    private boolean chapterPaymentNotice;

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

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

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

    @ApiModelProperty(value = "办登通知日")
    private LocalDate registerNotice;

    @ApiModelProperty(value = "办登截止日")
    private LocalDate registerEndDate;

    @ApiModelProperty(value = "费用备注")
    private String feeRemark;

    @ApiModelProperty(value = "是否已缴费")
    private Boolean payment;

    @ApiModelProperty(value = "年费")
    private BigDecimal AnnualFee;

    @ApiModelProperty(value = "年费支付期限")
    private LocalDate feePaymentPeriod;

    @ApiModelProperty(value = "账单")
    private String bill;
}
