package cn.wisenergy.model.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ManagerProjectsDto", description="管理的项目/商机")
public class ManagerProjectsDto implements Serializable {

    private static final long serialVersionUID = -7790290335357240530L;

    @ApiModelProperty(name = "id",value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(name = "oaProjectId",value = "OA中的项目编号")
    private String oaProjectId;

    @ApiModelProperty(name = "projectName",value = "项目名称")
    private String projectName;

    @ApiModelProperty(name = "type",value = "1:项目，2：商机")
    private Integer type;

    @ApiModelProperty(name = "managerId",value = "项目经理userId")
    private Integer managerId;

    @ApiModelProperty(name = "deptId",value = "部门id")
    private Integer deptId;

    @ApiModelProperty(name = "workTime",value = "工时预算")
    private Integer workTime;

    @ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位")
    private BigDecimal costBudget;

    @ApiModelProperty(name = "isConclusion",value = "是否结项 :0:项目已结束、1:项目未结束")
    private Integer isConclusion;

    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "startTime",value = "项目开始时间")
    private Date startTime;

    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "endTime",value = "项目结束时间")
    private Date endTime;

    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "createTime",value = "创建时间")
    private Date createTime;

    @ApiModelProperty(name = "modifyTime",value = "修改时间")
    private Date modifyTime;

    /**其他*/
    @ApiModelProperty(name = "participants",value = "参与人员")
    private String participants;

    @ApiModelProperty(name = "currentLaborCost",value = "当前工时成本")
    private String currentLaborCost;

    @ApiModelProperty(name = "totalCurrentWorkingHours",value = "当前工时总计")
    private String totalCurrentWorkingHours;

    @ApiModelProperty(name = "isItOverdue",value = "是否超期")
    private String isItOverdue;

    @ApiModelProperty(name = "isThereABudgetChange",value = "是否有预算更变")
    private String isThereABudgetChange;

}
