package com.hzs.system.sys.dto;

import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.enums.ESignSource;
import com.hzs.common.core.enums.ESignType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @Description: 审批提交DTO
 * @Author: jiang chao
 * @Time: 2022/10/25 11:10
 * @Classname: ApprovalSubmitDTO
 * @PackageName: com.hzs.system.sys.dto
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class ApprovalSubmitDTO implements Serializable {

    private static final long serialVersionUID = 2196545041837804377L;

    /**
     * 审批业务类型 -- 必传
     */
    private EApprovalBusiness eApprovalBusiness;

    /**
     * 业务单号 -- 必传
     */
    private String businessCode;

    /**
     * 签呈类型（1=普通件，2=急件，3=密件） -- 根据业务需要
     */
    private ESignType signType;

    /**
     * 审批用户列表 -- 提交审核必传
     */
    private List<Long> userIdList;

    /**
     * 抄送人用户ID列表 -- 根据业务需要
     */
    private List<Long> sendIdList;

    /**
     * 签呈情况说明 -- 根据业务需要
     */
    private String remark;

    /**
     * 签呈附件 -- 根据业务需要
     */
    private List<String> fileList;

    /**
     * 业务数据（需要在审核流里面保存的业务json数据） -- 根据业务需要
     */
    private String businessData;

    /**
     * 业务涉及会员ID列表 -- 根据业务需要
     */
    private Set<Long> pkMemberList;


    /**
     * 签呈来源（ESignSource 1=后台，2=前台） -- 不传默认为后台
     */
    private ESignSource signSource;

    /**
     * 业务操作日志列表
     */
    private List<BusinessLogDTO> businessLogList;

}
