package com.ruoyi.cs.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

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

/**
 * 资源、工单申请对象 cs_resource_order_apply
 *
 * @author ruoyi
 * @date 2024-04-23
 */
@Getter
@Setter
@ToString
public class CsResourceOrderApplyVO   implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 资源申请主键ID */
    private String applyId;

    /** 申请类型：0-资源，1-工单 */
    private String applyType;

    /** 申请单号 */
    private String applyNumber;

    /** 资源分类ID */
    private String resourceClassId;

    /** 资源分类名 */
    private String resourceClassName;

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

    /** 网络类型：0-办公网络，1-VPN，2-特殊网络资源 */
    private String networkType;


    /*
 * 负责人信息
 */

    /** 单位名称 */
    private String companyName;

    /** 部门/院系D */
    private String deptId;

    /** 部门/院系名称 */
    private String deptName;

    /** 单位类别ID */
    private String companyClassId;

    /** 单位类别名 */
    private String companyClassName;

    /** 姓名/联系人 */
    private String name;

    /** 职称/职务 */
    private String professionalTitle;

    /** 职业 */
    private String occupation;

    /** 联系电话 */
    private String phone;

    /** E-mail/联系邮箱 */
    private String email;


/*
   项目信息
*/
    /** 项目名称 */
    private String projectName;

    /** 项目编号 */
    private String projectNumber;

    /** 项目来源 */
    private String projectSource;

    /** 项目类别ID */
    private String projectClassId;

    /** 项目类别名 */
    private String projectClassName;

    /** 项目周期起始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date projectCycleBegin;

    /** 项目周期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date projectCycleEnd;

    /** 专业领域 */
    private String majorField;

    /** 使用需求：0-专用，1-共享，2-急用 */
    private String useDemand;

    /** 任务量估算 */
    private String workloadEstimate;

    /** 合同名称 */
    private String contractName;

    /** 合同编号 */
    private String contractNumber;

    /** 合同附件 */
    private String contractAnnex;


/*
   需求信息
 */
    /** 需求内容 */
    private String demandContent;

/*
   使用人员信息
 */
    /** 使用人员信息列表 */
    private List<CsUserInfoVO> userInfoList;



/*
   各分类单独信息
 */

    /** 映射列表 */
    private List<CsBusinessMappingVO> businessMappingList;

    /** 申请表集合 */
    private List<CsAnnexApplyVO> applyFileList;

    /** 是否上传：0-否，1-是 */
    private String isUpload;

    /** 电子版资源申请单路径 */
    private String uploadUrl;

    /** 用户端网络信息列表 */
    private List<CsUserNetworkInfoVO> userNetworkInfoList;

/* 软件使用情况 */
    /** 并行编程的基础 */
    private Integer parallelProgramming;

    /** 并行编程的基础名称 */
    private String parallelProgrammingName;

    /** 其他需求 */
    private String otherDemand;

    /** 使用时间起始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useTimeBegin;

    /** 使用时间结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useTimeEnd;

    /** 使用频率(0-每日、1-每周、2-每月)*/
    private Integer useFrequency;

    /** 使用频率名称 */
    private String useFrequencyName;

    /** 使用频率详情*/
    private String useFrequencyDetail;

/* 软件信息 待定*/
    /** 软件信息 */
    private CsResApplySoftwareInfoVO softWareInfo;

    /** 工单说明*/
    private String orderProfile;

    /** 存储额度 */
    private String storageLimit;

    /** 存储额度单位 */
    private String storageLimitUnit;

    // private List<CsAnnexApplyVO> csAnnexApplyVO;


}
