From 066a30751bdc20f9e83b34539de71ae392783e1b Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 19 八月 2023 15:58:09 +0800 Subject: [PATCH] 网络配置获取和删除,品牌增删改查 --- service/task.go | 79 ++++++++++++++++++++++++++++++++++----- 1 files changed, 69 insertions(+), 10 deletions(-) diff --git a/service/task.go b/service/task.go index bf65ebf..e173964 100644 --- a/service/task.go +++ b/service/task.go @@ -2,7 +2,10 @@ import ( "apsClient/model" + "apsClient/model/response" "apsClient/pkg/ecode" + "gorm.io/gorm" + "time" ) type TaskService struct { @@ -12,16 +15,72 @@ return &TaskService{} } -func (slf TaskService) GetTaskList(page, pageSize int) (taskList []*model.ScheduleTask, total int64, code int) { - search := model.NewScheduleTaskSearch(nil) - search.SetPage(page, pageSize). - SetPreload(true) - //SetEndTime(time.Now().Unix()) - var err error - taskList, total, err = search.Find() - if err != nil { - return +// GetTask 鑾峰彇浠诲姟锛屾湭瀹屾垚鐨勫紑濮嬫椂闂存渶鏃╃殑浠诲姟 +func (slf TaskService) GetTask() (taskData *response.TaskData, code int) { + nowTs := time.Now().Unix() + orderSearch := model.NewOrderSearch(nil) + orderSearch.SetOrder("created_at asc"). + SetStartTimeMax(nowTs). + SetStatus(model.OrderStatusUnFinished) + var ( + err error + order *model.Order + ) + order, err = orderSearch.First() //鍏堝彇杩涜涓殑浠诲姟 + if err == gorm.ErrRecordNotFound { + err = nil + return nil, ecode.OK } - return taskList, total, ecode.OK + if err != nil { + return nil, ecode.DBErr + } + procedure, err := model.NewProceduresSearch(nil). + SetWorkOrderId(order.WorkOrderID). + SetStartTimeMax(nowTs). + SetStatus(model.ProcedureStatusUnFinished). + First() + if err == gorm.ErrRecordNotFound { //璇ヨ鍗曟湰璁惧鍏ㄩ儴宸ュ簭瀹屾垚锛屾妸璁㈠崟缃负瀹屾垚鐘舵�侊紙鍙槸瀵规湰璁惧瀹屾垚锛� + err = nil + err = model.NewOrderSearch(nil).SetWorkOrderId(order.WorkOrderID).UpdateByMap(map[string]interface{}{ + "status": model.OrderStatusFinished, + }) + if err != nil { + return nil, ecode.DBErr + } + return slf.GetTask() //褰撳墠璁㈠崟宸插畬鍏紝缁х画鏌ヨ鏈畬鎴愯鍗� + } + if err != nil { + return nil, ecode.DBErr + } + nextProcedure := new(model.Procedures) + nextProcedure, err = model.NewProceduresSearch(nil). + SetWorkOrderId(order.WorkOrderID). + SetStatus(model.ProcedureStatusUnFinished). + SetId(procedure.ID + 1).First() + if err == nil { + nextProcedure.ProceduresInfo.ProcedureName = "--" + } + taskData = new(response.TaskData) + taskData.Order = order + taskData.Procedure = procedure + taskData.NextProcedure = nextProcedure + return taskData, ecode.OK +} +func (slf TaskService) GetProcedureById(id int) (*model.Procedures, int) { + procedure, err := model.NewProceduresSearch(nil).SetId(id).First() + if err != nil { + return nil, ecode.DBErr + } + return procedure, ecode.OK +} + +func (slf TaskService) UpdateProcedureStatus(id int, status model.ProcedureStatus) error { + return model.NewProceduresSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{ + "status": status, + }) +} + +func (slf TaskService) GetOrderByWorkOrderId(workOrderId string) (order *model.Order, err error) { + return model.NewOrderSearch(nil).SetWorkOrderId(workOrderId).First() } -- Gitblit v1.8.0