From 96844c22ef3fba86a55e0af1b51bc1009d6fa950 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期五, 20 十月 2023 11:57:48 +0800
Subject: [PATCH] 1.库存盘点bug修改

---
 models/material.go |   40 +++++++++++++++++++++++++++++++++-------
 1 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/models/material.go b/models/material.go
index dd74cb1..7fc8138 100644
--- a/models/material.go
+++ b/models/material.go
@@ -12,7 +12,7 @@
 	// Material 鐗╂枡
 	Material struct {
 		BaseModelString
-		Name string `gorm:"unique;type:varchar(191);not null;comment:鐗╂枡鍚嶇О" json:"name"` //鐗╂枡鍚嶇О
+		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"`
@@ -77,11 +77,12 @@
 		//MaterialTypes   []constvar.MaterialType
 		Keyword string
 		//SetTemplateType constvar.SetTemplateType
-		Order    string
-		PageNum  int
-		PageSize int
-		Ids      []string
-		Orm      *gorm.DB
+		Order       string
+		PageNum     int
+		PageSize    int
+		Ids         []string
+		Orm         *gorm.DB
+		CategoryIds []int
 	}
 
 	IdAndName struct {
@@ -152,6 +153,15 @@
 	slf.TemplateID = id
 	return slf
 }
+func (slf *MaterialSearch) SetCategoryId(id int) *MaterialSearch {
+	slf.CategoryId = id
+	return slf
+}
+
+func (slf *MaterialSearch) SetCategoryIds(ids []int) *MaterialSearch {
+	slf.CategoryIds = ids
+	return slf
+}
 
 //
 //func (slf *MaterialSearch) SetSetTemplateType(setType constvar.SetTemplateType) *MaterialSearch {
@@ -207,7 +217,7 @@
 	//}
 
 	if slf.Keyword != "" {
-		db = db.Where("name LIKE ? or id LIKE ? ", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%")
+		db = db.Where("name LIKE ? ", "%"+slf.Keyword+"%")
 	}
 
 	if slf.Order != "" {
@@ -222,6 +232,12 @@
 	}
 	if slf.IsSale {
 		db = db.Where("is_sale = ?", 1)
+	}
+	if slf.CategoryId > 0 {
+		db = db.Where("category_id = ?", slf.CategoryId)
+	}
+	if len(slf.CategoryIds) > 0 {
+		db = db.Where("category_id in ?", slf.CategoryIds)
 	}
 
 	return db
@@ -496,3 +512,13 @@
 	Amount         decimal.Decimal          `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"`       //鏁伴噺
 	Unit           string                   `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"`
 }
+
+func (slf *MaterialSearch) Update(record *Material) error {
+	var db = slf.build()
+
+	if err := db.Omit("CreatedAt").Updates(record).Error; err != nil {
+		return fmt.Errorf("save err: %v, record: %+v", err, record)
+	}
+
+	return nil
+}

--
Gitblit v1.8.0