// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.

package wm

import (
	"LAPP_LF_MOM_BACKEND/grmi"
	"xorm.io/core"
)

/******************************************************************************
 *
 * @Struct Name              : StorageBin
 *-----------------------------------------------------------------------------
 *
 * @Description              : StorageBin的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-07-08 11:25:15
 *
 ******************************************************************************/
type StorageBin struct {
	StorageBinId       string        `xorm:"pk nvarchar(40) 'StorageBinId'" json:"WM_StorageBin-StorageBinId"`
	WarehouseId        string        `xorm:"pk nvarchar(40) 'WarehouseId'" json:"WM_StorageBin-WarehouseId"`
	StorageAreaId      string        `xorm:"nvarchar(40) 'StorageAreaId' not null" json:"WM_StorageBin-StorageAreaId"`
	Descr              string        `xorm:"nvarchar(100) 'Descr' not null" json:"WM_StorageBin-Descr"`
	Status             string        `xorm:"nvarchar(3) 'Status' not null" json:"WM_StorageBin-Status"`
	ActualStock        float64       `xorm:"float 'ActualStock' not null" json:"WM_StorageBin-ActualStock"`
	BlockedStock       float64       `xorm:"float 'BlockedStock' not null" json:"WM_StorageBin-BlockedStock"`
	AvailableStock     float64       `xorm:"float 'AvailableStock' not null" json:"WM_StorageBin-AvailableStock"`
	ReservedStock      float64       `xorm:"float 'ReservedStock' not null" json:"WM_StorageBin-ReservedStock"`
	ReservableStock    float64       `xorm:"float 'ReservableStock' not null" json:"WM_StorageBin-ReservableStock"`
	RemovalReason string        `xorm:"nvarchar(255) 'RemovalReason' not null" json:"WM_StorageBin-RemovalReason"`
	RemovalPerson      string        `xorm:"nvarchar(40) 'RemovalPerson' not null" json:"WM_StorageBin-RemovalPerson"`
	LastStorageBlock   grmi.DateTime `xorm:"datetime 'LastStorageBlock' not null" json:"WM_StorageBin-LastStorageBlock"`
	StorageBlockReason string        `xorm:"nvarchar(255) 'StorageBlockReason' not null" json:"WM_StorageBin-StorageBlockReason"`
	StoragePerson      string        `xorm:"nvarchar(40) 'StoragePerson' not null" json:"WM_StorageBin-StoragePerson"`
	StorageCapacity    float64       `xorm:"float 'StorageCapacity' not null" json:"WM_StorageBin-StorageCapacity"`
	LastRemoval        grmi.DateTime `xorm:"datetime 'LastRemoval' not null" json:"WM_StorageBin-LastRemoval"`
	LastStorage        grmi.DateTime `xorm:"datetime 'LastStorage' not null" json:"WM_StorageBin-LastStorage"`
	RemainStock        float64       `xorm:"float 'RemainStock' not null" json:"WM_StorageBin-RemainStock"`
	LastStockTaking    grmi.DateTime `xorm:"datetime 'LastStockTaking' not null" json:"WM_StorageBin-LastStockTaking"`
	Weight             float64       `xorm:"float 'Weight' not null" json:"WM_StorageBin-Weight"`
	WeightUom          string        `xorm:"nvarchar(40) 'WeightUom' not null" json:"WM_StorageBin-WeightUom"`
	Length             float64       `xorm:"float 'Length' not null" json:"WM_StorageBin-Length"`
	Width              float64       `xorm:"float 'Width' not null" json:"WM_StorageBin-Width"`
	Height             float64       `xorm:"float 'Height' not null" json:"WM_StorageBin-Height"`
	SizeUom            string        `xorm:"nvarchar(40) 'SizeUom' not null" json:"WM_StorageBin-SizeUom"`
	MovementClass      string        `xorm:"nvarchar(40) 'MovementClass' not null" json:"WM_StorageBin-MovementClass"`
	BinCtrlPara1       int           `xorm:"int 'BinCtrlPara1' not null" json:"WM_StorageBin-BinCtrlPara1"`
	BinCtrlPara2       int           `xorm:"int 'BinCtrlPara2' not null" json:"WM_StorageBin-BinCtrlPara2"`
	BinCtrlPara3       int           `xorm:"int 'BinCtrlPara3' not null" json:"WM_StorageBin-BinCtrlPara3"`
	BinCtrlPara4       int           `xorm:"int 'BinCtrlPara4' not null" json:"WM_StorageBin-BinCtrlPara4"`
	BinCtrlPara5       string        `xorm:"nvarchar(255) 'BinCtrlPara5'" json:"WM_StorageBin-BinCtrlPara5"`
	BinCtrlPara6       string        `xorm:"nvarchar(255) 'BinCtrlPara6'" json:"WM_StorageBin-BinCtrlPara6"`
	BinCtrlPara7       string        `xorm:"nvarchar(255) 'BinCtrlPara7'" json:"WM_StorageBin-BinCtrlPara7"`
	BinCtrlPara8       string        `xorm:"nvarchar(255) 'BinCtrlPara8'" json:"WM_StorageBin-BinCtrlPara8"`
	BinCtrlPara9       float64       `xorm:"float 'BinCtrlPara9'" json:"WM_StorageBin-BinCtrlPara9"`
	BinCtrlPara10      float64       `xorm:"float 'BinCtrlPara10'" json:"WM_StorageBin-BinCtrlPara10"`
	BinCtrlPara11      float64       `xorm:"float 'BinCtrlPara11'" json:"WM_StorageBin-BinCtrlPara11"`
	BinCtrlPara12      float64       `xorm:"float 'BinCtrlPara12'" json:"WM_StorageBin-BinCtrlPara12"`
	BinCtrlPara13      grmi.DateTime `xorm:"datetime 'BinCtrlPara13'" json:"WM_StorageBin-BinCtrlPara13"`
	BinCtrlPara14      grmi.DateTime `xorm:"datetime 'BinCtrlPara14'" json:"WM_StorageBin-BinCtrlPara14"`
	BinCtrlPara15      grmi.DateTime `xorm:"datetime 'BinCtrlPara15'" json:"WM_StorageBin-BinCtrlPara15"`
	BinCtrlPara16      grmi.DateTime `xorm:"datetime 'BinCtrlPara16'" json:"WM_StorageBin-BinCtrlPara16"`
	StorageRackId      string        `xorm:"nvarchar(40) 'StorageRackId' not null" json:"WM_StorageBin-StorageRackId"`
	RowIndex           string        `xorm:"nvarchar(20) 'RowIndex' not null" json:"WM_StorageBin-RowIndex"`
	ColIndex           string        `xorm:"nvarchar(20) 'ColIndex' not null" json:"WM_StorageBin-ColIndex"`
	LastModify         grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WM_StorageBin-LastModify"`
	LastUser           string        `xorm:"nvarchar(20) 'LastUser' not null" json:"WM_StorageBin-LastUser"`
	CreateTime         grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WM_StorageBin-CreateTime"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-07-08 11:25:15
 *
 ******************************************************************************/
func (self *StorageBin) GetKey() core.PK {
	return core.PK{self.StorageBinId, self.WarehouseId}
}
