From 41487709f1d0d92e1b6a86ecbab8811deb3b5ac8 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 15 十一月 2023 17:44:22 +0800
Subject: [PATCH] 日志优化
---
service/purchase/purchase.go | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/service/purchase/purchase.go b/service/purchase/purchase.go
index 2d72725..2a3a9cb 100644
--- a/service/purchase/purchase.go
+++ b/service/purchase/purchase.go
@@ -51,11 +51,9 @@
quantity = quantity.Add(product.Amount)
totalPrice = totalPrice.Add(product.Price.Mul(product.Amount))
}
+ record.Quantity = quantity
if !totalPrice.Equal(record.TotalPrice) {
return errors.New("浠风◣鎬昏璁$畻閿欒")
- }
- if !quantity.Equal(record.Quantity) {
- return errors.New("浜у搧鏁伴噺璁$畻閿欒")
}
realTotalPrice = record.CalcRealTotalPrice()
if !realTotalPrice.Equal(record.RealTotalPrice) {
@@ -129,20 +127,32 @@
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
db := global.GVA_DB.Model(&purchase.Purchase{})
+ var ids []uint
+ var purchaseList = make([]*purchase.Purchase, 0)
if info.Keyword != "" {
- db.Distinct("purchases.id").Joins("left join purchase_products on purchase_products.purchase_id = purchases.id").
- Joins("left join Product on Product.Id = purchase_products.product_id").
- Joins("left join supplier on supplier.Id = purchases.supplier_id").
- Where("purchases.name like ?", "%"+info.Keyword+"%").
- Or("Product.name like ?", "%"+info.Keyword+"%").
- Or("supplier.name like ?", "%"+info.Keyword+"%")
+ db.Distinct("srm_purchase.id").Joins("left join srm_purchase_products on srm_purchase_products.purchase_id = srm_purchase.id").
+ Joins("left join material on material.id = srm_purchase_products.product_id").
+ Joins("left join srm_supplier on srm_supplier.Id = srm_purchase.supplier_id").
+ Where("srm_purchase.name like ?", "%"+info.Keyword+"%").
+ Or("material.name like ?", "%"+info.Keyword+"%").
+ Or("srm_supplier.name like ?", "%"+info.Keyword+"%")
+ err = db.Limit(limit).Offset(offset).Find(&ids).Error
+ if err != nil {
+ return purchaseList, total, err
+ }
}
- var purchaseList []*purchase.Purchase
+
err = db.Count(&total).Error
if err != nil {
return purchaseList, total, err
}
- err = db.Limit(limit).Offset(offset).Find(&purchaseList).Error
+ if len(ids) != 0 {
+ db = global.GVA_DB.Model(&purchase.Purchase{})
+ err = db.Where("id in (?)", ids).Find(&purchaseList).Error
+ } else {
+ err = db.Limit(limit).Offset(offset).Find(&purchaseList).Error
+ }
+
return purchaseList, total, err
}
@@ -202,7 +212,7 @@
}
productIds := make([]uint, 0, len(productList))
for _, product := range productList {
- productIds = append(productIds, uint(product.ProductId))
+ productIds = append(productIds, product.ID)
}
productService := &test.ProductService{}
_, productMap, err := productService.GetProducts(productIds)
@@ -211,7 +221,7 @@
}
inspectOrders := make([]*qualityinspect.QualityInspect, 0, len(productList))
for _, productItem := range productList {
- product := productMap[uint(productItem.ProductId)]
+ product := productMap[productItem.ID]
if product == nil {
continue
}
@@ -263,7 +273,7 @@
for _, item := range list {
if item.ID != 0 {
- err = tx.Save(item).Error
+ err = tx.Where("id = ?", item.ID).Updates(item).Error
if err != nil {
return err
}
--
Gitblit v1.8.0