| | |
| | | ReportTypeSystemDeviceID ReportType = 1 |
| | | ReportTypeReportWork ReportType = 2 |
| | | ) |
| | | |
| | | type SyncStatus int //同步状态 |
| | | |
| | | const ( |
| | | SyncStatusWait SyncStatus = 1 //待同步 |
| | | SyncStatusOk SyncStatus = 2 //已完成 |
| | | ) |
| | |
| | | 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) |
| | | } |
| | |
| | | package model |
| | | |
| | | import ( |
| | | "apsClient/constvar" |
| | | "apsClient/pkg/sqlitex" |
| | | "fmt" |
| | | "github.com/jinzhu/gorm" |
| | |
| | | StartTs int64 `json:"start_ts"` //开始时间 |
| | | FinishTs int64 `json:"finish_ts"` //结束时间 |
| | | FinishedQuantity int `json:"finishedQuantity"` |
| | | SyncStatus constvar.SyncStatus `json:"-"` |
| | | } |
| | | |
| | | TaskStatusSyncSearch struct { |
| | |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | IDs []uint |
| | | SyncWait bool |
| | | } |
| | | ) |
| | | |
| | |
| | | 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()) |
| | | |
| | |
| | | db = db.Where("work_order_id = ?", slf.WorkOrderId) |
| | | } |
| | | |
| | | if slf.SyncWait { |
| | | db = db.Where("sync_status != ?", constvar.SyncStatusOk) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |
| | |
| | | |
| | | // 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 删除同步完的记录 |
| | |
| | | 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 |