package com.dsk.cscec.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @author sxk
 * @date 2023.12.19
 * @time 09:54
 */
@Data
public class EditAdvisoryBodyInfoBo {
    /**
     * 是否为新资讯机构
     */
    @NotNull(message = "是否为新咨询机构不能为空")
    private Boolean isNewAdvisoryBody;
    /**
     * 项目主键
     */
    @NotNull(message = "项目主键不能为空")
    private Long projectKey;
    /**
     * 咨询机构cid(用于查询建设库数据)
     */
    @NotNull(message = "咨询机构cid不能为空")
    private Integer advisoryBodyCid;
    /**
     * 咨询机构名称
     */
    @NotBlank(message = "咨询机构名称不能为空")
    private String advisoryBodyName;
    /**
     * 统一社会信用代码
     */
    @NotBlank(message = "统一社会信用代码不能为空")
    private String creditCode;
    /**
     * 经营状态(登记状态)
     */
    @NotBlank(message = "登记状态不能为空")
    private String businessStatus;
    /**
     * 法定代表人
     */
    @NotBlank(message = "法定代表人不能为空")
    private String legalPerson;
    /**
     * 注册日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "注册日期不能为空")
    private Date regDate;
    /**
     * 注册资金
     */
    @NotBlank(message = "注册资金不能为空")
    private String regCapital;
    /**
     * 注册地址
     */
    @NotBlank(message = "注册地址不能为空")
    private String regAddress;
    /**
     * 经营范围
     */
    @NotBlank(message = "经营范围不能为空")
    private String businessScope;
    /**
     * 合作时间
     * PRD上要求以合作时间作为排序字段,但PM未给出新增合作时间的位置,暂用创建时间作为排序字段
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date cooperatorDate;
    /**
     * 项目负责人
     */
    private String projectLeader;
    /**
     * 项目负责人专业
     */
    private String projectLeaderMajor;
    /**
     * 项目负责人联系电话
     */
    private String projectLeaderPhone;
    /**
     * 结算金额(万元)
     */
    private Double settleAmount;
    /**
     * 结算开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date settleStartTime;
    /**
     * 结算完成时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date settleFinishTime;
    /**
     * 是否为终审单位（0代表是 1代表否）
     */
    private String isFinalJudgeUnit;
}
