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