yinbentan
2024-07-03 6c4567aadbf6b35569e1ab2b1d726aba90eff4ab
models/warehouse_month_stats.go
@@ -22,10 +22,10 @@
      EndAmount   decimal.Decimal `json:"amount" gorm:"type:decimal(30,10);not null;comment:数量"`      //期末结余数量
      InputAmount decimal.Decimal        `json:"inputAmount" gorm:"type:decimal(30,10);not null;comment:数量"` //入库数量
      InputItems  []*WarehouseStatsItems `json:"inputMoreUnitsArr"`                                          //入库明细
      InputItems  []*WarehouseStatsItems `json:"inputItems"`                                                 //入库明细
      OutputAmount decimal.Decimal        `json:"outputAmount" gorm:"type:decimal(30,10);not null;comment:数量"` //出库数量
      OutputItems  []*WarehouseStatsItems `json:"outputMoreUnitsArr"`                                          //出库明细
      OutputItems  []*WarehouseStatsItems `json:"outputItems"`                                                 //出库明细
      Date string `json:"date" gorm:"index;type:varchar(255); not null;default ''"` //日期 2024-04
   }
@@ -48,8 +48,12 @@
   }
)
func (slf *WarehouseStatsItems) TableName() string {
   return "wms_warehouse_month_stats_items"
}
func (slf *WarehouseMonthStats) TableName() string {
   return "wms_month_stats"
   return "wms_warehouse_month_stats"
}
func NewWarehouseMonthStatsSearch() *WarehouseMonthStatsSearch {
@@ -96,6 +100,21 @@
   return slf
}
func (slf *WarehouseMonthStatsSearch) SetWarehouseId(id int) *WarehouseMonthStatsSearch {
   slf.WarehouseId = id
   return slf
}
func (slf *WarehouseMonthStatsSearch) Save(record *WarehouseMonthStats) error {
   var db = slf.build()
   if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
      return fmt.Errorf("save err: %v, record: %+v", err, record)
   }
   return nil
}
func (slf *WarehouseMonthStatsSearch) build() *gorm.DB {
   var db = slf.Orm.Model(&WarehouseMonthStats{})
@@ -118,6 +137,14 @@
   if slf.Fields != "" {
      db = db.Select(slf.Fields)
   }
   if slf.WarehouseId != 0 {
      db = db.Where("warehouse_id = ?", slf.WarehouseId)
   }
   if slf.Preload {
      db = db.Preload("InputItems").Preload("OutputItems")
   }
   return db
@@ -279,6 +306,14 @@
   return m
}
func WarehouseStatsItemMap(records []*WarehouseStatsItems) (m map[string]*WarehouseStatsItems) {
   m = make(map[string]*WarehouseStatsItems, len(records))
   for _, record := range records {
      m[record.Name] = record
   }
   return m
}
func (slf *WarehouseMonthStatsSearch) Count() (int64, error) {
   var (
      total int64