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

package pln

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

/******************************************************************************
 *
 * @Struct Name              : CustOrder
 *-----------------------------------------------------------------------------
 *
 * @Description              : CustOrder的实体映射
 *
 * @Author                   : 代码生成器创建
 *
 * @Date                     : 2021-10-22 13:50:40
 *
 ******************************************************************************/
type CustOrder struct {
	PlantNr            int             `xorm:"pk int 'PlantNr'" json:"PLN_CustOrder-PlantNr"`
	SourceId           string          `xorm:"nvarchar(40) 'SourceId'" json:"PLN_CustOrder-SourceId"`
	CustOrderId        string          `xorm:"pk nvarchar(40) 'CustOrderId'" json:"PLN_CustOrder-CustOrderId"`
	ProductFamilyId    string          `xorm:"nvarchar(40) 'ProductFamilyId' not null" json:"PLN_CustOrder-ProductFamilyId"`
	PartId             string          `xorm:"nvarchar(40) 'PartId' not null" json:"PLN_CustOrder-PartId"`
	OemOrderId         string          `xorm:"nvarchar(40) 'OemOrderId' not null" json:"PLN_CustOrder-OemOrderId"`
	OrderType          string          `xorm:"nvarchar(20) 'OrderType' not null" json:"PLN_CustOrder-OrderType"`
	OrderInfo          string          `xorm:"nvarchar(100) 'OrderInfo' not null" json:"PLN_CustOrder-OrderInfo"`
	OrderTime          grmi.DateTime   `xorm:"datetime 'OrderTime' not null" json:"PLN_CustOrder-OrderTime"`
	DeliveryTime       grmi.DateTime   `xorm:"datetime 'DeliveryTime' not null" json:"PLN_CustOrder-DeliveryTime"`
	ProjectId          string          `xorm:"nvarchar(40) 'ProjectId' not null" json:"PLN_CustOrder-ProjectId"`
	ConfigValue        string          `xorm:"nvarchar(40) 'ConfigValue' not null" json:"PLN_CustOrder-ConfigValue"`
	ModelValue         string          `xorm:"nvarchar(40) 'ModelValue' not null" json:"PLN_CustOrder-ModelValue"`
	ColorValue         string          `xorm:"nvarchar(40) 'ColorValue' not null" json:"PLN_CustOrder-ColorValue"`
	HandleStatus       string          `xorm:"nvarchar(2) 'HandleStatus' not null" json:"PLN_CustOrder-HandleStatus"`
	VinPrefix          string          `xorm:"nvarchar(40) 'VinPrefix' not null" json:"PLN_CustOrder-VinPrefix"`
	VinNrFrom          int             `xorm:"int 'VinNrFrom' not null" json:"PLN_CustOrder-VinNrFrom"`
	VinNrTo            int             `xorm:"int 'VinNrTo' not null" json:"PLN_CustOrder-VinNrTo"`
	Vin                string          `xorm:"nvarchar(40) 'Vin' not null" json:"PLN_CustOrder-Vin"`
	PlanQty            int             `xorm:"int 'PlanQty' not null" json:"PLN_CustOrder-PlanQty"`
	DeliveryDate       grmi.Date       `xorm:"date 'DeliveryDate' not null" json:"PLN_CustOrder-DeliveryDate"`
	DeliveryDateTime   grmi.DateTime   `xorm:"datetime 'DeliveryDateTime' not null" json:"PLN_CustOrder-DeliveryDateTime"`
	OemSeq             int64           `xorm:"bigint 'OemSeq' not null" json:"PLN_CustOrder-OemSeq"`
	AssemblyLine       string          `xorm:"nvarchar(40) 'AssemblyLine' not null" json:"PLN_CustOrder-AssemblyLine"`
	UnloadingPoint     string          `xorm:"nvarchar(40) 'UnloadingPoint' not null" json:"PLN_CustOrder-UnloadingPoint"`
	CalloffId          string          `xorm:"nvarchar(40) 'CalloffId' not null" json:"PLN_CustOrder-CalloffId"`
	CalloffDateTime    grmi.DateTime   `xorm:"datetime 'CalloffDateTime' not null" json:"PLN_CustOrder-CalloffDateTime"`
	ConsigneePlant     int             `xorm:"int 'ConsigneePlant' not null" json:"PLN_CustOrder-ConsigneePlant"`
	ConsigneeCompany   int             `xorm:"int 'ConsigneeCompany' not null" json:"PLN_CustOrder-ConsigneeCompany"`
	ConsumeCompany     int             `xorm:"int 'ConsumeCompany' not null" json:"PLN_CustOrder-ConsumeCompany"`
	ConsumePlant       int             `xorm:"int 'ConsumePlant' not null" json:"PLN_CustOrder-ConsumePlant"`
	UnloadingPlace     string          `xorm:"nvarchar(40) 'UnloadingPlace' not null" json:"PLN_CustOrder-UnloadingPlace"`
	VehicleIdSet       string          `xorm:"nvarchar(40) 'VehicleIdSet' not null" json:"PLN_CustOrder-VehicleIdSet"`
	VehicleId          string          `xorm:"nvarchar(40) 'VehicleId' not null" json:"PLN_CustOrder-VehicleId"`
	PlanStartDate      grmi.Date       `xorm:"date 'PlanStartDate' not null" json:"PLN_CustOrder-PlanStartDate"`
	PlanEndDate        grmi.Date       `xorm:"date 'PlanEndDate' not null" json:"PLN_CustOrder-PlanEndDate"`
	SetupStartTime     grmi.DateTime   `xorm:"datetime 'SetupStartTime' not null" json:"PLN_CustOrder-SetupStartTime"`
	SetupEndTime       grmi.DateTime   `xorm:"datetime 'SetupEndTime' not null" json:"PLN_CustOrder-SetupEndTime"`
	PlanStartTime      grmi.DateTime   `xorm:"datetime 'PlanStartTime' not null" json:"PLN_CustOrder-PlanStartTime"`
	PlanEndTime        grmi.DateTime   `xorm:"datetime 'PlanEndTime' not null" json:"PLN_CustOrder-PlanEndTime"`
	FixStartTimeToggle bool            `xorm:"bit 'FixStartTimeToggle' not null" json:"PLN_CustOrder-FixStartTimeToggle"`
	WorkLineId         string          `xorm:"nvarchar(50) 'WorkLineId' not null" json:"PLN_CustOrder-WorkLineId"`
	ActStartTime       grmi.DateTime   `xorm:"datetime 'ActStartTime' not null" json:"PLN_CustOrder-ActStartTime"`
	ActEndTime         grmi.DateTime   `xorm:"datetime 'ActEndTime' not null" json:"PLN_CustOrder-ActEndTime"`
	QuantityPerHour  int  `xorm:"datetime 'QuantityPerHour' not null" json:"PLN_CustOrder-QuantityPerHour"`
	CtrlPara1          int             `xorm:"int 'CtrlPara1' not null" json:"PLN_CustOrder-CtrlPara1"`
	CtrlPara2          int             `xorm:"int 'CtrlPara2' not null" json:"PLN_CustOrder-CtrlPara2"`
	CtrlStr1           string          `xorm:"nvarchar(255) 'CtrlStr1' not null" json:"PLN_CustOrder-CtrlStr1"`
	CtrlStr2           string          `xorm:"nvarchar(255) 'CtrlStr2' not null" json:"PLN_CustOrder-CtrlStr2"`
	LastModify         grmi.DateTime   `xorm:"datetime 'LastModify' not null updated" json:"PLN_CustOrder-LastModify"`
	LastUser           string          `xorm:"nvarchar(20) 'LastUser' not null" json:"PLN_CustOrder-LastUser"`
	CreateTime         grmi.DateTime   `xorm:"datetime 'CreateTime' not null created" json:"PLN_CustOrder-CreateTime"`
	OrderStatus        CustOrderStatus `xorm:"-" json:"PLN_CustOrder-OrderStatus"`
	OrderQty 			CustOrderQty `xorm:"-" json:"PLN_CustOrder-OrderQty"`
}

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