package db import ( "errors" "github.com/go-xorm/xorm" "leit.com/leit_seat_aps/common" "xorm.io/core" ) //Reorder头信息表 type Pln_reordersupplygroup_landing struct { Finr int `xorm:"pk"` Reordernr string `xorm:"pk"` Oemordernr string `xorm:"pk"` Supplygroupid string `xorm:"pk"` Seqmode int Lastmodif string Lastuser string Credatuz string Partlst []Pln_reorderpart_landing `xorm:"-"` } func (t *Pln_reordersupplygroup_landing) Clipped() { common.TrimStruct(t, *t) } func (t *Pln_reordersupplygroup_landing) TableName() string { return "pln_reordersupplygroup_landing" } //增 func (t *Pln_reordersupplygroup_landing) Add() error { e := G_DbEngine reordsgtab := new(Pln_reordersupplygroup_landing) affw, err := e.Table("pln_reordersupplygroup_landing").ID(core.PK{G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid}).Count(reordsgtab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = e.Table("pln_reordersupplygroup_landing").Insert(t) if err != nil { return err } return nil } //增 func (t *Pln_reordersupplygroup_landing) Insert(session *xorm.Session) error { reordsgtab := new(Pln_reordersupplygroup_landing) affw, err := session.Table("pln_reordersupplygroup_landing").ID(core.PK{G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid}).Count(reordsgtab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = session.Table("pln_reordersupplygroup_landing").Insert(t) if err != nil { return err } return nil } //删 func (t *Pln_reordersupplygroup_landing) Del() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid}).Delete(&Pln_reordersupplygroup_landing{}) if err != nil { return false } return true } //改 func (t *Pln_reordersupplygroup_landing) Update() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Reordernr, t.Supplygroupid}).Update(t) if err != nil { return false } return true } //更新指定字段 func (t *Pln_reordersupplygroup_landing) UpdateFields(session *xorm.Session, fields string) (err error) { if _, err = session.Table("pln_reordersupplygroup_landing").ID(core.PK{G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid}).Cols(fields).Update(t); err != nil { return } return } //查 func (t *Pln_reordersupplygroup_landing) SelectOne() (data Pln_reordersupplygroup_landing, err error) { var ( i int partlst []Pln_reorderpart_landing ) e := G_DbEngine _, err = e.ID(core.PK{G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid}).Get(&data) if err != nil { return data, err } data.Clipped() // 获取供应组列表 if err = e.Where("finr = ? and reordernr = ? and oemordernr = ? and supplygroupid = ?", G_FINR, t.Reordernr, t.Oemordernr, t.Supplygroupid).OrderBy("partid").Find(&partlst); err != nil { return } for i, _ = range partlst { partlst[i].Clipped() } data.Partlst = partlst return data, nil }