|
|
- package db
-
- import (
- "errors"
- "github.com/go-xorm/xorm"
- "leit.com/leit_seat_aps/common"
- "xorm.io/core"
- )
-
- //客户订单车型规格表
- type Pln_custorder_carmodelver struct {
- Finr int `xorm:"pk"`
- Oemordernr string `xorm:"pk"`
- Projnr string `xorm:"pk"`
- Carmodelid string `xorm:"pk"`
- Version int `xorm:"pk"`
- Lastmodif string
- Lastuser string
- Credatuz string
- }
-
- // 客户订单版本规格和版本头
- type VCustorderSpec struct {
- Me_carmodel_ver `xorm:"extends"`
- Pln_custorder_carmodelver `xorm:"extends"`
- }
-
- type VOemorderSpecPf struct {
- Pln_custorder_carmodelver `xorm:"extends"`
- Me_carmodel `xorm:"extends"`
- Me_carmodel_partfamilylst `xorm:"extends"`
- }
-
- func (t *Pln_custorder_carmodelver) Clipped() {
- common.TrimStruct(t, *t)
- }
-
- func (t *Pln_custorder_carmodelver) TableName() string {
- return "pln_custorder_carmodelver"
- }
-
- //增
- func (t *Pln_custorder_carmodelver) Add() error {
- e := G_DbEngine
- cocmvtab := new(Pln_custorder_carmodelver)
- affw, err := e.Table("pln_custorder_carmodelver").ID(core.PK{G_FINR, t.Oemordernr, t.Projnr, t.Carmodelid, t.Version}).Count(cocmvtab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = e.Table("pln_custorder_carmodelver").Insert(t)
-
- if err != nil {
- return err
- }
- return nil
- }
-
- //增
- func (t *Pln_custorder_carmodelver) Insert(session *xorm.Session) error {
- cocmvtab := new(Pln_custorder_carmodelver)
- affw, err := session.Table("pln_custorder_carmodelver").ID(core.PK{G_FINR, t.Oemordernr, t.Projnr, t.Carmodelid, t.Version}).Count(cocmvtab)
- if err != nil {
- return err
- }
- if affw > 0 {
- return nil
- }
- _, err = session.Table("pln_custorder_carmodelver").Insert(t)
-
- if err != nil {
- return err
- }
- return nil
- }
-
- //删
- func (t *Pln_custorder_carmodelver) DelSession(session *xorm.Session) bool {
-
- _, err := session.Where("finr = ? and oemordernr = ? and projnr = ?",G_FINR, t.Oemordernr, t.Projnr).Delete(&Pln_custorder_carmodelver{})
- if err != nil {
- return false
- }
- return true
- }
-
- //删
- func (t *Pln_custorder_carmodelver) Del() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Oemordernr, t.Projnr, t.Carmodelid, t.Version}).Delete(&Pln_custorder_carmodelver{})
- if err != nil {
- return false
- }
- return true
- }
-
- //改
- func (t *Pln_custorder_carmodelver) Update() bool {
- e := G_DbEngine
- _, err := e.ID(core.PK{G_FINR, t.Oemordernr, t.Projnr, t.Carmodelid, t.Version}).Update(t)
- if err != nil {
- return false
- }
- return true
- }
-
- //查
- func (t *Pln_custorder_carmodelver) SelectOne() (data Pln_custorder_partlst, err error) {
- e := G_DbEngine
- _, err = e.ID(core.PK{G_FINR, t.Oemordernr, t.Projnr, t.Carmodelid, t.Version}).Get(&data)
- if err != nil {
- return data, err
- }
- return data, nil
- }
-
- // 基于项目 OEMORDER 查询并返回车型
- func (t *Pln_custorder_carmodelver) GetModelForOemorder(projnr, oemorder string) (vdatalst []VOemorderSpecPf, err error) {
-
- e := G_DbEngine
- query := e.Table("pln_custorder_carmodelver")
- query = query.Join("INNER", "me_carmodel", "me_carmodel.finr = pln_custorder_carmodelver.finr and me_carmodel.carmodelid = pln_custorder_carmodelver.carmodelid")
- query = query.Join("INNER", "me_carmodel_partfamilylst", "me_carmodel_partfamilylst.finr = me_carmodel.finr and me_carmodel_partfamilylst.carmodelid = me_carmodel.carmodelid")
- query = query.Where("pln_custorder_carmodelver.finr = ? and pln_custorder_carmodelver.projnr = ? and pln_custorder_carmodelver.oemordernr = ?", G_FINR, projnr, oemorder)
- if err = query.Find(&vdatalst); err != nil {
- return
- }
-
- return
- }
-
- // 基于项目 OEMORDER 查询并返回车型
- func (t *Pln_custorder_carmodelver) GetCarModelForOemorder(projnr, oemorder string) (carmodelid string, err error) {
- var datalst []Pln_custorder_carmodelver
-
- e := G_DbEngine
- carmodelid = ""
- if err = e.Where("finr = ? and projnr = ? and oemordernr = ?",
- G_FINR, projnr, oemorder).Desc("credatuz").Limit(1, 0).Find(&datalst); err != nil {
- return
- }
- if len(datalst) > 0 {
- carmodelid = datalst[0].Carmodelid
- }
-
- return
- }
|