// 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
|
|
}
|