SJA APS后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
6.1 KiB

package db
import (
"errors"
"github.com/go-xorm/xorm"
"leit.com/leit_seat_aps/common"
"xorm.io/core"
)
//发运包装模板表
type Jit_packtemplate struct {
Finr int `xorm:"pk" json:"jit_packtemplate.finr"`
Packtemplateid string `xorm:"pk" json:"jit_packtemplate.packtemplateid"`
Active int `json:"jit_packtemplate.active"`
Descr string `json:"jit_packtemplate.descr"`
Projnr string `json:"jit_packtemplate.projnr"`
Packtypeid string `json:"jit_packtemplate.packtypeid"`
Unfullfillable int `json:"jit_packtemplate.unfullfillable"`
Packordersn string `json:"jit_packtemplate.packordersn"`
Planqty int `json:"jit_packtemplate.planqty"`
Printerid string `json:"jit_packtemplate.printerid"`
Templatefile string `json:"jit_packtemplate.templatefile"`
Printqty int `json:"jit_packtemplate.printqty"`
Syncnr int `json:"jit_packtemplate.syncnr"`
Syncflag string `json:"jit_packtemplate.syncflag"`
Boxsn string `json:"jit_packtemplate.boxsn"`
Twodsheet int `json:"jit_packtemplate.twodsheet"`
Orientation int `json:"jit_packtemplate.orientation"`
Lastmodif string `json:"jit_packtemplate.lastmodif"`
Lastuser string `json:"jit_packtemplate.lastuser"`
Credatuz string `json:"jit_packtemplate.credatuz"`
Itemlst []Jit_packtemplate_itemlst `json:"itemlst" xorm:"-"`
Printlst []Jit_packtemplate_printlst `json:"printlst" xorm:"-"`
}
func (t *Jit_packtemplate) Clipped() {
common.TrimStruct(t, *t)
}
func (t *Jit_packtemplate) TableName() string {
return "jit_packtemplate"
}
//增
func (t *Jit_packtemplate) Add() error {
e := G_DbEngine
pktmptab := new(Jit_packtemplate)
affw, err := e.Table("jit_packtemplate").ID(core.PK{G_FINR, t.Packtemplateid}).Count(pktmptab)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = e.Table("jit_packtemplate").Insert(t)
if err != nil {
return err
}
return nil
}
//增
func (t *Jit_packtemplate) Insert(session *xorm.Session) error {
pktmptab := new(Jit_packtemplate)
affw, err := session.Table("jit_packtemplate").ID(core.PK{G_FINR, t.Packtemplateid}).Count(pktmptab)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = session.Table("jit_packtemplate").Insert(t)
if err != nil {
return err
}
return nil
}
//删
func (t *Jit_packtemplate) Del() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Packtemplateid}).Delete(&Jit_packtemplate{})
if err != nil {
return false
}
return true
}
//改
func (t *Jit_packtemplate) Update() bool {
e := G_DbEngine
_, err := e.ID(core.PK{G_FINR, t.Packtemplateid}).Update(t)
if err != nil {
return false
}
return true
}
//更新指定字段
func (t *Jit_packtemplate) UpdateFields(session *xorm.Session, fields string) (err error) {
if _, err = session.Table("jit_packtemplate").ID(core.PK{G_FINR, t.Packtemplateid}).Cols(fields).Update(t); err != nil {
return
}
return
}
//查
func (t *Jit_packtemplate) SelectOne() (data Jit_packtemplate, err error) {
var i int
e := G_DbEngine
_, err = e.ID(core.PK{G_FINR, t.Packtemplateid}).Get(&data)
if err != nil {
return data, err
}
// 获取值列表
data.Clipped()
if err = e.Where("finr = ? and packtemplateid = ? ",
G_FINR, data.Packtemplateid).OrderBy("pos").Find(&data.Itemlst); err != nil {
return
}
for i, _ = range data.Itemlst {
data.Itemlst[i].Clipped()
}
return data, nil
}
//查
func (t *Jit_packtemplate) SelectTempOne() (data Jit_packtemplate, err error) {
e := G_DbEngine
_, err = e.ID(core.PK{G_FINR, t.Packtemplateid}).Get(&data)
if err != nil {
return data, err
}
// 获取值列表
data.Clipped()
return data, nil
}
// 获取指定项目的包装模板列表
func (t *Jit_packtemplate) GetProjectAll(projnr string) (datalst []Jit_packtemplate, err error) {
var i, j, k int
e := G_DbEngine
if err = e.Where("finr = ? and projnr = ?", G_FINR, projnr).OrderBy("packtemplateid").Find(&datalst); err != nil {
return
}
// 遍历模板获取模板子项数据
for i, _ = range datalst {
datalst[i].Clipped()
datalst[i].Itemlst = []Jit_packtemplate_itemlst{}
// 获取属模板子项数据
if err = e.Where("finr = ? and packtemplateid = ?", G_FINR, datalst[i].Packtemplateid).OrderBy("pos").Find(&datalst[i].Itemlst); err != nil {
return
}
for j, _ = range datalst[i].Itemlst {
datalst[i].Itemlst[j].Clipped()
}
// 获取属模板打印设置数据
if err = e.Where("finr = ? and packtemplateid = ?", G_FINR, datalst[i].Packtemplateid).OrderBy("pos").Find(&datalst[i].Printlst); err != nil {
return
}
for k, _ = range datalst[i].Printlst {
datalst[i].Printlst[k].Clipped()
}
}
return
}
// 获取指定项目的包装模板列表
func (t *Jit_packtemplate) GetAll() (datalst []Jit_packtemplate, err error) {
var i, j, k int
e := G_DbEngine
if err = e.Where("finr = ?", G_FINR).OrderBy("packtemplateid").Find(&datalst); err != nil {
return
}
// 遍历模板获取模板子项数据
for i, _ = range datalst {
datalst[i].Clipped()
datalst[i].Itemlst = []Jit_packtemplate_itemlst{}
// 获取属模板子项数据
if err = e.Where("finr = ? and packtemplateid = ?", G_FINR, datalst[i].Packtemplateid).OrderBy("pos").Find(&datalst[i].Itemlst); err != nil {
return
}
for j, _ = range datalst[i].Itemlst {
datalst[i].Itemlst[j].Clipped()
}
// 获取属模板打印设置数据
if err = e.Where("finr = ? and packtemplateid = ?", G_FINR, datalst[i].Packtemplateid).OrderBy("pos").Find(&datalst[i].Printlst); err != nil {
return
}
for k, _ = range datalst[i].Printlst {
datalst[i].Printlst[k].Clipped()
}
}
return
}