diff --git a/apis/process/workOrder.go b/apis/process/workOrder.go index 4043035..7c9f92c 100644 --- a/apis/process/workOrder.go +++ b/apis/process/workOrder.go @@ -261,6 +261,7 @@ func UnityWorkOrder(c *gin.Context) { err error workOrderId string workOrderInfo process.WorkOrderInfo + userInfo system.SysUser ) workOrderId = c.DefaultQuery("work_oroder_id", "") @@ -295,13 +296,23 @@ func UnityWorkOrder(c *gin.Context) { return } + // 获取当前用户信息 + err = tx.Model(&userInfo). + Where("user_id = ?", tools.GetUserId(c)). + Find(&userInfo).Error + if err != nil { + tx.Rollback() + app.Error(c, -1, err, fmt.Sprintf("当前用户查询失败,%v", err.Error())) + return + } + // 写入历史 tx.Create(&process.CirculationHistory{ Title: workOrderInfo.Title, WorkOrder: workOrderInfo.Id, State: "结束工单", Circulation: "结束", - Processor: c.GetString("nickname"), + Processor: userInfo.NickName, ProcessorId: tools.GetUserId(c), Remarks: "手动结束工单。", }) @@ -314,13 +325,14 @@ func UnityWorkOrder(c *gin.Context) { // 转交工单 func InversionWorkOrder(c *gin.Context) { var ( - err error - workOrderInfo process.WorkOrderInfo - stateList []map[string]interface{} - stateValue []byte - currentState map[string]interface{} - userInfo system.SysUser - params struct { + err error + workOrderInfo process.WorkOrderInfo + stateList []map[string]interface{} + stateValue []byte + currentState map[string]interface{} + userInfo system.SysUser + currentUserInfo system.SysUser + params struct { WorkOrderId int `json:"work_order_id"` NodeId string `json:"node_id"` UserId int `json:"user_id"` @@ -328,6 +340,15 @@ func InversionWorkOrder(c *gin.Context) { } ) + // 获取当前用户信息 + err = orm.Eloquent.Model(¤tUserInfo). + Where("user_id = ?", tools.GetUserId(c)). + Find(¤tUserInfo).Error + if err != nil { + app.Error(c, -1, err, fmt.Sprintf("当前用户查询失败,%v", err.Error())) + return + } + err = c.ShouldBind(¶ms) if err != nil { app.Error(c, -1, err, "") @@ -391,7 +412,7 @@ func InversionWorkOrder(c *gin.Context) { WorkOrder: workOrderInfo.Id, State: currentState["label"].(string), Circulation: "转交", - Processor: c.GetString("nickname"), + Processor: currentUserInfo.NickName, ProcessorId: tools.GetUserId(c), Remarks: fmt.Sprintf("此阶段负责人已转交给《%v》", userInfo.NickName), }) diff --git a/pkg/service/getPrincipal.go b/pkg/service/getPrincipal.go index b58b4b5..218a0ac 100644 --- a/pkg/service/getPrincipal.go +++ b/pkg/service/getPrincipal.go @@ -21,8 +21,8 @@ func GetPrincipal(processor []int, processMethod string) (principals string, err switch processMethod { case "person": err = orm.Eloquent.Model(&system.SysUser{}). - Where("id in (?)", processor). - Pluck("nickname", &principalList).Error + Where("user_id in (?)", processor). + Pluck("nick_name", &principalList).Error if err != nil { return } diff --git a/pkg/service/handle.go b/pkg/service/handle.go index 4693b84..aa7379e 100644 --- a/pkg/service/handle.go +++ b/pkg/service/handle.go @@ -6,7 +6,9 @@ import ( "ferry/global/orm" "ferry/models/base" "ferry/models/process" + "ferry/models/system" "ferry/tools" + "ferry/tools/app" "fmt" "reflect" "time" @@ -330,6 +332,7 @@ func (h *Handle) HandleWorkOrder( relatedPersonValue []byte parallelStatusOk bool processInfo process.Info + currentUserInfo system.SysUser ) defer func() { @@ -616,6 +619,15 @@ func (h *Handle) HandleWorkOrder( } } + // 获取当前用户信息 + err = orm.Eloquent.Model(¤tUserInfo). + Where("user_id = ?", tools.GetUserId(c)). + Find(¤tUserInfo).Error + if err != nil { + app.Error(c, -1, err, fmt.Sprintf("当前用户查询失败,%v", err.Error())) + return + } + cirHistoryData = process.CirculationHistory{ Model: base.Model{}, Title: h.workOrderDetails.Title, @@ -624,7 +636,7 @@ func (h *Handle) HandleWorkOrder( Source: h.stateValue["id"].(string), Target: h.targetStateValue["id"].(string), Circulation: circulationValue, - Processor: c.GetString("nickname"), + Processor: currentUserInfo.NickName, ProcessorId: tools.GetUserId(c), CostDuration: costDurationValue, } @@ -643,7 +655,7 @@ func (h *Handle) HandleWorkOrder( WorkOrder: h.workOrderDetails.Id, State: h.targetStateValue["label"].(string), Source: h.targetStateValue["id"].(string), - Processor: c.GetString("nickname"), + Processor: currentUserInfo.NickName, ProcessorId: tools.GetUserId(c), Circulation: "结束", }).Error diff --git a/pkg/service/workOrderList.go b/pkg/service/workOrderList.go index cbeb2f3..7167049 100644 --- a/pkg/service/workOrderList.go +++ b/pkg/service/workOrderList.go @@ -32,7 +32,7 @@ func WorkOrderList(c *gin.Context, classify int) (result interface{}, err error) title := c.DefaultQuery("title", "") db := orm.Eloquent.Model(&process.WorkOrderInfo{}).Where("title like ?", fmt.Sprintf("%%%v%%", title)) - err = orm.Eloquent.Model(&system.SysUser{}).Where("id = ?", tools.GetUserId(c)).Find(&userInfo).Error + err = orm.Eloquent.Model(&system.SysUser{}).Where("user_id = ?", tools.GetUserId(c)).Find(&userInfo).Error if err != nil { return }