package cn.ey.biz.module.system.api.rate.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@ApiModel("RPC 服务 - 财务费率请求参数")
@Data
public class RateForGpnReqDTO {

    /**
     * gpn
     */
    @NotBlank
    @ApiModelProperty(value = "gpn")
    private String gpn;

    /**
     * 项目 Code Block Code
     */
    @ApiModelProperty("项目 Code Block Code")
    private String engCodeBlockCode;

    /**
     * 职位等级
     */
    @ApiModelProperty(value = "职位等级")
    private String rankGrade;

    /**
     * 管理区域
     */
    @ApiModelProperty(value = "管理区域")
    private String mgmtRegion;

    /**
     * 财政年度
     */
    @NotBlank
    @ApiModelProperty(value = "财政年度")
    private String fiscalYear;

    /**
     * 地区
     */
    @ApiModelProperty(value = "国家地区")
    private String countryRegionCode;

    /**
     * 服务线
     */
    @ApiModelProperty(value = "项目服务线")
    private String slCode;

    /**
     * 子业务线编码
     */
    @ApiModelProperty(value = "子业务线编码")
    private String sslCode;

    /**
     * 子管理单位
     */
    @ApiModelProperty(value = "子管理单位")
    private String smuCode;

    /**
     * 项目能力代码
     */
    @ApiModelProperty(value = "项目能力代码")
    private String competencyCode;

    /**
     * 开始日期
     */
    @NotNull
    @ApiModelProperty("开始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date peakStartDate;

    /**
     * 结束日期
     */
    @NotNull
    @ApiModelProperty("结束日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date peakEndDate;


}
