From 7d4f02f6a8066018911d09bad42c5c540abaa66b Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 11 三月 2024 15:18:29 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS

---
 controllers/product_controller.go |   16 ++
 models/unit_dict.go               |  230 ++++++++++++++++++++++++++++++++
 docs/swagger.yaml                 |   28 ++++
 docs/docs.go                      |   48 ++++++
 docs/swagger.json                 |   48 ++++++
 router/router.go                  |    1 
 6 files changed, 371 insertions(+), 0 deletions(-)

diff --git a/controllers/product_controller.go b/controllers/product_controller.go
index 84d970e..b91d30f 100644
--- a/controllers/product_controller.go
+++ b/controllers/product_controller.go
@@ -761,3 +761,19 @@
 	m["userName"] = userInfo.Username
 	util.ResponseFormat(c, code.Success, m)
 }
+
+// GetUnitInfo
+//
+//	@Tags		浜у搧
+//	@Summary	鑾峰彇鍗曚綅淇℃伅
+//	@Produce	application/json
+//	@Success	200	{object}	util.ResponseList{data=[]models.UnitDict}	"鎴愬姛"
+//	@Router		/api-wms/v1/product/getUnitInfo [get]
+func (slf ProductController) GetUnitInfo(c *gin.Context) {
+	dicts, total, err := models.NewUnitDictSearch().Find()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ鍑洪敊")
+		return
+	}
+	util.ResponseFormatList(c, code.Success, dicts, int(total))
+}
diff --git a/docs/docs.go b/docs/docs.go
index 9c1cc47..07d8fc6 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1930,6 +1930,40 @@
                 }
             }
         },
+        "/api-wms/v1/product/getUnitInfo": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "浜у搧"
+                ],
+                "summary": "鑾峰彇鍗曚綅淇℃伅",
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "type": "array",
+                                            "items": {
+                                                "$ref": "#/definitions/models.UnitDict"
+                                            }
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-wms/v1/product/getUserInfo": {
             "get": {
                 "produces": [
@@ -3675,6 +3709,20 @@
                 }
             }
         },
+        "models.UnitDict": {
+            "type": "object",
+            "properties": {
+                "id": {
+                    "type": "integer"
+                },
+                "isDefault": {
+                    "type": "boolean"
+                },
+                "name": {
+                    "type": "string"
+                }
+            }
+        },
         "models.Warehouse": {
             "type": "object",
             "required": [
diff --git a/docs/swagger.json b/docs/swagger.json
index ba2a3f4..6285131 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -1918,6 +1918,40 @@
                 }
             }
         },
+        "/api-wms/v1/product/getUnitInfo": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "浜у搧"
+                ],
+                "summary": "鑾峰彇鍗曚綅淇℃伅",
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "type": "array",
+                                            "items": {
+                                                "$ref": "#/definitions/models.UnitDict"
+                                            }
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-wms/v1/product/getUserInfo": {
             "get": {
                 "produces": [
@@ -3663,6 +3697,20 @@
                 }
             }
         },
+        "models.UnitDict": {
+            "type": "object",
+            "properties": {
+                "id": {
+                    "type": "integer"
+                },
+                "isDefault": {
+                    "type": "boolean"
+                },
+                "name": {
+                    "type": "string"
+                }
+            }
+        },
         "models.Warehouse": {
             "type": "object",
             "required": [
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index b3019db..7c2ffd4 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -803,6 +803,15 @@
       updateTime:
         type: string
     type: object
+  models.UnitDict:
+    properties:
+      id:
+        type: integer
+      isDefault:
+        type: boolean
+      name:
+        type: string
+    type: object
   models.Warehouse:
     properties:
       active:
@@ -2864,6 +2873,25 @@
       summary: 鑾峰彇浜у搧鍒楄〃
       tags:
       - 浜у搧
+  /api-wms/v1/product/getUnitInfo:
+    get:
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            allOf:
+            - $ref: '#/definitions/util.ResponseList'
+            - properties:
+                data:
+                  items:
+                    $ref: '#/definitions/models.UnitDict'
+                  type: array
+              type: object
+      summary: 鑾峰彇鍗曚綅淇℃伅
+      tags:
+      - 浜у搧
   /api-wms/v1/product/getUserInfo:
     get:
       produces:
diff --git a/models/unit_dict.go b/models/unit_dict.go
new file mode 100644
index 0000000..e7b3fb4
--- /dev/null
+++ b/models/unit_dict.go
@@ -0,0 +1,230 @@
+package models
+
+import (
+	"fmt"
+	"gorm.io/gorm"
+	"wms/pkg/mysqlx"
+)
+
+type (
+	// UnitDict 璁¢噺鍗曚綅瀛楀吀
+	UnitDict struct {
+		BaseModelInt
+		Name      string `gorm:"unique;type:varchar(191);not null;comment:鍚嶇О" json:"name"`
+		IsDefault bool   `gorm:"type:tinyint(1);comment:鏄惁榛樿" json:"isDefault"`
+		Sort      int    `gorm:"type:int(11);comment:鎺掑簭" json:"-"`
+	}
+
+	UnitDictSearch struct {
+		UnitDict
+		Order    string
+		PageNum  int
+		PageSize int
+		Orm      *gorm.DB
+	}
+)
+
+func (slf UnitDict) TableName() string {
+	return "unit_dict"
+}
+
+func NewUnitDictSearch() *UnitDictSearch {
+	return &UnitDictSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *UnitDictSearch) SetOrm(tx *gorm.DB) *UnitDictSearch {
+	slf.Orm = tx
+	return slf
+}
+
+func (slf *UnitDictSearch) SetPage(page, size int) *UnitDictSearch {
+	slf.PageNum, slf.PageSize = page, size
+	return slf
+}
+
+func (slf *UnitDictSearch) SetOrder(order string) *UnitDictSearch {
+	slf.Order = order
+	return slf
+}
+
+func (slf *UnitDictSearch) SetID(id uint) *UnitDictSearch {
+	slf.ID = id
+	return slf
+}
+
+func (slf *UnitDictSearch) SetName(name string) *UnitDictSearch {
+	slf.Name = name
+	return slf
+}
+
+func (slf *UnitDictSearch) build() *gorm.DB {
+	var db = slf.Orm.Table(slf.TableName())
+
+	if slf.ID > 0 {
+		db = db.Where("id = ?", slf.ID)
+	}
+
+	if slf.Name != "" {
+		db = db.Where("name = ?", slf.Name)
+	}
+
+	db.Where("1 = 1")
+	if slf.Order != "" {
+		db = db.Order(slf.Order)
+	}
+
+	return db
+}
+
+// Create 鍗曟潯鎻掑叆
+func (slf *UnitDictSearch) Create(record *UnitDict) error {
+	var db = slf.build()
+
+	if err := db.Create(record).Error; err != nil {
+		return fmt.Errorf("create err: %v, record: %+v", err, record)
+	}
+
+	return nil
+}
+
+// CreateBatch 鎵归噺鎻掑叆
+func (slf *UnitDictSearch) CreateBatch(records []*UnitDict) error {
+	var db = slf.build()
+
+	if err := db.Create(&records).Error; err != nil {
+		return fmt.Errorf("create batch err: %v, records: %+v", err, records)
+	}
+
+	return nil
+}
+
+func (slf *UnitDictSearch) Save(record *UnitDict) error {
+	var db = slf.build()
+
+	if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
+		return fmt.Errorf("save err: %v, record: %+v", err, record)
+	}
+
+	return nil
+}
+
+func (slf *UnitDictSearch) UpdateByMap(upMap map[string]interface{}) error {
+	var (
+		db = slf.build()
+	)
+
+	if err := db.Updates(upMap).Error; err != nil {
+		return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap)
+	}
+
+	return nil
+}
+
+func (slf *UnitDictSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error {
+	var (
+		db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+	)
+
+	if err := db.Updates(upMap).Error; err != nil {
+		return fmt.Errorf("update by query err: %v, query: %s, args: %+v, upMap: %+v", err, query, args, upMap)
+	}
+
+	return nil
+}
+
+func (slf *UnitDictSearch) Delete() error {
+	var db = slf.build()
+
+	if err := db.Unscoped().Delete(&UnitDict{}).Error; err != nil {
+		return err
+	}
+
+	return nil
+}
+
+func (slf *UnitDictSearch) First() (*UnitDict, error) {
+	var (
+		record = new(UnitDict)
+		db     = slf.build()
+	)
+
+	if err := db.First(record).Error; err != nil {
+		return record, err
+	}
+
+	return record, nil
+}
+
+func (slf *UnitDictSearch) Find() ([]*UnitDict, int64, error) {
+	var (
+		records = make([]*UnitDict, 0)
+		total   int64
+		db      = slf.build()
+	)
+
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, fmt.Errorf("find count err: %v", err)
+	}
+	if slf.PageNum*slf.PageSize > 0 {
+		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+	}
+	if err := db.Find(&records).Error; err != nil {
+		return records, total, fmt.Errorf("find records err: %v", err)
+	}
+
+	return records, total, nil
+}
+
+func (slf *UnitDictSearch) FindNotTotal() ([]*UnitDict, error) {
+	var (
+		records = make([]*UnitDict, 0)
+		db      = slf.build()
+	)
+
+	if slf.PageNum*slf.PageSize > 0 {
+		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+	}
+	if err := db.Find(&records).Error; err != nil {
+		return records, fmt.Errorf("find records err: %v", err)
+	}
+
+	return records, nil
+}
+
+// FindByQuery 鎸囧畾鏉′欢鏌ヨ.
+func (slf *UnitDictSearch) FindByQuery(query string, args []interface{}) ([]*UnitDict, int64, error) {
+	var (
+		records = make([]*UnitDict, 0)
+		total   int64
+		db      = slf.Orm.Table(slf.TableName()).Where(query, args...)
+	)
+
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, fmt.Errorf("find by query count err: %v", err)
+	}
+	if slf.PageNum*slf.PageSize > 0 {
+		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+	}
+	if err := db.Find(&records).Error; err != nil {
+		return records, total, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args)
+	}
+
+	return records, total, nil
+}
+
+// FindByQueryNotTotal 鎸囧畾鏉′欢鏌ヨ&涓嶆煡璇㈡�绘潯鏁�.
+func (slf *UnitDictSearch) FindByQueryNotTotal(query string, args []interface{}) ([]*UnitDict, error) {
+	var (
+		records = make([]*UnitDict, 0)
+		db      = slf.Orm.Table(slf.TableName()).Where(query, args...)
+	)
+
+	if slf.PageNum*slf.PageSize > 0 {
+		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+	}
+	if err := db.Find(&records).Error; err != nil {
+		return records, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args)
+	}
+
+	return records, nil
+}
diff --git a/router/router.go b/router/router.go
index 2bee382..7bd6d6d 100644
--- a/router/router.go
+++ b/router/router.go
@@ -121,6 +121,7 @@
 		productAPI.POST("listHistory", productController.ListHistory)      //浜у搧浣嶇疆鍘嗗彶璁板綍
 		productAPI.PUT("cancelDisuse/:id", productController.CancelDisuse) //鍙栨秷鎶ュ簾
 		productAPI.GET("getUserInfo", productController.GetUserInfo)       //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+		productAPI.GET("getUnitInfo", productController.GetUnitInfo)       //鑾峰彇鍗曚綅淇℃伅
 
 	}
 

--
Gitblit v1.8.0