package com.zcloud.domain.dto.clientobject;

import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2026-01-29 15:47:57
 */
@Data
public class ProjectTaskDetailsCO implements Serializable {
    //主键
    @ApiModelProperty(value = "主键")
    private Long id;
    //业务主键id
    @ApiModelProperty(value = "业务主键id")
    private String projectTaskId;
    //领域类型
    @ApiModelProperty(value = "领域类型")
    private String domainType;
    //领域类型名称
    @ApiModelProperty(value = "领域类型名称")
    private String domainTypeName;
    //领域部门主键id
    @ApiModelProperty(value = "领域部门主键id")
    private String domainDepartmentId;
    //课题名称
    @ApiModelProperty(value = "课题名称")
    private String projectName;
    //课题执行开始时间
    @ApiModelProperty(value = "课题执行开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date executedStartDate;
    //课题执行结束时间
    @ApiModelProperty(value = "课题执行结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date executedEndDate;
    //领域组id
    @ApiModelProperty(value = "领域组id")
    private String domainGroupId;
    //课题执行企业id
    @ApiModelProperty(value = "课题执行企业id")
    private Long executeCorpinfoId;
    @ApiModelProperty(value = "课题执行企业名称")
    private String executeCorpinfoName;
    //课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
    @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
    private Integer executeStatus;
    //评分状态(0:未评分,1:评分中,2:已评分)
    @ApiModelProperty(value = "评分状态(0:未评分,1:评分中,2:已评分)")
    private Integer scoreStatus;
    //评分
    @ApiModelProperty(value = "评分")
    private BigDecimal score;
    @ApiModelProperty(value = "领域主管部门名称")
    private String masterDepartmentName;
    //领域组id
    @ApiModelProperty(value = "领域组名称")
    private String domainGroupName;


    @ApiModelProperty(value = "课题信息", name = "projectTaskInfoCOList", required = true)
    private List<ProjectTaskInfoCO> projectTaskInfoCOList;

    @ApiModelProperty(value = "课题领域组人员信息", name = "projectTaskGroupUserCOList")
    private List<ProjectTaskGroupUserCO> projectTaskGroupUserCOList;

    @ApiModelProperty(value = "课题评审人员信息", name = "projectTaskScoreInfoCOList")
    private List<ProjectTaskScoreInfoCO> projectTaskScoreInfoCOList;




}

