From 841a79c2d45811bac189833ae845b240cb1d9a98 Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Wed, 28 May 2025 16:14:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=84=E9=80=81=E5=8F=91?= =?UTF-8?q?=E9=80=81=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/shiyan/maptostruct/shiyan.go | 17 +- api/shiyan/maptostruct/type.go | 6 +- api/version1/customerform/formTableList.go | 7 +- api/version1/entry.go | 8 +- api/version1/publicapi/api.go | 27 ++- api/version1/systemrole_empower.go | 65 +++++++ .../{taskflow => taskflowing}/appTaskFlow.go | 2 +- .../{taskflow => taskflowing}/editformflow.go | 2 +- .../{taskflow => taskflowing}/flowType.go | 20 +- .../{taskflow => taskflowing}/flowengine.go | 2 +- .../{taskflow => taskflowing}/judgmentFlow.go | 2 +- .../{taskflow => taskflowing}/runflow.go | 2 +- .../{taskflow => taskflowing}/taskFlow.go | 2 +- .../{taskflow => taskflowing}/types.go | 2 +- .../{taskflow => taskflowing}/workFlowRun.go | 2 +- .../{taskflow => taskflowing}/workflow.go | 2 +- .../taskplatform/taskmanagement/ruanTask.go | 177 +++++++++++++++--- api/version1/user/userCont.go | 14 +- .../{workFlow => workFlowRun}/common.go | 2 +- .../{workFlow => workFlowRun}/flow.go | 2 +- .../{workFlow => workFlowRun}/flowNode.go | 2 +- .../{workFlow => workFlowRun}/flowType.go | 2 +- .../{workFlow => workFlowRun}/type.go | 2 +- go.sum | 9 + initialization/nosql/redis.go | 2 +- overall/publicmethod/getUserPower.go | 6 +- 26 files changed, 295 insertions(+), 91 deletions(-) create mode 100644 api/version1/systemrole_empower.go rename api/version1/taskplatform/{taskflow => taskflowing}/appTaskFlow.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/editformflow.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/flowType.go (95%) rename api/version1/taskplatform/{taskflow => taskflowing}/flowengine.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/judgmentFlow.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/runflow.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/taskFlow.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/types.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/workFlowRun.go (99%) rename api/version1/taskplatform/{taskflow => taskflowing}/workflow.go (99%) rename api/version1/{workFlow => workFlowRun}/common.go (99%) rename api/version1/{workFlow => workFlowRun}/flow.go (99%) rename api/version1/{workFlow => workFlowRun}/flowNode.go (99%) rename api/version1/{workFlow => workFlowRun}/flowType.go (98%) rename api/version1/{workFlow => workFlowRun}/type.go (81%) diff --git a/api/shiyan/maptostruct/shiyan.go b/api/shiyan/maptostruct/shiyan.go index dac522e..c8a029f 100644 --- a/api/shiyan/maptostruct/shiyan.go +++ b/api/shiyan/maptostruct/shiyan.go @@ -2,7 +2,6 @@ package maptostruct import ( "appPlatform/api/version1/customerform" - "appPlatform/api/version1/taskplatform/taskflow" "appPlatform/api/version1/workWechat" "appPlatform/models/modelAppPlatform" "appPlatform/models/modelshr" @@ -530,23 +529,23 @@ func (a *ApiMethod) CreateFlowChart(c *gin.Context) { publicmethod.Result(106, err, c) return } - var flowVersionCont taskflow.FlowMainBody - err = json.Unmarshal([]byte(flowInfo.Content), &flowVersionCont) - if err != nil { - publicmethod.Result(104, err, c) - return - } + // var flowVersionCont taskflow.FlowMainBody + // err = json.Unmarshal([]byte(flowInfo.Content), &flowVersionCont) + // if err != nil { + // publicmethod.Result(104, err, c) + // return + // } context, _ := c.Get(overall.MyContJwt) var userCont modelshr.ManCont userCont.GetLoginCont(context) // workFlowInfo := flowVersionCont.GenerateFlow(userCont, 349) - workFlowInfo := flowVersionCont.NodeConfig.CircularParsing(1, userCont, 349, requestData.ConditionList, requestData.NodelPeople) + // workFlowInfo := flowVersionCont.NodeConfig.CircularParsing(1, userCont, 349, requestData.ConditionList, requestData.NodelPeople) sendData := publicmethod.MapOut[string]() // sendData["context"] = context // sendData["userCont"] = userCont // sendData["flowInfo"] = flowInfo // sendData["flowVersionCont"] = flowVersionCont - sendData["workFlowInfo"] = workFlowInfo + // sendData["workFlowInfo"] = workFlowInfo publicmethod.Result(0, sendData, c) } diff --git a/api/shiyan/maptostruct/type.go b/api/shiyan/maptostruct/type.go index ffc13ae..0aa5ab1 100644 --- a/api/shiyan/maptostruct/type.go +++ b/api/shiyan/maptostruct/type.go @@ -1,7 +1,7 @@ package maptostruct import ( - "appPlatform/api/version1/taskplatform/taskflow" + "appPlatform/api/version1/taskplatform/taskflowing" "appPlatform/models/modelsstorage" "appPlatform/overall/publicmethod" "sync" @@ -117,8 +117,8 @@ type JiaMi struct { // 生成表单参数 type CreatFlowView struct { publicmethod.PublicId - ConditionList []taskflow.ConditionListInfo `json:"conditionList"` //判断条件主体 - NodelPeople []taskflow.NodelPeopleInfo `json:"nodelPeople"` //节点操作人 + ConditionList []taskflowing.ConditionListInfo `json:"conditionList"` //判断条件主体 + NodelPeople []taskflowing.NodelPeopleInfo `json:"nodelPeople"` //节点操作人 } type PersonalityTestIn struct { diff --git a/api/version1/customerform/formTableList.go b/api/version1/customerform/formTableList.go index 49f5d93..e38f357 100644 --- a/api/version1/customerform/formTableList.go +++ b/api/version1/customerform/formTableList.go @@ -55,7 +55,7 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) { //获取表单数据 var formInfo modelAppPlatform.CustomerFormView - err = formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`groupid`", "`id`") + err = formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`groupid`", "`cfid`") if err != nil { publicmethod.Result(1, err, c, "未知表单!无法获取字段!") return @@ -96,7 +96,7 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) { powerSearch.OrgId = userCont.AdminOrg //行政组织 powerSearch.PostId = userCont.Position //岗位 powerSearch.AppKey = formInfo.Groupid //归属哪个App - powerSearch.TableId = formInfo.Id //归属哪个表格 + powerSearch.TableId = formInfo.CfId //归属哪个表格 gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource) //Step 4 获取一共有多少条数据 var total int64 @@ -177,7 +177,7 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) { powerSearch.OrgId = userCont.AdminOrg //行政组织 powerSearch.PostId = userCont.Position //岗位 powerSearch.AppKey = formInfo.Groupid //归属哪个App - powerSearch.TableId = formInfo.Id //归属哪个表格 + powerSearch.TableId = formInfo.CfId //归属哪个表格 gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource) //Step 3 获取一共有多少条数据 var total int64 @@ -188,6 +188,7 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) { //Step 4 翻页配置 gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) err = gormDb.Order("f.`id` DESC").Find(&formList).Error + fmt.Printf("err----%v------->%v\n\n\n", formJsonCont.Form.DataSource, err) if err != nil && len(formList) < 1 { publicmethod.Result(0, err, c) return diff --git a/api/version1/entry.go b/api/version1/entry.go index 32a2e7c..768fdc7 100644 --- a/api/version1/entry.go +++ b/api/version1/entry.go @@ -12,11 +12,11 @@ import ( "appPlatform/api/version1/newsclass" "appPlatform/api/version1/publicapi" matsformula "appPlatform/api/version1/taskplatform/matsFormula" - "appPlatform/api/version1/taskplatform/taskflow" + "appPlatform/api/version1/taskplatform/taskflowing" "appPlatform/api/version1/taskplatform/taskmanagement" "appPlatform/api/version1/user" webstocetmsg "appPlatform/api/version1/webStocetmsg" - workflow "appPlatform/api/version1/workFlow" + workflowRun "appPlatform/api/version1/workFlowRun" "appPlatform/api/version1/workWechat" ) @@ -29,7 +29,7 @@ type ApiEntry struct { PublicApi publicapi.ApiMethod //公共方法 CustomerFormApi customerform.ApiMethod //自定表单 TaskManagementApi taskmanagement.ApiMethod - TaskFlowApi taskflow.ApiMethod + TaskFlowApi taskflowing.ApiMethod NewsClassApi newsclass.ApiMethod //新闻类 RedisManagApi redisController.ApiMethod MathsApi matsformula.ApiMethod @@ -37,7 +37,7 @@ type ApiEntry struct { DataCenterApi datacenter.ApiMethod //数据中台 CustomerAppApi customerApp.ApiMethod //自定App WebSocketApi webstocetmsg.ApiMethod //webSocket通讯相关 - WorkFlowApi workflow.ApiMethod //工作流相关 + WorkFlowApi workflowRun.ApiMethod //工作流相关 } var AppApiEntry = new(ApiEntry) diff --git a/api/version1/publicapi/api.go b/api/version1/publicapi/api.go index b6079cd..942535b 100644 --- a/api/version1/publicapi/api.go +++ b/api/version1/publicapi/api.go @@ -1,7 +1,6 @@ package publicapi import ( - "appPlatform/api/version1/taskplatform/taskflow" "appPlatform/middleware/grocerystore" "appPlatform/models/modelshr" "appPlatform/models/modelsschool" @@ -237,19 +236,19 @@ func StringToPinYin(types int, title, connector, formJson string) string { var formCont map[string]interface{} json.Unmarshal([]byte(formJson), &formCont) // taskflow.RecursionFormUnit - var formUnit taskflow.RecursionFormUnit - if list, ok := formCont["list"]; ok { - if listAry, ok := list.([]interface{}); ok { - formUnit.AllUnitNodes("", listAry) - } - } - if len(formUnit.UnitAllKey) > 0 { - - var oneName OnleyOneName - oneName.NameAry = formUnit.UnitAllKey - oneName.OneName(str) - str = oneName.Name - } + // var formUnit taskflow.RecursionFormUnit + // if list, ok := formCont["list"]; ok { + // if listAry, ok := list.([]interface{}); ok { + // formUnit.AllUnitNodes("", listAry) + // } + // } + // if len(formUnit.UnitAllKey) > 0 { + + // var oneName OnleyOneName + // oneName.NameAry = formUnit.UnitAllKey + // oneName.OneName(str) + // str = oneName.Name + // } } if len(str) > 25 { str = StringToPinYin(4, title, connector, formJson) diff --git a/api/version1/systemrole_empower.go b/api/version1/systemrole_empower.go new file mode 100644 index 0000000..7d35d61 --- /dev/null +++ b/api/version1/systemrole_empower.go @@ -0,0 +1,65 @@ +package version1 + +import ( + "appPlatform/overall" + "strings" +) + +// 角色权限视图 +type SystemroleEmpower struct { + Id int64 `json:"id" gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null;comment:Id;index"` + RoleId int64 `json:"roleid" gorm:"column:role_id;type:bigint(20) unsigned;default:0;not null;comment:行政组织"` + System string `json:"system" gorm:"column:system;type:varchar(255) ;comment:系统"` + PointId string `json:"pointid" gorm:"column:point_id;type:longtext;comment:权限点位"` + Operation string `json:"operation" gorm:"column:operation;type:longtext;comment:操作点位"` + State int `json:"state" gorm:"column:state;type:tinyint(1) unsigned;default:1;not null;comment:状态(1:启用;2:禁用;3:删除)"` + Level int `json:"level" gorm:"column:level;type:int(1) unsigned;default:1;not null;comment:授权范围等级(1:本部门;2:本分部;3:所有)"` + Time int64 `json:"time" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:创建时间"` + Name string `json:"name" gorm:"column:name;type:varchar(255) ;comment:系统名称"` + Sort int `json:"sort" gorm:"column:sort;type:int(5) unsigned;default:50;not null;comment:排序"` +} + +func (SystemroleEmpower *SystemroleEmpower) TableName() string { + return "systemrole_empower" +} + +// 编辑内容 +func (cont *SystemroleEmpower) EiteCont(whereMap interface{}, saveData interface{}) (err error) { + err = overall.CONSTANT_DB_System_Permission.Model(&cont).Where(whereMap).Updates(saveData).Error + return +} + +// 获取内容 +func (cont *SystemroleEmpower) GetCont(whereMap interface{}, field ...string) (err error) { + gormDb := overall.CONSTANT_DB_System_Permission.Model(&cont) + if len(field) > 0 { + fieldStr := strings.Join(field, ",") + gormDb = gormDb.Select(fieldStr) + } + gormDb = gormDb.Where(whereMap) + err = gormDb.First(&cont).Error + return +} + +// 根据条件获取总数 +func (cont *SystemroleEmpower) CountCont(whereMap interface{}) (countId int64) { + overall.CONSTANT_DB_System_Permission.Model(&cont).Where(whereMap).Count(&countId) + return +} + +// 读取全部信息 +func (cont *SystemroleEmpower) ContMap(whereMap interface{}, field ...string) (countAry []SystemroleEmpower, err error) { + gormDb := overall.CONSTANT_DB_System_Permission.Model(&cont) + if len(field) > 0 { + fieldStr := strings.Join(field, ",") + gormDb = gormDb.Select(fieldStr) + } + err = gormDb.Where(whereMap).Find(&countAry).Error + return +} + +// 删除内容 +func (cont *SystemroleEmpower) DelCont(whereMap interface{}) (err error) { + err = overall.CONSTANT_DB_System_Permission.Where(whereMap).Delete(&cont).Error + return +} diff --git a/api/version1/taskplatform/taskflow/appTaskFlow.go b/api/version1/taskplatform/taskflowing/appTaskFlow.go similarity index 99% rename from api/version1/taskplatform/taskflow/appTaskFlow.go rename to api/version1/taskplatform/taskflowing/appTaskFlow.go index 6a046e6..a344d68 100644 --- a/api/version1/taskplatform/taskflow/appTaskFlow.go +++ b/api/version1/taskplatform/taskflowing/appTaskFlow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/api/version1/customerform" diff --git a/api/version1/taskplatform/taskflow/editformflow.go b/api/version1/taskplatform/taskflowing/editformflow.go similarity index 99% rename from api/version1/taskplatform/taskflow/editformflow.go rename to api/version1/taskplatform/taskflowing/editformflow.go index bb5ab91..0ee7261 100644 --- a/api/version1/taskplatform/taskflow/editformflow.go +++ b/api/version1/taskplatform/taskflowing/editformflow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/api/version1/customerform" diff --git a/api/version1/taskplatform/taskflow/flowType.go b/api/version1/taskplatform/taskflowing/flowType.go similarity index 95% rename from api/version1/taskplatform/taskflow/flowType.go rename to api/version1/taskplatform/taskflowing/flowType.go index ae5fbbf..d164fab 100644 --- a/api/version1/taskplatform/taskflow/flowType.go +++ b/api/version1/taskplatform/taskflowing/flowType.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import "appPlatform/overall/publicmethod" @@ -68,18 +68,18 @@ type NodePublicInfo struct { //矩阵信息 type MatrixInfo struct { - MatrixId int64 `json:"matrixid"` - FactorId int64 `json:"factorid"` - OutcomeId int64 `json:"outcomeid"` - MatrixName string `json:"matrixName"` - FactorName string `json:"factorName"` - OutcomeName string `json:"outcomeName"` - List []MatrListInfo `json:"list"` + MatrixId int64 `json:"matrixid"` //矩阵ID + FactorId int64 `json:"factorid"` //行政组织 + OutcomeId int64 `json:"outcomeid"` //人力资源 + MatrixName string `json:"matrixName"` //矩阵名称 + FactorName string `json:"factorName"` //行政组织名称 + OutcomeName string `json:"outcomeName"` //人力资源 + List []MatrListInfo `json:"list"` //选项列表 } type MatrListInfo struct { - OutcomeId int64 `json:"outcomeid"` - OutcomeName string `json:"outcomeName"` + OutcomeId int64 `json:"outcomeid"` //人力资源ID + OutcomeName string `json:"outcomeName"` //人力资源名称 } //节点执行人 diff --git a/api/version1/taskplatform/taskflow/flowengine.go b/api/version1/taskplatform/taskflowing/flowengine.go similarity index 99% rename from api/version1/taskplatform/taskflow/flowengine.go rename to api/version1/taskplatform/taskflowing/flowengine.go index 278315f..a5b3af5 100644 --- a/api/version1/taskplatform/taskflow/flowengine.go +++ b/api/version1/taskplatform/taskflowing/flowengine.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/models/modelAppPlatform" diff --git a/api/version1/taskplatform/taskflow/judgmentFlow.go b/api/version1/taskplatform/taskflowing/judgmentFlow.go similarity index 99% rename from api/version1/taskplatform/taskflow/judgmentFlow.go rename to api/version1/taskplatform/taskflowing/judgmentFlow.go index 329224b..258c98a 100644 --- a/api/version1/taskplatform/taskflow/judgmentFlow.go +++ b/api/version1/taskplatform/taskflowing/judgmentFlow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/models/modelshr" diff --git a/api/version1/taskplatform/taskflow/runflow.go b/api/version1/taskplatform/taskflowing/runflow.go similarity index 99% rename from api/version1/taskplatform/taskflow/runflow.go rename to api/version1/taskplatform/taskflowing/runflow.go index 0ff67af..7aafe73 100644 --- a/api/version1/taskplatform/taskflow/runflow.go +++ b/api/version1/taskplatform/taskflowing/runflow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/models/modelAppPlatform" diff --git a/api/version1/taskplatform/taskflow/taskFlow.go b/api/version1/taskplatform/taskflowing/taskFlow.go similarity index 99% rename from api/version1/taskplatform/taskflow/taskFlow.go rename to api/version1/taskplatform/taskflowing/taskFlow.go index ef63bf0..8ea8dd6 100644 --- a/api/version1/taskplatform/taskflow/taskFlow.go +++ b/api/version1/taskplatform/taskflowing/taskFlow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/api/version1/workWechat" diff --git a/api/version1/taskplatform/taskflow/types.go b/api/version1/taskplatform/taskflowing/types.go similarity index 99% rename from api/version1/taskplatform/taskflow/types.go rename to api/version1/taskplatform/taskflowing/types.go index d7a833c..9061d41 100644 --- a/api/version1/taskplatform/taskflow/types.go +++ b/api/version1/taskplatform/taskflowing/types.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/api/version1/customerform" diff --git a/api/version1/taskplatform/taskflow/workFlowRun.go b/api/version1/taskplatform/taskflowing/workFlowRun.go similarity index 99% rename from api/version1/taskplatform/taskflow/workFlowRun.go rename to api/version1/taskplatform/taskflowing/workFlowRun.go index 57a4202..a5f877a 100644 --- a/api/version1/taskplatform/taskflow/workFlowRun.go +++ b/api/version1/taskplatform/taskflowing/workFlowRun.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/models/flowlog" diff --git a/api/version1/taskplatform/taskflow/workflow.go b/api/version1/taskplatform/taskflowing/workflow.go similarity index 99% rename from api/version1/taskplatform/taskflow/workflow.go rename to api/version1/taskplatform/taskflowing/workflow.go index 240d08c..4a6945c 100644 --- a/api/version1/taskplatform/taskflow/workflow.go +++ b/api/version1/taskplatform/taskflowing/workflow.go @@ -1,4 +1,4 @@ -package taskflow +package taskflowing import ( "appPlatform/api/version1/customerform" diff --git a/api/version1/taskplatform/taskmanagement/ruanTask.go b/api/version1/taskplatform/taskmanagement/ruanTask.go index eb4e2f2..2956f5d 100644 --- a/api/version1/taskplatform/taskmanagement/ruanTask.go +++ b/api/version1/taskplatform/taskmanagement/ruanTask.go @@ -1577,6 +1577,9 @@ func ReformFlow(step int, nodeList []RunFlow) (nodeKey string, nextStep int, nod # */ func (n *NodePublicInfo) CircularParsing(step int, creater modelshr.ManCont, orgId int64, condition []ConditionListInfo, nodelPeople []NodelPeopleInfo) (nodeList []RunFlow) { + + fmt.Printf("\n\n\n节点处理---->%v\n\n\n", n) + var nodeInfo RunFlow nodeInfo.Step = step @@ -1673,6 +1676,7 @@ func (n *NodePublicInfo) CircularParsing(step int, creater modelshr.ManCont, org nodeInfo.Operator = GainMatrixUserList(orgId, n.Matrix) } case 10: //指定部门负责人 + fmt.Printf("指定部门负责人-->\n\n\n%v\n\n\n", n.OrgList) if len(n.OrgList) > 0 { nodeInfo.Operator = GainOrgManager(n.OrgList) } @@ -1689,10 +1693,83 @@ func (n *NodePublicInfo) CircularParsing(step int, creater modelshr.ManCont, org nodeInfo.RunType = 4 nodeInfo.RunScope = n.CcSelfSelectFlag nodeInfo.Operator = OperatorHandle(n.NodeUserList) + + switch n.Settype { + case 2: //主管 + var levelUserList ContinuousMultiLevelSupervisor + levelUserList.MaxLevel = n.DirectorLevel + levelUserList.Continuity = false + if n.Attribute == 1 { + //申请人 + nodeInfo.Operator = append(nodeInfo.Operator, levelUserList.ObtainRelevantLevelLeaders(creater.AdminOrg)...) + } else { + //执行部门 + nodeInfo.Operator = append(nodeInfo.Operator, levelUserList.ObtainRelevantLevelLeaders(orgId)...) + } + case 3: //行政岗位 + if n.Attribute == 1 { + nodeInfo.Operator = append(nodeInfo.Operator, GainOrgPostUserList(creater.AdminOrg, n.NodeUserList)...) + } else { + nodeInfo.Operator = append(nodeInfo.Operator, GainOrgPostUserList(orgId, n.NodeUserList)...) + } + case 5: //发起人自己 + var myCont modelshr.ManCont + myCont.GetCont(map[string]interface{}{"`id`": creater.Id}, "`key`", "`name`", "`number`", "`icon`", "`icon_photo`", "`wechat`", "`work_wechat`", "`admin_org`", "`position`", "`teamid`", "`mobilephone`,`company`") + nodeInfo.Operator = append(nodeInfo.Operator, TransformPublicUs(myCont)) + case 6: //连续多级主管 + var levelUserList ContinuousMultiLevelSupervisor + levelUserList.MaxLevel = n.ExamineEndDirectorLevel + levelUserList.Continuity = true + if n.Attribute == 1 { + //申请人 + nodeInfo.Operator = append(nodeInfo.Operator, levelUserList.ObtainRelevantLevelLeaders(creater.AdminOrg)...) + } else { + //执行部门 + nodeInfo.Operator = append(nodeInfo.Operator, levelUserList.ObtainRelevantLevelLeaders(orgId)...) + } + case 8: //表单字段 + reg1 := regexp.MustCompile(`\(([^)]+)\)`) //解析()内的数据 + var userNumber []string //工号切片 + for _, v := range n.NodeUserList { //判断本节点需要什么样的表格字段 + for _, e := range nodelPeople { //循环找出提交得表格字段 + if v.Id == e.FactorId { //判断提交得字段是否为当前节点操作字段 + userAry := reg1.FindAllStringSubmatch(e.UserList, -1) //按照正则规则提取数据 + for _, u := range userAry { + vLen := len(u) + if vLen > 0 { + if !publicmethod.IsInTrue[string](u[vLen-1], userNumber) { + userNumber = append(userNumber, u[vLen-1]) //将工号写入数组 + } + } + } + } + } + } + fmt.Printf("获取到的人员-->\n\n\n%v\n\n\n", userNumber) + if len(userNumber) > 0 { + nodeInfo.Operator = append(nodeInfo.Operator, GainUserCode(userNumber)...) + } + case 9: //权限矩阵 + fmt.Printf("权限矩阵-->\n\n\n%v\n\n\n", n.Matrix) + if n.Attribute == 1 { + nodeInfo.Operator = append(nodeInfo.Operator, GainMatrixUserList(creater.AdminOrg, n.Matrix)...) + } else { + nodeInfo.Operator = append(nodeInfo.Operator, GainMatrixUserList(orgId, n.Matrix)...) + } + case 10: //指定部门负责人 + fmt.Printf("指定部门负责人-->\n\n\n%v\n\n\n", n.OrgList) + if len(n.OrgList) > 0 { + nodeInfo.Operator = append(nodeInfo.Operator, GainOrgManager(n.OrgList)...) + } + default: + } + nodeList = append(nodeList, nodeInfo) + if n.ChildNode != nil { nodeList = append(nodeList, n.ChildNode.CircularParsing(step+1, creater, orgId, condition, nodelPeople)...) } + case 4: case 5: if len(n.ConditionNodes) > 0 { //判断条件,当节点是路由时有效 @@ -2012,23 +2089,26 @@ func GainOneLevel(level int, UserList []MultiLeveUserList) (UserAry []OperatorLi # */ func (c *ContinuousMultiLevelSupervisor) ObtainRelevantLevelLeadersUser(level int, orgId int64) { - var orgInfo modelshr.AdministrativeOrganization - err := orgInfo.GetCont(map[string]interface{}{"`id`": orgId}, "`superior`") - if err == nil { - var userList []modelshr.ManCont - err = overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`person_in_charge` = 1 AND `admin_org` = ? AND `emp_type` BETWEEN ? AND ?", orgId, 1, 10).Find(&userList).Error + if orgId != 0 { + var orgInfo modelshr.AdministrativeOrganization + err := orgInfo.GetCont(map[string]interface{}{"`id`": orgId}, "`superior`") if err == nil { - var userAry MultiLeveUserList - userAry.Level = level - for _, v := range userList { - userAry.UserList = append(userAry.UserList, TransformPublicUs(v)) + var userList []modelshr.ManCont + err = overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`person_in_charge` = 1 AND `admin_org` = ? AND `emp_type` BETWEEN ? AND ?", orgId, 1, 10).Find(&userList).Error + + if err == nil { + var userAry MultiLeveUserList + userAry.Level = level + for _, v := range userList { + userAry.UserList = append(userAry.UserList, TransformPublicUs(v)) + } + c.UserList = append(c.UserList, userAry) + } + nextLevel := level + 1 + if nextLevel <= c.MaxLevel { + c.ObtainRelevantLevelLeadersUser(nextLevel, orgInfo.Superior) } - c.UserList = append(c.UserList, userAry) - } - nextLevel := level + 1 - if nextLevel <= c.MaxLevel { - c.ObtainRelevantLevelLeadersUser(nextLevel, orgInfo.Superior) } } } @@ -2350,6 +2430,7 @@ func CondToNodeUser(condition []FlowPermissionInfo) (usAry []NodeUserListInfo) { @ 参数 #userList 节点处理人 + #examineMode 1、依次审批;2、会签;3、或签 @ 返回值 @@ -2360,20 +2441,26 @@ func CondToNodeUser(condition []FlowPermissionInfo) (usAry []NodeUserListInfo) { #func OperatorHandle(userList []NodeUserListInfo) (userAry []OperatorList) */ func OperatorHandle(userList []NodeUserListInfo) (userAry []OperatorList) { + if len(userList) > 0 { var userIdAry []int64 + var oneIdAry []int64 + var roleUserIdAry []int64 + var orgUserIdAry []int64 for _, v := range userList { switch v.Types { //1:人员;2:角色;3:行政组织 case 1: myKey, myErr := strconv.ParseInt(v.TargetId, 10, 64) if myErr == nil { userIdAry = append(userIdAry, myKey) + oneIdAry = append(oneIdAry, myKey) } case 2: //角色 var usIdList []int64 overall.CONSTANT_DB_HR.Model(&modelshr.PersonArchives{}).Select("`key`").Where("FIND_IN_SET(?,`role`) AND `emp_type` BETWEEN ? AND ?", v.TargetId, 1, 10).Find(&usIdList) if len(usIdList) > 0 { userIdAry = append(userIdAry, usIdList...) + roleUserIdAry = append(roleUserIdAry, usIdList...) } case 3: //行政组织 myKey, myErr := strconv.ParseInt(v.TargetId, 10, 64) @@ -2385,17 +2472,42 @@ func OperatorHandle(userList []NodeUserListInfo) (userAry []OperatorList) { overall.CONSTANT_DB_HR.Model(&modelshr.PersonArchives{}).Select("`key`").Where("`admin_org` IN ? AND `emp_type` BETWEEN ? AND ?", sunOrg.Id, 1, 10).Find(&usIdList) if len(usIdList) > 0 { userIdAry = append(userIdAry, usIdList...) + orgUserIdAry = append(orgUserIdAry, usIdList...) } } default: } } - var userContMap []modelshr.ManCont - overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`key` IN ?", userIdAry).Find(&userContMap) - for _, v := range userContMap { - userAry = append(userAry, TransformPublicUs(v)) + fmt.Printf("\n\n\n员工----------->%v------->%v\n\n\n", oneIdAry, userList) + if len(oneIdAry) > 0 { + var userOneContMap []modelshr.ManCont + overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`key` IN ?", oneIdAry).Find(&userOneContMap) + if len(userOneContMap) > 0 { + for _, v := range oneIdAry { + for _, uv := range userOneContMap { + if v == uv.Key { + userAry = append(userAry, TransformPublicUs(uv)) + } + } + } + } + } + if len(roleUserIdAry) > 0 { + var userRoleContMap []modelshr.ManCont + overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`key` IN ?", roleUserIdAry).Find(&userRoleContMap) + for _, v := range userRoleContMap { + userAry = append(userAry, TransformPublicUs(v)) + } + } + if len(orgUserIdAry) > 0 { + var userOrgContMap []modelshr.ManCont + overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`key` IN ?", orgUserIdAry).Find(&userOrgContMap) + for _, v := range userOrgContMap { + userAry = append(userAry, TransformPublicUs(v)) + } } + fmt.Printf("\n\n\n员工----1------->%v------->%v\n\n\n", oneIdAry, userAry) } return } @@ -2672,12 +2784,31 @@ person_in_charge # */ func GainOrgManager(orgId []int64) (UserList []OperatorList) { - var userInfoAry []modelshr.ManCont - overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`admin_org` IN ? AND `person_in_charge` = ? AND `emp_type` BETWEEN ? AND ?", orgId, 1, 1, 10).Find(&userInfoAry) - if len(userInfoAry) > 0 { - for _, uv := range userInfoAry { - UserList = append(UserList, TransformPublicUs(uv)) + // fmt.Printf("\n\n\n指定部门负责人!---------->%v\n\n\n", orgId) + var keyList []int64 + // var userInfoAry []modelshr.ManCont + // overall.CONSTANT_DB_HR.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("`admin_org` IN ? AND `person_in_charge` = ? AND `emp_type` BETWEEN ? AND ?", orgId, 1, 1, 10).Find(&userInfoAry) + // if len(userInfoAry) > 0 { + // for _, uv := range userInfoAry { + // if !publicmethod.IsInTrue[int64](uv.Key, keyList) { + // UserList = append(UserList, TransformPublicUs(uv)) + // keyList = append(keyList, uv.Key) + // } + + // } + // } + for _, v := range orgId { + var userInfoAryes []modelshr.ManCont + overall.CONSTANT_DB_HrInside.Model(&modelshr.ManCont{}).Select("`key`,`name`,`number`,`icon`,`icon_photo`,`wechat`,`work_wechat`,`admin_org`,`position`,`teamid`,`mobilephone`,`company`").Where("FIND_IN_SET(?,`responsible_department`) AND `person_in_charge` = ? AND `emp_type` BETWEEN ? AND ?", v, 1, 1, 10).Find(&userInfoAryes) + if len(userInfoAryes) > 0 { + for _, uvs := range userInfoAryes { + if !publicmethod.IsInTrue[int64](uvs.Key, keyList) { + UserList = append(UserList, TransformPublicUs(uvs)) + keyList = append(keyList, uvs.Key) + } + } } } + return } diff --git a/api/version1/user/userCont.go b/api/version1/user/userCont.go index 30effbb..d018585 100644 --- a/api/version1/user/userCont.go +++ b/api/version1/user/userCont.go @@ -111,33 +111,33 @@ func GainOrgPostLog(uid int64) (postLog []string) { for _, v := range workHistory { var orgList []int64 var orgNameList []string - if !publicmethod.IsInTrue[int64](v.Company, orgList) { + if !publicmethod.IsInTrue[int64](v.Company, orgList) && v.Company != 0 { orgList = append(orgList, v.Company) var orgOne modelshr.AdministrativeOrganization orgOne.GetCont(map[string]interface{}{"`id`": v.Company}, "`name`") orgNameList = append(orgNameList, orgOne.Name) } - if !publicmethod.IsInTrue[int64](v.Department, orgList) { + if !publicmethod.IsInTrue[int64](v.Department, orgList) && v.Department != 0 { orgList = append(orgList, v.Department) var orgTwo modelshr.AdministrativeOrganization orgTwo.GetCont(map[string]interface{}{"`id`": v.Department}, "`name`") orgNameList = append(orgNameList, orgTwo.Name) } - if !publicmethod.IsInTrue[int64](v.WorkShop, orgList) { + if !publicmethod.IsInTrue[int64](v.WorkShop, orgList) && v.WorkShop != 0 { orgList = append(orgList, v.WorkShop) var orgTree modelshr.AdministrativeOrganization orgTree.GetCont(map[string]interface{}{"`id`": v.WorkShop}, "`name`") orgNameList = append(orgNameList, orgTree.Name) } - if !publicmethod.IsInTrue[int64](v.WorkshopSection, orgList) { + if !publicmethod.IsInTrue[int64](v.WorkshopSection, orgList) && v.WorkshopSection != 0 { orgList = append(orgList, v.WorkshopSection) var orgTree modelshr.AdministrativeOrganization orgTree.GetCont(map[string]interface{}{"`id`": v.WorkshopSection}, "`name`") orgNameList = append(orgNameList, orgTree.Name) } - fmt.Println(orgNameList) - fmt.Println(orgList) - fmt.Println(v.WorkshopSection) + // fmt.Println(orgNameList) + // fmt.Println(orgList) + // fmt.Println(v.WorkshopSection) if len(orgNameList) > 0 { allOrgName := strings.Join(orgNameList, " / ") if v.Position != 0 { diff --git a/api/version1/workFlow/common.go b/api/version1/workFlowRun/common.go similarity index 99% rename from api/version1/workFlow/common.go rename to api/version1/workFlowRun/common.go index 0e8b403..14c245c 100644 --- a/api/version1/workFlow/common.go +++ b/api/version1/workFlowRun/common.go @@ -1,4 +1,4 @@ -package workflow +package workFlowRun import ( "appPlatform/api/version1/customerform" diff --git a/api/version1/workFlow/flow.go b/api/version1/workFlowRun/flow.go similarity index 99% rename from api/version1/workFlow/flow.go rename to api/version1/workFlowRun/flow.go index 95de223..f4a01ad 100644 --- a/api/version1/workFlow/flow.go +++ b/api/version1/workFlowRun/flow.go @@ -1,4 +1,4 @@ -package workflow +package workFlowRun import ( "appPlatform/api/version1/taskplatform/taskmanagement" diff --git a/api/version1/workFlow/flowNode.go b/api/version1/workFlowRun/flowNode.go similarity index 99% rename from api/version1/workFlow/flowNode.go rename to api/version1/workFlowRun/flowNode.go index e8d4cb1..f66caac 100644 --- a/api/version1/workFlow/flowNode.go +++ b/api/version1/workFlowRun/flowNode.go @@ -1,4 +1,4 @@ -package workflow +package workFlowRun import "appPlatform/overall/publicmethod" diff --git a/api/version1/workFlow/flowType.go b/api/version1/workFlowRun/flowType.go similarity index 98% rename from api/version1/workFlow/flowType.go rename to api/version1/workFlowRun/flowType.go index 481796b..bb9228d 100644 --- a/api/version1/workFlow/flowType.go +++ b/api/version1/workFlowRun/flowType.go @@ -1,4 +1,4 @@ -package workflow +package workFlowRun import "appPlatform/overall/publicmethod" diff --git a/api/version1/workFlow/type.go b/api/version1/workFlowRun/type.go similarity index 81% rename from api/version1/workFlow/type.go rename to api/version1/workFlowRun/type.go index 7351b27..4a7b898 100644 --- a/api/version1/workFlow/type.go +++ b/api/version1/workFlowRun/type.go @@ -1,4 +1,4 @@ -package workflow +package workFlowRun import "sync" diff --git a/go.sum b/go.sum index 21b0cd9..60a6d2b 100644 --- a/go.sum +++ b/go.sum @@ -18,7 +18,9 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1 h1:DzHpqpoJVaC github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -45,6 +47,7 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/flipped-aurora/gin-vue-admin/server v0.0.0-20231212025023-e0a8e9370425 h1:XTvBOk+EFcon1fL8gzFRN2N7jGvc2QGZMqWF+evZT10= github.com/flipped-aurora/gin-vue-admin/server v0.0.0-20231212025023-e0a8e9370425/go.mod h1:zsseaaJleMl86IDc9evuQx6gJYfdG0kW67+MTVxwTAU= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= @@ -54,6 +57,7 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -90,6 +94,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -127,7 +132,9 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= @@ -164,6 +171,7 @@ github.com/redis/go-redis/v9 v9.3.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0 github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= @@ -318,6 +326,7 @@ google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/initialization/nosql/redis.go b/initialization/nosql/redis.go index ea6e473..099c96e 100644 --- a/initialization/nosql/redis.go +++ b/initialization/nosql/redis.go @@ -17,5 +17,5 @@ func LoadRedis() { overall.CONSTANT_REDIS4 = redisConfig.MasterRedis4.OpenRedis() overall.CONSTANT_REDIS5 = redisConfig.MasterRedis5.OpenRedis() overall.CONSTANT_Cluster = redisConfig.RedisCluster.OpenRedisClan() - overall.CONSTANT_ClusterClient = redisConfig.RedisCluster.OpenRedisColony() + // overall.CONSTANT_ClusterClient = redisConfig.RedisCluster.OpenRedisColony() } diff --git a/overall/publicmethod/getUserPower.go b/overall/publicmethod/getUserPower.go index da73c54..0d546ab 100644 --- a/overall/publicmethod/getUserPower.go +++ b/overall/publicmethod/getUserPower.go @@ -35,7 +35,7 @@ func (g *GainUserPower) GetUserPower() (powerInfo SendUserPower) { roleAry := strings.Split(g.RoleId, ",") if len(roleAry) > 0 { var rolePowerList []modelssystempermission.RoleEmpower - overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.RoleEmpower{}).Where("`state` = 1 AND `system` = ? AND `role_id` IN ?", g.SystemName, roleAry).Updates(&rolePowerList) + overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.RoleEmpower{}).Where("`state` = 1 AND `system` = ? AND `role_id` IN ?", g.SystemName, roleAry).Find(&rolePowerList) for _, v := range rolePowerList { if v.Level >= powerInfo.System.Level { powerInfo.System.Level = v.Level @@ -221,7 +221,7 @@ func (g *GainUserPower) MakeSearchSql(gormDb *gorm.DB, userCont modelshr.ManCont fmt.Printf("\n\n\n等级-----%v------->%v\n\n\n", powerInfo.AppSystem.Level, g) if isOdeb == "yes" { switch powerInfo.AppSystem.Level { - case 2, 3, 4: + case 2, 3, 4, 5: if len(powerInfo.AppSystem.OrgList) > 0 { gormDb = gormDb.Where("`createrOrg` IN ?", powerInfo.AppSystem.OrgList) } else { @@ -234,7 +234,7 @@ func (g *GainUserPower) MakeSearchSql(gormDb *gorm.DB, userCont modelshr.ManCont } } else { switch powerInfo.AppSystem.Level { - case 2, 3, 4: + case 2, 3, 4, 5: if len(powerInfo.AppSystem.OrgList) > 0 { gormDb = gormDb.Where("f.`createrOrg` IN ?", powerInfo.AppSystem.OrgList) } else {