|
|
- // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
- package models
-
- import (
- "errors"
- "leit.com/aps_engine/db"
- "time"
- "xorm.io/core"
- )
-
- type Toolunavailtimelst struct {
- Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
- Toolnr int `json:"ToolNr" xorm:"not null pk INT(4)"`
- Projectid string `json:"ProjectId" xorm:"not null NVARCHAR(80)"`
- Begtime time.Time `json:"BegTime" xorm:"not null pk DATETIME(8)"`
- Endtime time.Time `json:"EndTime" xorm:"DATETIME(8)"`
- Lastmodify time.Time `json:"LastModify" xorm:"DATETIME(8)"`
- Lastuser string `json:"LastUser" xorm:"not null NVARCHAR(40)"`
- Createtime time.Time `json:"CreateTime" xorm:"DATETIME(8)"`
- }
-
- /******数据表名******/
- func (t *Toolunavailtimelst) TableName() string {
- return "Toolunavailtimelst"
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据添加
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *Toolunavailtimelst) Add() error {
- e := db.Eloquent.Master()
- count := new(Toolunavailtimelst)
- /**主键:****/
-
- /******/
- affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Toolnr, t.Begtime}).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 *Toolunavailtimelst) Del() (err error) {
- e := db.Eloquent.Master()
- /**主键:****/
-
- /******/
- _, err = e.ID(core.PK{t.Plantnr, t.Toolnr, t.Begtime}).Delete(&Toolunavailtimelst{})
- if err != nil {
- return
- }
- return nil
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据修改
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *Toolunavailtimelst) Update() error {
- e := db.Eloquent.Master()
- /**主键:****/
-
- /******/
- _, err := e.ID(core.PK{t.Plantnr, t.Toolnr, t.Begtime}).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 *Toolunavailtimelst) SelectOne() (Toolunavailtimelst, error) {
- e := db.Eloquent.Master()
- var data Toolunavailtimelst
- /**主键:****/
-
- /******/
- _, err := e.ID(core.PK{t.Plantnr, t.Toolnr, t.Begtime}).Get(&data)
- if err != nil {
- return data, err
- }
- return data, nil
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 查找指定时段内所有工具的不可用时间
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : LEO XUE
- *
- * @Date : 2021/5/10 8:47
- *
- ******************************************************************************/
- func (t *Toolunavailtimelst) GetUnAvailTime(starttime, endtime time.Time) (datalst []Toolunavailtimelst, err error) {
- e := db.Eloquent.Master()
- if err = e.Table(t.TableName()).Where("PlantNr = ? and BegTime >= ? and BegTime <= ?",
- t.Plantnr, starttime, endtime).Or("PlantNr = ? and EndTime >= ? and EndTime <= ?",
- t.Plantnr, starttime, endtime).Asc("ToolNr","BegTime").Find(&datalst); err != nil{
- return
- }
- return
- }
|