mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
feat: sql解析器替换、工单统一由‘我的流程’发起、流程定义支持自定义条件触发审批、资源隐藏编号、model支持物理删除等
This commit is contained in:
@@ -23,8 +23,8 @@ type Procdef interface {
|
||||
// 删除流程实例信息
|
||||
DeleteProcdef(ctx context.Context, defId uint64) error
|
||||
|
||||
// GetProcdefIdByCodePath 根据资源编号路径获取对应的流程定义id
|
||||
GetProcdefIdByCodePath(ctx context.Context, codePaths ...string) uint64
|
||||
// GetProcdefByCodePath 根据资源编号路径获取对应的流程定义
|
||||
GetProcdefByCodePath(ctx context.Context, codePaths ...string) *entity.Procdef
|
||||
|
||||
// GetProcdefByResource 根据资源获取对应的流程定义
|
||||
GetProcdefByResource(ctx context.Context, resourceType int8, resourceCode string) *entity.Procdef
|
||||
@@ -82,21 +82,13 @@ func (p *procdefAppImpl) DeleteProcdef(ctx context.Context, defId uint64) error
|
||||
return p.DeleteById(ctx, defId)
|
||||
}
|
||||
|
||||
func (p *procdefAppImpl) GetProcdefIdByCodePath(ctx context.Context, codePaths ...string) uint64 {
|
||||
func (p *procdefAppImpl) GetProcdefByCodePath(ctx context.Context, codePaths ...string) *entity.Procdef {
|
||||
relateIds, err := p.tagTreeRelateApp.GetRelateIds(ctx, tagentity.TagRelateTypeFlowDef, codePaths...)
|
||||
if err != nil || len(relateIds) == 0 {
|
||||
return 0
|
||||
}
|
||||
return relateIds[len(relateIds)-1]
|
||||
}
|
||||
|
||||
func (p *procdefAppImpl) GetProcdefByResource(ctx context.Context, resourceType int8, resourceCode string) *entity.Procdef {
|
||||
resourceCodePaths := p.tagTreeApp.ListTagPathByTypeAndCode(resourceType, resourceCode)
|
||||
procdefId := p.GetProcdefIdByCodePath(ctx, resourceCodePaths...)
|
||||
if procdefId == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
procdefId := relateIds[len(relateIds)-1]
|
||||
procdef, err := p.GetById(procdefId)
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -107,6 +99,11 @@ func (p *procdefAppImpl) GetProcdefByResource(ctx context.Context, resourceType
|
||||
return procdef
|
||||
}
|
||||
|
||||
func (p *procdefAppImpl) GetProcdefByResource(ctx context.Context, resourceType int8, resourceCode string) *entity.Procdef {
|
||||
resourceCodePaths := p.tagTreeApp.ListTagPathByTypeAndCode(resourceType, resourceCode)
|
||||
return p.GetProcdefByCodePath(ctx, resourceCodePaths...)
|
||||
}
|
||||
|
||||
// 判断该流程实例是否可以执行修改操作
|
||||
func (p *procdefAppImpl) canModify(prodefId uint64) error {
|
||||
if activeInstCount := p.procinstApp.CountByCond(&entity.Procinst{ProcdefId: prodefId, Status: entity.ProcinstStatusActive}); activeInstCount > 0 {
|
||||
|
||||
Reference in New Issue
Block a user