package db import ( "errors" "github.com/go-xorm/xorm" "leit.com/leit_seat_aps/common" "xorm.io/core" ) //Grammer 的ASN订单信息表 type Jit_asnitem_landing struct { Finr int `xorm:"pk" json:"jit_asnitem_landing.finr"` Asnnr string `xorm:"pk" json:"jit_asnitem_landing.asnnr"` Partid string `xorm:"pk" json:"jit_asnitem_landing.partid"` Partdescr string `json:"jit_asnitem_landing.partdescr"` Purchaseordernr string `json:"jit_asnitem_landing.purchaseordernr"` Shipqty int `json:"jit_asnitem_landing.shipqty"` Qtyuom string `json:"jit_asnitem_landing.qtyuom"` Lastmodif string `json:"jit_asnitem_landing.lastmodif"` Lastuser string `json:"jit_asnitem_landing.lastuser"` Credatuz string `json:"jit_asnitem_landing.credatuz"` Orderlst []Jit_asnorder_landing `json:"orderlst" xorm:"-"` } func (t *Jit_asnitem_landing) Clipped() { common.TrimStruct(t, *t) } func (t *Jit_asnitem_landing) TableName() string { return "jit_asnitem_landing" } //增 func (t *Jit_asnitem_landing) Add() (err error) { var ( affw int64 asnitemtab Jit_asnitem_landing ) e := G_DbEngine asnitemtab = Jit_asnitem_landing{} affw, err = e.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Count(asnitemtab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = e.Table("jit_asnitem_landing").Insert(t) if err != nil { return err } return nil } //增 func (t *Jit_asnitem_landing) Insert(session *xorm.Session) (err error) { var ( affw int64 asnitemtab Jit_asnitem_landing ) asnitemtab = Jit_asnitem_landing{} affw, err = session.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Count(asnitemtab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = session.Table("jit_asnitem_landing").Insert(t) if err != nil { return err } return nil } //删 func (t *Jit_asnitem_landing) Del() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Delete(&Jit_asnitem_landing{}) if err != nil { return false } return true } //改 func (t *Jit_asnitem_landing) Update() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Update(t) if err != nil { return false } return true } //更新指定字段 func (t *Jit_asnitem_landing) UpdateFields(session *xorm.Session, fields string) (err error) { if _, err = session.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Cols(fields).Update(t); err != nil { return } return } //查 func (t *Jit_asnitem_landing) SelectOne() (data Jit_asnitem_landing, err error) { var i int e := G_DbEngine _, err = e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Get(&data) if err != nil { return data, err } // 获取订单列表 if err = e.Where("finr = ? and asnnr = ? and partid = ?", G_FINR, data.Asnnr, data.Partid).OrderBy("ordernr").Find(&data.Orderlst); err != nil { return } for i, _ = range data.Orderlst { data.Orderlst[i].Clipped() } return data, nil }