From 5200927fcd5a352c540d42f9ecba0845367d1938 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 04 七月 2024 20:02:49 +0800
Subject: [PATCH] 产品库存列表返回结构调整

---
 response/location_product_response.go  |  100 +++++++++++++++++++++++++++++++++
 request/location_product_amount.go     |    5 -
 docs/swagger.yaml                      |    4 
 docs/docs.go                           |    4 
 docs/swagger.json                      |    4 
 controllers/location_product_amount.go |   18 +++++
 6 files changed, 121 insertions(+), 14 deletions(-)

diff --git a/controllers/location_product_amount.go b/controllers/location_product_amount.go
index 7754e46..abd668c 100644
--- a/controllers/location_product_amount.go
+++ b/controllers/location_product_amount.go
@@ -4,6 +4,7 @@
 	"errors"
 	"fmt"
 	"github.com/gin-gonic/gin"
+	"github.com/mitchellh/mapstructure"
 	"github.com/shopspring/decimal"
 	"gorm.io/gorm"
 	"strconv"
@@ -149,7 +150,7 @@
 // @Produce   application/json
 // @Param		 object  body  request.GetLocationProductList true  "鏌ヨ鍙傛暟"
 // @Param     Authorization	header string true "token"
-// @Success   200 {object} util.Response	"鎴愬姛"
+// @Success   200 {object} util.ResponseList(data=[]*response.LocationProductAmount)	"鎴愬姛"
 // @Router    /api-wms/v1/locationProductAmount/locationProductList [post]
 func (slf LocationProductAmountController) LocationProductList(c *gin.Context) {
 	var params request.GetLocationProductList
@@ -186,7 +187,20 @@
 		return
 	}
 
-	util.ResponseFormatList(c, code.Success, records, int(total))
+	dataList := make([]*response.LocationProductAmount, 0, len(records))
+
+	for _, v := range records {
+		data := new(response.LocationProductAmount)
+		mapstructure.Decode(v.Product, &data)
+		data.ID = v.ProductId
+		data.LocationId = v.LocationId
+		data.Location = v.Location
+		data.Amount = v.Amount
+		data.ProductId = v.ProductId
+		dataList = append(dataList, data)
+	}
+
+	util.ResponseFormatList(c, code.Success, dataList, int(total))
 }
 
 // Add
diff --git a/docs/docs.go b/docs/docs.go
index 711fe86..659232c 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1876,9 +1876,9 @@
                 ],
                 "responses": {
                     "200": {
-                        "description": "鎴愬姛",
+                        "description": "OK",
                         "schema": {
-                            "$ref": "#/definitions/util.Response"
+                            "$ref": "#/definitions/util.ResponseList"
                         }
                     }
                 }
diff --git a/docs/swagger.json b/docs/swagger.json
index 10da27b..b4e0835 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -1865,9 +1865,9 @@
                 ],
                 "responses": {
                     "200": {
-                        "description": "鎴愬姛",
+                        "description": "OK",
                         "schema": {
-                            "$ref": "#/definitions/util.Response"
+                            "$ref": "#/definitions/util.ResponseList"
                         }
                     }
                 }
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index b575f22..830ad06 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -3570,9 +3570,9 @@
       - application/json
       responses:
         "200":
-          description: 鎴愬姛
+          description: OK
           schema:
-            $ref: '#/definitions/util.Response'
+            $ref: '#/definitions/util.ResponseList'
       summary: 鑾峰彇浣嶇疆瀵瑰簲浜у搧鍒楄〃
       tags:
       - 搴撳瓨鐩樼偣
diff --git a/request/location_product_amount.go b/request/location_product_amount.go
index 4deb759..48b978f 100644
--- a/request/location_product_amount.go
+++ b/request/location_product_amount.go
@@ -2,7 +2,6 @@
 
 import (
 	"github.com/shopspring/decimal"
-	"wms/models"
 )
 
 type GetList struct {
@@ -45,8 +44,4 @@
 	Keyword     string `json:"keyword"`
 	WarehouseId int    `json:"warehouseId"`
 	LocationId  int    `json:"locationId"`
-}
-
-type GetLocationProductListResponse struct {
-	models.Material
 }
diff --git a/response/location_product_response.go b/response/location_product_response.go
index df9fbfd..6b5021f 100644
--- a/response/location_product_response.go
+++ b/response/location_product_response.go
@@ -1,8 +1,106 @@
 package response
 
-import "wms/models"
+import (
+	"github.com/shopspring/decimal"
+	"wms/constvar"
+	"wms/models"
+)
 
 type RuleList struct {
 	ProductList  []models.Material `json:"productList"`  //浜у搧鍒楄〃
 	LocationList []models.Location `json:"locationList"` //浣嶇疆鍒楄〃
 }
+
+type LocationProductAmount struct {
+	ID   string `gorm:"comment:涓婚敭ID;primaryKey;type:varchar(191);" json:"id"`
+	Name string `gorm:"type:varchar(191);not null;comment:鐗╂枡鍚嶇О" json:"name"` //鐗╂枡鍚嶇О
+	//MaterialType constvar.ProductType  `gorm:"index;type:int(11);comment:鐗╂枡绫诲瀷(鏁板瓧)" json:"materialType"`
+	Model constvar.MaterialMode `gorm:"type:varchar(191);not null;comment:鐗╂枡绫诲瀷(瀛楃涓�)" json:"model"` //鐗╂枡绫诲瀷(瀛楃涓�)
+	//Explain           string                  `gorm:"type:varchar(512);comment:缂栧彿璇存槑" json:"explain"`
+	CodeStandardID string          `gorm:"type:varchar(191);comment:缂栫爜瑙勮寖ID" json:"codeStandardID"`
+	Specs          string          `gorm:"type:varchar(191);comment:鐗╂枡瑙勬牸" json:"specs"`
+	Type           string          `gorm:"type:varchar(191);comment:鐗╂枡鍨嬪彿" json:"type"`
+	MinInventory   decimal.Decimal `gorm:"type:decimal(35,18);comment:鏈�灏忓簱瀛�" json:"minInventory"` //鏈�灏忓簱瀛�
+	MaxInventory   decimal.Decimal `gorm:"type:decimal(35,18);comment:鏈�澶у簱瀛�" json:"maxInventory"` //鏈�澶у簱瀛�
+	Amount         decimal.Decimal `gorm:"type:decimal(35,18);comment:鏁伴噺" json:"amount"`         //鏁伴噺
+	//LockAmount        decimal.Decimal         `gorm:"type:decimal(35,18);default:0;comment:閿佸畾鏁伴噺" json:"lockAmount"`
+	Unit       string `gorm:"type:varchar(100);comment:鍗曚綅" json:"unit"` //鍗曚綅
+	Note       string `gorm:"type:varchar(1024);comment:澶囨敞" json:"note"`
+	TemplateID string `gorm:"type:varchar(191);comment:妯℃澘ID" json:"templateID"` //妯℃澘ID
+	//FSource           string                  `gorm:"type:varchar(191);comment:鐢熶骇杞﹂棿" json:"-"`
+	//Status            constvar.MaterialStatus `gorm:"type:int(11);comment:鐘舵��" json:"status"`
+	Supplier      string          `gorm:"type:varchar(191);comment:渚涘簲鍟�" json:"supplier"`         //渚涘簲鍟�
+	PurchasePrice decimal.Decimal `gorm:"type:decimal(35,18);comment:閲囪喘浠锋牸" json:"purchasePrice"` //閲囪喘浠锋牸
+	//PurchaseAheadDay  int                     `gorm:"type:int(11);comment:閲囪喘鎻愬墠鏈�(澶�)" json:"purchaseAheadDay"`
+	//ProduceAheadDay   int                     `gorm:"type:int(11);comment:鍒堕�犳彁鍓嶆湡(澶�)" json:"produceAheadDay"`
+	MinPurchaseAmount decimal.Decimal       `gorm:"type:decimal(35,18);comment:鏈�灏忛噰璐噺" json:"minPurchaseAmount"` //鏈�灏忛噰璐噺
+	PurchaseType      constvar.PurchaseType `gorm:"type:int(11);comment:閲囪喘绫诲瀷" json:"purchaseType"`
+	PurchaseTypes     string                `gorm:"type:varchar(255);comment:閲囪喘绫诲瀷鑼冨洿" json:"-"`
+	PurchaseTypeList  []int                 `gorm:"-" json:"purchaseTypeList"`
+	IsSale            bool                  `gorm:"type:tinyint(1);comment:鏄惁閿�鍞�" json:"isSale"`        //鏄惁閿�鍞�
+	SalePrice         decimal.Decimal       `gorm:"type:decimal(35,18);comment:閿�鍞崟浠�" json:"salePrice"` //閿�鍞崟浠�
+	AutoIncr          uint                  `gorm:"type:int(11);comment:鑷ID;default:0;" json:"autoIncr"`
+	//wms娣诲姞瀛楁
+	ProductType         constvar.ProductType       `gorm:"type:int(11);comment:浜у搧绫诲瀷" json:"productType"`                 //浜у搧绫诲瀷
+	InvoicingStrategy   constvar.InvoicingStrategy `gorm:"type:int(11);comment:寮�绁ㄧ瓥鐣�" json:"invoicingStrategy"`           //寮�绁ㄧ瓥鐣�
+	OrderCreation       constvar.OrderCreation     `gorm:"type:int(11);comment:璁㈠崟鍒涘缓" json:"orderCreation"`               //璁㈠崟鍒涘缓
+	CustomerTaxes       decimal.Decimal            `gorm:"type:decimal(20,2);comment:瀹㈡埛绋�" json:"customerTaxes"`          //瀹㈡埛绋庣櫨鍒嗘瘮
+	Cost                decimal.Decimal            `gorm:"type:decimal(20,2);comment:鎴愭湰" json:"cost"`                    //鎴愭湰
+	CategoryId          int                        `gorm:"type:int(11);comment:浜у搧绫诲埆id" json:"categoryId"`                //浜у搧绫诲埆id
+	CategoryName        string                     `gorm:"type:varchar(255);comment:浜у搧绫诲埆鍚嶇О" json:"categoryName"`         //浜у搧绫诲埆鍚嶇О
+	InternalReference   string                     `gorm:"type:varchar(255);comment:鍐呴儴鍙傝��" json:"internalReference"`      //鍐呴儴鍙傝��
+	ProductTagId        int                        `gorm:"type:int(11);comment:浜у搧鏍囩id" json:"productTagId"`              //浜у搧鏍囩id
+	ProductTagName      string                     `gorm:"type:varchar(255);comment:浜у搧鏍囩鍚嶇О" json:"productTagName"`       //浜у搧鏍囩鍚嶇О
+	CompanyId           int                        `gorm:"type:int(11);comment:鍏徃id" json:"companyId"`                   //鍏徃id
+	CompanyName         string                     `gorm:"type:varchar(255);comment:鍏徃鍚嶇О" json:"companyName"`            //鍏徃鍚嶇О
+	InternalNotes       string                     `gorm:"type:varchar(512);comment:鍐呴儴璇存槑" json:"internalNotes"`          //鍐呴儴璇存槑
+	SelectProduct       string                     `gorm:"type:varchar(255);comment:鍙�変骇鍝乮d" json:"selectProduct"`        //鍙�変骇鍝乮d
+	SellExplain         string                     `gorm:"type:varchar(512);comment:閿�鍞鏄�" json:"sellExplain"`            //閿�鍞鏄�
+	CanBePurchased      bool                       `gorm:"type:int(11);comment:鏄惁鍙噰璐�" json:"canBePurchased"`             //鏄惁鍙噰璐�
+	CurrencyName        string                     `gorm:"type:varchar(255);comment:甯佺鍚嶇О" json:"currencyName"`           //甯佺鍚嶇О
+	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,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"`    //璁㈠崟鍑嗗澶╂暟(澶�)
+	DeliveryAdvanceTime decimal.Decimal            `gorm:"type:decimal(20,2);comment:瀹㈡埛鍓嶇疆鏃堕棿" json:"deliveryAdvanceTime"` //瀹㈡埛鍓嶇疆鏃堕棿(澶�)
+	//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          []*models.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"`
+	MoreUnit                *bool                `json:"moreUnit" gorm:"type:tinyint(1);default:false;comment:鍚姩澶氬崟浣�"`
+	MoreUnitList            []models.UnitItems   `json:"moreUnitList" gorm:"-"`
+	MoreUnitValue           string               `json:"-" gorm:"type:varchar(255);comment:澶氬崟浣嶅��"`
+	GrossWeight             decimal.Decimal      `json:"grossWeight" gorm:"type:decimal(20,3);comment:姣涢噸"`
+	NetWeight               decimal.Decimal      `json:"netWeight" gorm:"type:decimal(20,3);comment:鍑�閲�"`
+	GrossUnit               string               `json:"grossUnit" gorm:"type:varchar(255);comment:姣涢噸鍗曚綅"`
+	NetUnit                 string               `json:"netUnit" gorm:"type:varchar(255);comment:鍑�閲嶅崟浣�"`
+	Attributes              []models.Attribute   `json:"attributes" gorm:"-"` //鍔ㄦ�佸睘鎬�
+
+	//浠ヤ笅涓轰笉瀛樺簱鐨勫瓧娈�
+	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:"-"` //鏈�澶у簱瀛�
+
+	CreateBy string `gorm:"type:varchar(255);comment:瀵煎叆浜恒�佸垱寤轰汉" json:"createBy"`       //鍒涘缓浜�
+	BarCode  string `gorm:"type:varchar(255);comment:(鍟嗗搧/浜у搧/鐗╂枡鐨�)鏉″舰鐮�" json:"barCode"` //鏉$爜
+
+	LocationId        int                    `json:"locationId" gorm:"type:int;not null;comment:浣嶇疆id"` //浣嶇疆id
+	WarehouseId       int                    `json:"warehouseId" gorm:"type:int;not null;default:0;comment:浠撳簱id"`
+	Location          models.Location        `json:"location" gorm:"foreignKey:LocationId;references:id"`
+	ProductCategoryID int                    `json:"productCategoryId" gorm:"type:int;not null;comment:浜у搧绉嶇被id"` //浜у搧绉嶇被id
+	ProductCategory   models.ProductCategory `json:"productCategory" gorm:"foreignKey:ProductCategoryID;references:Id"`
+	ProductId         string                 `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
+	CreateDate        string                 `json:"createDate" gorm:"type:varchar(63);comment:鏃ユ湡"`            //鏃ユ湡
+}

--
Gitblit v1.8.0