SJA APS后端代码
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.

130 lines
2.6 KiB

package db
import (
"errors"
"leit.com/leit_seat_aps/common"
"xorm.io/core"
)
//产线
type Workline struct {
Finr int `xorm:"pk"`
Worklineid string `xorm:"pk"`
Descr string
Linetype string
Lineplanmode string
Weekmodelid int
Workcalendarid int
Location string
Costcenterid string
Costrate float64
Prodeff float64
Reqworkers int
Pos int
Taskqueuesortway string
Multiqueuemixsort int
Taskqueuemixsortway string
Mixsortlogic string
Taskreleaseway string
Releaseparameter int
Releasetparameter string
Releasecparameter string
Lastmodif string
Lastuser string
Credatuz string
}
func (t *Workline) Clipped() {
common.TrimStruct(t, *t)
}
func (t *Workline) TableName() string {
return "workline"
}
//增
func (t *Workline) Add() error {
e := G_DbEngine
wltab := new(Workline)
affw, err := e.Table("workline").ID(core.PK{G_FINR, t.Worklineid}).Count(wltab)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = e.Table("workline").Insert(t)
if err != nil {
return err
}
return nil
}
//删
func (t *Workline) Del() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Worklineid}).Delete(&Workline{})
if err != nil {
return false
}
return true
}
//改
func (t *Workline) Update() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Worklineid}).Update(t)
if err != nil {
return false
}
return true
}
//查
func (t *Workline) SelectOne() (data Workline, err error) {
e := G_DbEngine
_, err = e.ID(core.PK{G_FINR, t.Worklineid}).Get(&data)
if err != nil {
return data, err
}
data.Clipped()
return data, nil
}
//查
func (t *Workline) GetByModeAndType(planmode string, linetypes []string) (datalst []Workline, err error) {
var i int
e := G_DbEngine
if len(linetypes) > 0 {
if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).In("linetype", linetypes).Find(&datalst); err != nil {
return
}
} else {
if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).Find(&datalst); err != nil {
return
}
}
for i = 0; i < len(datalst); i++ {
datalst[i].Clipped()
}
return
}
//查
func (t *Workline) GetByPlanMode(planmode string) (datalst []Workline, err error) {
var i int
e := G_DbEngine
if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).Find(&datalst); err != nil {
return
}
for i = 0; i < len(datalst); i++ {
datalst[i].Clipped()
}
return
}