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.5 KiB

package db
import (
"errors"
"github.com/go-xorm/xorm"
"leit.com/leit_seat_aps/common"
"xorm.io/core"
)
//批次订单表
type Pln_batchorder struct {
Finr int `xorm:"pk"`
Batchordernr string `xorm:"pk"`
Orderinfo string
Partid string
Ordertype string
Worklineid string
Status int
Schedbegtime string
Schedendtime string
Actbegtime string
Actendtime string
Duedate string
Planqty int
Actqty int
Setupdura int
Jph float32
Startoemseq float64
Endoemseq float64
Lastmodif string
Lastuser string
Credatuz string
}
func (t *Pln_batchorder) Clipped() {
common.TrimStruct(t, *t)
}
func (t *Pln_batchorder) TableName() string {
return "pln_batchorder"
}
//增
func (t *Pln_batchorder) Add() error {
e := G_DbEngine
botab := new(Pln_batchorder)
affw, err := e.Table("pln_batchorder").ID(core.PK{G_FINR, t.Batchordernr}).Count(botab)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = e.Table("pln_batchorder").Insert(t)
if err != nil {
return err
}
return nil
}
//增
func (t *Pln_batchorder) Insert(session *xorm.Session) (err error) {
var (
affw int64
botab Pln_batchorder
)
botab = Pln_batchorder{}
affw, err = session.Table("pln_batchorder").ID(core.PK{G_FINR, t.Batchordernr}).Count(botab)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = session.Table("pln_batchorder").Insert(t)
if err != nil {
return err
}
return nil
}
//删
func (t *Pln_batchorder) Del() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Batchordernr}).Delete(&Pln_batchorder{})
if err != nil {
return false
}
return true
}
//改
func (t *Pln_batchorder) Update() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Batchordernr}).Update(t)
if err != nil {
return false
}
return true
}
//查
func (t *Pln_batchorder) SelectOne() (data Pln_batchorder, err error) {
e := G_DbEngine
_, err = e.ID(core.PK{G_FINR, t.Batchordernr}).Get(&data)
if err != nil {
return data, err
}
data.Clipped()
return data, nil
}
//获取某物料某日的
func (t *Pln_batchorder) SelectByMaterialDuedate(partid, ddt string, session *xorm.Session) (datalst []Pln_batchorder, err error) {
var i int
if err = session.Where("finr = ? and partid = ? and duedate = ?", G_FINR, partid, ddt).OrderBy("batchordernr").Find(&datalst); err != nil {
return
}
for i = 0; i < len(datalst); i++ {
datalst[i].Clipped()
}
return datalst, nil
}