package db import ( "errors" "github.com/go-xorm/xorm" "leit.com/leit_seat_aps/common" "xorm.io/core" ) //发运包装单表 type Jit_bbaasn struct { Finr int `xorm:"pk" json:"jit_bbaasn.finr"` Asn string `xorm:"pk" json:"jit_bbaasn.asn"` Asntemplateid string `json:"jit_bbaasn.asntemplateid"` Shiporderid string `json:"jit_bbaasn.shiporderid"` Projnr string `json:"jit_bbaasn.projnr"` Partfamilyid string `json:"jit_bbaasn.partfamilyid"` Totalbinqty int `json:"jit_bbaasn.totalbinqty"` Shipfileflag int `json:"jit_bbaasn.shipfileflag"` Bol string `json:"jit_bbaasn.bol"` Asndate string `json:"jit_bbaasn.asndate"` Asntime string `json:"jit_bbaasn.asntime"` Shipto string `json:"jit_bbaasn.shipto"` Lastmodif string `json:"jit_bbaasn.lastmodif"` Lastuser string `json:"jit_bbaasn.lastuser"` Credatuz string `json:"jit_bbaasn.credatuz"` Itemlst []Jit_bbaasn_itemlst `json:"itemlst" xorm:"-"` } func (t *Jit_bbaasn) Clipped() { common.TrimStruct(t, *t) } func (t *Jit_bbaasn) TableName() string { return "jit_bbaasn" } //增 func (t *Jit_bbaasn) Add() (err error) { var ( i int affw int64 asntab Jit_bbaasn ) e := G_DbEngine asntab = Jit_bbaasn{} affw, err = e.Table("jit_bbaasn").ID(core.PK{G_FINR, t.Asn}).Count(asntab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = e.Table("jit_bbaasn").Insert(t) if err != nil { return err } // 遍历子项并插入 for i = 0; i < len(t.Itemlst); i++ { if err = t.Itemlst[i].Add(); err != nil { return } } return nil } //增 func (t *Jit_bbaasn) Insert(session *xorm.Session) (err error) { var ( i int affw int64 asntab Jit_bbaasn ) asntab = Jit_bbaasn{} affw, err = session.Table("jit_bbaasn").ID(core.PK{G_FINR, t.Asn}).Count(asntab) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = session.Table("jit_bbaasn").Insert(t) if err != nil { return err } // 遍历子项并插入 for i = 0; i < len(t.Itemlst); i++ { if err = t.Itemlst[i].Insert(session); err != nil { return } } return } //删 func (t *Jit_bbaasn) Del() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Asn}).Delete(&Jit_bbaasn{}) if err != nil { return false } return true } //改 func (t *Jit_bbaasn) Update() bool { e := G_DbEngine _, err := e.ID(core.PK{G_FINR, t.Asn}).Update(t) if err != nil { return false } return true } //更新指定字段 func (t *Jit_bbaasn) UpdateFields(session *xorm.Session, fields string) (err error) { if _, err = session.Table("jit_bbaasn").ID(core.PK{G_FINR, t.Asn}).Cols(fields).Update(t); err != nil { return } return } //查 func (t *Jit_bbaasn) SelectOne() (data Jit_bbaasn, err error) { var i int e := G_DbEngine _, err = e.ID(core.PK{G_FINR, t.Asn}).Get(&data) if err != nil { return data, err } data.Clipped() // 获取值列表 if err = e.Where("finr = ? and asn = ? ", G_FINR, data.Asn).OrderBy("pos").Find(&data.Itemlst); err != nil { return } for i, _ = range data.Itemlst { data.Itemlst[i].Clipped() } return data, nil } //查 func (t *Jit_bbaasn) SelectOneBySession(session *xorm.Session) (data Jit_bbaasn, err error) { var i int _, err = session.ID(core.PK{G_FINR, t.Asn}).Get(&data) if err != nil { return data, err } data.Clipped() // 获取值列表 if err = session.Where("finr = ? and asn = ? ", G_FINR, data.Asn).OrderBy("pos").Find(&data.Itemlst); err != nil { return } for i, _ = range data.Itemlst { data.Itemlst[i].Clipped() } return data, nil }