|
|
- package db
-
- import (
- "github.com/go-xorm/xorm"
- "github.com/pkg/errors"
- "leit.com/leit_seat_aps/common"
- "xorm.io/core"
- )
-
- // EDI文件表
- type Edi_oem struct {
- Finr int `xorm:"pk" json:"edi_oem.finr"`
- Ediid string `xorm:"pk" json:"edi_oem.ediid"`
- Descr string `json:"edi_oem.descr"`
- Enabled int `json:"edi_oem.enabled"`
- Oem string `json:"edi_oem.oem"`
- Fileserver_host string `json:"edi_oem.fileserver_host"`
- Tod_folder string `json:"edi_oem.tod_folder"`
- Seq_folder string `json:"edi_oem.seq_folder"`
- Reorder_folder string `json:"edi_oem.reorder_folder"`
- Calloff_folder string `json:"edi_oem.calloff_folder"`
- Tod_filename_regexp string `json:"edi_oem.tod_filename_regexp"`
- Seq_filename_regexp string `json:"edi_oem.seq_filename_regexp"`
- Reorder_filename_regexp string `json:"edi_oem.reorder_filename_regexp"`
- Calloff_filename_regexp string `json:"edi_oem.calloff_filename_regexp"`
- Emailserver_host string `json:"edi_oem.emailserver_host"`
- Emailserver_port int `json:"edi_oem.emailserver_port"`
- From_email string `json:"edi_oem.from_email"`
- From_pwd string `json:"edi_oem.from_pwd"`
- Edi_error_to_recievers string `json:"edi_oem.edi_error_to_recievers"`
- Lastmodif string `json:"edi_oem.lastmodif"`
- Lastuser string `json:"edi_oem.lastuser"`
- Credatuz string `json:"edi_oem.credatuz"`
- Itemlst []Edi_oem_itemlst `json:"itemlst" xorm:"-"`
- }
-
- func (t *Edi_oem) Clipped() {
- common.TrimStruct(t, *t)
- }
-
- func (t *Edi_oem) TableName() string {
- return "edi_oem"
- }
-
- //增
- func (t *Edi_oem) Add() (err error) {
- var (
- i int
- affw int64
- editab Edi_oem
- )
-
- e := G_DbEngine
- editab = Edi_oem{}
- affw, err = e.Table("edi_oem").ID(core.PK{G_FINR, t.Ediid}).Count(editab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = e.Table("edi_oem").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 *Edi_oem) Insert(session *xorm.Session) (err error) {
- var (
- i int
- affw int64
- editab Edi_oem
- )
-
- editab = Edi_oem{}
- affw, err = session.Table("edi_oem").ID(core.PK{G_FINR, t.Ediid}).Count(editab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = session.Table("edi_oem").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 *Edi_oem) Del() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Ediid}).Delete(&Edi_oem{})
- if err != nil {
- return false
- }
- return true
- }
-
- //改
- func (t *Edi_oem) Update() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Ediid}).Update(t)
- if err != nil {
- return false
- }
- return true
- }
-
- //更新指定字段
- func (t *Edi_oem) UpdateFields(session *xorm.Session, fields string) (err error) {
- if _, err = session.Table("edi_oem").ID(core.PK{G_FINR, t.Ediid}).Cols(fields).Update(t); err != nil {
- return
- }
- return
- }
-
- //查
- func (t *Edi_oem) SelectOne() (data Edi_oem, err error) {
- var i int
-
- e := G_DbEngine
- _, err = e.ID(core.PK{G_FINR, t.Ediid}).Get(&data)
- if err != nil {
- return data, err
- }
- data.Clipped()
-
- // 获取值列表
- if err = e.Where("finr = ? and ediid = ? ",
- G_FINR, data.Ediid).OrderBy("itemtype").Find(&data.Itemlst); err != nil {
- return
- }
- for i, _ = range data.Itemlst {
- data.Itemlst[i].Clipped()
- }
-
- return data, nil
- }
-
- //查
- func (t *Edi_oem) SelectOneBySession(session *xorm.Session) (data Edi_oem, err error) {
- var i int
-
- _, err = session.ID(core.PK{G_FINR, t.Ediid}).Get(&data)
- if err != nil {
- return data, err
- }
- data.Clipped()
-
- // 获取值列表
- if err = session.Where("finr = ? and ediid = ? ",
- G_FINR, data.Ediid).OrderBy("itemtype").Find(&data.Itemlst); err != nil {
- return
- }
- for i, _ = range data.Itemlst {
- data.Itemlst[i].Clipped()
- }
-
- return data, nil
- }
-
- // 查询激活的EDI
- func (t *Edi_oem) SelectActiveOnes() (datalst []Edi_oem, err error) {
- var i, j int
-
- e := G_DbEngine
-
- // 获取激活的edi列表
- if err = e.Where("finr = ? and enabled > ? ",
- G_FINR, 0).OrderBy("ediid").Find(&datalst); err != nil {
- return
- }
- for i, _ = range datalst {
- datalst[i].Clipped()
-
- // 获取值列表
- if err = e.Where("finr = ? and ediid = ? ",
- G_FINR, datalst[i].Ediid).OrderBy("itemtype").Find(&datalst[i].Itemlst); err != nil {
- return
- }
- for j, _ = range datalst[i].Itemlst {
- datalst[i].Itemlst[j].Clipped()
- }
- }
-
- return
- }
|