From 155f70979af20ca520a55b89c6ec8cd46c43f8a5 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 31 七月 2024 15:47:33 +0800 Subject: [PATCH] 产品流水表增加多单位存储 --- models/material.go | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/models/material.go b/models/material.go index 20896fc..f28215e 100644 --- a/models/material.go +++ b/models/material.go @@ -80,7 +80,9 @@ ReorderRuleNum int64 `json:"reorderRuleNum"` MoreUnit *bool `json:"moreUnit" gorm:"type:tinyint(1);default:false;comment:鍚姩澶氬崟浣�"` MoreUnitList []UnitItems `json:"moreUnitList" gorm:"-"` - MoreUnitValue string `json:"-" gorm:"type:varchar(255);comment:澶氬崟浣嶅��"` + MoreUnitValue string `json:"-" gorm:"type:varchar(255);comment:澶氬崟浣嶅��"` //澶氬崟浣嶆崲绠楁瘮渚� + StockMoreUnitList []UnitItems `json:"-" gorm:"-"` //澶氬崟浣嶅瓨鍌ㄧ殑鍊� + StockMoreUnitValue string `json:"-" gorm:"type:varchar(512);comment:澶氬崟浣嶅��"` //澶氬崟浣嶅瓨鍌ㄧ殑鍊� GrossWeight decimal.Decimal `json:"grossWeight" gorm:"type:decimal(20,3);comment:姣涢噸"` NetWeight decimal.Decimal `json:"netWeight" gorm:"type:decimal(20,3);comment:鍑�閲�"` GrossUnit string `json:"grossUnit" gorm:"type:varchar(255);comment:姣涢噸鍗曚綅"` @@ -120,7 +122,7 @@ } UnitItems struct { - Amount decimal.Decimal `json:"amount"` + Amount decimal.Decimal `json:"amount"` //鍦ㄧ墿鏂欎腑涓烘崲绠楃巼锛�1杈呭崟浣�=鎹㈢畻鐜�*涓诲崟浣嶏級锛屽湪鏄庣粏鎴栧簱瀛樹腑涓哄叿浣撳�� Unit string `json:"unit"` Floating bool `json:"floating"` //鏄惁娴姩鍒╃巼 } @@ -164,12 +166,33 @@ } } if len(slf.MoreUnitList) != 0 { - str, err := json.Marshal(slf.MoreUnitList) + items := make([]UnitItems, 0) + for k, item := range slf.MoreUnitList { + if item.Unit != "" && !item.Amount.IsZero() { + items = append(items, slf.MoreUnitList[k]) + } + } + + str, err := json.Marshal(items) if err != nil { return err } slf.MoreUnitValue = string(str) } + if len(slf.StockMoreUnitList) != 0 { + items := make([]UnitItems, 0) + for k, item := range slf.StockMoreUnitList { + if item.Unit != "" && !item.Amount.IsZero() { + items = append(items, slf.StockMoreUnitList[k]) + } + } + + str, err := json.Marshal(items) + if err != nil { + return err + } + slf.StockMoreUnitValue = string(str) + } return } -- Gitblit v1.8.0