zhangqian
2024-07-01 73b6baf6af3d88cdcb0e2df7932a9bd96b0b85c5
models/warehouse.go
@@ -4,6 +4,7 @@
   "fmt"
   "gorm.io/gorm"
   "strings"
   "wms/constvar"
   "wms/pkg/mysqlx"
)
@@ -11,23 +12,26 @@
   // Warehouse 仓库
   Warehouse struct {
      WmsModel
      Id                     int          `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      Name                   string       `json:"name" gorm:"index;type:varchar(255);not null;comment:仓库名称"`                                 //仓库名称
      Active                 bool         `json:"active" gorm:"type:tinyint(1);not null;comment:是否激活"`                                       //是否启用,传true就行
      Code                   string       `json:"code" binding:"required,min=1,max=5"  gorm:"index;type:varchar(255);not null;comment:仓库编码"` //仓库编码
      PartnerID              int          `json:"partnerId"  gorm:"type:int;not null;comment:合作伙伴id"`                                        //合作伙伴id
      BuyToResupply          bool         `json:"buyToResupply" gorm:"type:tinyint(1);not null;comment:是否购买补给"`                              //是否购买补给,已购买产品能够发送到此仓库
      ResupplyWhIdsStr       string       `json:"-" gorm:"column:resupply_wh_ids;type:varchar(255);not null;comment:补给来源仓库ID"`               //补给来源仓库ID
      ResupplyWhIds          []string     `json:"resupplyWhIds" gorm:"-"`                                                                    //补给来源仓库ID
      ResupplyWh             []*Warehouse `json:"resupplyWh" gorm:"-"`                                                                       //补给来源仓库
      CompanyId              int          `json:"companyId" gorm:"type:int;not null;comment:公司id"`
      Company                Company      `json:"company" gorm:"foreignKey:CompanyId"`
      Address                string       `json:"address" gorm:"type:varchar(512);comment:地址"`         //地址
      InboundTransportation  int          `json:"inboundTransportation" gorm:"type:int;comment:入向运输"`  //入向运输
      OutboundTransportation int          `json:"outboundTransportation" gorm:"type:int;comment:出库运输"` //出库运输
      LocationId             int          `json:"locationId" gorm:"type:int;comment:位置id"`             //位置id
      WarehouseLocation      string       `json:"warehouseLocation" gorm:"-"`                          //库存位置
      Contacts               string       `json:"contacts" gorm:"type:varchar(255);comment:联系人"`       //联系人
      Id                      int                           `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
      Name                    string                        `json:"name" gorm:"index;type:varchar(255);not null;comment:仓库名称"`                   //仓库名称
      Active                  bool                          `json:"active" gorm:"type:tinyint(1);not null;comment:是否激活"`                         //是否启用,传true就行
      Code                    string                        `json:"code" gorm:"index;type:varchar(255);not null;comment:仓库编码"`                   //仓库编码
      PartnerID               int                           `json:"partnerId"  gorm:"type:int;not null;comment:合作伙伴id"`                          //合作伙伴id
      BuyToResupply           bool                          `json:"buyToResupply" gorm:"type:tinyint(1);not null;comment:是否购买补给"`                //是否购买补给,已购买产品能够发送到此仓库
      ResupplyWhIdsStr        string                        `json:"-" gorm:"column:resupply_wh_ids;type:varchar(255);not null;comment:补给来源仓库ID"` //补给来源仓库ID
      ResupplyWhIds           []string                      `json:"resupplyWhIds" gorm:"-"`                                                      //补给来源仓库ID
      ResupplyWh              []*Warehouse                  `json:"resupplyWh" gorm:"-"`                                                         //补给来源仓库
      CompanyId               int                           `json:"companyId" gorm:"type:int;not null;comment:公司id"`
      Company                 Company                       `json:"company" gorm:"foreignKey:CompanyId"`
      Address                 string                        `json:"address" gorm:"type:varchar(512);comment:地址"`         //地址
      InboundTransportation   int                           `json:"inboundTransportation" gorm:"type:int;comment:入向运输"`  //入向运输
      OutboundTransportation  int                           `json:"outboundTransportation" gorm:"type:int;comment:出库运输"` //出库运输
      LocationId              int                           `json:"locationId" gorm:"type:int;comment:位置id"`             //默认位置id
      WarehouseLocation       string                        `json:"warehouseLocation" gorm:"-"`                          //库存位置
      Contacts                string                        `json:"contacts" gorm:"type:varchar(255);comment:联系人"`       //联系人
      FileTemplateCategoryIn  constvar.FileTemplateCategory `json:"fileTemplateCategoryIn" gorm:"type:int(11);comment:入库模版种类"`
      FileTemplateCategoryOut constvar.FileTemplateCategory `json:"fileTemplateCategoryOut" gorm:"type:int(11);comment:出库模版种类"`
      OpenMonthStats          constvar.BoolType             `gorm:"type:int(11);default:2;comment:是否开启月度统计" json:"openMonthStats"` //是否开启月度统计
   }
   WarehouseSearch struct {
@@ -100,6 +104,11 @@
   return slf
}
func (slf *WarehouseSearch) SetOpenMonthStats(open constvar.BoolType) *WarehouseSearch {
   slf.OpenMonthStats = open
   return slf
}
func (slf *WarehouseSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
@@ -131,6 +140,10 @@
      db = db.Where("code in ?", slf.Codes)
   }
   if slf.OpenMonthStats != 0 {
      db = db.Where("open_month_stats = ?", slf.OpenMonthStats)
   }
   return db
}