修复获取下一审批节点

This commit is contained in:
xiangheng
2024-07-03 17:06:46 +08:00
parent 4eb8624410
commit 41ca306d17
5 changed files with 128 additions and 110 deletions

View File

@@ -12,24 +12,24 @@ import (
type FlowHistoryHandler struct { type FlowHistoryHandler struct {
} }
// @Summary 流程历史列表 // @Summary 流程历史列表
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Param Token header string true "token" // @Param Token header string true "token"
// @Param PageNo query int true "页码" // @Param PageNo query int true "页码"
// @Param PageSize query int true "每页数量" // @Param PageSize query int true "每页数量"
// @Param applyId query int false "申请id" // @Param applyId query int false "申请id"
// @Param templateId query int false "模板id" // @Param templateId query int false "模板id"
// @Param applyUserId query int false "申请人id" // @Param applyUserId query int false "申请人id"
// @Param applyUserNickname query string false "申请人昵称" // @Param applyUserNickname query string false "申请人昵称"
// @Param approverId query int false "审批人id" // @Param approverId query int false "审批人id"
// @Param approverNickname query string false "审批用户昵称" // @Param approverNickname query string false "审批用户昵称"
// @Param nodeId query string false "节点" // @Param nodeId query string false "节点"
// @Param formValue query string false "表单值" // @Param formValue query string false "表单值"
// @Param passStatus query int false "通过状态0待处理1通过2拒绝" // @Param passStatus query int false "通过状态0待处理1通过2拒绝"
// @Param passRemark query string false "通过备注" // @Param passRemark query string false "通过备注"
// @Success 200 {object} response.Response{data=response.PageResp{lists=[]FlowHistoryResp}} "成功" // @Success 200 {object} response.Response{data=response.PageResp{lists=[]FlowHistoryResp}} "成功"
// @Router /api/admin/flow/flow_history/list [get] // @Router /api/admin/flow/flow_history/list [get]
func (hd FlowHistoryHandler) List(c *gin.Context) { func (hd FlowHistoryHandler) List(c *gin.Context) {
var page request.PageReq var page request.PageReq
var listReq = FlowHistoryListReq{ var listReq = FlowHistoryListReq{
@@ -45,11 +45,11 @@ func (hd FlowHistoryHandler) List(c *gin.Context) {
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// @Summary 流程历史列表-所有 // @Summary 流程历史列表-所有
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Success 200 {object} response.Response{data=FlowHistoryResp} "成功" // @Success 200 {object} response.Response{data=FlowHistoryResp} "成功"
// @Router /api/admin/flow/flow_history/listAll [get] // @Router /api/admin/flow/flow_history/listAll [get]
func (hd FlowHistoryHandler) ListAll(c *gin.Context) { func (hd FlowHistoryHandler) ListAll(c *gin.Context) {
var listReq FlowHistoryListReq var listReq FlowHistoryListReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
@@ -59,13 +59,13 @@ func (hd FlowHistoryHandler) ListAll(c *gin.Context) {
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// @Summary 流程历史详情 // @Summary 流程历史详情
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Param Token header string true "token" // @Param Token header string true "token"
// @Param id query int false "历史id" // @Param id query int false "历史id"
// @Success 200 {object} response.Response{data=FlowHistoryResp} "成功" // @Success 200 {object} response.Response{data=FlowHistoryResp} "成功"
// @Router /api/admin/flow/flow_history/detail [get] // @Router /api/admin/flow/flow_history/detail [get]
func (hd FlowHistoryHandler) Detail(c *gin.Context) { func (hd FlowHistoryHandler) Detail(c *gin.Context) {
var detailReq FlowHistoryDetailReq var detailReq FlowHistoryDetailReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
@@ -75,22 +75,22 @@ func (hd FlowHistoryHandler) Detail(c *gin.Context) {
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// @Summary 流程历史新增 // @Summary 流程历史新增
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Param Token header string true "token" // @Param Token header string true "token"
// @Param applyId body int false "申请id" // @Param applyId body int false "申请id"
// @Param templateId body int false "模板id" // @Param templateId body int false "模板id"
// @Param applyUserId body int false "申请人id" // @Param applyUserId body int false "申请人id"
// @Param applyUserNickname body string false "申请人昵称" // @Param applyUserNickname body string false "申请人昵称"
// @Param approverId body int false "审批人id" // @Param approverId body int false "审批人id"
// @Param approverNickname body string false "审批用户昵称" // @Param approverNickname body string false "审批用户昵称"
// @Param nodeId body string false "节点" // @Param nodeId body string false "节点"
// @Param formValue body string false "表单值" // @Param formValue body string false "表单值"
// @Param passStatus body int false "通过状态0待处理1通过2拒绝" // @Param passStatus body int false "通过状态0待处理1通过2拒绝"
// @Param passRemark body string false "通过备注" // @Param passRemark body string false "通过备注"
// @Success 200 {object} response.Response "成功" // @Success 200 {object} response.Response "成功"
// @Router /api/admin/flow/flow_history/add [post] // @Router /api/admin/flow/flow_history/add [post]
func (hd FlowHistoryHandler) Add(c *gin.Context) { func (hd FlowHistoryHandler) Add(c *gin.Context) {
var addReq FlowHistoryAddReq var addReq FlowHistoryAddReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) {
@@ -99,23 +99,23 @@ func (hd FlowHistoryHandler) Add(c *gin.Context) {
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, Service.Add(addReq))
} }
// @Summary 流程历史编辑 // @Summary 流程历史编辑
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Param Token header string true "token" // @Param Token header string true "token"
// @Param id body int false "历史id" // @Param id body int false "历史id"
// @Param applyId body int false "申请id" // @Param applyId body int false "申请id"
// @Param templateId body int false "模板id" // @Param templateId body int false "模板id"
// @Param applyUserId body int false "申请人id" // @Param applyUserId body int false "申请人id"
// @Param applyUserNickname body string false "申请人昵称" // @Param applyUserNickname body string false "申请人昵称"
// @Param approverId body int false "审批人id" // @Param approverId body int false "审批人id"
// @Param approverNickname body string false "审批用户昵称" // @Param approverNickname body string false "审批用户昵称"
// @Param nodeId body string false "节点" // @Param nodeId body string false "节点"
// @Param formValue body string false "表单值" // @Param formValue body string false "表单值"
// @Param passStatus body int false "通过状态0待处理1通过2拒绝" // @Param passStatus body int false "通过状态0待处理1通过2拒绝"
// @Param passRemark body string false "通过备注" // @Param passRemark body string false "通过备注"
// @Success 200 {object} response.Response "成功" // @Success 200 {object} response.Response "成功"
// @Router /api/admin/flow/flow_history/edit [post] // @Router /api/admin/flow/flow_history/edit [post]
func (hd FlowHistoryHandler) Edit(c *gin.Context) { func (hd FlowHistoryHandler) Edit(c *gin.Context) {
var editReq FlowHistoryEditReq var editReq FlowHistoryEditReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) {
@@ -124,13 +124,13 @@ func (hd FlowHistoryHandler) Edit(c *gin.Context) {
response.CheckAndResp(c, Service.Edit(editReq)) response.CheckAndResp(c, Service.Edit(editReq))
} }
// @Summary 流程历史删除 // @Summary 流程历史删除
// @Tags flow_history-流程历史 // @Tags flow_history-流程历史
// @Produce json // @Produce json
// @Param Token header string true "token" // @Param Token header string true "token"
// @Param id body int false "历史id" // @Param id body int false "历史id"
// @Success 200 {object} response.Response "成功" // @Success 200 {object} response.Response "成功"
// @Router /api/admin/flow/flow_history/del [post] // @Router /api/admin/flow/flow_history/del [post]
func (hd FlowHistoryHandler) Del(c *gin.Context) { func (hd FlowHistoryHandler) Del(c *gin.Context) {
var delReq FlowHistoryDelReq var delReq FlowHistoryDelReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) {
@@ -140,8 +140,9 @@ func (hd FlowHistoryHandler) Del(c *gin.Context) {
} }
// 提交申请,通过审批 // 提交申请,通过审批
// @Tags flow_history-流程历史
// //
// @Router /api/admin/flow_apply/pass [post] // @Router /api/admin/flow/flow_apply/pass [post]
func (hd FlowHistoryHandler) Pass(c *gin.Context) { func (hd FlowHistoryHandler) Pass(c *gin.Context) {
var pass PassReq var pass PassReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &pass)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &pass)) {
@@ -153,7 +154,9 @@ func (hd FlowHistoryHandler) Pass(c *gin.Context) {
} }
// 拒绝审批 // 拒绝审批
// @Router /api/admin/flow_apply/back [post] // @Tags flow_history-流程历史
//
// @Router /api/admin/flow/flow_apply/back [post]
func (hd FlowHistoryHandler) Back(c *gin.Context) { func (hd FlowHistoryHandler) Back(c *gin.Context) {
var back BackReq var back BackReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &back)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &back)) {
@@ -192,7 +195,3 @@ func (hd FlowHistoryHandler) GetApprover(c *gin.Context) {
} }
response.OkWithData(c, res) response.OkWithData(c, res)
} }
// 同意审批(当前nodeId)
// 拒绝审批,驳回审批

View File

@@ -520,22 +520,22 @@ func (service flowHistoryService) GetNextNode(ApplyId int) (res []FlowTree, appl
} }
} }
} }
var nextNodes []FlowTree res = DeepNextNode(&next, formValue)
res = DeepNextNode(nextNodes, &next, formValue)
return res, applyDetail, LastHistory, e return res, applyDetail, LastHistory, e
} }
// 返回节点数组,最后一个节点为用户或结束节点 // 返回节点数组,最后一个节点为用户或结束节点
func DeepNextNode(nextNodes []FlowTree, flowTree *[]FlowTree, formValue map[string]interface{}) []FlowTree { func DeepNextNode(flowTree *[]FlowTree, formValue map[string]interface{}) []FlowTree {
var nextNodes []FlowTree
for _, v := range *flowTree { for _, v := range *flowTree {
if v.Type == "bpmn:startEvent" { if v.Type == "bpmn:startEvent" {
// nextNodes = append(nextNodes, v) nextNodes = append(nextNodes, v)
// 开始节点 // 开始节点
if v.Children == nil { if v.Children == nil {
break break
} }
child := DeepNextNode(nextNodes, v.Children, formValue) child := DeepNextNode(v.Children, formValue)
nextNodes = append(nextNodes, child...) nextNodes = append(nextNodes, child...)
break break
} else if v.Type == "bpmn:exclusiveGateway" { } else if v.Type == "bpmn:exclusiveGateway" {
@@ -600,7 +600,7 @@ func DeepNextNode(nextNodes []FlowTree, flowTree *[]FlowTree, formValue map[stri
break break
} }
// 判断formValue值决定是不是递归这个网关 // 判断formValue值决定是不是递归这个网关
child := DeepNextNode(nextNodes, v.Children, formValue) child := DeepNextNode(v.Children, formValue)
nextNodes = append(nextNodes, child...) nextNodes = append(nextNodes, child...)
break break
} }
@@ -610,7 +610,7 @@ func DeepNextNode(nextNodes []FlowTree, flowTree *[]FlowTree, formValue map[stri
break break
} }
// 系统服务 // 系统服务
child := DeepNextNode(nextNodes, v.Children, formValue) child := DeepNextNode(v.Children, formValue)
nextNodes = append(nextNodes, child...) nextNodes = append(nextNodes, child...)
} else if v.Type == "bpmn:userTask" { } else if v.Type == "bpmn:userTask" {
//用户节点 //用户节点

View File

@@ -124,6 +124,14 @@ const docTemplate = `{
} }
} }
}, },
"/api/admin/flow/flow_apply/back": {
"post": {
"tags": [
"flow_history-流程历史"
],
"responses": {}
}
},
"/api/admin/flow/flow_apply/del": { "/api/admin/flow/flow_apply/del": {
"post": { "post": {
"produces": [ "produces": [
@@ -437,6 +445,14 @@ const docTemplate = `{
} }
} }
}, },
"/api/admin/flow/flow_apply/pass": {
"post": {
"tags": [
"flow_history-流程历史"
],
"responses": {}
}
},
"/api/admin/flow/flow_history/add": { "/api/admin/flow/flow_history/add": {
"post": { "post": {
"produces": [ "produces": [
@@ -593,6 +609,7 @@ const docTemplate = `{
"parameters": [ "parameters": [
{ {
"type": "string", "type": "string",
"default": "{{Token}}",
"description": "token", "description": "token",
"name": "Token", "name": "Token",
"in": "header", "in": "header",
@@ -1225,16 +1242,6 @@ const docTemplate = `{
"responses": {} "responses": {}
} }
}, },
"/api/admin/flow_apply/back": {
"post": {
"responses": {}
}
},
"/api/admin/flow_apply/pass": {
"post": {
"responses": {}
}
},
"/api/admin/monitor_client/ExportFile": { "/api/admin/monitor_client/ExportFile": {
"get": { "get": {
"produces": [ "produces": [

View File

@@ -118,6 +118,14 @@
} }
} }
}, },
"/api/admin/flow/flow_apply/back": {
"post": {
"tags": [
"flow_history-流程历史"
],
"responses": {}
}
},
"/api/admin/flow/flow_apply/del": { "/api/admin/flow/flow_apply/del": {
"post": { "post": {
"produces": [ "produces": [
@@ -431,6 +439,14 @@
} }
} }
}, },
"/api/admin/flow/flow_apply/pass": {
"post": {
"tags": [
"flow_history-流程历史"
],
"responses": {}
}
},
"/api/admin/flow/flow_history/add": { "/api/admin/flow/flow_history/add": {
"post": { "post": {
"produces": [ "produces": [
@@ -587,6 +603,7 @@
"parameters": [ "parameters": [
{ {
"type": "string", "type": "string",
"default": "{{Token}}",
"description": "token", "description": "token",
"name": "Token", "name": "Token",
"in": "header", "in": "header",
@@ -1219,16 +1236,6 @@
"responses": {} "responses": {}
} }
}, },
"/api/admin/flow_apply/back": {
"post": {
"responses": {}
}
},
"/api/admin/flow_apply/pass": {
"post": {
"responses": {}
}
},
"/api/admin/monitor_client/ExportFile": { "/api/admin/monitor_client/ExportFile": {
"get": { "get": {
"produces": [ "produces": [

View File

@@ -307,6 +307,11 @@ paths:
summary: 申请流程新增 summary: 申请流程新增
tags: tags:
- flow_apply-申请流程 - flow_apply-申请流程
/api/admin/flow/flow_apply/back:
post:
responses: {}
tags:
- flow_history-流程历史
/api/admin/flow/flow_apply/del: /api/admin/flow/flow_apply/del:
post: post:
parameters: parameters:
@@ -501,6 +506,11 @@ paths:
summary: 申请流程列表 summary: 申请流程列表
tags: tags:
- flow_apply-申请流程 - flow_apply-申请流程
/api/admin/flow/flow_apply/pass:
post:
responses: {}
tags:
- flow_history-流程历史
/api/admin/flow/flow_history/add: /api/admin/flow/flow_history/add:
post: post:
parameters: parameters:
@@ -595,7 +605,8 @@ paths:
/api/admin/flow/flow_history/detail: /api/admin/flow/flow_history/detail:
get: get:
parameters: parameters:
- description: token - default: '{{Token}}'
description: token
in: header in: header
name: Token name: Token
required: true required: true
@@ -991,12 +1002,6 @@ paths:
summary: 流程模板列表-所有 summary: 流程模板列表-所有
tags: tags:
- flow_template-流程模板 - flow_template-流程模板
/api/admin/flow_apply/back:
post:
responses: {}
/api/admin/flow_apply/pass:
post:
responses: {}
/api/admin/monitor_client/ExportFile: /api/admin/monitor_client/ExportFile:
get: get:
parameters: parameters: