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

package om

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

/******************************************************************************
 *
 * @Struct Name              : ProdOrder
 *-----------------------------------------------------------------------------
 *
 * @Description              : ProdOrder的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-03-23 17:06:57
 *
 ******************************************************************************/
type ProdOrder struct {
	PlantNr              int           `xorm:"pk int 'PlantNr'" json:"OM_ProdOrder-PlantNr"`
	ProdOrderId          string        `xorm:"pk nvarchar(40) 'ProdOrderId'" json:"OM_ProdOrder-ProdOrderId"`
	ArtId                string        `xorm:"nvarchar(40) 'ArtId' not null" json:"OM_ProdOrder-ArtId"`
	CustArtId            string        `xorm:"nvarchar(40) 'CustArtId' not null" json:"OM_ProdOrder-CustArtId"`
	RouteTemplateId      string        `xorm:"nvarchar(40) 'RouteTemplateId' not null" json:"OM_ProdOrder-RouteTemplateId"`
	OrderType            string        `xorm:"nvarchar(20) 'OrderType' not null" json:"OM_ProdOrder-OrderType"`
	OrderInfo            string        `xorm:"nvarchar(100) 'OrderInfo' not null" json:"OM_ProdOrder-OrderInfo"`
	CustOrderId          string        `xorm:"nvarchar(40) 'CustOrderId' not null" json:"OM_ProdOrder-CustOrderId"`
	ErpOrderId           string        `xorm:"nvarchar(40) 'ErpOrderId' not null" json:"OM_ProdOrder-ErpOrderId"`
	ParentOrderId        string        `xorm:"nvarchar(40) 'ParentOrderId' not null" json:"OM_ProdOrder-ParentOrderId"`
	Priority             int           `xorm:"int 'Priority' not null" json:"OM_ProdOrder-Priority"`
	Status               int           `xorm:"int 'Status' not null" json:"OM_ProdOrder-Status"`
	PlanResourceGroupId  string        `xorm:"nvarchar(40) 'PlanResourceGroupId' not null" json:"OM_ProdOrder-PlanResourceGroupId"`
	PlanResourceId       string        `xorm:"nvarchar(40) 'PlanResourceId' not null" json:"OM_ProdOrder-PlanResourceId"`
	UsedResourceId       string        `xorm:"nvarchar(40) 'UsedResourceId' not null" json:"OM_ProdOrder-UsedResourceId"`
	PlanQty              float64       `xorm:"float 'PlanQty' not null" json:"OM_ProdOrder-PlanQty"`
	QtyUomId             string        `xorm:"nvarchar(10) 'QtyUomId' not null" json:"OM_ProdOrder-QtyUomId"`
	RatePerHourToggle    bool          `xorm:"bit 'RatePerHourToggle' not null" json:"OM_ProdOrder-RatePerHourToggle"`
	TimePerItemToggle    bool          `xorm:"bit 'TimePerItemToggle' not null" json:"OM_ProdOrder-TimePerItemToggle"`
	TimePerBatchToggle   bool          `xorm:"bit 'TimePerBatchToggle' not null" json:"OM_ProdOrder-TimePerBatchToggle"`
	BatchTimeFieldToggle bool          `xorm:"bit 'BatchTimeFieldToggle' not null" json:"OM_ProdOrder-BatchTimeFieldToggle"`
	OpTimePerItem        float64       `xorm:"float 'OpTimePerItem'" json:"OM_ProdOrder-OpTimePerItem"`
	BatchTime            float64       `xorm:"float 'BatchTime'" json:"OM_ProdOrder-BatchTime"`
	QuantityPerHour      float64       `xorm:"float 'QuantityPerHour' not null" json:"OM_ProdOrder-QuantityPerHour"`
	MidBatchQuantity     int           `xorm:"int 'MidBatchQuantity' not null" json:"OM_ProdOrder-MidBatchQuantity"`
	MidBatchTime         grmi.DateTime `xorm:"datetime 'MidBatchTime'" json:"OM_ProdOrder-MidBatchTime"`
	BatchingMethod       int           `xorm:"int 'BatchingMethod' not null" json:"OM_ProdOrder-BatchingMethod"`
	PlanStartDate        grmi.Date     `xorm:"date 'PlanStartDate' not null" json:"OM_ProdOrder-PlanStartDate"`
	PlanEndDate          grmi.Date     `xorm:"date 'PlanEndDate' not null" json:"OM_ProdOrder-PlanEndDate"`
	PlanStartTime        grmi.DateTime `xorm:"datetime 'PlanStartTime' not null" json:"OM_ProdOrder-PlanStartTime"`
	PlanEndTime          grmi.DateTime `xorm:"datetime 'PlanEndTime' not null" json:"OM_ProdOrder-PlanEndTime"`
	ActStartTime         grmi.DateTime `xorm:"datetime 'ActStartTime' not null" json:"OM_ProdOrder-ActStartTime"`
	ActEndTime           grmi.DateTime `xorm:"datetime 'ActEndTime' not null" json:"OM_ProdOrder-ActEndTime"`
	ProjectId            string        `xorm:"nvarchar(40) 'ProjectId' not null" json:"OM_ProdOrder-ProjectId"`
	CustomerId           string        `xorm:"nvarchar(40) 'CustomerId' not null" json:"OM_ProdOrder-CustomerId"`
	CustomerName         string        `xorm:"nvarchar(100) 'CustomerName' not null" json:"OM_ProdOrder-CustomerName"`
	BackflushStatus      int           `xorm:"int 'BackflushStatus' not null" json:"OM_ProdOrder-BackflushStatus"`
	BackflushTime        grmi.DateTime `xorm:"datetime 'BackflushTime'" json:"OM_ProdOrder-BackflushTime"`
	PackStatus           int           `xorm:"int 'PackStatus' not null" json:"OM_ProdOrder-PackStatus"`
	PackTime             grmi.DateTime `xorm:"datetime 'PackTime'" json:"OM_ProdOrder-PackTime"`
	ShipStatus           int           `xorm:"int 'ShipStatus' not null" json:"OM_ProdOrder-ShipStatus"`
	ShipTime             grmi.DateTime `xorm:"datetime 'ShipTime'" json:"OM_ProdOrder-ShipTime"`
	LastModify           grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"OM_ProdOrder-LastModify"`
	LastUser             string        `xorm:"nvarchar(20) 'LastUser' not null" json:"OM_ProdOrder-LastUser"`
	CreateTime           grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"OM_ProdOrder-CreateTime"`
}

/******************************************************************************
 *
 * @Function Name            : GetKey
 *-----------------------------------------------------------------------------
 *
 * @Description              : 获取实体的主键
 *
 * @Return Value             : 实体的主键
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-03-23 17:06:57
 *
 ******************************************************************************/
func (self *ProdOrder) GetKey() core.PK {
	return core.PK{self.PlantNr, self.ProdOrderId}
}
