From 22a93375823a1fe58e5ca2dcd0545ddf1dfc883c Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 14 十一月 2023 11:47:56 +0800
Subject: [PATCH] 产品列表增加预测和出入库数量

---
 models/material.go |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/models/material.go b/models/material.go
index 0b46d57..d583e7b 100644
--- a/models/material.go
+++ b/models/material.go
@@ -67,9 +67,14 @@
 		//HSCode                  string                     `gorm:"type:varchar(255);comment:HS缂栫爜" json:"HSCode"`                    //HS缂栫爜
 		//OriginCountryId         int                        `gorm:"type:int(11);comment:鍘熶骇鍦癷d" json:"originCountryId"`               //鍘熶骇鍦癷d
 		//OriginCountryName       string                     `gorm:"type:varchar(255);comment:鍘熶骇鍦板悕绉�" json:"originCountryName"`        //鍘熶骇鍦板悕绉�
-		InStorageExplain        string `gorm:"type:varchar(512);comment:鍏ュ簱璇存槑" json:"inStorageExplain"`          //鍏ュ簱璇存槑
-		OutStorageExplain       string `gorm:"type:varchar(512);comment:鍑哄簱璇存槑" json:"outStorageExplain"`         //鍑哄簱璇存槑
-		InternalTransferExplain string `gorm:"type:varchar(512);comment:鍐呴儴璋冩嫧璇存槑" json:"internalTransferExplain"` //鍐呴儴璋冩嫧璇存槑
+		InStorageExplain        string          `gorm:"type:varchar(512);comment:鍏ュ簱璇存槑" json:"inStorageExplain"`          //鍏ュ簱璇存槑
+		OutStorageExplain       string          `gorm:"type:varchar(512);comment:鍑哄簱璇存槑" json:"outStorageExplain"`         //鍑哄簱璇存槑
+		InternalTransferExplain string          `gorm:"type:varchar(512);comment:鍐呴儴璋冩嫧璇存槑" json:"internalTransferExplain"` //鍐呴儴璋冩嫧璇存槑
+		AttachmentList          []*Attachment   `json:"attachmentList" gorm:"many2many:material_attachment"`
+		AttachmentIDs           []uint          `json:"attachmentIDs" gorm:"-"`
+		PredictionAmount        decimal.Decimal `json:"predictionAmount" gorm:"-"`
+		InputAmount             decimal.Decimal `json:"inputAmount" gorm:"-"`
+		OutputAmount            decimal.Decimal `json:"outputAmount" gorm:"-"`
 	}
 
 	MaterialSearch struct {
@@ -83,6 +88,7 @@
 		Ids         []string
 		Orm         *gorm.DB
 		CategoryIds []int
+		Preload     bool
 	}
 
 	IdAndName struct {
@@ -174,6 +180,11 @@
 //	return slf
 //}
 
+func (slf *MaterialSearch) SetPreload(preload bool) *MaterialSearch {
+	slf.Preload = preload
+	return slf
+}
+
 func (slf *MaterialSearch) build() *gorm.DB {
 	var db = slf.Orm.Table(slf.TableName())
 
@@ -238,6 +249,10 @@
 	}
 	if len(slf.CategoryIds) > 0 {
 		db = db.Where("category_id in ?", slf.CategoryIds)
+	}
+
+	if slf.Preload {
+		db = db.Preload("AttachmentList")
 	}
 
 	return db
@@ -329,7 +344,7 @@
 		db      = slf.build()
 	)
 
-	if err := db.Count(&total).Error; err != nil {
+	if err := db.Model(&Material{}).Count(&total).Error; err != nil {
 		return records, total, fmt.Errorf("find count err: %v", err)
 	}
 	if slf.PageNum*slf.PageSize > 0 {

--
Gitblit v1.8.0