|
|
- // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
-
- package me
-
- import (
- "leit.com/LAPP_CHEERSSON_BACKEND/db"
- "leit.com/LAPP_CHEERSSON_BACKEND/grmi"
- "leit.com/LAPP_CHEERSSON_BACKEND/utils"
- "xorm.io/core"
- )
-
- /******************************************************************************
- *
- * @Struct Name : BomLst
- *-----------------------------------------------------------------------------
- *
- * @Description : BomLst的实体映射
- *
- * @Author : 代码生成器创建
- *
- * @Date : 2021-08-09 14:13:50
- *
- ******************************************************************************/
- type BomLst struct {
- PlantNr int `xorm:"pk int 'PlantNr'" json:"ME_BomLst-PlantNr"`
- BomId string `xorm:"pk nvarchar(20) 'BomId'" json:"ME_BomLst-BomId"`
- FmatNr string `xorm:"pk nvarchar(20) 'FmatNr'" json:"ME_BomLst-FmatNr"`
- CmatNr string `xorm:"pk nvarchar(20) 'CmatNr'" json:"ME_BomLst-CmatNr"`
- FmatName string `xorm:"nvarchar(40) 'FmatName' not null" json:"ME_BomLst-FmatName"`
- FmatSpec string `xorm:"nvarchar(40) 'FmatSpec' not null" json:"ME_BomLst-FmatSpec"`
- FmatQty float64 `xorm:"decimal 'FmatQty' not null" json:"ME_BomLst-FmatQty"`
- FmatUom string `xorm:"nvarchar(10) 'FmatUom' not null" json:"ME_BomLst-FmatUom"`
- CmatName string `xorm:"nvarchar(40) 'CmatName' not null" json:"ME_BomLst-CmatName"`
- CmatQty float64 `xorm:"decimal 'CmatQty' not null" json:"ME_BomLst-CmatQty"`
- CmatUom string `xorm:"nvarchar(10) 'CmatUom' not null" json:"ME_BomLst-CmatUom"`
- CmatType string `xorm:"nvarchar(20) 'CmatType' not null" json:"ME_BomLst-CmatType"`
- Position int `xorm:"int 'Position' not null" json:"ME_BomLst-Position"`
- LeadTime float64 `xorm:"decimal 'LeadTime' not null" json:"ME_BomLst-LeadTime"`
- TimeUom string `xorm:"nvarchar(10) 'TimeUom' not null" json:"ME_BomLst-TimeUom"`
- LossRate float64 `xorm:"decimal 'LossRate' not null" json:"ME_BomLst-LossRate"`
- BackFlushItem int `xorm:"smallint 'BackFlushItem' not null" json:"ME_BomLst-BackFlushItem"`
- CriticalItem int `xorm:"smallint 'CriticalItem' not null" json:"ME_BomLst-CriticalItem"`
- ValidFrom string `xorm:"nvarchar(14) 'ValidFrom'" json:"ME_BomLst-ValidFrom"`
- ValidTo string `xorm:"nvarchar(14) 'ValidTo'" json:"ME_BomLst-ValidTo"`
- BomlstCval1 string `xorm:"nvarchar(40) 'BomlstCval1' not null" json:"ME_BomLst-BomlstCval1"`
- BomlstCval2 string `xorm:"nvarchar(40) 'BomlstCval2' not null" json:"ME_BomLst-BomlstCval2"`
- BomlstIval1 int `xorm:"int 'BomlstIval1' not null" json:"ME_BomLst-BomlstIval1"`
- BomlstIval2 int `xorm:"int 'BomlstIval2' not null" json:"ME_BomLst-BomlstIval2"`
- LevelNr int `xorm:"int 'LevelNr'" json:"ME_BomLst-LevelNr"`
- LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"ME_BomLst-LastModify"`
- LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"ME_BomLst-LastUser"`
- CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"ME_BomLst-CreateTime"`
- ItemLi []BomLst `xorm:"-" json:"ME_BomLst-ItemLi"`
- }
-
- /******************************************************************************
- *
- * @Function Name : GetKey
- *-----------------------------------------------------------------------------
- *
- * @Description : 获取实体的主键
- *
- * @Return Value : 实体的主键
- *
- * @Author : 代码生成器创建
- *
- * @Date : 2021-08-09 14:13:50
- *
- ******************************************************************************/
- func (self *BomLst) GetKey() core.PK {
- return core.PK{self.PlantNr, self.BomId, self.FmatNr, self.CmatNr}
- }
-
- func (t *BomLst) TableName() string {
- return "ME_BomLst"
- }
-
- func (t *BomLst) GetPage() (Menus []BomLst, err error) {
- e := db.Eloquent.Master()
- table := e.Table(t.TableName()).Where("PlantNr = ?", t.PlantNr)
- if t.BomId != "" {
- table = table.And("BomId = ?", t.BomId)
- }
- if err = table.Asc("FmatNr").Find(&Menus); err != nil {
- return
- }
- return
- }
-
- //递归查询侧边栏
- func (t *BomLst) SetMenu(FmatNr string) (m []BomLst, err error) {
- menulist, err := t.GetPage()
- m = make([]BomLst, 0)
- for i := 0; i < len(menulist); i++ {
- //menulist[i].Clipped()
- if menulist[i].FmatNr != FmatNr {
- continue
- }
- menusInfo := DiguiMeBomlst(&menulist, menulist[i])
- m = append(m, menusInfo)
- }
- return
- }
-
- //递归查询
- func DiguiMeBomlst(me_bomlst *[]BomLst, me BomLst) BomLst {
- list := *me_bomlst
-
- min := make([]BomLst, 0)
- for j := 0; j < len(list); j++ {
- //list[j].Clipped()
- if me.CmatNr != list[j].FmatNr {
- continue
- }
- mi := BomLst{}
- mi.PlantNr = list[j].PlantNr
- mi.BomId = list[j].BomId
- mi.FmatNr = list[j].FmatNr
- mi.CmatNr = list[j].CmatNr
- mi.FmatName = list[j].FmatName
- mi.FmatSpec = list[j].FmatSpec
- mi.FmatQty = list[j].FmatQty
- mi.FmatUom = list[j].FmatUom
- mi.LevelNr = list[j].LevelNr
- mi.CmatName = list[j].CmatName
- mi.CmatQty = list[j].CmatQty
- mi.CmatUom = list[j].CmatUom
- mi.CmatType = list[j].CmatType
- mi.Position = list[j].Position
- mi.LeadTime = list[j].LeadTime
- mi.TimeUom = list[j].TimeUom
- mi.LossRate = list[j].LossRate
- mi.BackFlushItem = list[j].BackFlushItem
- mi.CriticalItem = list[j].CriticalItem
- mi.ValidFrom = list[j].ValidFrom
- mi.ValidTo = list[j].ValidTo
- mi.BomlstCval1 = list[j].BomlstCval1
- mi.BomlstCval2 = list[j].BomlstCval2
- mi.BomlstIval1 = list[j].BomlstIval1
- mi.BomlstIval2 = list[j].BomlstIval2
- mi.ItemLi = []BomLst{}
- ms := DiguiMeBomlst(me_bomlst, mi)
- utils.TrimStruct(&ms, ms)
- min = append(min, ms)
- }
- me.ItemLi = min
- return me
- }
|