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