From c8303f55819e2d8b5a56e6316f79c2250d9b659c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 08 十月 2023 21:16:09 +0800
Subject: [PATCH] 工序更新时保存使用的工艺参数编号

---
 service/task.go |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/service/task.go b/service/task.go
index 113ebe6..a9b75ca 100644
--- a/service/task.go
+++ b/service/task.go
@@ -49,7 +49,7 @@
 			SetOrder("start_time asc")
 	} else if mode == constvar.TaskModeCurrent {
 		search.SetStatus(model.ProcedureStatusProcessing).
-			SetOrder("status desc, start_time asc")
+			SetOrder("start_time asc")
 	} else if mode == constvar.TaskModeLastFinished {
 		search.SetStatus(model.ProcedureStatusFinished).SetOrder("updated_at desc")
 		if len(channels) > 0 {
@@ -131,14 +131,19 @@
 	return procedure, ecode.OK
 }
 
-func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error {
-	if status == model.ProcedureStatusFinished {
+func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id int, status model.ProcedureStatus, channel int32, processModelNumber string) error {
+	if status == model.ProcedureStatusFinished || status == model.ProcedureStatusWaitProcess {
 		ProgressCacheUnset(channel)
 	}
-	return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{
-		"status":  status,
-		"channel": channel,
-	})
+
+	upMap := map[string]interface{}{"status": status}
+	if status == model.ProcedureStatusProcessing {
+		upMap["process_model_number"] = processModelNumber
+	} else if status == model.ProcedureStatusWaitProcess {
+		upMap["process_model_number"] = ""
+	}
+
+	return model.NewProceduresSearch(db).SetId(id).UpdateByMap(upMap)
 }
 
 func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error {

--
Gitblit v1.8.0