From 3efb723b393ef6f516dbe1644697f0ba5536c48c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 12 六月 2024 22:02:35 +0800
Subject: [PATCH] 月度报表统计修复

---
 models/material.go |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/models/material.go b/models/material.go
index 5c03da9..fe9e42a 100644
--- a/models/material.go
+++ b/models/material.go
@@ -79,7 +79,7 @@
 		IsStorage               int             `gorm:"type:tinyint(1);default:1;comment:鏄惁瀛樺簱(1鏄�2鍚�)" json:"isStorage"`   //鏃犲簱瀛樼殑鍦╳ms浠ュ強srm涓渶瑕佽繃婊ゆ帀
 		IsVirtual               int             `json:"isVirtual" gorm:"type:tinyint(1);default:2;comment:鏄惁铏氭嫙鐗╂枡(1鏄�2鍚�)"` //铏氭嫙鐗╂枡鍦∕RP璁$畻鏃惰烦杩囪灞傜骇鐩存帴棰嗙敤涓嬬骇鐗╂枡锛岃櫄鎷熺墿鏂欎笉鐢熸垚宸ュ崟
 		ReorderRuleNum          int64           `json:"reorderRuleNum"`
-		MoreUnit                bool            `json:"moreUnit" gorm:"type:tinyint(1);default:false;comment:鍚姩澶氬崟浣�"`
+		MoreUnit                *bool           `json:"moreUnit" gorm:"type:tinyint(1);default:false;comment:鍚姩澶氬崟浣�"`
 		MoreUnitList            []UnitItems     `json:"moreUnitList" gorm:"-"`
 		MoreUnitValue           string          `json:"-" gorm:"type:varchar(255);comment:澶氬崟浣嶅��"`
 		GrossWeight             decimal.Decimal `json:"grossWeight" gorm:"type:decimal(20,3);comment:姣涢噸"`
@@ -109,6 +109,7 @@
 		Orm         *gorm.DB
 		CategoryIds []int
 		Preload     bool
+		Fields      string
 	}
 
 	IdAndName struct {
@@ -258,6 +259,11 @@
 	return slf
 }
 
+func (slf *MaterialSearch) SetFields(fields string) *MaterialSearch {
+	slf.Fields = fields
+	return slf
+}
+
 func (slf *MaterialSearch) build() *gorm.DB {
 	var db = slf.Orm.Table(slf.TableName())
 
@@ -322,6 +328,10 @@
 	}
 	if len(slf.CategoryIds) > 0 {
 		db = db.Where("category_id in ?", slf.CategoryIds)
+	}
+
+	if slf.Fields != "" {
+		db = db.Select(slf.Fields)
 	}
 
 	if slf.Preload {
@@ -592,7 +602,7 @@
 	OperationDate     string                     `json:"operationDate" gorm:"type:varchar(31);comment:瀹夋帓鏃ユ湡"`
 	ContacterID       int                        `json:"contacterID" gorm:"type:int;comment:鑱旂郴浜篒D"`
 	ContacterName     string                     `json:"contacterName" gorm:"type:varchar(63);comment:鑱旂郴浜哄鍚�"`
-	CompanyID         int                        `json:"companyID" gorm:"type:int;comment:鍏徃ID-瀹㈡埛"`
+	CompanyID         string                     `json:"companyID"` //鍏徃ID-瀹㈡埛
 	CompanyName       string                     `json:"companyName" gorm:"type:varchar(127);comment:鍏徃鍚嶇О-瀹㈡埛"`
 	Comment           string                     `json:"comment" gorm:"type:text;comment:澶囨敞"`
 	ProductId         string                     `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"`   //浜у搧id
@@ -611,3 +621,11 @@
 
 	return nil
 }
+
+func MaterialMap(records []*Material) (m map[string]*Material) {
+	m = make(map[string]*Material, len(records))
+	for _, record := range records {
+		m[record.ID] = record
+	}
+	return m
+}

--
Gitblit v1.8.0