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