第二代基于事件的高级计划排程引擎
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

189 lines
5.5 KiB

// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
package models
import (
"leit.com/aps_engine/db"
"errors"
"leit.com/aps_engine/grmi"
"xorm.io/core"
)
type WeekModel struct {
PlantNr int `xorm:"pk int 'PlantNr'" json:"WeekModel-PlantNr"`
WeekModelNr int `xorm:"pk int 'WeekModelNr' autoincr" json:"WeekModel-WeekModelNr"`
DateFrom grmi.Date `xorm:"date 'DateFrom' not null" json:"WeekModel-DateFrom"`
Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WeekModel-Descr"`
Abrev string `xorm:"nvarchar(10) 'Abrev' not null" json:"WeekModel-Abrev"`
CtrlToggle bool `xorm:"bit 'CtrlToggle' not null" json:"WeekModel-CtrlToggle"`
LoopDays int `xorm:"int 'LoopDays' not null" json:"WeekModel-LoopDays"`
LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WeekModel-LastModify"`
LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WeekModel-LastUser"`
CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WeekModel-CreateTime"`
WeekModelLst []WeekModelLstAndDay `xorm:"-" json:"WeekModel-WeekModelLst"`
WeekModelLstLi []WeekModelLst `xorm:"-" json:"WeekModel-WeekModelLstLi"`
}
/******数据表名******/
func (t *WeekModel) TableName() string {
return "Weekmodel"
}
/******************************************************************************
*
* @Function Name : GetKey
*-----------------------------------------------------------------------------
*
* @Description : 获取实体的主键
*
* @Return Value : 实体的主键
*
* @Author : 代码生成器创建
*
* @Date : 2021-04-14 08:56:34
*
******************************************************************************/
func (self *WeekModel) GetKey() core.PK {
return core.PK{self.PlantNr, self.WeekModelNr}
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据添加
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *WeekModel) Add() error {
e := db.Eloquent.Master()
count := new(WeekModel)
affw, err := e.Table(t.TableName()).ID(t.GetKey()).Count(count)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = e.Table(t.TableName()).Insert(t)
if err != nil {
return err
}
return nil
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据删除
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *WeekModel) Del() bool {
e := db.Eloquent.Master()
_, err := e.ID(t.GetKey()).Delete(&WeekModel{})
if err != nil {
return false
}
return true
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据修改
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *WeekModel) Update() error {
e := db.Eloquent.Master()
_, err := e.ID(t.GetKey()).Update(t)
if err != nil {
return err
}
return nil
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据查找
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *WeekModel) SelectOne() (WeekModel, error) {
e := db.Eloquent.Master()
var data WeekModel
_, err := e.ID(t.GetKey()).Get(&data)
if err != nil {
return data, err
}
return data, nil
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据查找
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *WeekModel) SelectAll() (datalst []WeekModel, err error) {
var i int
e := db.Eloquent.Master()
if err = e.Table(t.TableName()).Where("PlantNr = ?",t.PlantNr).OrderBy("WeekModelNr").Find(&datalst);err != nil {
return
}
for i = 0; i < len(datalst); i++ {
if err = e.Table("WeekModelLst").Where("PlantNr = ? and WeekModelNr = ?", datalst[i].PlantNr,
datalst[i].WeekModelNr).OrderBy("WorkDate").Find(&datalst[i].WeekModelLstLi); err != nil {
return
}
}
return
}