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

package pm

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

/******************************************************************************
 *
 * @Struct Name              : Asset
 *-----------------------------------------------------------------------------
 *
 * @Description              : Asset的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-08 13:20:42
 *
 ******************************************************************************/
type Asset struct {
	PlantNr        int           `xorm:"pk int 'PlantNr'" json:"PM_Asset-PlantNr"`
	AssetNr        int           `xorm:"pk int 'AssetNr'" json:"PM_Asset-AssetNr"`
	Descr          string        `xorm:"varchar(40) 'Descr'" json:"PM_Asset-Descr"`
	AssetName      string        `xorm:"varchar(18) 'AssetName'" json:"PM_Asset-AssetName"`
	AssetType      string        `xorm:"varchar(20) 'AssetType'" json:"PM_Asset-AssetType"`
	Model          string        `xorm:"varchar(14) 'Model'" json:"PM_Asset-Model"`
	Year           string        `xorm:"varchar(4) 'Year'" json:"PM_Asset-Year"`
	SerialNo       string        `xorm:"varchar(40) 'SerialNo'" json:"PM_Asset-SerialNo"`
	TagNo          string        `xorm:"varchar(40) 'TagNo'" json:"PM_Asset-TagNo"`
	Maker          string        `xorm:"varchar(40) 'Maker'" json:"PM_Asset-Maker"`
	LocaNr         int           `xorm:"int 'LocaNr' not null" json:"PM_Asset-LocaNr"`
	AssetStatus    int           `xorm:"int 'AssetStatus' not null" json:"PM_Asset-AssetStatus"`
	Operator       int           `xorm:"int 'Operator' not null" json:"PM_Asset-Operator"`
	WeekModelId    int           `xorm:"int 'WeekModelId' not null" json:"PM_Asset-WeekModelId"`
	WorkCalEndarId int           `xorm:"int 'WorkCalEndarId' not null" json:"PM_Asset-WorkCalEndarId"`
	CostCenterId   string        `xorm:"varchar(12) 'CostCenterId'" json:"PM_Asset-CostCenterId"`
	LastModify     grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"PM_Asset-LastModify"`
	LastUser       string        `xorm:"nvarchar(20) 'LastUser' not null" json:"PM_Asset-LastUser"`
	CreateTime     grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"PM_Asset-CreateTime"`
	Valst          []Template `json:"valst" xorm:"-"`
	UnValst        []Template `json:"unvalst" xorm:"-"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-08 13:20:42
 *
 ******************************************************************************/
func (self *Asset) GetKey() core.PK {
	return core.PK{self.PlantNr, self.AssetNr}
}


type TemplateAsset struct {
	AssetTemplateLst `xorm:"extends"`
	Template         `xorm:"extends"`
}