完善工单处理及添加工单列表

This commit is contained in:
YuleiLan 2020-07-17 14:25:31 +08:00
parent 1ad8901568
commit ceefbcb794
4 changed files with 47 additions and 14 deletions

View File

@ -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(&currentUserInfo).
Where("user_id = ?", tools.GetUserId(c)).
Find(&currentUserInfo).Error
if err != nil {
app.Error(c, -1, err, fmt.Sprintf("当前用户查询失败,%v", err.Error()))
return
}
err = c.ShouldBind(&params)
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),
})

View File

@ -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
}

View File

@ -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(&currentUserInfo).
Where("user_id = ?", tools.GetUserId(c)).
Find(&currentUserInfo).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

View File

@ -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
}