From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 十二月 2023 09:58:17 +0800
Subject: [PATCH] fix

---
 api/v1/process_model.go |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/api/v1/process_model.go b/api/v1/process_model.go
index 5a8e8f6..447668c 100644
--- a/api/v1/process_model.go
+++ b/api/v1/process_model.go
@@ -36,20 +36,24 @@
 		return
 	}
 	var oldProcessModel, newProcessModel, headProcessModel *model.ProcessModel
+
 	if procedure.ProcessModelNumber != "" {
-		oldProcessModel, _ = service.GetProcessModelByNumber(procedure.ProcessModelNumber)                          //鑾峰彇鏃х殑宸ヨ壓鍙傛暟
-		newProcessModel, _ = service.NewTaskService().GetProcessParams(procedure, order)                            //鑾峰彇鏂扮殑宸ヨ壓鍙傛暟
-		if newProcessModel != nil && (oldProcessModel == nil || newProcessModel.Number != oldProcessModel.Number) { //鏃х殑娌℃湁鎴栬�呯紪鍙蜂笉鍚岋紝鏇存柊
+		oldProcessModel, _ = service.GetProcessModelByNumber(procedure.ProcessModelNumber) //鑾峰彇鏃х殑宸ヨ壓鍙傛暟
+	}
+	newProcessModel, _ = service.NewTaskService().GetProcessParams(procedure, order)                            //鑾峰彇鏂扮殑宸ヨ壓鍙傛暟
+	if newProcessModel != nil && (oldProcessModel == nil || newProcessModel.Number != oldProcessModel.Number) { //鏃х殑娌℃湁鎴栬�呯紪鍙蜂笉鍚岋紝鏇存柊
+		if procedure.Status == model.ProcedureStatusProcessing {
 			newProcessModel.NewNumber, newProcessModel.NewParamsMap = newProcessModel.Number, newProcessModel.ParamsMap
 			if oldProcessModel != nil {
 				newProcessModel.Number, newProcessModel.ParamsMap = oldProcessModel.Number, oldProcessModel.ParamsMap
 			} else { //鏃х殑娌℃湁锛屼篃鍙互"鏇存柊"(琛ュ厖)
 				newProcessModel.Number, newProcessModel.ParamsMap = "", nil
 			}
-			headProcessModel = newProcessModel
-		} else if oldProcessModel != nil {
-			headProcessModel = oldProcessModel
+			newProcessModel.IsUpdate = true
 		}
+		headProcessModel = newProcessModel
+	} else if oldProcessModel != nil {
+		headProcessModel = oldProcessModel
 	}
 
 	offset, limit, unShift := GetOffsetAndLimit(headProcessModel, params.Page, params.PageSize)
@@ -65,14 +69,13 @@
 }
 
 func GetOffsetAndLimit(head *model.ProcessModel, page, pageSize int) (offset, limit int, unShift bool) {
-	//isNew鏄鏇存柊鐨�
 	unShift = head != nil && page == 1
 	limit = pageSize
 	if unShift {
-		limit-- //濡傛灉鏄柊鐨勶紝绗竴椤靛皯鏌ヤ竴涓�
+		limit-- //绗竴椤靛皯鏌ヤ竴涓�
 	}
 	offset = (page - 1) * pageSize
-	if head != nil && offset > 0 { //濡傛灉鏄柊鐨勶紝绗簩椤靛紑濮嬪亸绉婚噺宸︾Щ涓�涓�
+	if head != nil && offset > 0 { //绗簩椤靛紑濮嬪亸绉婚噺宸︾Щ涓�涓�
 		offset--
 	}
 

--
Gitblit v1.8.0