package response

// BiApproveDetail 审批详情信息
type BiApproveDetail struct {
	Bi               *BiApproveDetailBi      `description:"报告信息"`
	Approve          *BiApproveDetailItem    `description:"审批信息"`
	ApproveFlowNodes []*BiApproveDetailNodes `description:"审批节点信息"`
}

// BiApproveDetailBi 审批详情-报告信息
type BiApproveDetailBi struct {
	BiId       int    `description:"看板ID"`
	BiTitle    string `description:"看板标题"`
	BiCode     string `description:"看板code"`
	BiClassify string `description:"看板分类"`
}

// BiApproveDetailItem 审批详情-审批信息
type BiApproveDetailItem struct {
	BiApproveId   int    `description:"审批ID"`
	State         int    `description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
	FlowId        int    `description:"审批流ID"`
	FlowVersion   int    `description:"审批流版本"`
	StartNodeId   int    `description:"开始节点ID"`
	CurrNodeId    int    `description:"当前节点ID"`
	ApplyUserId   int    `description:"申请人ID"`
	ApplyUserName string `description:"申请人姓名"`
	ApproveTime   string `description:"审批时间"`
	CreateTime    string `description:"创建时间"`
	ModifyTime    string `description:"修改时间"`
}

// BiApproveDetailNodes 审批详情-节点信息
type BiApproveDetailNodes struct {
	BiApproveNodeId int                        `description:"看板审批节点ID"`
	BiApproveFlowId int                        `description:"看板审批流ID"`
	PrevNodeId      int                        `description:"上一个节点ID(0为开始节点)"`
	NextNodeId      int                        `description:"下一个节点ID(0为结束节点)"`
	NodeType        int                        `description:"节点类型:0-审批;1-抄送"`
	ApproveType     int                        `description:"审批类型:1-依次审批;2-会签;3-或签"`
	Users           []*BiApproveDetailNodeUser `description:"审批人信息"`
}

// BiApproveDetailNodeUser 审批详情-节点用户信息
type BiApproveDetailNodeUser struct {
	BiApproveNodeUserReq
	ApproveRecord *BiApproveDetailNodeUserRecord `description:"用户审批记录"`
}

// BiApproveNodeUserReq 报告审批节点用户请求体
type BiApproveNodeUserReq struct {
	UserType string `description:"审批人类型: user-用户; role-角色"`
	UserId   int    `description:"用户/角色ID"`
	UserName string `description:"用户/角色姓名"`
	Sort     int    `description:"排序"`
}

// BiApproveDetailNodeUserRecord 审批详情-节点用户审批记录
type BiApproveDetailNodeUserRecord struct {
	BiApproveRecordId int    `description:"审批记录ID"`
	State             int    `description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
	ApproveUserId     int    `description:"审批人ID"`
	ApproveUserName   string `description:"审批人姓名"`
	ApproveRemark     string `description:"审批备注"`
	ApproveTime       string `description:"审批时间"`
}

type BiApproveItemOrmResp struct {
	BiApproveId       int    `description:"审批ID"`
	BiApproveRecordId int    `description:"审批记录ID"`
	BiId              int    `description:"报告ID"`
	BiTitle           string `description:"报告标题"`
	ClassifyId        int    `description:"分类ID"`
	ClassifyName      string `description:"分类名称"`
	State             int    `description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
	RecordState       int    `description:"审批记录状态:1-待审批;2-已通过;3-已驳回"`
	FlowId            int    `description:"审批流ID"`
	FlowVersion       int    `description:"审批流版本"`
	StartNodeId       int    `description:"开始节点ID"`
	CurrNodeId        int    `description:"当前节点ID"`
	ApplyUserId       int    `description:"申请人ID"`
	ApplyUserName     string `description:"申请人姓名"`
	ApproveRemark     string `description:"审批备注"`
	ApproveTime       string `description:"审批时间"`
	HandleTime        string `description:"处理时间"`
	CreateTime        string `description:"创建时间"`
	ModifyTime        string `description:"修改时间"`
	NodeState         int    `description:"当前节点审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回" json:"-"`
	NodeApproveTime   string `description:"当前节点审批时间" json:"-"`
}