package com.ruoyi.cs.domain.dto;

import com.ruoyi.cs.domain.CsAnnex;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * 工单申请对象__编辑工单 CsOrderApplyEditDTO
 *
 * @author ruoyi
 * @date 2024-04-23
 */
@Getter
@Setter
@ToString
@Data
public class CsOrderApplyEditDTO implements Serializable {

    private static final long serialVersionUID = 1L;


    /** 资源申请主键ID */
    @NotBlank(message = "请输入申请类型")
    private String applyId;

    /** 申请类型：0-资源，1-工单 */
    @NotBlank(message = "请输入申请类型")
    private String applyType;

    /** 工单标题 */
    @NotBlank(message = "请输入工单标题")
    private String orderTitle;

    /** 工单类型ID */
    @NotBlank(message = "请输入工单类型")
    private String orderClassId;

    /** 工单类型名 */
    private String orderClassName;

    /** 联系人 */
    @NotBlank(message = "请输入联系人")
    private String name;

    /** 联系电话 */
    @NotBlank(message = "请输入联系电话")
    private String phone;

    /** 联系邮箱 */
    @NotBlank(message = "请输入联系邮箱")
    private String email;

    /** 单位名称 */
    @NotBlank(message = "请输入单位名称")
    private String companyName;

    /** 问题描述 */
    private String problemDescribe;

    /** 申请状态：0-待确认，1-盖章材料待上传，2-待审批，3-审批拒绝，4-待审核，5-审核拒绝，6-待分配，7-进行中，8-驳回，9-已完成 */
    private String applyStatus;

    // 科研成果信息

    /** 科研成果信息主键ID */
    private String achievementInfoId;

    /** 相关资源ID */
    private String resId;

    /** 应用领域 */
    private String applicationArea;

    /** 使用超算平台软件 */
    private String platformSoftware;

    /** 自主安装软件名 */
    private String softwareName;

    /** 是否同意宣传：0-否，1-是 */
    private String isPublicize;

    /** 成果详情信息主键ID */
    private String infoDetailsId;

    /** 论文成果信息列表 */
    private List<CsAchievementPaperDetailsDTO> paperAchievementList;

    /** 专利成果信息列表 */
    private List<CsAchievementPatentDetailsDTO> patentAchievementList;

    /** 奖项成果信息列表 */
    private List<CsAchievementPrizeDetailsDTO> prizeAchievementList;

    /** 其他成果信息列表 */
    private List<CsAchievementOtherDetailsDTO> otherAchievementList;

    /** 预约成果信息列表 */
    private List<CsAchievementReservationDetailsDTO> reservationAchievementList;

    /** 账户到期信息列表 */
    private List<CsAccountExtensionInfoDTO> accountExtensionInfoList;

    /** 附件信息列表 */
    private List<CsAnnex> csAnnexList;

    /** 部门/院系ID */
    private Long deptId;

    /** 部门/院系名称 */
    private String deptName;
    /**
     * 用户确认状态
     */
    private Integer userConfirm;

    /**
     * 驳回原因
     */
    private String refuseReason;

}
