From db3aaff2a2c18cf22902bf2071929a2b3af89342 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 11 四月 2024 14:03:54 +0800
Subject: [PATCH] 获取车辆编号和等级

---
 controllers/request/system_set.go           |    5 
 models/fineness.go                          |   27 +++
 models/workshop_manage.go                   |    9 +
 docs/swagger.yaml                           |   80 ++++++----
 controllers/response/system_set_response.go |    6 
 docs/docs.go                                |  129 ++++++++++--------
 docs/swagger.json                           |  129 ++++++++++--------
 controllers/workshop_manage_controller.go   |   31 +++-
 router/router.go                            |    2 
 9 files changed, 262 insertions(+), 156 deletions(-)

diff --git a/controllers/request/system_set.go b/controllers/request/system_set.go
index 048e5ee..533098b 100644
--- a/controllers/request/system_set.go
+++ b/controllers/request/system_set.go
@@ -57,6 +57,7 @@
 }
 
 type GetWorkshopManageCar struct {
-	WorkshopNumber string `json:"workshopNumber"`
-	GroupNumber    int    `json:"groupNumber"`
+	WorkshopName string `json:"workshopName"` //杞﹂棿鍚嶇О
+	GroupNumber  int    `json:"groupNumber"`  //缁勫埆
+	MarketName   string `json:"marketName"`   ///搴勫彛鍚�
 }
diff --git a/controllers/response/system_set_response.go b/controllers/response/system_set_response.go
new file mode 100644
index 0000000..3bb38fa
--- /dev/null
+++ b/controllers/response/system_set_response.go
@@ -0,0 +1,6 @@
+package response
+
+type CarAndLevel struct {
+	Car   [][]int `json:"car"`
+	Level string  `json:"level"`
+}
diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go
index 527e1d8..0cc7e7e 100644
--- a/controllers/workshop_manage_controller.go
+++ b/controllers/workshop_manage_controller.go
@@ -4,6 +4,7 @@
 	"github.com/gin-gonic/gin"
 	"silkserver/constvar"
 	"silkserver/controllers/request"
+	"silkserver/controllers/response"
 	"silkserver/extend/code"
 	"silkserver/extend/util"
 	"silkserver/models"
@@ -119,27 +120,41 @@
 	util.ResponseFormat(c, code.Success, groupMap)
 }
 
-// GetWorkshopManageCar
+// GetCarAndLevel
 //
 //	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
-//	@Summary	鑾峰彇杞﹁締缂栧彿
+//	@Summary	鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�
 //	@Produce	application/json
 //	@Param     Authorization	header string true "token"
 //	@Param		object	body		request.GetWorkshopManageCar	true	"鍙傛暟"
-//	@Success	200		{object}	util.ResponseList{data=[][]int}		"鎴愬姛"
-//	@Router		/api-jl/v1/system/getWorkshopManageCar [post]
-func (slf WorkshopManageController) GetWorkshopManageCar(c *gin.Context) {
+//	@Success	200		{object}	util.Response{data=response.CarAndLevel}		"鎴愬姛"
+//	@Router		/api-jl/v1/system/getCarAndLevel [post]
+func (slf WorkshopManageController) GetCarAndLevel(c *gin.Context) {
 	var params request.GetWorkshopManageCar
 	err := c.BindJSON(&params)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
 		return
 	}
-	all, err := models.NewWorkshopManageSearch().SetWorkshopNumber(params.WorkshopNumber).SetGroupNumber(params.GroupNumber).FindAll()
+	all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
 		return
 	}
+	fineness, err := models.NewFinenessRegisterSearch().SetWorkshop(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).
+		SetMarket(params.MarketName).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	first, err := models.NewFinenessCheckSearch().SetID(fineness.FinenessCheckID).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	var data response.CarAndLevel
+	data.Level = first.FinenessGrade
+
 	carNum := make([][]int, 0)
 	for _, manage := range all {
 		car := make([]int, 0)
@@ -154,5 +169,7 @@
 			carNum = append(carNum, car)
 		}
 	}
-	util.ResponseFormat(c, code.Success, carNum)
+	data.Car = carNum
+
+	util.ResponseFormat(c, code.Success, data)
 }
diff --git a/docs/docs.go b/docs/docs.go
index eac5508..21d7273 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -722,6 +722,55 @@
                 }
             }
         },
+        "/api-jl/v1/system/getCarAndLevel": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "绯荤粺璁剧疆/杞﹂棿绠$悊"
+                ],
+                "summary": "鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "token",
+                        "name": "Authorization",
+                        "in": "header",
+                        "required": true
+                    },
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.GetWorkshopManageCar"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.Response"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/response.CarAndLevel"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-jl/v1/system/getPriceStandardList": {
             "get": {
                 "produces": [
@@ -833,61 +882,6 @@
                                             "type": "object",
                                             "additionalProperties": {
                                                 "type": "string"
-                                            }
-                                        }
-                                    }
-                                }
-                            ]
-                        }
-                    }
-                }
-            }
-        },
-        "/api-jl/v1/system/getWorkshopManageCar": {
-            "post": {
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "绯荤粺璁剧疆/杞﹂棿绠$悊"
-                ],
-                "summary": "鑾峰彇杞﹁締缂栧彿",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "description": "token",
-                        "name": "Authorization",
-                        "in": "header",
-                        "required": true
-                    },
-                    {
-                        "description": "鍙傛暟",
-                        "name": "object",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.GetWorkshopManageCar"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "鎴愬姛",
-                        "schema": {
-                            "allOf": [
-                                {
-                                    "$ref": "#/definitions/util.ResponseList"
-                                },
-                                {
-                                    "type": "object",
-                                    "properties": {
-                                        "data": {
-                                            "type": "array",
-                                            "items": {
-                                                "type": "array",
-                                                "items": {
-                                                    "type": "integer"
-                                                }
                                             }
                                         }
                                     }
@@ -1883,9 +1877,15 @@
             "type": "object",
             "properties": {
                 "groupNumber": {
+                    "description": "缁勫埆",
                     "type": "integer"
                 },
-                "workshopNumber": {
+                "marketName": {
+                    "description": "/搴勫彛鍚�",
+                    "type": "string"
+                },
+                "workshopName": {
+                    "description": "杞﹂棿鍚嶇О",
                     "type": "string"
                 }
             }
@@ -2178,6 +2178,23 @@
                 }
             }
         },
+        "response.CarAndLevel": {
+            "type": "object",
+            "properties": {
+                "car": {
+                    "type": "array",
+                    "items": {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        }
+                    }
+                },
+                "level": {
+                    "type": "string"
+                }
+            }
+        },
         "response.DynamicsRank": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 2eb3049..4b8329e 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -710,6 +710,55 @@
                 }
             }
         },
+        "/api-jl/v1/system/getCarAndLevel": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "绯荤粺璁剧疆/杞﹂棿绠$悊"
+                ],
+                "summary": "鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "token",
+                        "name": "Authorization",
+                        "in": "header",
+                        "required": true
+                    },
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.GetWorkshopManageCar"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.Response"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/response.CarAndLevel"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-jl/v1/system/getPriceStandardList": {
             "get": {
                 "produces": [
@@ -821,61 +870,6 @@
                                             "type": "object",
                                             "additionalProperties": {
                                                 "type": "string"
-                                            }
-                                        }
-                                    }
-                                }
-                            ]
-                        }
-                    }
-                }
-            }
-        },
-        "/api-jl/v1/system/getWorkshopManageCar": {
-            "post": {
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "绯荤粺璁剧疆/杞﹂棿绠$悊"
-                ],
-                "summary": "鑾峰彇杞﹁締缂栧彿",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "description": "token",
-                        "name": "Authorization",
-                        "in": "header",
-                        "required": true
-                    },
-                    {
-                        "description": "鍙傛暟",
-                        "name": "object",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.GetWorkshopManageCar"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "鎴愬姛",
-                        "schema": {
-                            "allOf": [
-                                {
-                                    "$ref": "#/definitions/util.ResponseList"
-                                },
-                                {
-                                    "type": "object",
-                                    "properties": {
-                                        "data": {
-                                            "type": "array",
-                                            "items": {
-                                                "type": "array",
-                                                "items": {
-                                                    "type": "integer"
-                                                }
                                             }
                                         }
                                     }
@@ -1871,9 +1865,15 @@
             "type": "object",
             "properties": {
                 "groupNumber": {
+                    "description": "缁勫埆",
                     "type": "integer"
                 },
-                "workshopNumber": {
+                "marketName": {
+                    "description": "/搴勫彛鍚�",
+                    "type": "string"
+                },
+                "workshopName": {
+                    "description": "杞﹂棿鍚嶇О",
                     "type": "string"
                 }
             }
@@ -2166,6 +2166,23 @@
                 }
             }
         },
+        "response.CarAndLevel": {
+            "type": "object",
+            "properties": {
+                "car": {
+                    "type": "array",
+                    "items": {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        }
+                    }
+                },
+                "level": {
+                    "type": "string"
+                }
+            }
+        },
         "response.DynamicsRank": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 26deeb0..17f71bc 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -540,8 +540,13 @@
   request.GetWorkshopManageCar:
     properties:
       groupNumber:
+        description: 缁勫埆
         type: integer
-      workshopNumber:
+      marketName:
+        description: /搴勫彛鍚�
+        type: string
+      workshopName:
+        description: 杞﹂棿鍚嶇О
         type: string
     type: object
   request.GetYieldRegisterList:
@@ -747,6 +752,17 @@
       yieldRegisterId:
         description: 浜ч噺鐧昏琛╥d
         type: integer
+    type: object
+  response.CarAndLevel:
+    properties:
+      car:
+        items:
+          items:
+            type: integer
+          type: array
+        type: array
+      level:
+        type: string
     type: object
   response.DynamicsRank:
     properties:
@@ -1257,6 +1273,35 @@
       summary: 鍒犻櫎瀛楀吀
       tags:
       - 绯荤粺璁剧疆/瀛楀吀
+  /api-jl/v1/system/getCarAndLevel:
+    post:
+      parameters:
+      - description: token
+        in: header
+        name: Authorization
+        required: true
+        type: string
+      - description: 鍙傛暟
+        in: body
+        name: object
+        required: true
+        schema:
+          $ref: '#/definitions/request.GetWorkshopManageCar'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            allOf:
+            - $ref: '#/definitions/util.Response'
+            - properties:
+                data:
+                  $ref: '#/definitions/response.CarAndLevel'
+              type: object
+      summary: 鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�
+      tags:
+      - 绯荤粺璁剧疆/杞﹂棿绠$悊
   /api-jl/v1/system/getPriceStandardList:
     get:
       parameters:
@@ -1326,39 +1371,6 @@
       summary: 鑾峰彇鐢熶笣绛夌骇
       tags:
       - 绯荤粺璁剧疆/鐢熶笣瀹氱骇鏍囧噯
-  /api-jl/v1/system/getWorkshopManageCar:
-    post:
-      parameters:
-      - description: token
-        in: header
-        name: Authorization
-        required: true
-        type: string
-      - description: 鍙傛暟
-        in: body
-        name: object
-        required: true
-        schema:
-          $ref: '#/definitions/request.GetWorkshopManageCar'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: 鎴愬姛
-          schema:
-            allOf:
-            - $ref: '#/definitions/util.ResponseList'
-            - properties:
-                data:
-                  items:
-                    items:
-                      type: integer
-                    type: array
-                  type: array
-              type: object
-      summary: 鑾峰彇杞﹁締缂栧彿
-      tags:
-      - 绯荤粺璁剧疆/杞﹂棿绠$悊
   /api-jl/v1/system/getWorkshopManageGroup/{number}:
     get:
       parameters:
diff --git a/models/fineness.go b/models/fineness.go
index c82e5a5..5fd3ada 100644
--- a/models/fineness.go
+++ b/models/fineness.go
@@ -79,6 +79,21 @@
 	return slf
 }
 
+func (slf *FinenessRegisterSearch) SetWorkshop(workshop string) *FinenessRegisterSearch {
+	slf.Workshop = workshop
+	return slf
+}
+
+func (slf *FinenessRegisterSearch) SetMarket(market string) *FinenessRegisterSearch {
+	slf.Market = market
+	return slf
+}
+
+func (slf *FinenessRegisterSearch) SetWorkshopGroup(group int) *FinenessRegisterSearch {
+	slf.WorkshopGroup = group
+	return slf
+}
+
 func (slf *FinenessRegisterSearch) build() *gorm.DB {
 	var db = slf.Orm.Table(slf.TableName())
 
@@ -102,6 +117,18 @@
 		db = db.Where("number like ?", fmt.Sprintf("%%%s%%", slf.Keyword))
 	}
 
+	if slf.Workshop != "" {
+		db = db.Where("workshop = ?", slf.Workshop)
+	}
+
+	if slf.Market != "" {
+		db = db.Where("market = ?", slf.Market)
+	}
+
+	if slf.WorkshopGroup > 0 {
+		db = db.Where("workshop_group = ?", slf.WorkshopGroup)
+	}
+
 	return db
 }
 
diff --git a/models/workshop_manage.go b/models/workshop_manage.go
index 8039ed2..db0e30f 100644
--- a/models/workshop_manage.go
+++ b/models/workshop_manage.go
@@ -56,6 +56,11 @@
 	return slf
 }
 
+func (slf *WorkshopManageSearch) SetWorkshopName(workshopName string) *WorkshopManageSearch {
+	slf.WorkshopName = workshopName
+	return slf
+}
+
 func (slf *WorkshopManageSearch) SetGroupNumber(groupNumber int) *WorkshopManageSearch {
 	slf.GroupNumber = groupNumber
 	return slf
@@ -77,6 +82,10 @@
 		db = db.Where("workshop_number = ?", slf.WorkshopNumber)
 	}
 
+	if slf.WorkshopName != "" {
+		db = db.Where("workshop_name = ?", slf.WorkshopName)
+	}
+
 	if slf.GroupNumber != 0 {
 		db = db.Where("group_number = ?", slf.GroupNumber)
 	}
diff --git a/router/router.go b/router/router.go
index 67bff3c..fd4dbc7 100644
--- a/router/router.go
+++ b/router/router.go
@@ -47,7 +47,7 @@
 		systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage)                //淇濆瓨杞﹂棿绠$悊
 		systemApi.DELETE("deleteWorkshopManage/:id", workshopController.DeleteWorkshopManage)      //鍒犻櫎杞﹂棿绠$悊
 		systemApi.GET("getWorkshopManageGroup/:number", workshopController.GetWorkshopManageGroup) //鑾峰彇杞﹂棿缁勫埆
-		systemApi.POST("getWorkshopManageCar", workshopController.GetWorkshopManageCar)            //鑾峰彇杞﹁締缂栧彿
+		systemApi.POST("getCarAndLevel", workshopController.GetCarAndLevel)                        //鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�
 	}
 
 	// 鐢熶骇绠$悊

--
Gitblit v1.8.0