From 73b6baf6af3d88cdcb0e2df7932a9bd96b0b85c5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 01 七月 2024 22:32:34 +0800
Subject: [PATCH] 月度统计出入库按类型汇总报表定时任务和手动跑任务接口

---
 models/attribute.go |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/models/attribute.go b/models/attribute.go
index 19fc906..8f1a368 100644
--- a/models/attribute.go
+++ b/models/attribute.go
@@ -25,6 +25,8 @@
 		PageNum  int
 		PageSize int
 		Orm      *gorm.DB
+		Keyword  string
+		IDs      []uint
 	}
 )
 
@@ -47,6 +49,17 @@
 }
 
 func (slf *Attribute) BeforeCreate(tx *gorm.DB) (err error) {
+	if len(slf.SelectValues) != 0 {
+		bts, err := json.Marshal(slf.SelectValues)
+		if err != nil {
+			return err
+		}
+		slf.SelectValue = string(bts)
+	}
+	return nil
+}
+
+func (slf *Attribute) BeforeUpdate(tx *gorm.DB) (err error) {
 	if len(slf.SelectValues) != 0 {
 		bts, err := json.Marshal(slf.SelectValues)
 		if err != nil {
@@ -92,9 +105,16 @@
 	slf.ID = id
 	return slf
 }
-
+func (slf *AttributeSearch) SetIDs(ids []uint) *AttributeSearch {
+	slf.IDs = ids
+	return slf
+}
 func (slf *AttributeSearch) SetName(name string) *AttributeSearch {
 	slf.Name = name
+	return slf
+}
+func (slf *AttributeSearch) SetEntityType(entityType EntityType) *AttributeSearch {
+	slf.EntityType = entityType
 	return slf
 }
 
@@ -104,14 +124,22 @@
 	if slf.ID != 0 {
 		db = db.Where("id = ?", slf.ID)
 	}
-
+	if len(slf.IDs) != 0 {
+		db = db.Where("id in ?", slf.IDs)
+	}
 	if slf.Order != "" {
 		db = db.Order(slf.Order)
+	}
+	if slf.EntityType != 0 {
+		db = db.Where("entity_type = ?", slf.EntityType)
 	}
 
 	if slf.Name != "" {
 		db = db.Where("name = ?", slf.Name)
 	}
+	if slf.Keyword != "" {
+		db = db.Where("id like ? or data_type like ? ", fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword))
+	}
 
 	return db
 }

--
Gitblit v1.8.0