Commit ea1e61a8 authored by 陈子龙's avatar 陈子龙

工单管理列表 fix

parent 9b7769d2
......@@ -9,7 +9,7 @@ type WorkOrder struct {
OrderName string `json:"order_name" xorm:"order_name"` // 工单名称
OrderLevel int `json:"order_level" xorm:"order_level"` // 工单等级(1紧急任务 2重要任务 3一般任务)
OrderDesc string `json:"order_desc" xorm:"order_desc"` // 工单描述
OrderCnt int `json:"order_cnt" xorm:"order_cnt"` // 实例工单数
//OrderCnt int `json:"order_cnt" xorm:"order_cnt"` // 实例工单数
PushObj string `json:"push_obj" xorm:"push_obj"` // 推送对象
TimingType int `json:"timing_type" xorm:"timing_type"` // 定时类型(1手动下发 2按周 3自定义时间)
TimingRule string `json:"timing_rule" xorm:"timing_rule"` // 定时规则
......
package request
type AddWorkOrderReq struct {
IsPush int `json:"is_push"` // 是否立刻下发(0否 1是)
IsPush int `json:"is_push" binding:"oneof=0 1"` // 是否立刻下发(0否 1是)
OrderName string `json:"order_name" binding:"required"` // 工单名称
OrderLevel int `json:"order_level" binding:"oneof=1 2 3"` // 工单等级(1紧急任务 2重要任务 3一般任务)
OrderDesc string `json:"order_desc" binding:"required"` // 工单描述
......
......@@ -156,7 +156,7 @@ func (w *WorkOrderManageSvc) EditWorkOrderManage(req request.EditWorkOrderReq) (
return
}
// StateWorkOrderManage 编辑业务工单管理
// StateWorkOrderManage 定时是否启用
func (w *WorkOrderManageSvc) StateWorkOrderManage(req request.StateWorkOrderReq) (err error) {
db, err := client.GetDbClient()
if err != nil {
......@@ -185,11 +185,31 @@ func (w *WorkOrderManageSvc) DelWorkOrderManage(req request.DelWorkOrderReq) (er
return
}
session := db.NewSession()
defer session.Close()
session.Begin()
_, err = db.Table("work_order_manage").In("id", req.Id).Delete(&entity.WorkOrder{})
if err != nil {
err = resp.DbDeleteError.WithError(err)
session.Rollback()
return
}
_, err = db.Table("work_order_issuance").In("order_id", req.Id).Delete(&entity.WorkOrderIssuance{})
if err != nil {
err = resp.DbDeleteError.WithError(err)
session.Rollback()
return
}
_, err = db.Table("work_order_me").In("order_id", req.Id).Delete(&entity.WorkOrderMe{})
if err != nil {
err = resp.DbDeleteError.WithError(err)
session.Rollback()
return
}
session.Commit()
return
}
......@@ -260,25 +280,26 @@ func (w *WorkOrderManageSvc) ListWorkOrderManage(req request.ListWorkOrderManage
return
}
finder := db.Table("work_order_manage")
finder := db.Table("work_order_manage").Alias("wom")
if req.Search != "" {
finder.Where(fmt.Sprintf("order_name LIKE '%s'", "%"+req.Search+"%"))
finder.Where(fmt.Sprintf("wom.order_name LIKE '%s'", "%"+req.Search+"%"))
}
if req.OrderLevel != 0 {
finder.Where("order_level = ?", req.OrderLevel)
finder.Where("wom.order_level = ?", req.OrderLevel)
}
if req.TimingType != 0 {
finder.Where("timing_type = ?", req.TimingType)
finder.Where("wom.timing_type = ?", req.TimingType)
}
if req.CreateDateFrom != "" {
finder.Where("create_time >= ?", req.CreateDateFrom)
finder.Where("wom.create_time >= ?", req.CreateDateFrom)
}
if req.CreateDateTo != "" {
finder.Where("create_time <= ?", req.CreateDateTo)
finder.Where("wom.create_time <= ?", req.CreateDateTo)
}
finder.OrderBy("create_time desc")
finder.OrderBy("wom.create_time desc")
//查询任务
total, err = finder.Select("id,order_name,order_level,order_cnt,push_obj,timing_type,timing_state,create_user,create_time").
total, err = finder.Select("wom.id,wom.order_name,wom.order_level,(select count(*) from work_order_issuance woi "+
"where woi.order_id = wom.id) as order_cnt,wom.push_obj,wom.timing_type,wom.timing_state,wom.create_user,wom.create_time").
Limit(req.PageSize, (req.Page-1)*req.PageSize).FindAndCount(&workOrderListRes)
if err != nil {
err = resp.DbSelectError.WithError(err)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment