From 504f3e9bc274bcd6c7221e738802e0e5d4aef36f Mon Sep 17 00:00:00 2001
From: lishihai <dslsh@dscom>
Date: 星期四, 20 六月 2024 17:07:02 +0800
Subject: [PATCH] 查询属性值和对象 通过主键ID查询

---
 controllers/operation.go |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index f48a1e2..98f633a 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -97,10 +97,10 @@
 		}
 		od := params.Details
 		for _, v := range od {
-			material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
-			if err != nil {
-				return err
-			}
+			//material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
+			//if err != nil {return err}
+			material := new(models.Material)
+			material.ID = v.ProductId
 			material.Cost = v.Cost
 			material.SalePrice = v.SalePrice
 			if err := models.NewMaterialSearch().SetOrm(db).Update(material); err != nil {
@@ -269,10 +269,29 @@
 	if int(params.Status) != 0 {
 		search.SetStatus(params.Status)
 	}
+	materials, err := models.NewMaterialSearch().FindNotTotal()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error())
+		return
+	}
+	costMap := make(map[string]decimal.Decimal)
+	salePriceMap := make(map[string]decimal.Decimal)
+	for _, material := range materials {
+		costMap[material.ID] = material.Cost
+		salePriceMap[material.ID] = material.SalePrice
+	}
 	list, total, err := search.SetOperationTypeId(params.OperationTypeId).SetPreload(true).SetOrder("created_at desc").Find()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error())
 		return
+	}
+	for _, v := range list {
+		for _, v1 := range v.Details {
+			//v1.SalePrice = decimal.NewFromFloat(1.2345)
+			//v1.Cost = decimal.NewFromFloat(9.678)
+			v1.SalePrice = v1.Cost
+			v1.Cost = v1.SalePrice
+		}
 	}
 
 	util.ResponseFormatListWithPage(c, code.Success, list, int(total), params.Page, params.PageSize)
@@ -335,10 +354,10 @@
 		}
 		od := params.Details
 		for _, v := range od {
-			material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
-			if err != nil {
-				return err
-			}
+			//material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
+			//if err != nil {return err}
+			material := new(models.Material)
+			material.ID = v.ProductId
 			material.Cost = v.Cost
 			material.SalePrice = v.SalePrice
 			if err := models.NewMaterialSearch().SetOrm(tx).Update(material); err != nil {

--
Gitblit v1.8.0