From 222399d441e1a759bae2a10685245ee90bc3fb6d Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期五, 20 十月 2023 11:58:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS
---
request/report_forms_request.go | 4 +
models/location_product.go | 22 +++++--
controllers/report_forms_controller.go | 31 +++++++++-
conf/config.go | 30 ---------
models/location.go | 2
models/location_product_amount.go | 21 +++++--
docs/swagger.yaml | 4 +
docs/docs.go | 6 ++
conf/config.yaml | 6 --
docs/swagger.json | 6 ++
10 files changed, 81 insertions(+), 51 deletions(-)
diff --git a/conf/config.go b/conf/config.go
index 06955ee..b50a0e7 100644
--- a/conf/config.go
+++ b/conf/config.go
@@ -25,17 +25,9 @@
webConf struct {
Host string // 鏈満ip鍦板潃
Port string // 绔彛鍙�
- APPort string // 鏈満浣滀负鐨凣rpc鏈嶅姟绔殑绔彛鍙�
- AlHost string // 绠楁硶鏈嶅姟ip鍦板潃
- AlPort string // 绠楁硶鏈嶅姟绔彛鍙�
NodeId string // 涓昏处鎴风敤鎴峰悕
OssType string // 瀵硅薄瀛樺偍绫诲瀷
JWTSecret string
- }
-
- nsqConf struct {
- NsqdAddr string
- NsqlookupdAddr string
}
localConf struct {
@@ -47,10 +39,7 @@
WebConf = &webConf{}
LogConf = &logx.Conf{}
DbConf = &mysqlx.Conf{}
- NsqConf = &nsqConf{}
LocalConf = &localConf{}
- NodeId string
- GrpcPort string
Viper *viper.Viper
)
@@ -66,25 +55,13 @@
}
read2Conf(Viper)
- GrpcPort = os.Getenv("GRPC_PORT") // 鍙粰grpc绠楁硶鏈嶅姟浣跨敤锛屾湰鏈嶅姟涓嶇敤
- nodeId := os.Getenv("NODE_ID") // 涓昏处鎴风敤鎴峰悕
- host := os.Getenv("HOST") // 鏈満IP鍦板潃
- algHost := os.Getenv("AL_HOST") // 绠楁硶鏈嶅姟鐨処P鍦板潃
- nsqdAddr := os.Getenv("NSQD_ADDR")
- if len(GrpcPort) == 0 { // 濡傛灉gprcPort涓虹┖锛岄偅涔堢敤閰嶇疆鐨凙PPort
- GrpcPort = WebConf.APPort
- }
+ nodeId := os.Getenv("NODE_ID") // 涓昏处鎴风敤鎴峰悕
+ host := os.Getenv("HOST") // 鏈満IP鍦板潃
if len(nodeId) > 0 {
WebConf.NodeId = nodeId
}
- if len(algHost) > 0 {
- WebConf.AlHost = algHost
- }
if len(host) > 0 {
WebConf.Host = host
- }
- if len(nsqdAddr) > 0 {
- NsqConf.NsqdAddr = nsqdAddr
}
DBHost := os.Getenv("DB_HOST")
@@ -107,7 +84,6 @@
_ = v.UnmarshalKey("web", WebConf)
_ = v.UnmarshalKey("log", LogConf)
_ = v.UnmarshalKey("db", DbConf)
- _ = v.UnmarshalKey("nsq", NsqConf)
_ = v.UnmarshalKey("local", LocalConf)
showConfig()
}
@@ -117,8 +93,6 @@
log.Printf(" WebConf: %+v", WebConf)
log.Printf(" LogConf: %+v", LogConf)
log.Printf(" DbConf: %+v", DbConf)
- log.Printf(" NsqConf: %+v", NsqConf)
- log.Printf(" GrpcPort: %+v", GrpcPort)
log.Printf(" LocalConf: %+v", LocalConf)
log.Println("......................................................")
}
diff --git a/conf/config.yaml b/conf/config.yaml
index 1b7fb37..d2bef67 100644
--- a/conf/config.yaml
+++ b/conf/config.yaml
@@ -1,9 +1,6 @@
web:
port: 8005
host: 192.168.20.119
- apport: 9091
- alhost: 192.168.20.119
- alport: 9090
nodeId: wangpengfei
ossType: local
db:
@@ -20,8 +17,5 @@
log:
path: ./logs/aps-server.log
encoder: console
-nsq:
- nsqdAddr: 121.31.232.83:4150
- nsqlookupdAddr:
local:
storePath: uploads/file
diff --git a/controllers/report_forms_controller.go b/controllers/report_forms_controller.go
index 85a48da..b3a8e53 100644
--- a/controllers/report_forms_controller.go
+++ b/controllers/report_forms_controller.go
@@ -186,21 +186,46 @@
if params.PageInfo.Check() {
search.SetPage(params.Page, params.PageSize)
}
- find, total, err := search.SetKeyword(params.KeyWord).FindByPage()
+ //鏌ヨ浣嶇疆
+ locations, err := models.NewLocationSearch().SetJointName(params.WareHouseCode).FindAll()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ浣嶇疆澶辫触")
+ return
+ }
+ ids := make([]int, 0)
+ for _, location := range locations {
+ ids = append(ids, location.Id)
+ }
+
+ find, total, err := search.SetKeyword(params.KeyWord).SetProductId(params.ProductId).SetLocationIds(ids).FindByPage()
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鏌ヨ涓婃灦瑙勫垯澶辫触")
+ return
+ }
+ ruleIds := make([]int, 0)
+ for _, product := range find {
+ ruleIds = append(ruleIds, product.Id)
+ }
+ amounts, err := models.NewLocationProductAmountSearch().SetLocationProductIds(ruleIds).Find()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ鏁伴噺澶辫触")
return
}
var result []response.LocationForms
for _, product := range find {
var resp response.LocationForms
+ for _, amount := range amounts {
+ if product.Id == amount.LocationProductId {
+ resp.Amount = amount.Amount
+ break
+ }
+ }
resp.LocationName = product.Location.Name
resp.ProduceId = product.Product.ID
resp.ProductName = product.Product.Name
resp.ProductTypeName = product.ProductCategory.Name
- resp.Amount = product.Product.Amount
resp.Unit = product.Product.Unit
- resp.Value = product.Product.Amount.Mul(product.Product.Cost)
+ resp.Value = resp.Amount.Mul(product.Product.Cost)
result = append(result, resp)
}
util.ResponseFormatList(c, code.Success, result, int(total))
diff --git a/docs/docs.go b/docs/docs.go
index d6dafcd..61803f5 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -3099,6 +3099,12 @@
"pageSize": {
"description": "姣忛〉澶у皬",
"type": "integer"
+ },
+ "productId": {
+ "type": "string"
+ },
+ "wareHouseCode": {
+ "type": "string"
}
}
},
diff --git a/docs/swagger.json b/docs/swagger.json
index b3ebf28..54e4fa3 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -3087,6 +3087,12 @@
"pageSize": {
"description": "姣忛〉澶у皬",
"type": "integer"
+ },
+ "productId": {
+ "type": "string"
+ },
+ "wareHouseCode": {
+ "type": "string"
}
}
},
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 03e1f8c..b126c9c 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -849,6 +849,10 @@
pageSize:
description: 姣忛〉澶у皬
type: integer
+ productId:
+ type: string
+ wareHouseCode:
+ type: string
type: object
request.GetProductList:
properties:
diff --git a/models/location.go b/models/location.go
index 15830ea..ef755e6 100644
--- a/models/location.go
+++ b/models/location.go
@@ -310,7 +310,7 @@
records = make([]*Location, 0)
db = slf.build()
)
- err := db.Find(&records)
+ err := db.Find(&records).Error
if err != nil {
fmt.Println(err)
return records, fmt.Errorf("func FindAll err: %v", err)
diff --git a/models/location_product.go b/models/location_product.go
index c3f26c6..f42e2fe 100644
--- a/models/location_product.go
+++ b/models/location_product.go
@@ -22,12 +22,13 @@
LocationProductSearch struct {
LocationProduct
- Order string
- PageNum int
- PageSize int
- Keyword string
- Orm *gorm.DB
- Preload bool
+ Order string
+ PageNum int
+ PageSize int
+ Keyword string
+ Orm *gorm.DB
+ Preload bool
+ LocationIds []int
}
)
@@ -79,6 +80,11 @@
return slf
}
+func (slf *LocationProductSearch) SetLocationIds(locationIds []int) *LocationProductSearch {
+ slf.LocationIds = locationIds
+ return slf
+}
+
func (slf *LocationProductSearch) build() *gorm.DB {
var db = slf.Orm.Model(&LocationProduct{})
@@ -111,6 +117,10 @@
db = db.Where("product_id=?", slf.ProductId)
}
+ if len(slf.LocationIds) > 0 {
+ db = db.Where("location_id in (?)", slf.LocationIds)
+ }
+
return db
}
diff --git a/models/location_product_amount.go b/models/location_product_amount.go
index cb890e2..b51e00c 100644
--- a/models/location_product_amount.go
+++ b/models/location_product_amount.go
@@ -20,12 +20,13 @@
LocationProductAmountSearch struct {
LocationProductAmount
- Order string
- PageNum int
- PageSize int
- Keyword string
- Orm *gorm.DB
- Preload bool
+ Order string
+ PageNum int
+ PageSize int
+ Keyword string
+ Orm *gorm.DB
+ Preload bool
+ LocationProductIds []int
}
LocationProductAmountWithOperation struct {
@@ -88,6 +89,11 @@
return slf
}
+func (slf *LocationProductAmountSearch) SetLocationProductIds(ids []int) *LocationProductAmountSearch {
+ slf.LocationProductIds = ids
+ return slf
+}
+
func (slf *LocationProductAmountSearch) build() *gorm.DB {
var db = slf.Orm.Model(&LocationProductAmount{})
@@ -108,6 +114,9 @@
if slf.LocationProductId != 0 {
db = db.Where("location_product_id=?", slf.LocationProductId)
}
+ if len(slf.LocationProductIds) > 0 {
+ db = db.Where("location_product_id in (?)", slf.LocationProductIds)
+ }
return db
}
diff --git a/request/report_forms_request.go b/request/report_forms_request.go
index 11a80ef..3d1a5ae 100644
--- a/request/report_forms_request.go
+++ b/request/report_forms_request.go
@@ -17,5 +17,7 @@
type GetLocationForms struct {
PageInfo
- KeyWord string `json:"keyWord"`
+ KeyWord string `json:"keyWord"`
+ WareHouseCode string `json:"wareHouseCode"`
+ ProductId string `json:"productId"`
}
--
Gitblit v1.8.0