// 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              : Service
 *-----------------------------------------------------------------------------
 *
 * @Description              : Service的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-08 13:20:42
 *
 ******************************************************************************/
type Service struct {
	PlantNr              int           `xorm:"pk int 'PlantNr'" json:"PM_Service-PlantNr"`
	MainServiceNr        int           `xorm:"pk int 'MainServiceNr'" json:"PM_Service-MainServiceNr"`
	Descr                string        `xorm:"varchar(40) 'Descr' not null" json:"PM_Service-Descr"`
	MaintType            string        `xorm:"varchar(14) 'MaintType' not null" json:"PM_Service-MaintType"`
	Priority             int           `xorm:"smallint 'Priority' not null" json:"PM_Service-Priority"`
	EnabledToggle        bool          `xorm:"bit 'EnabledToggle' not null" json:"PM_Service-EnabledToggle"`
	MaintByDateToggle    bool          `xorm:"bit 'MaintByDateToggle' not null" json:"PM_Service-MaintByDateToggle"`
	DueDateInterval      int           `xorm:"int 'DueDateInterval' not null" json:"PM_Service-DueDateInterval"`
	NodifyDays           int           `xorm:"int 'NodifyDays' not null" json:"PM_Service-NodifyDays"`
	DueDateOn            grmi.Date     `xorm:"date 'DueDateOn' not null" json:"PM_Service-DueDateOn"`
	MaintByHourToggle    bool          `xorm:"bit 'MaintByHourToggle' not null" json:"PM_Service-MaintByHourToggle"`
	DueHourInterval      int           `xorm:"int 'DueHourInterval' not null" json:"PM_Service-DueHourInterval"`
	NodifyHours          int           `xorm:"int 'NodifyHours' not null" json:"PM_Service-NodifyHours"`
	DueHourOn            grmi.DateTime     `xorm:"date 'DueHourOn'" json:"PM_Service-DueHourOn"`
	MaintByMileageToggle bool          `xorm:"bit 'MaintByMileageToggle' not null" json:"PM_Service-MaintByMileageToggle"`
	DueMileageInterval   int           `xorm:"int 'DueMileageInterval' not null" json:"PM_Service-DueMileageInterval"`
	NodifyMileages       int           `xorm:"int 'NodifyMileages' not null" json:"PM_Service-NodifyMileages"`
	DueMileageAt         int           `xorm:"int 'DueMileageAt' not null" json:"PM_Service-DueMileageAt"`
	NeedScheduleToggle   bool          `xorm:"int 'NeedScheduleToggle' not null" json:"PM_Service-NeedScheduleToggle"`
	MainTimeLen          float64       `xorm:"decimal 'MainTimeLen' not null" json:"PM_Service-MainTimeLen"`
	TimeUnit             string        `xorm:"varchar(5) 'TimeUnit' not null" json:"PM_Service-TimeUnit"`
	SchedType            string        `xorm:"varchar(14) 'SchedType' not null" json:"PM_Service-SchedType"`
	Department           string        `xorm:"varchar(10) 'Department' not null" json:"PM_Service-Department"`
	LastModify           grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"PM_Service-LastModify"`
	LastUser             string        `xorm:"nvarchar(20) 'LastUser' not null" json:"PM_Service-LastUser"`
	CreateTime           grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"PM_Service-CreateTime"`

	Valst   []Attribute `json:"valst" xorm:"-"`
	UnValst []Attribute `json:"unvalst" xorm:"-"`
}

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