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 }