|
|
- package db
-
- import (
- "errors"
- "github.com/go-xorm/xorm"
- "leit.com/leit_seat_aps/common"
- "xorm.io/core"
- )
-
- // 车型版本头
- type Me_carmodel_ver struct {
- Finr int `xorm:"pk"`
- Carmodelid string `xorm:"pk"`
- Version int `xorm:"pk"`
- Status int
- Handlestatus string
- Spec string
- Approveby string
- Approvetime string
- Lastmodif string
- Lastuser string
- Credatuz string
- Partlst []Me_carmodel_ver_partlst `xorm:"-"`
- Atcodlst []Me_carmodel_ver_atcodlst `xorm:"-"`
- Verrlst []Me_carmodel_ver_errorlst `xorm:"-"`
- }
-
- func (t *Me_carmodel_ver) Clipped() {
- common.TrimStruct(t, *t)
- }
-
- func (t *Me_carmodel_ver) TableName() string {
- return "me_carmodel_ver"
- }
-
- //增
- func (t *Me_carmodel_ver) Add() error {
- e := G_DbEngine
- carmodtab := new(Me_carmodel_ver)
- affw, err := e.Table("me_carmodel_ver").ID(core.PK{G_FINR, t.Carmodelid, t.Version}).Count(carmodtab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = e.Table("me_carmodel_ver").Insert(t)
-
- if err != nil {
- return err
- }
- return nil
- }
-
- //增
- func (t *Me_carmodel_ver) Insert(session *xorm.Session) error {
- carmodtab := new(Me_carmodel_ver)
- affw, err := session.Table("me_carmodel_ver").ID(core.PK{G_FINR, t.Carmodelid, t.Version}).Count(carmodtab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = session.Table("me_carmodel_ver").Insert(t)
-
- if err != nil {
- return err
- }
- return nil
- }
-
- //删
- func (t *Me_carmodel_ver) Del() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Carmodelid, t.Version}).Delete(&Me_carmodel_ver{})
- if err != nil {
- return false
- }
- return true
- }
-
- //改
- func (t *Me_carmodel_ver) Update() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Carmodelid, t.Version}).Update(t)
- if err != nil {
- return false
- }
- return true
- }
-
- //查
- func (t *Me_carmodel_ver) SelectOne() (data Me_carmodel_ver, err error) {
-
- e := G_DbEngine
- _, err = e.ID(core.PK{G_FINR, t.Carmodelid, t.Version}).Get(&data)
- if err != nil {
- return data, err
- }
- data.Clipped()
-
- // 获取零件列表
- if err = e.Where("finr = ? and carmodelid = ? and version = ?",
- G_FINR, data.Carmodelid, data.Version).OrderBy("supplygroupid,partid").Find(&data.Partlst); err != nil {
- return
- }
- for i, _ := range data.Partlst {
- data.Partlst[i].Clipped()
- }
-
- // 获取属性列表
- if err = e.Where("finr = ? and carmodelid = ? and version = ?",
- G_FINR, data.Carmodelid, data.Version).OrderBy("pos").Find(&data.Atcodlst); err != nil {
- return
- }
- for i, _ := range data.Atcodlst {
- data.Atcodlst[i].Clipped()
- }
-
- // 获取错误列表
- if err = e.Where("finr = ? and carmodelid = ? and version = ?",
- G_FINR, data.Carmodelid, data.Version).OrderBy("pos").Find(&data.Verrlst); err != nil {
- return
- }
- for i, _ := range data.Verrlst {
- data.Verrlst[i].Clipped()
- }
-
- return data, nil
- }
-
- //获取指定项目车型最近的版本
- func (t *Me_carmodel_ver) GetLatestCarmodelVersion(cmid string) (ver int, err error) {
- var cmvlst []Me_carmodel_ver
-
- e := G_DbEngine
- if err = e.Where("finr = ? and carmodelid = ?", G_FINR,
- cmid).Desc("version").Limit(1, 0).Find(&cmvlst); err != nil {
- return
- }
-
- if len(cmvlst) > 0 {
- ver = cmvlst[0].Version
- } else {
- ver = 0
- }
-
- return
- }
|