From 6dec2342316aecf4084c8f4efb43f33fbb72892f Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 09 四月 2024 14:07:43 +0800
Subject: [PATCH] 更新计量单位字典
---
models/material.go | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/models/material.go b/models/material.go
index 721368f..3db5575 100644
--- a/models/material.go
+++ b/models/material.go
@@ -3,7 +3,9 @@
import (
"fmt"
"github.com/shopspring/decimal"
+ "github.com/spf13/cast"
"gorm.io/gorm"
+ "strings"
"wms/constvar"
"wms/pkg/mysqlx"
)
@@ -34,6 +36,8 @@
//ProduceAheadDay int `gorm:"type:int(11);comment:鍒堕�犳彁鍓嶆湡(澶�)" json:"produceAheadDay"`
MinPurchaseAmount decimal.Decimal `gorm:"type:decimal(35,18);comment:鏈�灏忛噰璐噺" json:"minPurchaseAmount"` //鏈�灏忛噰璐噺
PurchaseType constvar.PurchaseType `gorm:"type:int(11);comment:閲囪喘绫诲瀷" json:"purchaseType"`
+ PurchaseTypes string `gorm:"type:varchar(255);comment:閲囪喘绫诲瀷鑼冨洿" json:"-"`
+ PurchaseTypeList []int `gorm:"-" json:"purchaseTypeList"`
IsSale bool `gorm:"type:tinyint(1);comment:鏄惁閿�鍞�" json:"isSale"` //鏄惁閿�鍞�
SalePrice decimal.Decimal `gorm:"type:decimal(35,18);comment:閿�鍞崟浠�" json:"salePrice"` //閿�鍞崟浠�
AutoIncr uint `gorm:"type:int(11);comment:鑷ID;default:0;" json:"autoIncr"`
@@ -109,6 +113,38 @@
return "material"
}
+func (slf *Material) AfterFind(tx *gorm.DB) (err error) {
+ if slf.PurchaseTypes != "" && strings.Contains(slf.PurchaseTypes, ",") {
+ list := strings.Split(slf.PurchaseTypes, ",")
+ for _, v := range list {
+ slf.PurchaseTypeList = append(slf.PurchaseTypeList, cast.ToInt(v))
+ }
+ } else if slf.PurchaseType != 0 { //鍏煎鏃ф暟鎹�
+ slf.PurchaseTypeList = append(slf.PurchaseTypeList, int(slf.PurchaseType))
+ }
+ return
+}
+
+func (slf *Material) BeforeCreate(tx *gorm.DB) (err error) {
+ if len(slf.PurchaseTypeList) > 0 {
+ var typeList []string
+ for _, v := range slf.PurchaseTypeList {
+ if v != 0 {
+ typeList = append(typeList, cast.ToString(v))
+ }
+ }
+ slf.PurchaseTypes = strings.Join(typeList, ",")
+ if len(slf.PurchaseTypeList) == 1 {
+ slf.PurchaseType = constvar.PurchaseType(slf.PurchaseTypeList[0])
+ }
+ }
+ return
+}
+
+func (slf *Material) BeforeUpdate(tx *gorm.DB) (err error) {
+ return slf.BeforeCreate(tx)
+}
+
func NewMaterialSearch() *MaterialSearch {
return &MaterialSearch{Orm: mysqlx.GetDB().Where("is_storage = ?", 1)} //鍙煡璇㈡湁搴撳瓨鐨�
}
--
Gitblit v1.8.0