From 09af2f801c0f5e18222b696bb6df7da382e7d977 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 11 四月 2024 10:35:22 +0800
Subject: [PATCH] 切换产量登记表

---
 controllers/request/yield_register_request.go |    8 +
 models/yield_register.go                      |   44 ++++++
 models/workshop_manage.go                     |   12 +
 docs/swagger.yaml                             |   78 ++++++++--
 controllers/yield_register_controller.go      |   26 +++
 docs/docs.go                                  |  123 +++++++++++++----
 docs/swagger.json                             |  123 +++++++++++++----
 controllers/workshop_manage_controller.go     |    4 
 router/router.go                              |    1 
 9 files changed, 343 insertions(+), 76 deletions(-)

diff --git a/controllers/request/yield_register_request.go b/controllers/request/yield_register_request.go
index 30033a9..1fd45b0 100644
--- a/controllers/request/yield_register_request.go
+++ b/controllers/request/yield_register_request.go
@@ -58,3 +58,11 @@
 	OneYield        decimal.Decimal `json:"oneYield"`        //鍙颁骇
 	Reelingdiscount string          `json:"reelingdiscount"` //缂姌
 }
+
+type ChangeYieldRegister struct {
+	CreateTime  string `json:"createTime"`  //鍒涘缓鏃堕棿
+	MarketId    uint   `json:"marketId"`    //搴勫彛id
+	WorkshopId  uint   `json:"workshopId"`  //杞﹂棿id
+	GroupNumber int    `json:"groupNumber"` //缁勫埆
+	Spec        string `json:"spec"`        //瑙勬牸
+}
diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go
index 029e52d..527e1d8 100644
--- a/controllers/workshop_manage_controller.go
+++ b/controllers/workshop_manage_controller.go
@@ -150,7 +150,9 @@
 		for ; i <= manage.EndCarNumber; i++ {
 			car = append(car, i)
 		}
-		carNum = append(carNum, car)
+		if len(car) > 0 {
+			carNum = append(carNum, car)
+		}
 	}
 	util.ResponseFormat(c, code.Success, carNum)
 }
diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go
index a940894..6a5c9db 100644
--- a/controllers/yield_register_controller.go
+++ b/controllers/yield_register_controller.go
@@ -131,7 +131,7 @@
 //	@Produce	application/json
 //	@Param		number	path		string			true	"number"
 //	@Success	200	{object}	util.Response	"鎴愬姛"
-//	@Router		/api-jl/v1/system/deleteYieldRegister/{number} [delete]
+//	@Router		/api-jl/v1/fineness/deleteYieldRegister/{number} [delete]
 func (slf YieldRegisterController) DeleteYieldRegister(c *gin.Context) {
 	number := c.Param("number")
 	if number == "" {
@@ -145,3 +145,27 @@
 	}
 	util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
 }
+
+// ChangeYieldRegister
+//
+//	@Tags		鐢熶骇绠$悊/浜ч噺鐧昏琛�
+//	@Summary	鍒囨崲浜ч噺鐧昏琛�
+//	@Produce	application/json
+//	@Param		object	body		request.ChangeYieldRegister	true	"鍙傛暟"
+//	@Success	200		{object}	util.Response{data=models.YieldRegister}		"鎴愬姛"
+//	@Router		/api-jl/v1/fineness/changeYieldRegister [post]
+func (slf YieldRegisterController) ChangeYieldRegister(c *gin.Context) {
+	var params request.ChangeYieldRegister
+	err := c.BindJSON(&params)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		return
+	}
+	first, err := models.NewYieldRegisterSearch().SetGroupNumber(params.GroupNumber).SetCreateTime(params.CreateTime).
+		SetMarketId(params.MarketId).SetWorkshopId(params.WorkshopId).SetSpec(params.Spec).SetPreload(true).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
+		return
+	}
+	util.ResponseFormat(c, code.Success, first)
+}
diff --git a/docs/docs.go b/docs/docs.go
index 5c27b08..eac5508 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -16,6 +16,48 @@
     "host": "{{.Host}}",
     "basePath": "{{.BasePath}}",
     "paths": {
+        "/api-jl/v1/fineness/changeYieldRegister": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
+                ],
+                "summary": "鍒囨崲浜ч噺鐧昏琛�",
+                "parameters": [
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.ChangeYieldRegister"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.Response"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/models.YieldRegister"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-jl/v1/fineness/check": {
             "get": {
                 "produces": [
@@ -149,6 +191,34 @@
                         "type": "string",
                         "description": "瀛楀吀淇℃伅",
                         "name": "id",
+                        "in": "path",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "$ref": "#/definitions/util.Response"
+                        }
+                    }
+                }
+            }
+        },
+        "/api-jl/v1/fineness/deleteYieldRegister/{number}": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
+                ],
+                "summary": "鍒犻櫎浜ч噺鐧昏琛ㄨ褰�",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "number",
+                        "name": "number",
                         "in": "path",
                         "required": true
                     }
@@ -476,34 +546,6 @@
                         "type": "string",
                         "description": "id",
                         "name": "id",
-                        "in": "path",
-                        "required": true
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "鎴愬姛",
-                        "schema": {
-                            "$ref": "#/definitions/util.Response"
-                        }
-                    }
-                }
-            }
-        },
-        "/api-jl/v1/system/deleteYieldRegister/{number}": {
-            "delete": {
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
-                ],
-                "summary": "鍒犻櫎浜ч噺鐧昏琛ㄨ褰�",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "description": "number",
-                        "name": "number",
                         "in": "path",
                         "required": true
                     }
@@ -1774,6 +1816,31 @@
                 }
             }
         },
+        "request.ChangeYieldRegister": {
+            "type": "object",
+            "properties": {
+                "createTime": {
+                    "description": "鍒涘缓鏃堕棿",
+                    "type": "string"
+                },
+                "groupNumber": {
+                    "description": "缁勫埆",
+                    "type": "integer"
+                },
+                "marketId": {
+                    "description": "搴勫彛id",
+                    "type": "integer"
+                },
+                "spec": {
+                    "description": "瑙勬牸",
+                    "type": "string"
+                },
+                "workshopId": {
+                    "description": "杞﹂棿id",
+                    "type": "integer"
+                }
+            }
+        },
         "request.DynamicsRank": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 1f9ca75..2eb3049 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -4,6 +4,48 @@
         "contact": {}
     },
     "paths": {
+        "/api-jl/v1/fineness/changeYieldRegister": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
+                ],
+                "summary": "鍒囨崲浜ч噺鐧昏琛�",
+                "parameters": [
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.ChangeYieldRegister"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.Response"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/models.YieldRegister"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-jl/v1/fineness/check": {
             "get": {
                 "produces": [
@@ -137,6 +179,34 @@
                         "type": "string",
                         "description": "瀛楀吀淇℃伅",
                         "name": "id",
+                        "in": "path",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "$ref": "#/definitions/util.Response"
+                        }
+                    }
+                }
+            }
+        },
+        "/api-jl/v1/fineness/deleteYieldRegister/{number}": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
+                ],
+                "summary": "鍒犻櫎浜ч噺鐧昏琛ㄨ褰�",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "number",
+                        "name": "number",
                         "in": "path",
                         "required": true
                     }
@@ -464,34 +534,6 @@
                         "type": "string",
                         "description": "id",
                         "name": "id",
-                        "in": "path",
-                        "required": true
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "鎴愬姛",
-                        "schema": {
-                            "$ref": "#/definitions/util.Response"
-                        }
-                    }
-                }
-            }
-        },
-        "/api-jl/v1/system/deleteYieldRegister/{number}": {
-            "delete": {
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "鐢熶骇绠$悊/浜ч噺鐧昏琛�"
-                ],
-                "summary": "鍒犻櫎浜ч噺鐧昏琛ㄨ褰�",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "description": "number",
-                        "name": "number",
                         "in": "path",
                         "required": true
                     }
@@ -1762,6 +1804,31 @@
                 }
             }
         },
+        "request.ChangeYieldRegister": {
+            "type": "object",
+            "properties": {
+                "createTime": {
+                    "description": "鍒涘缓鏃堕棿",
+                    "type": "string"
+                },
+                "groupNumber": {
+                    "description": "缁勫埆",
+                    "type": "integer"
+                },
+                "marketId": {
+                    "description": "搴勫彛id",
+                    "type": "integer"
+                },
+                "spec": {
+                    "description": "瑙勬牸",
+                    "type": "string"
+                },
+                "workshopId": {
+                    "description": "杞﹂棿id",
+                    "type": "integer"
+                }
+            }
+        },
         "request.DynamicsRank": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index e3eb19d..26deeb0 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -492,6 +492,24 @@
         description: 杞︾粍
         type: integer
     type: object
+  request.ChangeYieldRegister:
+    properties:
+      createTime:
+        description: 鍒涘缓鏃堕棿
+        type: string
+      groupNumber:
+        description: 缁勫埆
+        type: integer
+      marketId:
+        description: 搴勫彛id
+        type: integer
+      spec:
+        description: 瑙勬牸
+        type: string
+      workshopId:
+        description: 杞﹂棿id
+        type: integer
+    type: object
   request.DynamicsRank:
     properties:
       rankName:
@@ -804,6 +822,30 @@
 info:
   contact: {}
 paths:
+  /api-jl/v1/fineness/changeYieldRegister:
+    post:
+      parameters:
+      - description: 鍙傛暟
+        in: body
+        name: object
+        required: true
+        schema:
+          $ref: '#/definitions/request.ChangeYieldRegister'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            allOf:
+            - $ref: '#/definitions/util.Response'
+            - properties:
+                data:
+                  $ref: '#/definitions/models.YieldRegister'
+              type: object
+      summary: 鍒囨崲浜ч噺鐧昏琛�
+      tags:
+      - 鐢熶骇绠$悊/浜ч噺鐧昏琛�
   /api-jl/v1/fineness/check:
     get:
       parameters:
@@ -893,6 +935,24 @@
       summary: 绾ゅ害妫�楠岃鎯�
       tags:
       - 绾ゅ害妫�楠�
+  /api-jl/v1/fineness/deleteYieldRegister/{number}:
+    delete:
+      parameters:
+      - description: number
+        in: path
+        name: number
+        required: true
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            $ref: '#/definitions/util.Response'
+      summary: 鍒犻櫎浜ч噺鐧昏琛ㄨ褰�
+      tags:
+      - 鐢熶骇绠$悊/浜ч噺鐧昏琛�
   /api-jl/v1/fineness/getYieldRegisterInfo:
     post:
       parameters:
@@ -1092,24 +1152,6 @@
       summary: 鍒犻櫎杞﹂棿绠$悊
       tags:
       - 绯荤粺璁剧疆/杞﹂棿绠$悊
-  /api-jl/v1/system/deleteYieldRegister/{number}:
-    delete:
-      parameters:
-      - description: number
-        in: path
-        name: number
-        required: true
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: 鎴愬姛
-          schema:
-            $ref: '#/definitions/util.Response'
-      summary: 鍒犻櫎浜ч噺鐧昏琛ㄨ褰�
-      tags:
-      - 鐢熶骇绠$悊/浜ч噺鐧昏琛�
   /api-jl/v1/system/dict:
     get:
       parameters:
diff --git a/models/workshop_manage.go b/models/workshop_manage.go
index 9516937..8039ed2 100644
--- a/models/workshop_manage.go
+++ b/models/workshop_manage.go
@@ -146,3 +146,15 @@
 
 	return nil
 }
+
+func (slf *WorkshopManageSearch) Count() (int64, error) {
+	var (
+		total int64
+		db    = slf.build()
+	)
+
+	if err := db.Count(&total).Error; err != nil {
+		return total, fmt.Errorf("find count err: %v", err)
+	}
+	return total, nil
+}
diff --git a/models/yield_register.go b/models/yield_register.go
index 1163c19..8111b1e 100644
--- a/models/yield_register.go
+++ b/models/yield_register.go
@@ -80,6 +80,31 @@
 	return slf
 }
 
+func (slf *YieldRegisterSearch) SetCreateTime(createTime string) *YieldRegisterSearch {
+	slf.CreateTime = createTime
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetMarketId(marketId uint) *YieldRegisterSearch {
+	slf.MarketId = marketId
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetWorkshopId(workshopId uint) *YieldRegisterSearch {
+	slf.WorkshopId = workshopId
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetGroupNumber(groupNumber int) *YieldRegisterSearch {
+	slf.GroupNumber = groupNumber
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetSpec(spec string) *YieldRegisterSearch {
+	slf.Spec = spec
+	return slf
+}
+
 func (slf *YieldRegisterSearch) build() *gorm.DB {
 	db := slf.Orm.Table(slf.TableName())
 
@@ -91,6 +116,25 @@
 		db = db.Where("number = ?", slf.Number)
 	}
 
+	if slf.CreateTime != "" {
+		db = db.Where("create_time = ?", slf.CreateTime)
+	}
+
+	if slf.WorkshopId > 0 {
+		db = db.Where("workshop_id = ?", slf.WorkshopId)
+	}
+
+	if slf.MarketId > 0 {
+		db = db.Where("market_id = ?", slf.MarketId)
+	}
+
+	if slf.GroupNumber > 0 {
+		db = db.Where("group_number = ?", slf.GroupNumber)
+	}
+
+	if slf.Spec != "" {
+		db = db.Where("spec = ?", slf.Spec)
+	}
 	return db
 }
 
diff --git a/router/router.go b/router/router.go
index 887908a..67bff3c 100644
--- a/router/router.go
+++ b/router/router.go
@@ -69,6 +69,7 @@
 		finenessApi.POST("getYieldRegisterList", yieldController.GetYieldRegisterList)         // 鑾峰彇浜ч噺鐧昏琛�
 		finenessApi.POST("getYieldRegisterInfo", yieldController.GetYieldRegisterInfo)         // 鑾峰彇浜ч噺鐧昏琛ㄨ鎯�
 		finenessApi.DELETE("deleteYieldRegister/:number", yieldController.DeleteYieldRegister) // 鍒犻櫎浜ч噺鐧昏琛ㄨ褰�
+		finenessApi.POST("changeYieldRegister", yieldController.ChangeYieldRegister)           // 鍒囨崲浜ч噺鐧昏琛�
 	}
 
 	return r

--
Gitblit v1.8.0