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

package base

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

/******************************************************************************
 *
 * @Struct Name              : OPCMonitorComRule
 *-----------------------------------------------------------------------------
 *
 * @Description              : OPCMonitorComRule的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-08-22 15:49:36
 *
 ******************************************************************************/
type OPCMonitorComRule struct {
	PlantNr                    int                       `xorm:"pk int 'PlantNr'" json:"OPCMonitorComRule-PlantNr"`
	WorkPlaceNr                int                       `xorm:"pk int 'WorkPlaceNr'" json:"OPCMonitorComRule-WorkPlaceNr"`
	MonitorPalletInPlace       int                       `xorm:"pk int 'MonitorPalletInPlace'" json:"OPCMonitorComRule-MonitorPalletInPlace"`
	MonitorManualRelease       int                       `xorm:"pk int 'MonitorManualRelease'" json:"OPCMonitorComRule-MonitorManualRelease"`
	MonitorProblemPieceRelease int                       `xorm:"pk int 'MonitorProblemPieceRelease'" json:"OPCMonitorComRule-MonitorProblemPieceRelease"`
	RuleId                     int                       `xorm:"pk int 'RuleId'" json:"OPCMonitorComRule-RuleId"`
	ActionType                 string                    `xorm:"nvarchar(20) 'ActionType' not null" json:"OPCMonitorComRule-ActionType"`
	DBlockAddress              string                    `xorm:"nvarchar(40) 'DBlockAddress' not null" json:"OPCMonitorComRule-DBlockAddress"`
	DBlockValueType            string                    `xorm:"nvarchar(40) 'DBlockValueType' not null" json:"OPCMonitorComRule-DBlockValueType"`
	Formula                    string                    `xorm:"nvarchar(40) 'Formula' not null" json:"OPCMonitorComRule-Formula"`
	OperatorSimbol             string                    `xorm:"nvarchar(40) 'OperatorSimbol' not null" json:"OPCMonitorComRule-OperatorSimbol"`
	DBlockValue                string                    `xorm:"nvarchar(100) 'DBlockValue' not null" json:"OPCMonitorComRule-DBlockValue"`
	OKGotoRuleId               int                       `xorm:"int 'OKGotoRuleId' not null" json:"OPCMonitorComRule-OKGotoRuleId"`
	NOKGotoRuleId              int                       `xorm:"int 'NOKGotoRuleId' not null" json:"OPCMonitorComRule-NOKGotoRuleId"`
	LastModify                 grmi.DateTime             `xorm:"datetime 'LastModify' not null updated" json:"OPCMonitorComRule-LastModify"`
	LastUser                   string                    `xorm:"nvarchar(20) 'LastUser' not null" json:"OPCMonitorComRule-LastUser"`
	CreateTime                 grmi.DateTime             `xorm:"datetime 'CreateTime' not null created" json:"OPCMonitorComRule-CreateTime"`
	OPCMonitorComDetailRuleLi  []OPCMonitorComDetailRule `xorm:"-" json:"OPCMonitorComRule-OPCMonitorComDetailRuleLi"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-08-22 15:49:36
 *
 ******************************************************************************/
func (self *OPCMonitorComRule) GetKey() core.PK {
	return core.PK{self.PlantNr, self.WorkPlaceNr, self.MonitorPalletInPlace, self.MonitorManualRelease, self.MonitorProblemPieceRelease, self.RuleId}
}
