From 6712c63bce309ab3a7642b48595b8ff136cf3847 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 06 二月 2024 10:15:22 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS

---
 controllers/product_controller.go |   15 +++
 middleware/utils.go               |    9 ++
 controllers/operation.go          |    2 
 request/warehouse.go              |    2 
 models/material.go                |   31 ++++---
 controllers/warehouse.go          |   29 +++++++
 main.go                           |    1 
 docs/swagger.yaml                 |   31 +++++++
 docs/docs.go                      |   54 +++++++++++++
 docs/swagger.json                 |   52 +++++++++++++
 router/router.go                  |    1 
 11 files changed, 210 insertions(+), 17 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index 8549e48..ae51152 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -1090,7 +1090,7 @@
 		return
 	}
 
-	if err := db.Offset((params.Page - 1) * params.PageSize).Limit(params.PageSize).Find(&records).Error; err != nil {
+	if err := db.Offset((params.Page - 1) * params.PageSize).Limit(params.PageSize).Order("wms_operation.created_at desc").Find(&records).Error; err != nil {
 		util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error())
 		return
 	}
diff --git a/controllers/product_controller.go b/controllers/product_controller.go
index 075acb4..84d970e 100644
--- a/controllers/product_controller.go
+++ b/controllers/product_controller.go
@@ -12,6 +12,7 @@
 	"wms/constvar"
 	"wms/extend/code"
 	"wms/extend/util"
+	"wms/middleware"
 	"wms/models"
 	"wms/pkg/logx"
 	"wms/pkg/mysqlx"
@@ -746,3 +747,17 @@
 	}
 	util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
 }
+
+// GetUserInfo
+//
+//	@Tags		浜у搧
+//	@Summary	鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+//	@Produce	application/json
+//	@Success	200	{object}	util.ResponseList{data=map[string]interface{}}	"鎴愬姛"
+//	@Router		/api-wms/v1/product/getUserInfo [get]
+func (slf ProductController) GetUserInfo(c *gin.Context) {
+	userInfo := middleware.GetUserInfo(c)
+	m := make(map[string]interface{})
+	m["userName"] = userInfo.Username
+	util.ResponseFormat(c, code.Success, m)
+}
diff --git a/controllers/warehouse.go b/controllers/warehouse.go
index bc2aa7f..f9b54c9 100644
--- a/controllers/warehouse.go
+++ b/controllers/warehouse.go
@@ -122,7 +122,34 @@
 		util.ResponseFormat(c, code.RequestParamError, err.Error())
 		return
 	}
-	err := models.NewWarehouseSearch().SetID(params.Id).Update(&params)
+	warehouse, err := models.NewWarehouseSearch().SetID(params.Id).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "浠撳簱涓嶅瓨鍦�")
+		return
+	}
+	err = models.WithTransaction(func(db *gorm.DB) error {
+		//鏇存柊浣滀笟绫诲瀷鍚嶇О
+		if params.Name != warehouse.Name {
+			m := make(map[string]interface{})
+			m["name"] = params.Name + "-鍏ュ簱"
+			err := models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeIncoming).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+			m["name"] = params.Name + "-鍑哄簱"
+			err = models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeOutgoing).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+			m["name"] = params.Name + "-鍐呴儴璋冩嫧"
+			err = models.NewOperationTypeSearch().SetOrm(db).SetBaseOperationType(constvar.BaseOperationTypeInternal).SetWarehouseId(params.Id).UpdateByMap(m)
+			if err != nil {
+				return err
+			}
+		}
+		err = models.NewWarehouseSearch().SetID(params.Id).Update(&params)
+		return err
+	})
 
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "淇敼澶辫触")
diff --git a/docs/docs.go b/docs/docs.go
index 3e5d8f7..5a2c468 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1930,6 +1930,38 @@
                 }
             }
         },
+        "/api-wms/v1/product/getUserInfo": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "浜у搧"
+                ],
+                "summary": "鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅",
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "type": "object",
+                                            "additionalProperties": true
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-wms/v1/product/listDisuse": {
             "post": {
                 "produces": [
@@ -3431,6 +3463,18 @@
                         }
                     ]
                 },
+                "toLocation": {
+                    "description": "鐩爣浣嶇疆",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/models.Location"
+                        }
+                    ]
+                },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
+                },
                 "updateTime": {
                     "type": "string"
                 },
@@ -3858,6 +3902,10 @@
                             "$ref": "#/definitions/constvar.OperationStatus"
                         }
                     ]
+                },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
                 },
                 "waybillNumber": {
                     "description": "杩愬崟鍙�",
@@ -4571,6 +4619,10 @@
                         }
                     ]
                 },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
+                },
                 "waybillNumber": {
                     "description": "杩愬崟鍙�",
                     "type": "string"
@@ -4873,6 +4925,8 @@
 	Description:      "",
 	InfoInstanceName: "swagger",
 	SwaggerTemplate:  docTemplate,
+	LeftDelim:        "{{",
+	RightDelim:       "}}",
 }
 
 func init() {
diff --git a/docs/swagger.json b/docs/swagger.json
index 261625a..fce1458 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -1918,6 +1918,38 @@
                 }
             }
         },
+        "/api-wms/v1/product/getUserInfo": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "浜у搧"
+                ],
+                "summary": "鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅",
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "type": "object",
+                                            "additionalProperties": true
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        },
         "/api-wms/v1/product/listDisuse": {
             "post": {
                 "produces": [
@@ -3419,6 +3451,18 @@
                         }
                     ]
                 },
+                "toLocation": {
+                    "description": "鐩爣浣嶇疆",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/models.Location"
+                        }
+                    ]
+                },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
+                },
                 "updateTime": {
                     "type": "string"
                 },
@@ -3846,6 +3890,10 @@
                             "$ref": "#/definitions/constvar.OperationStatus"
                         }
                     ]
+                },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
                 },
                 "waybillNumber": {
                     "description": "杩愬崟鍙�",
@@ -4559,6 +4607,10 @@
                         }
                     ]
                 },
+                "toLocationId": {
+                    "description": "鐩爣浣嶇疆id",
+                    "type": "integer"
+                },
                 "waybillNumber": {
                     "description": "杩愬崟鍙�",
                     "type": "string"
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 515cef4..039abfe 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -663,6 +663,13 @@
         allOf:
         - $ref: '#/definitions/constvar.OperationStatus'
         description: 鐘舵��
+      toLocation:
+        allOf:
+        - $ref: '#/definitions/models.Location'
+        description: 鐩爣浣嶇疆
+      toLocationId:
+        description: 鐩爣浣嶇疆id
+        type: integer
       updateTime:
         type: string
       waybillNumber:
@@ -957,6 +964,9 @@
         allOf:
         - $ref: '#/definitions/constvar.OperationStatus'
         description: 鐘舵��
+      toLocationId:
+        description: 鐩爣浣嶇疆id
+        type: integer
       waybillNumber:
         description: 杩愬崟鍙�
         type: string
@@ -1453,6 +1463,9 @@
         allOf:
         - $ref: '#/definitions/constvar.OperationStatus'
         description: 鐘舵��
+      toLocationId:
+        description: 鐩爣浣嶇疆id
+        type: integer
       waybillNumber:
         description: 杩愬崟鍙�
         type: string
@@ -2834,6 +2847,24 @@
       summary: 鑾峰彇浜у搧鍒楄〃
       tags:
       - 浜у搧
+  /api-wms/v1/product/getUserInfo:
+    get:
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            allOf:
+            - $ref: '#/definitions/util.ResponseList'
+            - properties:
+                data:
+                  additionalProperties: true
+                  type: object
+              type: object
+      summary: 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+      tags:
+      - 浜у搧
   /api-wms/v1/product/listDisuse:
     post:
       parameters:
diff --git a/main.go b/main.go
index 1801bbf..2a44bc8 100644
--- a/main.go
+++ b/main.go
@@ -60,7 +60,6 @@
 			logx.Errorf("grpc server init error: %v", err.Error())
 			panic(fmt.Sprintf("grpc server init error: %v", err.Error()))
 		}
-		fmt.Println("-----------鐩戝惉绔彛: ", conf.WebConf.GrpcPort)
 		s := grpc.NewServer()
 		//todo 娣诲姞鍏蜂綋鏈嶅姟
 		product_inventory.RegisterProductInventoryServiceServer(s, &product_inventory.Server{})
diff --git a/middleware/utils.go b/middleware/utils.go
index 58defa0..cf98138 100644
--- a/middleware/utils.go
+++ b/middleware/utils.go
@@ -2,6 +2,7 @@
 
 import (
 	"errors"
+	"github.com/gin-gonic/gin"
 	"github.com/golang-jwt/jwt/v4"
 	"wms/request"
 )
@@ -58,3 +59,11 @@
 		return nil, TokenInvalid
 	}
 }
+
+func GetUserInfo(c *gin.Context) *request.CustomClaims {
+	if claims, exists := c.Get("claims"); exists {
+		waitUse := claims.(*request.CustomClaims)
+		return waitUse
+	}
+	return nil
+}
diff --git a/models/material.go b/models/material.go
index 16a6e10..721368f 100644
--- a/models/material.go
+++ b/models/material.go
@@ -59,7 +59,7 @@
 		ControlStrategy     constvar.InvoicingStrategy `gorm:"type:int(11);comment:鎺у埗绛栫暐" json:"controlStrategy"`             //鎺у埗绛栫暐
 		BuyExplain          string                     `gorm:"type:varchar(512);comment:閲囪喘璇存槑" json:"buyExplain"`             //閲囪喘璇存槑
 		Principal           string                     `gorm:"type:varchar(255);comment:璐熻矗浜�" json:"principal"`               //璐熻矗浜�
-		Weight              decimal.Decimal            `gorm:"type:decimal(20,2);comment:閲嶉噺" json:"weight"`                  //閲嶉噺
+		Weight              decimal.Decimal            `gorm:"type:decimal(20,3);comment:閲嶉噺" json:"weight"`                  //閲嶉噺
 		Volume              decimal.Decimal            `gorm:"type:decimal(20,2);comment:浣撶Н" json:"volume"`                  //浣撶Н
 		MakeAdvanceTime     decimal.Decimal            `gorm:"type:decimal(20,2);comment:鍒堕�犲墠缃椂闂�" json:"makeAdvanceTime"`     //鍒堕�犲墠缃椂闂�(澶�)
 		OrderAdvanceTime    decimal.Decimal            `gorm:"type:decimal(20,2);comment:璁㈠崟鍑嗗澶╂暟" json:"orderAdvanceTime"`    //璁㈠崟鍑嗗澶╂暟(澶�)
@@ -67,17 +67,22 @@
 		//HSCode                  string                     `gorm:"type:varchar(255);comment:HS缂栫爜" json:"HSCode"`                    //HS缂栫爜
 		//OriginCountryId         int                        `gorm:"type:int(11);comment:鍘熶骇鍦癷d" json:"originCountryId"`               //鍘熶骇鍦癷d
 		//OriginCountryName       string                     `gorm:"type:varchar(255);comment:鍘熶骇鍦板悕绉�" json:"originCountryName"`        //鍘熶骇鍦板悕绉�
-		InStorageExplain        string          `gorm:"type:varchar(512);comment:鍏ュ簱璇存槑" json:"inStorageExplain"`          //鍏ュ簱璇存槑
-		OutStorageExplain       string          `gorm:"type:varchar(512);comment:鍑哄簱璇存槑" json:"outStorageExplain"`         //鍑哄簱璇存槑
-		InternalTransferExplain string          `gorm:"type:varchar(512);comment:鍐呴儴璋冩嫧璇存槑" json:"internalTransferExplain"` //鍐呴儴璋冩嫧璇存槑
-		AttachmentList          []*Attachment   `json:"attachmentList" gorm:"many2many:material_attachment"`
-		AttachmentIDs           []uint          `json:"attachmentIDs" gorm:"-"`
-		PredictionAmount        decimal.Decimal `json:"predictionAmount" gorm:"-"`
-		InputAmount             decimal.Decimal `json:"inputAmount" gorm:"-"`
-		OutputAmount            decimal.Decimal `json:"outputAmount" gorm:"-"`
-		MinInventoryRule        decimal.Decimal `json:"minInventoryRule" gorm:"-"` //鏈�灏忓簱瀛�
-		MaxInventoryRule        decimal.Decimal `json:"maxInventoryRule" gorm:"-"` //鏈�澶у簱瀛�
-		ReorderRuleNum          int64           `json:"reorderRuleNum"`
+		InStorageExplain        string        `gorm:"type:varchar(512);comment:鍏ュ簱璇存槑" json:"inStorageExplain"`          //鍏ュ簱璇存槑
+		OutStorageExplain       string        `gorm:"type:varchar(512);comment:鍑哄簱璇存槑" json:"outStorageExplain"`         //鍑哄簱璇存槑
+		InternalTransferExplain string        `gorm:"type:varchar(512);comment:鍐呴儴璋冩嫧璇存槑" json:"internalTransferExplain"` //鍐呴儴璋冩嫧璇存槑
+		AttachmentList          []*Attachment `json:"attachmentList" gorm:"many2many:material_attachment"`
+		IsStorage               int           `gorm:"type:tinyint(1);default:1;comment:鏄惁瀛樺簱(1鏄�2鍚�)" json:"isStorage"`   //鏃犲簱瀛樼殑鍦╳ms浠ュ強srm涓渶瑕佽繃婊ゆ帀
+		IsVirtual               int           `json:"isVirtual" gorm:"type:tinyint(1);default:2;comment:鏄惁铏氭嫙鐗╂枡(1鏄�2鍚�)"` //铏氭嫙鐗╂枡鍦∕RP璁$畻鏃惰烦杩囪灞傜骇鐩存帴棰嗙敤涓嬬骇鐗╂枡锛岃櫄鎷熺墿鏂欎笉鐢熸垚宸ュ崟
+		ReorderRuleNum          int64         `json:"reorderRuleNum"`
+
+		//浠ヤ笅涓轰笉瀛樺簱鐨勫瓧娈�
+		AttachmentIDs    []uint          `json:"attachmentIDs" gorm:"-"`
+		PredictionAmount decimal.Decimal `json:"predictionAmount" gorm:"-"`
+		InputAmount      decimal.Decimal `json:"inputAmount" gorm:"-"`
+		OutputAmount     decimal.Decimal `json:"outputAmount" gorm:"-"`
+		MinInventoryRule decimal.Decimal `json:"minInventoryRule" gorm:"-"` //鏈�灏忓簱瀛�
+		MaxInventoryRule decimal.Decimal `json:"maxInventoryRule" gorm:"-"` //鏈�澶у簱瀛�
+
 	}
 
 	MaterialSearch struct {
@@ -105,7 +110,7 @@
 }
 
 func NewMaterialSearch() *MaterialSearch {
-	return &MaterialSearch{Orm: mysqlx.GetDB()}
+	return &MaterialSearch{Orm: mysqlx.GetDB().Where("is_storage = ?", 1)} //鍙煡璇㈡湁搴撳瓨鐨�
 }
 
 func (slf *MaterialSearch) SetOrm(tx *gorm.DB) *MaterialSearch {
diff --git a/request/warehouse.go b/request/warehouse.go
index c509583..74082ff 100644
--- a/request/warehouse.go
+++ b/request/warehouse.go
@@ -2,7 +2,7 @@
 
 type GetWarehouseList struct {
 	PageInfo
-	Keyword string `json:"keyword"`
+	Keyword string `json:"keyword" form:"keyword"`
 }
 
 type AddWarehouse struct {
diff --git a/router/router.go b/router/router.go
index d6a01d0..2bee382 100644
--- a/router/router.go
+++ b/router/router.go
@@ -120,6 +120,7 @@
 		productAPI.POST("updateDisuse", productController.UpdateDisuse)    //淇敼鎶ュ簾淇℃伅
 		productAPI.POST("listHistory", productController.ListHistory)      //浜у搧浣嶇疆鍘嗗彶璁板綍
 		productAPI.PUT("cancelDisuse/:id", productController.CancelDisuse) //鍙栨秷鎶ュ簾
+		productAPI.GET("getUserInfo", productController.GetUserInfo)       //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
 
 	}
 

--
Gitblit v1.8.0