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

package me

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

/******************************************************************************
 *
 * @Struct Name              : ProductFamily
 *-----------------------------------------------------------------------------
 *
 * @Description              : ProductFamily的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-19 14:04:53
 *
 ******************************************************************************/
type ProductFamily struct {
	PlantNr           int                   `xorm:"pk int 'PlantNr'" json:"ME_ProductFamily-PlantNr"`
	ProductFamilyId   string                `xorm:"pk nvarchar(40) 'ProductFamilyId'" json:"ME_ProductFamily-ProductFamilyId"`
	Descr             string                `xorm:"nvarchar(40) 'Descr' not null" json:"ME_ProductFamily-Descr"`
	ProjectId         string                `xorm:"nvarchar(40) 'ProjectId' not null" json:"ME_ProductFamily-ProjectId"`
	ConfigValue       string                `xorm:"nvarchar(40) 'ConfigValue' not null" json:"ME_ProductFamily-ConfigValue"`
	ModelValue        string                `xorm:"nvarchar(40) 'ModelValue' not null" json:"ME_ProductFamily-ModelValue"`
	ColorValue        string                `xorm:"nvarchar(40) 'ColorValue' not null" json:"ME_ProductFamily-ColorValue"`
	BroadcastPoint    string                `xorm:"nvarchar(40) 'BroadcastPoint' not null" json:"ME_ProductFamily-BroadcastPoint"`
	AutoGenPackToggle bool                  `xorm:"bit 'AutoGenPackToggle' not null" json:"ME_ProductFamily-AutoGenPackToggle"`
	MultiWorkLineToggle   bool            `xorm:"bit 'MultiWorkLineToggle' not null" json:"ME_ProductFamily-MultiWorkLineToggle"`
	Jph               float64               `xorm:"float 'Jph' not null" json:"ME_ProductFamily-Jph"`
	WorkLineId        string                `xorm:"nvarchar(40) 'WorkLineId' not null" json:"ME_ProductFamily-WorkLineId"`
	PackTypeId        string                `xorm:"nvarchar(40) 'PackTypeId' not null" json:"ME_ProductFamily-PackTypeId"`
	CheckSyncKey      bool                  `xorm:"bit 'CheckSyncKey' not null" json:"ME_ProductFamily-CheckSyncKey"`
	Enable            bool                  `xorm:"bit 'Enable' not null" json:"ME_ProductFamily-Enable"`
	// 代表派生是樱泰的还是安道拓的
	CtrlPara1         int                   `xorm:"int 'CtrlPara1' not null" json:"ME_ProductFamily-CtrlPara1"`
	CtrlPara2         int                   `xorm:"int 'CtrlPara2' not null" json:"ME_ProductFamily-CtrlPara2"`
	CtrlStr1          string                `xorm:"nvarchar(255) 'CtrlStr1' not null" json:"ME_ProductFamily-CtrlStr1"`
	CtrlStr2          string                `xorm:"nvarchar(255) 'CtrlStr2' not null" json:"ME_ProductFamily-CtrlStr2"`
	CtrlTime1         grmi.DateTime         `xorm:"datetime 'CtrlTime1' not null" json:"ME_ProductFamily-CtrlTime1"`
	CtrlTime2         grmi.DateTime         `xorm:"datetime 'CtrlTime2' not null" json:"ME_ProductFamily-CtrlTime2"`
	LastModify        grmi.DateTime         `xorm:"datetime 'LastModify' not null updated" json:"ME_ProductFamily-LastModify"`
	LastUser          string                `xorm:"nvarchar(20) 'LastUser' not null" json:"ME_ProductFamily-LastUser"`
	CreateTime        grmi.DateTime         `xorm:"datetime 'CreateTime' not null created" json:"ME_ProductFamily-CreateTime"`
	Product           []Product             `xorm:"-" json:"ME_ProductFamily-Product"`
	Relate            []ProductFamilyRelate `xorm:"-" json:"-"`
	Project           Project               `xorm:"-" json:"-"`
	Count             int                   `xorm:"-" json:"ME_ProductFamily-Count"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-19 14:04:53
 *
 ******************************************************************************/
func (self *ProductFamily) GetKey() core.PK {
	return core.PK{self.PlantNr, self.ProductFamilyId}
}
