From 5956ba57437a85d99afd609cfdb5210f809009f8 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 08 十月 2023 15:52:55 +0800
Subject: [PATCH] 增加工艺列表增加旧工艺返回

---
 service/process_model.go |    4 +
 model/process_model.go   |   20 +++---
 docs/swagger.yaml        |   32 ++++++++++
 api/v1/process_model.go  |   21 ++----
 docs/docs.go             |   44 ++++++++++++++
 docs/swagger.json        |   44 ++++++++++++++
 6 files changed, 140 insertions(+), 25 deletions(-)

diff --git a/api/v1/process_model.go b/api/v1/process_model.go
index 06c1711..64becd0 100644
--- a/api/v1/process_model.go
+++ b/api/v1/process_model.go
@@ -15,23 +15,12 @@
 // @Summary   鑾峰彇宸ヨ壓妯″瀷鍒楄〃
 // @Produce   application/json
 // @Param     object  query    request.ProcessModelList true  "鏌ヨ鍙傛暟"
-// @Success   200   {object}  contextx.Response{data=response.TaskCountdown}  "鎴愬姛"
+// @Success   200   {object}  contextx.Response{data=[]model.ProcessModel}  "鎴愬姛"
 // @Router    /v1/processModel/list [get]
 func (slf *ProcessModelApi) List(c *gin.Context) {
 	var params request.ProcessModelList
 	ctx, ok := contextx.NewContext(c, &params)
 	if !ok {
-		return
-	}
-	procedure, code := service.NewTaskService().GetProcedureById(params.ProcedureId)
-	if code != ecode.OK {
-		ctx.Fail(code)
-		return
-	}
-
-	order, err := service.NewTaskService().GetOrderByWorkOrderId(procedure.WorkOrderID)
-	if err != nil {
-		ctx.Fail(ecode.DBErr)
 		return
 	}
 
@@ -40,10 +29,16 @@
 		ctx.Fail(ecode.DBErr)
 		return
 	}
+	oldProcessModel, _ := service.GetProcessModelByNumber(params.Number)
 	for _, processModel := range list {
-		if processModel.Procedure == procedure.ProceduresInfo.ProcedureName && processModel.Product == order.ProductName {
+		if processModel.Procedure == oldProcessModel.Procedure && processModel.Product == oldProcessModel.Product {
 			processModel.IsUpdate = processModel.Number != params.Number
 		}
+		if processModel.IsUpdate {
+
+			processModel.NewNumber, processModel.NewParamsMap = processModel.Number, processModel.ParamsMap
+			processModel.Number, processModel.ParamsMap = oldProcessModel.Number, oldProcessModel.ParamsMap
+		}
 	}
 
 	ctx.ResultList(list, total)
diff --git a/docs/docs.go b/docs/docs.go
index 76bb333..77a7788 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -415,7 +415,10 @@
                                     "type": "object",
                                     "properties": {
                                         "data": {
-                                            "$ref": "#/definitions/response.TaskCountdown"
+                                            "type": "array",
+                                            "items": {
+                                                "$ref": "#/definitions/model.ProcessModel"
+                                            }
                                         }
                                     }
                                 }
@@ -1076,6 +1079,45 @@
                 }
             }
         },
+        "model.ProcessModel": {
+            "type": "object",
+            "properties": {
+                "deviceId": {
+                    "description": "鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅",
+                    "type": "string"
+                },
+                "isUpdate": {
+                    "description": "鍓嶇鐢�",
+                    "type": "boolean"
+                },
+                "newNumber": {
+                    "type": "string"
+                },
+                "newParamsMap": {
+                    "type": "object",
+                    "additionalProperties": true
+                },
+                "number": {
+                    "description": "宸ヨ壓妯″瀷缂栧彿",
+                    "type": "string"
+                },
+                "params": {
+                    "type": "string"
+                },
+                "paramsMap": {
+                    "type": "object",
+                    "additionalProperties": true
+                },
+                "procedure": {
+                    "description": "宸ュ簭",
+                    "type": "string"
+                },
+                "product": {
+                    "description": "浜у搧鍚嶇О",
+                    "type": "string"
+                }
+            }
+        },
         "request.AddPlcBrand": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 52ae3f8..3dd1523 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -403,7 +403,10 @@
                                     "type": "object",
                                     "properties": {
                                         "data": {
-                                            "$ref": "#/definitions/response.TaskCountdown"
+                                            "type": "array",
+                                            "items": {
+                                                "$ref": "#/definitions/model.ProcessModel"
+                                            }
                                         }
                                     }
                                 }
@@ -1064,6 +1067,45 @@
                 }
             }
         },
+        "model.ProcessModel": {
+            "type": "object",
+            "properties": {
+                "deviceId": {
+                    "description": "鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅",
+                    "type": "string"
+                },
+                "isUpdate": {
+                    "description": "鍓嶇鐢�",
+                    "type": "boolean"
+                },
+                "newNumber": {
+                    "type": "string"
+                },
+                "newParamsMap": {
+                    "type": "object",
+                    "additionalProperties": true
+                },
+                "number": {
+                    "description": "宸ヨ壓妯″瀷缂栧彿",
+                    "type": "string"
+                },
+                "params": {
+                    "type": "string"
+                },
+                "paramsMap": {
+                    "type": "object",
+                    "additionalProperties": true
+                },
+                "procedure": {
+                    "description": "宸ュ簭",
+                    "type": "string"
+                },
+                "product": {
+                    "description": "浜у搧鍚嶇О",
+                    "type": "string"
+                }
+            }
+        },
         "request.AddPlcBrand": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 42c23d7..8022b29 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -292,6 +292,34 @@
       status:
         $ref: '#/definitions/model.ProcedureStatus'
     type: object
+  model.ProcessModel:
+    properties:
+      deviceId:
+        description: 鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅
+        type: string
+      isUpdate:
+        description: 鍓嶇鐢�
+        type: boolean
+      newNumber:
+        type: string
+      newParamsMap:
+        additionalProperties: true
+        type: object
+      number:
+        description: 宸ヨ壓妯″瀷缂栧彿
+        type: string
+      params:
+        type: string
+      paramsMap:
+        additionalProperties: true
+        type: object
+      procedure:
+        description: 宸ュ簭
+        type: string
+      product:
+        description: 浜у搧鍚嶇О
+        type: string
+    type: object
   request.AddPlcBrand:
     properties:
       id:
@@ -671,7 +699,9 @@
             - $ref: '#/definitions/contextx.Response'
             - properties:
                 data:
-                  $ref: '#/definitions/response.TaskCountdown'
+                  items:
+                    $ref: '#/definitions/model.ProcessModel'
+                  type: array
               type: object
       summary: 鑾峰彇宸ヨ壓妯″瀷鍒楄〃
       tags:
diff --git a/model/process_model.go b/model/process_model.go
index 9ff8e4f..b0d4afb 100644
--- a/model/process_model.go
+++ b/model/process_model.go
@@ -11,15 +11,17 @@
 type (
 	// ProcessModel 宸ヨ壓鍙傛暟
 	ProcessModel struct {
-		gorm.Model `json:"-"`
-		Number     string                 `gorm:"index;column:number;type:varchar(255);not null;default '';comment:宸ヨ壓妯″瀷缂栧彿" json:"number"` //宸ヨ壓妯″瀷缂栧彿
-		Product    string                 `gorm:"column:product;type:varchar(255);not null;default '';comment:浜у搧鍚嶇О" json:"product"`       //浜у搧鍚嶇О
-		Procedure  string                 `gorm:"column:procedure;type:varchar(255);not null;default '';comment:宸ュ簭" json:"procedure"`     //宸ュ簭
-		Params     string                 `gorm:"type:text;comment:宸ヨ壓鍙傛暟閿�煎json涓�"`
-		ParamsMap  map[string]interface{} `json:"paramsMap" gorm:"-"`
-		DeviceId   string                 `json:"deviceId" gorm:"-"`                        //鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅
-		IsNew      bool                   `json:"isNew" gorm:"column:is_new;comment:鏄惁鏈�鏂扮殑"` //鏄惁鏈�鏂扮殑
-		IsUpdate   bool                   `json:"isUpdate" gorm:"-"`                        //鍓嶇鐢�
+		gorm.Model   `json:"-"`
+		Number       string                 `gorm:"index;column:number;type:varchar(255);not null;default '';comment:宸ヨ壓妯″瀷缂栧彿" json:"number"` //宸ヨ壓妯″瀷缂栧彿
+		Product      string                 `gorm:"column:product;type:varchar(255);not null;default '';comment:浜у搧鍚嶇О" json:"product"`       //浜у搧鍚嶇О
+		Procedure    string                 `gorm:"column:procedure;type:varchar(255);not null;default '';comment:宸ュ簭" json:"procedure"`     //宸ュ簭
+		Params       string                 `gorm:"type:text;comment:宸ヨ壓鍙傛暟閿�煎json涓�"`
+		ParamsMap    map[string]interface{} `json:"paramsMap" gorm:"-"`
+		DeviceId     string                 `json:"deviceId" gorm:"-"`                    //鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅
+		IsNew        bool                   `json:"-" gorm:"column:is_new;comment:鏄惁鏈�鏂扮殑"` //鏄惁鏈�鏂扮殑
+		IsUpdate     bool                   `json:"isUpdate" gorm:"-"`                    //鍓嶇鐢�
+		NewParamsMap map[string]interface{} `json:"newParamsMap" gorm:"-"`
+		NewNumber    string                 `json:"newNumber" gorm:"-"`
 	}
 
 	ProcessModelSearch struct {
diff --git a/service/process_model.go b/service/process_model.go
index c4ff7dd..728248d 100644
--- a/service/process_model.go
+++ b/service/process_model.go
@@ -15,3 +15,7 @@
 		SetPage(page, pageSize).SetProcedures(device.ProceduresArr).Find()
 	return
 }
+
+func GetProcessModelByNumber(num string) (record *model.ProcessModel, err error) {
+	return model.NewProcessModelSearch().SetNumber(num).First()
+}

--
Gitblit v1.8.0