From f0650a3cfc0da9941fdfddfcf89110d5985ae87b Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 07 十二月 2023 15:12:37 +0800 Subject: [PATCH] 同步完工序状态后不再删除,增加同步状态 --- constvar/const.go | 7 +++++++ service/task.go | 7 ++++++- crontask/cron_task.go | 2 +- model/task_status_sync.go | 30 +++++++++++++++++++++--------- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/constvar/const.go b/constvar/const.go index 7e0671c..65d9828 100644 --- a/constvar/const.go +++ b/constvar/const.go @@ -136,3 +136,10 @@ ReportTypeSystemDeviceID ReportType = 1 ReportTypeReportWork ReportType = 2 ) + +type SyncStatus int //鍚屾鐘舵�� + +const ( + SyncStatusWait SyncStatus = 1 //寰呭悓姝� + SyncStatusOk SyncStatus = 2 //宸插畬鎴� +) diff --git a/crontask/cron_task.go b/crontask/cron_task.go index dcc64c0..0199a20 100644 --- a/crontask/cron_task.go +++ b/crontask/cron_task.go @@ -135,7 +135,7 @@ syncOkIds = append(syncOkIds, record.ID) } if len(syncOkIds) > 0 { - err = service.NewTaskService().RemoveTaskStatusSync(syncOkIds) + err = service.NewTaskService().FinishTaskStatusSync(syncOkIds) if err != nil { logx.Errorf("sync task status delete sync ok records error:%v", err) } diff --git a/model/task_status_sync.go b/model/task_status_sync.go index 0000777..093cb8f 100644 --- a/model/task_status_sync.go +++ b/model/task_status_sync.go @@ -1,6 +1,7 @@ package model import ( + "apsClient/constvar" "apsClient/pkg/sqlitex" "fmt" "github.com/jinzhu/gorm" @@ -10,15 +11,16 @@ // TaskStatusSync 浠诲姟鐘舵�佸悓姝� TaskStatusSync struct { gorm.Model - WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 - ProductProcedureID string `gorm:"type:varchar(191);" json:"productProcedureID"` //浜у搧宸ュ簭id - ProcedureID string `json:"procedureId"` // 宸ュ簭缂栧彿 - DeviceId string `json:"deviceId"` //璁惧缂栧彿 - IsProcessing bool //鏄惁澶勭悊涓� - IsFinish bool //鏄惁瀹屾垚 - StartTs int64 `json:"start_ts"` //寮�濮嬫椂闂� - FinishTs int64 `json:"finish_ts"` //缁撴潫鏃堕棿 - FinishedQuantity int `json:"finishedQuantity"` + WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 + ProductProcedureID string `gorm:"type:varchar(191);" json:"productProcedureID"` //浜у搧宸ュ簭id + ProcedureID string `json:"procedureId"` // 宸ュ簭缂栧彿 + DeviceId string `json:"deviceId"` //璁惧缂栧彿 + IsProcessing bool //鏄惁澶勭悊涓� + IsFinish bool //鏄惁瀹屾垚 + StartTs int64 `json:"start_ts"` //寮�濮嬫椂闂� + FinishTs int64 `json:"finish_ts"` //缁撴潫鏃堕棿 + FinishedQuantity int `json:"finishedQuantity"` + SyncStatus constvar.SyncStatus `json:"-"` } TaskStatusSyncSearch struct { @@ -28,6 +30,7 @@ PageSize int Orm *gorm.DB IDs []uint + SyncWait bool } ) @@ -77,6 +80,11 @@ return slf } +func (slf *TaskStatusSyncSearch) SetSyncWait() *TaskStatusSyncSearch { + slf.SyncWait = true + return slf +} + func (slf *TaskStatusSyncSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -100,6 +108,10 @@ db = db.Where("work_order_id = ?", slf.WorkOrderId) } + if slf.SyncWait { + db = db.Where("sync_status != ?", constvar.SyncStatusOk) + } + return db } diff --git a/service/task.go b/service/task.go index 66bf691..8c810fd 100644 --- a/service/task.go +++ b/service/task.go @@ -219,7 +219,7 @@ // GetTaskStatusSync 鑾峰彇寰呭悓姝ヤ换鍔′俊鎭� func (slf TaskService) GetTaskStatusSync(limit int) ([]*model.TaskStatusSync, error) { - return model.NewTaskStatusSyncSearch(nil).SetOrder("id asc").SetPage(1, limit).FindNotTotal() + return model.NewTaskStatusSyncSearch(nil).SetOrder("id asc").SetSyncWait().SetPage(1, limit).FindNotTotal() } // RemoveTaskStatusSync 鍒犻櫎鍚屾瀹岀殑璁板綍 @@ -227,6 +227,11 @@ return model.NewTaskStatusSyncSearch(nil).SetIDs(ids).Delete() } +// FinishTaskStatusSync 璁剧疆宸插悓姝ュ畬鎴� +func (slf TaskService) FinishTaskStatusSync(ids []uint) (err error) { + return model.NewTaskStatusSyncSearch(nil).SetIDs(ids).UpdateByMap(map[string]interface{}{"sync_status": constvar.SyncStatusOk}) +} + // GetTask2 鑾峰彇浠诲姟鍒楄〃2 func (slf TaskService) GetTask2(deviceID string, offset, limit int, channels []int32, queryType request.QueryType) (taskResp *response.TaskResponse, err error) { var taskList []*response.TaskData -- Gitblit v1.8.0