feat: 工单列表添加流程信息。
This commit is contained in:
parent
6da07f65fc
commit
0d6b050812
@ -27,6 +27,7 @@ type workOrderInfo struct {
|
|||||||
Principals string `json:"principals"`
|
Principals string `json:"principals"`
|
||||||
StateName string `json:"state_name"`
|
StateName string `json:"state_name"`
|
||||||
DataClassify int `json:"data_classify"`
|
DataClassify int `json:"data_classify"`
|
||||||
|
ProcessName string `json:"process_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewWorkOrder(classify int, c *gin.Context) *WorkOrder {
|
func NewWorkOrder(classify int, c *gin.Context) *WorkOrder {
|
||||||
@ -42,9 +43,9 @@ func (w *WorkOrder) PureWorkOrderList() (result interface{}, err error) {
|
|||||||
processorInfo system.SysUser
|
processorInfo system.SysUser
|
||||||
)
|
)
|
||||||
|
|
||||||
personSelectValue := "(JSON_CONTAINS(state, JSON_OBJECT('processor', %v)) and JSON_CONTAINS(state, JSON_OBJECT('process_method', 'person')))"
|
personSelectValue := "(JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.processor', %v)) and JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.process_method', 'p_work_order_info.person')))"
|
||||||
roleSelectValue := "(JSON_CONTAINS(state, JSON_OBJECT('processor', %v)) and JSON_CONTAINS(state, JSON_OBJECT('process_method', 'role')))"
|
roleSelectValue := "(JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.processor', %v)) and JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.process_method', 'p_work_order_info.role')))"
|
||||||
departmentSelectValue := "(JSON_CONTAINS(state, JSON_OBJECT('processor', %v)) and JSON_CONTAINS(state, JSON_OBJECT('process_method', 'department')))"
|
departmentSelectValue := "(JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.processor', %v)) and JSON_CONTAINS(p_work_order_info.state, JSON_OBJECT('p_work_order_info.process_method', 'p_work_order_info.department')))"
|
||||||
|
|
||||||
title := w.GinObj.DefaultQuery("title", "")
|
title := w.GinObj.DefaultQuery("title", "")
|
||||||
startTime := w.GinObj.DefaultQuery("startTime", "")
|
startTime := w.GinObj.DefaultQuery("startTime", "")
|
||||||
@ -53,15 +54,15 @@ func (w *WorkOrder) PureWorkOrderList() (result interface{}, err error) {
|
|||||||
processor := w.GinObj.DefaultQuery("processor", "")
|
processor := w.GinObj.DefaultQuery("processor", "")
|
||||||
priority := w.GinObj.DefaultQuery("priority", "")
|
priority := w.GinObj.DefaultQuery("priority", "")
|
||||||
db := orm.Eloquent.Model(&process.WorkOrderInfo{}).
|
db := orm.Eloquent.Model(&process.WorkOrderInfo{}).
|
||||||
Where("title like ?", fmt.Sprintf("%%%v%%", title))
|
Where("p_work_order_info.title like ?", fmt.Sprintf("%%%v%%", title))
|
||||||
if startTime != "" {
|
if startTime != "" {
|
||||||
db = db.Where("create_time >= ?", startTime)
|
db = db.Where("p_work_order_info.create_time >= ?", startTime)
|
||||||
}
|
}
|
||||||
if endTime != "" {
|
if endTime != "" {
|
||||||
db = db.Where("create_time <= ?", endTime)
|
db = db.Where("p_work_order_info.create_time <= ?", endTime)
|
||||||
}
|
}
|
||||||
if isEnd != "" {
|
if isEnd != "" {
|
||||||
db = db.Where("is_end = ?", isEnd)
|
db = db.Where("p_work_order_info.is_end = ?", isEnd)
|
||||||
}
|
}
|
||||||
if processor != "" && w.Classify != 1 {
|
if processor != "" && w.Classify != 1 {
|
||||||
err = orm.Eloquent.Model(&processorInfo).
|
err = orm.Eloquent.Model(&processorInfo).
|
||||||
@ -70,14 +71,14 @@ func (w *WorkOrder) PureWorkOrderList() (result interface{}, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
db = db.Where(fmt.Sprintf("(%v or %v or %v) and is_end = 0",
|
db = db.Where(fmt.Sprintf("(%v or %v or %v) and p_work_order_info.is_end = 0",
|
||||||
fmt.Sprintf(personSelectValue, processorInfo.UserId),
|
fmt.Sprintf(personSelectValue, processorInfo.UserId),
|
||||||
fmt.Sprintf(roleSelectValue, processorInfo.RoleId),
|
fmt.Sprintf(roleSelectValue, processorInfo.RoleId),
|
||||||
fmt.Sprintf(departmentSelectValue, processorInfo.DeptId),
|
fmt.Sprintf(departmentSelectValue, processorInfo.DeptId),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
if priority != "" {
|
if priority != "" {
|
||||||
db = db.Where("priority = ?", priority)
|
db = db.Where("p_work_order_info.priority = ?", priority)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前用户信息
|
// 获取当前用户信息
|
||||||
@ -102,23 +103,26 @@ func (w *WorkOrder) PureWorkOrderList() (result interface{}, err error) {
|
|||||||
|
|
||||||
// 4. 变量会转成个人数据
|
// 4. 变量会转成个人数据
|
||||||
//db = db.Where(fmt.Sprintf("(%v or %v or %v or %v) and is_end = 0", personSelect, personGroupSelect, departmentSelect, variableSelect))
|
//db = db.Where(fmt.Sprintf("(%v or %v or %v or %v) and is_end = 0", personSelect, personGroupSelect, departmentSelect, variableSelect))
|
||||||
db = db.Where(fmt.Sprintf("(%v or %v or %v) and is_end = 0", personSelect, roleSelect, departmentSelect))
|
db = db.Where(fmt.Sprintf("(%v or %v or %v) and p_work_order_info.is_end = 0", personSelect, roleSelect, departmentSelect))
|
||||||
case 2:
|
case 2:
|
||||||
// 我创建的
|
// 我创建的
|
||||||
db = db.Where("creator = ?", tools.GetUserId(w.GinObj))
|
db = db.Where("p_work_order_info.creator = ?", tools.GetUserId(w.GinObj))
|
||||||
case 3:
|
case 3:
|
||||||
// 我相关的
|
// 我相关的
|
||||||
db = db.Where(fmt.Sprintf("JSON_CONTAINS(related_person, '%v')", tools.GetUserId(w.GinObj)))
|
db = db.Where(fmt.Sprintf("JSON_CONTAINS(p_work_order_info.related_person, '%v')", tools.GetUserId(w.GinObj)))
|
||||||
case 4:
|
case 4:
|
||||||
// 所有工单
|
// 所有工单
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("请确认查询的数据类型是否正确")
|
return nil, fmt.Errorf("请确认查询的数据类型是否正确")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
db = db.Joins("left join p_process_info on p_work_order_info.process = p_process_info.id").
|
||||||
|
Select("p_work_order_info.*, p_process_info.name as process_name")
|
||||||
|
|
||||||
result, err = pagination.Paging(&pagination.Param{
|
result, err = pagination.Paging(&pagination.Param{
|
||||||
C: w.GinObj,
|
C: w.GinObj,
|
||||||
DB: db,
|
DB: db,
|
||||||
}, &workOrderInfoList)
|
}, &workOrderInfoList, map[string]map[string]interface{}{}, "p_process_info")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("查询工单列表失败,%v", err.Error())
|
err = fmt.Errorf("查询工单列表失败,%v", err.Error())
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user