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

package base

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

/******************************************************************************
 *
 * @Struct Name              : Article
 *-----------------------------------------------------------------------------
 *
 * @Description              : Article的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-05-06 15:52:37
 *
 ******************************************************************************/
type Article struct {
	PlantNr              int           `xorm:"pk int 'PlantNr'" json:"Article-PlantNr"`
	ArtId                string        `xorm:"pk nvarchar(40) 'ArtId'" json:"Article-ArtId"`
	Descr1               string        `xorm:"nvarchar(255) 'Descr1' not null" json:"Article-Descr1"`
	Descr2               string        `xorm:"nvarchar(255) 'Descr2' not null" json:"Article-Descr2"`
	ArtTypeId            string        `xorm:"nvarchar(40) 'ArtTypeId' not null" json:"Article-ArtTypeId"`
	ProjectId            string        `xorm:"pk nvarchar(40) 'ProjectId'" json:"Article-ProjectId"`
	CustArtId            string        `xorm:"nvarchar(40) 'CustArtId' not null" json:"Article-CustArtId"`
	AlternativeArtId     string        `xorm:"nvarchar(40) 'AlternativeArtId' not null" json:"Article-AlternativeArtId"`
	PlanResourceGroupId  string        `xorm:"nvarchar(40) 'PlanResourceGroupId' not null" json:"Article-PlanResourceGroupId"`
	PlanResourceId       string        `xorm:"nvarchar(40) 'PlanResourceId' not null" json:"Article-PlanResourceId"`
	UsedResourceId       string        `xorm:"nvarchar(40) 'UsedResourceId' not null" json:"Article-UsedResourceId"`
	UomId                string        `xorm:"nvarchar(40) 'UomId' not null" json:"Article-UomId"`
	PlanScrapRate        float64       `xorm:"float 'PlanScrapRate' not null" json:"Article-PlanScrapRate"`
	RatePerHourToggle    bool          `xorm:"bit 'RatePerHourToggle' not null" json:"Article-RatePerHourToggle"`
	TimePerItemToggle    bool          `xorm:"bit 'TimePerItemToggle' not null" json:"Article-TimePerItemToggle"`
	TimePerBatchToggle   bool          `xorm:"bit 'TimePerBatchToggle' not null" json:"Article-TimePerBatchToggle"`
	BatchTimeFieldToggle bool          `xorm:"bit 'BatchTimeFieldToggle' not null" json:"Article-BatchTimeFieldToggle"`
	OpTimePerItem        float64       `xorm:"float 'OpTimePerItem'" json:"Article-OpTimePerItem"`
	BatchTime            float64       `xorm:"float 'BatchTime'" json:"Article-BatchTime"`
	QuantityPerHour      float64       `xorm:"float 'QuantityPerHour' not null" json:"Article-QuantityPerHour"`
	MidBatchQuantity     int           `xorm:"int 'MidBatchQuantity' not null" json:"Article-MidBatchQuantity"`
	MidBatchTime         grmi.DateTime `xorm:"datetime 'MidBatchTime' not null" json:"Article-MidBatchTime"`
	EffectiveOpTime      float64       `xorm:"float 'EffectiveOpTime'" json:"Article-EffectiveOpTime"`
	BatchingMethod       int           `xorm:"int 'BatchingMethod' not null" json:"Article-BatchingMethod"`
	DeliveryBuffer       float64       `xorm:"float 'DeliveryBuffer'" json:"Article-DeliveryBuffer"`
	Icon                 string        `xorm:"nvarchar(100) 'Icon' not null" json:"Article-Icon"`
	DisplayColor         string        `xorm:"nvarchar(20) 'DisplayColor' not null" json:"Article-DisplayColor"`
	Document             string        `xorm:"nvarchar(100) 'Document' not null" json:"Article-Document"`
	DefaultRoute         string        `xorm:"nvarchar(40) 'DefaultRoute' not null" json:"Article-DefaultRoute"`
	DefaultInspectPlanId string        `xorm:"nvarchar(40) 'DefaultInspectPlanId' not null" json:"Article-DefaultInspectPlanId"`
	LotSize              float64       `xorm:"float 'LotSize'" json:"Article-LotSize"`
	PickingToggle        bool          `xorm:"bit 'PickingToggle' not null" json:"Article-PickingToggle"`
	ABCClass             string        `xorm:"nvarchar(1) 'ABCClass' not null" json:"Article-ABCClass"`
	ArtSize1             string        `xorm:"nvarchar(100) 'ArtSize1' not null" json:"Article-ArtSize1"`
	ArtSize2             string        `xorm:"nvarchar(100) 'ArtSize2' not null" json:"Article-ArtSize2"`
	ArtSize3             string        `xorm:"nvarchar(100) 'ArtSize3' not null" json:"Article-ArtSize3"`
	ArtSize4             string        `xorm:"nvarchar(100) 'ArtSize4' not null" json:"Article-ArtSize4"`
	ArtSize5             string        `xorm:"nvarchar(100) 'ArtSize5' not null" json:"Article-ArtSize5"`
	ArtSpec1             string        `xorm:"nvarchar(100) 'ArtSpec1' not null" json:"Article-ArtSpec1"`
	ArtSpec2             string        `xorm:"nvarchar(100) 'ArtSpec2' not null" json:"Article-ArtSpec2"`
	ArtSpec3             string        `xorm:"nvarchar(100) 'ArtSpec3' not null" json:"Article-ArtSpec3"`
	ArtSpec4             string        `xorm:"nvarchar(100) 'ArtSpec4' not null" json:"Article-ArtSpec4"`
	ArtSpec5             string        `xorm:"nvarchar(100) 'ArtSpec5' not null" json:"Article-ArtSpec5"`
	PickingFlag          string        `xorm:"nvarchar(40) 'PickingFlag' not null" json:"Article-PickingFlag"`
	Prefix               string        `xorm:"nvarchar(5) 'Prefix'" json:"Article-Prefix"`
	BackFlushItemToggle  bool          `xorm:"bit 'BackFlushItemToggle' not null" json:"Article-BackFlushItemToggle"`
	CriticalItem         bool          `xorm:"bit 'CriticalItem' not null" json:"Article-CriticalItem"`
	Version              string        `xorm:"nvarchar(40) 'Version' " json:"Article-Version"`
	LastModify           grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"Article-LastModify"`
	LastUser             string        `xorm:"nvarchar(20) 'LastUser' not null" json:"Article-LastUser"`
	CreateTime           grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"Article-CreateTime"`
	Valst                []Attribute   `json:"Valst" xorm:"-"`
	UnValst              []Attribute   `json:"Unvalst" xorm:"-"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-03-23 17:06:57
 *
 ******************************************************************************/
func (self *Article) GetKey() core.PK {
	return core.PK{self.PlantNr, self.ArtId, self.ProjectId}
}
