第二代基于事件的高级计划排程引擎
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.
 

182 lines
5.0 KiB

// 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 Person struct {
Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
Personnr int `json:"PersonNr" xorm:"not null pk INT(4)"`
Personid string `json:"PersonId" xorm:"not null NVARCHAR(80)"`
Name string `json:"Name" xorm:"not null NVARCHAR(80)"`
Status int `json:"Status" xorm:"not null INT(4)"`
Costcenterid string `json:"CostCenterId" xorm:"not null NVARCHAR(80)"`
Departmentid string `json:"DepartmentId" xorm:"not null NVARCHAR(80)"`
Salarygrpid string `json:"SalaryGrpId" xorm:"not null NVARCHAR(80)"`
Bonusgrpid string `json:"BonusGrpId" xorm:"not null NVARCHAR(80)"`
Entrydate time.Time `json:"EntryDate" xorm:"DATE(3)"`
Birthdate time.Time `json:"BirthDate" xorm:"DATE(3)"`
Avatar string `json:"Avatar" xorm:"not null NVARCHAR(200)"`
Personipara1 int `json:"PersonIPara1" xorm:"not null INT(4)"`
Personipara2 int `json:"PersonIPara2" xorm:"not null INT(4)"`
Persondpara1 float32 `json:"PersonDPara1" xorm:"not null FLOAT(8)"`
Persondpara2 float32 `json:"PersonDPara2" xorm:"not null FLOAT(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 *Person) TableName() string {
return "Person"
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据添加
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *Person) Add() error {
e := db.Eloquent.Master()
count := new(Person)
/**主键:****/
/******/
affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Personnr}).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 *Person) Del() (err error) {
e := db.Eloquent.Master()
/**主键:****/
/******/
_, err = e.ID(core.PK{t.Plantnr, t.Personnr}).Delete(&Person{})
if err != nil {
return
}
return nil
}
/******************************************************************************
*
* @Function Name :
*-----------------------------------------------------------------------------
*
* @Description : 数据修改
*
* @Function Parameters:
*
* @Return Value :
*
* @Author : Lou Wenzhi
*
* @Date : 2021/3/6 8:47
*
******************************************************************************/
func (t *Person) Update() error {
e := db.Eloquent.Master()
/**主键:****/
/******/
_, err := e.ID(core.PK{t.Plantnr, t.Personnr}).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 *Person) SelectOne() (Person, error) {
e := db.Eloquent.Master()
var data Person
/**主键:****/
/******/
_, err := e.ID(core.PK{t.Plantnr, t.Personnr}).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 *Person) SelectAll() (datalst []Person, err error) {
e := db.Eloquent.Master()
if err = e.Table(t.TableName()).Where("PlantNr = ?",t.Plantnr).OrderBy("PersonNr").Find(&datalst); err != nil{
return
}
return
}