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

package om

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

/******************************************************************************
 *
 * @Struct Name              : WorkOrder
 *-----------------------------------------------------------------------------
 *
 * @Description              : WorkOrder的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-04-22 16:45:05
 *
 ******************************************************************************/
type WorkOrder struct {
	PlantNr              int             `xorm:"pk int 'PlantNr'" json:"OM_WorkOrder-PlantNr"`
	WorkOrderId          string          `xorm:"pk nvarchar(40) 'WorkOrderId'" json:"OM_WorkOrder-WorkOrderId"`
	ArtId                string          `xorm:"nvarchar(40) 'ArtId' not null" json:"OM_WorkOrder-ArtId"`
	CustArtId            string          `xorm:"nvarchar(40) 'CustArtId' not null" json:"OM_WorkOrder-CustArtId"`
	RouteTemplateId      string          `xorm:"nvarchar(40) 'RouteTemplateId' not null" json:"OM_WorkOrder-RouteTemplateId"`
	OrderType            string          `xorm:"nvarchar(20) 'OrderType' not null" json:"OM_WorkOrder-OrderType"`
	OrderType1           string          `xorm:"nvarchar(20) 'OrderType1' not null" json:"OM_WorkOrder-OrderType1"`
	OrderType2           string          `xorm:"nvarchar(20) 'OrderType2' not null" json:"OM_WorkOrder-OrderType2"`
	OrderInfo            string          `xorm:"nvarchar(100) 'OrderInfo' not null" json:"OM_WorkOrder-OrderInfo"`
	CustOrderId          string          `xorm:"nvarchar(40) 'CustOrderId' not null" json:"OM_WorkOrder-CustOrderId"`
	ErpOrderId           string          `xorm:"nvarchar(40) 'ErpOrderId' not null" json:"OM_WorkOrder-ErpOrderId"`
	ParentOrderId        string          `xorm:"nvarchar(40) 'ParentOrderId' not null" json:"OM_WorkOrder-ParentOrderId"`
	Priority             int             `xorm:"int 'Priority' not null" json:"OM_WorkOrder-Priority"`
	PlanResourceGroupId  string          `xorm:"nvarchar(40) 'PlanResourceGroupId' not null" json:"OM_WorkOrder-PlanResourceGroupId"`
	PlanResourceId       string          `xorm:"nvarchar(40) 'PlanResourceId' not null" json:"OM_WorkOrder-PlanResourceId"`
	UsedResourceId       string          `xorm:"nvarchar(40) 'UsedResourceId' not null" json:"OM_WorkOrder-UsedResourceId"`
	PlanQty              float64         `xorm:"float 'PlanQty' not null" json:"OM_WorkOrder-PlanQty"`
	QtyUomId             string          `xorm:"nvarchar(40) 'QtyUomId' not null" json:"OM_WorkOrder-QtyUomId"`
	RatePerHourToggle    bool            `xorm:"bit 'RatePerHourToggle' not null" json:"OM_WorkOrder-RatePerHourToggle"`
	TimePerItemToggle    bool            `xorm:"bit 'TimePerItemToggle' not null" json:"OM_WorkOrder-TimePerItemToggle"`
	TimePerBatchToggle   bool            `xorm:"bit 'TimePerBatchToggle' not null" json:"OM_WorkOrder-TimePerBatchToggle"`
	BatchTimeFieldToggle bool            `xorm:"bit 'BatchTimeFieldToggle' not null" json:"OM_WorkOrder-BatchTimeFieldToggle"`
	OpTimePerItem        float64         `xorm:"float 'OpTimePerItem'" json:"OM_WorkOrder-OpTimePerItem"`
	BatchTime            float64         `xorm:"float 'BatchTime'" json:"OM_WorkOrder-BatchTime"`
	QuantityPerHour      float64         `xorm:"float 'QuantityPerHour' not null" json:"OM_WorkOrder-QuantityPerHour"`
	BatchQuantity        float64         `xorm:"float 'BatchQuantity' not null" json:"OM_WorkOrder-BatchQuantity"`
	TimeUomId            string          `xorm:"nvarchar(40) 'TimeUomId' not null" json:"OM_WorkOrder-TimeUomId"`
	BatchingMethod       int             `xorm:"int 'BatchingMethod' not null" json:"OM_WorkOrder-BatchingMethod"`
	PlanStartDate        grmi.Date       `xorm:"date 'PlanStartDate' not null" json:"OM_WorkOrder-PlanStartDate"`
	PlanEndDate          grmi.Date       `xorm:"date 'PlanEndDate' not null" json:"OM_WorkOrder-PlanEndDate"`
	SetupStartTime       grmi.DateTime   `xorm:"datetime 'SetupStartTime' not null" json:"OM_WorkOrder-SetupStartTime"`
	SetupEndTime         grmi.DateTime   `xorm:"datetime 'SetupEndTime' not null" json:"OM_WorkOrder-SetupEndTime"`
	PlanStartTime        grmi.DateTime   `xorm:"datetime 'PlanStartTime' not null" json:"OM_WorkOrder-PlanStartTime"`
	PlanEndTime          grmi.DateTime   `xorm:"datetime 'PlanEndTime' not null" json:"OM_WorkOrder-PlanEndTime"`
	FixStartTimeToggle   bool            `xorm:"bit 'FixStartTimeToggle' not null" json:"OM_WorkOrder-FixStartTimeToggle"`
	ActStartTime         grmi.DateTime   `xorm:"datetime 'ActStartTime' not null" json:"OM_WorkOrder-ActStartTime"`
	ActEndTime           grmi.DateTime   `xorm:"datetime 'ActEndTime' not null" json:"OM_WorkOrder-ActEndTime"`
	ProjectId            string          `xorm:"nvarchar(40) 'ProjectId' not null" json:"OM_WorkOrder-ProjectId"`
	CustomerId           string          `xorm:"nvarchar(40) 'CustomerId' not null" json:"OM_WorkOrder-CustomerId"`
	CustomerName         string          `xorm:"nvarchar(100) 'CustomerName' not null" json:"OM_WorkOrder-CustomerName"`
	LastModify           grmi.DateTime   `xorm:"datetime 'LastModify' not null updated" json:"OM_WorkOrder-LastModify"`
	LastUser             string          `xorm:"nvarchar(20) 'LastUser' not null" json:"OM_WorkOrder-LastUser"`
	CreateTime           grmi.DateTime   `xorm:"datetime 'CreateTime' not null created" json:"OM_WorkOrder-CreateTime"`
	WorkOrderStatus      WorkOrderStatus `json:"OM_WorkOrder-WorkOrderStatus" xorm:"-"`
	WorkOrderQty         WorkOrderQty    `json:"OM_WorkOrder-WorkOrderQty" xorm:"-"`
}

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