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.
 

193 lines
6.0 KiB

// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
package models
import (
"errors"
"leit.com/LAPP_GAAS_GFrame/db"
"leit.com/LAPP_GAAS_GFrame/schedule"
"time"
"xorm.io/core"
)
type OMWorkorderstatusrecLst struct {
Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
Workorderid string `json:"WorkOrderId" xorm:"not null pk NVARCHAR(40)"`
Pos int `json:"Pos" xorm:"not null pk INT(4)"`
Prevstatus int `json:"PrevStatus" xorm:"not null INT(4)"`
Status int `json:"Status" xorm:"not null INT(4)"`
Starttime time.Time `json:"StartTime" xorm:"DATETIME(8)"`
Endtime time.Time `json:"EndTime" xorm:"DATETIME(8)"`
Triggerevent string `json:"TriggerEvent" xorm:"not null NVARCHAR(40)"`
Triggerobjectid string `json:"TriggerObjectId" xorm:"not null NVARCHAR(40)"`
Triggersubobjectid string `json:"TriggerSubObjectId" xorm:"not null NVARCHAR(40)"`
Outputstatus int `json:"OutputStatus" xorm:"not null INT(4)"`
Outputevent string `json:"OutputEvent" xorm:"not null NVARCHAR(40)"`
OutputeventmessageId string `json:"OutputEventMessageId" xorm:"not null NVARCHAR(40)"`
OutputobjectId string `json:"OutputObjectId" xorm:"not null NVARCHAR(40)"`
OutputsubobjectId string `json:"OutputSubObjectId" xorm:"not null NVARCHAR(40)"`
Remark1 string `json:"Remark1" xorm:"not null pk NVARCHAR(80)"`
Remark2 string `json:"Remark2" xorm:"not null pk NVARCHAR(80)"`
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 *OMWorkorderstatusrecLst) TableName() string {
return "OMWorkOrderStatusRecLst"
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据添加
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Leo Xue
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *OMWorkorderstatusrecLst) Add() (err error) {
var (
pos int
statrectab OMWorkorderstatusrecLst
statrectablst []OMWorkorderstatusrecLst
)
e := db.Eloquent.Master()
statrectab = OMWorkorderstatusrecLst{}
// 获取该批次订单的状态记录行数+1
if err = e.Where("PlantNr = ? and ProdOrderId = ?",t.Plantnr, t.Workorderid).Desc("Pos").Limit(1, 0).Find(&statrectablst); err != nil{
return
}
if len(statrectablst) <= 0 {
pos = 1
}else{
pos = statrectablst[0].Pos + 1
}
// 插入新记录
affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Workorderid, pos}).Count(statrectab)
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 *OMWorkorderstatusrecLst) Del() error {
e := db.Eloquent.Master()
/**主键:****/
_, err := e.ID(core.PK{t.Plantnr, t.Workorderid, t.Pos}).Delete(&OMWorkorderstatusrecLst{})
if err != nil {
return errors.New("删除失败!")
}
return nil
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据修改
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *OMWorkorderstatusrecLst) Update() error {
e := db.Eloquent.Master()
/**主键:****/
_, err := e.ID(core.PK{t.Plantnr, t.Workorderid, t.Pos}).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 *OMWorkorderstatusrecLst) SelectOne() (OMWorkorderstatusrecLst, error) {
e := db.Eloquent.Master()
var data OMWorkorderstatusrecLst
/**主键:****/
_, err := e.ID(core.PK{t.Plantnr, t.Workorderid, t.Pos}).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 *OMWorkorderstatusrecLst) SelectByEvent(event string) (datalst []OMWorkorderstatusrecLst, err error) {
e := db.Eloquent.Master()
/**主键:****/
if err = e.Where("PlantNr = ? and OutputEvent = ? and OutputStatus = ?",t.Plantnr, event, schedule.OUTPUT_TRIGGER_UNHANDLED).OrderBy("Createtime").Find(&datalst); err != nil {
return
}
return
}