package com.njcn.supervision.pojo.param.device;

import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 *
 * Description:
 * Date: 2024/5/17  15:26【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SupervisionTempLineDebugParam {
    private String id;
    @ApiModelProperty(value = "保存1,提交审批2")
    private String saveOrCheckflag;
    /**
     * 调试原因
     */
    @ApiModelProperty(value="调试原因")
    private String reason;

    /**
     * 流程实例的编号
     */
    @ApiModelProperty(value="流程实例的编号")
    private String processInstanceId;

    @ApiModelProperty(value = "流程实例的编号")
    private String historyInstanceId;

    /**
     * 1:审批中；2：审批通过；3：审批不通过；4：已取消
     */
    @ApiModelProperty(value="1:审批中；2：审批通过；3：审批不通过；4：已取消")
    private Integer status;

    /**
     * 状态：0-删除 1-正常
     */
    @ApiModelProperty(value="状态：0-删除 1-正常")
    private Integer state;

    @ApiModelProperty("发起人自选审批人 Map")
    private Map<String, List<String>> startUserSelectAssignees;

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class  SupervisionTempLineDebugUpdateParam extends SupervisionTempLineDebugParam {

        @ApiModelProperty(value = "主键")
        private String id;

    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class  SupervisionTempLineDebugQuery extends BaseParam {

        @ApiModelProperty(value = "填报部门")
        private String orgNo;

        private List<Integer> statueList;
        private String dealState;
        /**
         * 1:审批中；2：审批通过；3：审批不通过；4：已取消
         */
        @ApiModelProperty(value="1:审批中；2：审批通过；3：审批不通过；4：已取消")
        private Integer status;

    }
}
