|
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
|
|
|
|
package implments
|
|
|
|
import (
|
|
"fmt"
|
|
baseDal "leit.com/LAPP_CHEERSSON_BACKEND/dao/base"
|
|
dal "leit.com/LAPP_CHEERSSON_BACKEND/dao/me"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/db"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/global"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/grmi"
|
|
meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/me"
|
|
baseModel "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
|
|
model "leit.com/LAPP_CHEERSSON_BACKEND/models/me"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/utils"
|
|
)
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Description : BomLst的默认查询条件
|
|
*
|
|
* @Author : 代码生成器创建
|
|
*
|
|
* @Date : 2021-08-09 14:13:50
|
|
*
|
|
******************************************************************************/
|
|
var DefaultConditionOfBomLst = grmi.NewCondition(
|
|
map[string]grmi.ConditionItem{
|
|
meta.BomLst_BomId.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BomId, grmi.Equal, true),
|
|
meta.BomLst_FmatNr.UrlParameterName: grmi.NewConditionItem(meta.BomLst_FmatNr, grmi.Equal, true),
|
|
meta.BomLst_CmatNr.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CmatNr, grmi.Equal, true),
|
|
meta.BomLst_FmatName.UrlParameterName: grmi.NewConditionItem(meta.BomLst_FmatName, grmi.Equal, false),
|
|
meta.BomLst_FmatSpec.UrlParameterName: grmi.NewConditionItem(meta.BomLst_FmatSpec, grmi.Equal, false),
|
|
meta.BomLst_FmatQty.UrlParameterName: grmi.NewConditionItem(meta.BomLst_FmatQty, grmi.Equal, false),
|
|
meta.BomLst_FmatUom.UrlParameterName: grmi.NewConditionItem(meta.BomLst_FmatUom, grmi.Equal, false),
|
|
meta.BomLst_CmatName.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CmatName, grmi.Equal, false),
|
|
meta.BomLst_CmatQty.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CmatQty, grmi.Equal, false),
|
|
meta.BomLst_CmatUom.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CmatUom, grmi.Equal, false),
|
|
meta.BomLst_CmatType.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CmatType, grmi.Equal, false),
|
|
meta.BomLst_Position.UrlParameterName: grmi.NewConditionItem(meta.BomLst_Position, grmi.Equal, false),
|
|
meta.BomLst_LeadTime.UrlParameterName: grmi.NewConditionItem(meta.BomLst_LeadTime, grmi.Equal, false),
|
|
meta.BomLst_TimeUom.UrlParameterName: grmi.NewConditionItem(meta.BomLst_TimeUom, grmi.Equal, false),
|
|
meta.BomLst_LossRate.UrlParameterName: grmi.NewConditionItem(meta.BomLst_LossRate, grmi.Equal, false),
|
|
meta.BomLst_BackFlushItem.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BackFlushItem, grmi.Equal, false),
|
|
meta.BomLst_CriticalItem.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CriticalItem, grmi.Equal, false),
|
|
meta.BomLst_ValidFrom.UrlParameterName: grmi.NewConditionItem(meta.BomLst_ValidFrom, grmi.Equal, false),
|
|
meta.BomLst_ValidTo.UrlParameterName: grmi.NewConditionItem(meta.BomLst_ValidTo, grmi.Equal, false),
|
|
meta.BomLst_BomlstCval1.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BomlstCval1, grmi.Equal, false),
|
|
meta.BomLst_BomlstCval2.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BomlstCval2, grmi.Equal, false),
|
|
meta.BomLst_BomlstIval1.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BomlstIval1, grmi.Equal, false),
|
|
meta.BomLst_BomlstIval2.UrlParameterName: grmi.NewConditionItem(meta.BomLst_BomlstIval2, grmi.Equal, false),
|
|
meta.BomLst_LevelNr.UrlParameterName: grmi.NewConditionItem(meta.BomLst_LevelNr, grmi.Equal, false),
|
|
meta.BomLst_LastModify.UrlParameterName: grmi.NewConditionItem(meta.BomLst_LastModify, grmi.Approximate, false),
|
|
meta.BomLst_LastUser.UrlParameterName: grmi.NewConditionItem(meta.BomLst_LastUser, grmi.Equal, false),
|
|
meta.BomLst_CreateTime.UrlParameterName: grmi.NewConditionItem(meta.BomLst_CreateTime, grmi.Approximate, false),
|
|
},
|
|
nil,
|
|
)
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Description : BomLst的默认分页查询条件
|
|
*
|
|
* @Author : 代码生成器创建
|
|
*
|
|
* @Date : 2021-08-09 14:13:50
|
|
*
|
|
******************************************************************************/
|
|
var DefaultConditionOfBomLstAndPaging = grmi.NewCondition(
|
|
DefaultConditionOfBomLst.Items,
|
|
grmi.NewPaging(),
|
|
)
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Struct Name : BomLstServiceImplement
|
|
*-----------------------------------------------------------------------------
|
|
*
|
|
* @Description : BomLst的服务实现
|
|
*
|
|
* @Author : 代码生成器创建
|
|
*
|
|
* @Date : 2021-08-09 14:13:50
|
|
*
|
|
******************************************************************************/
|
|
type BomLstServiceImplement struct {
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Function Name : NewBomLstDAOImplement
|
|
*-----------------------------------------------------------------------------
|
|
*
|
|
* @Description : 创建一个BomLstDAOImplement实例
|
|
*
|
|
* @Return Value : BomLstDAOImplement实例
|
|
*
|
|
* @Author : 代码生成器创建
|
|
*
|
|
* @Date : 2021-08-09 14:13:50
|
|
*
|
|
******************************************************************************/
|
|
func NewBomLstServiceImplement() *BomLstServiceImplement {
|
|
return &BomLstServiceImplement{}
|
|
}
|
|
|
|
func (impl *BomLstServiceImplement) ImportBomList(response map[int][][]interface{}) {
|
|
grmi.Log(nil, "/services/me/implments/BomLst.service.impl.go", "ImportBomList", "导入bomlist")
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
if err := session.Begin(); err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
dao := dal.NewBomLstDAO(session, baseModel.PlantNr, "System")
|
|
articleDao := baseDal.NewArticleDAO(session, baseModel.PlantNr, "System")
|
|
headDao := dal.NewBomHeadDAO(session, baseModel.PlantNr, "System")
|
|
articleMap := make(map[string]baseModel.Article)
|
|
sonArticleMap := make(map[string]baseModel.Article)
|
|
headMap := make(map[string]*model.BomHead)
|
|
_ = session.Begin()
|
|
var dataArr []model.BomLst
|
|
var headArr []model.BomHead
|
|
for _, v := range response {
|
|
for k, _v := range v {
|
|
//查询物料
|
|
if _, ok := articleMap[utils.ValueToString(_v[15], "")]; !ok {
|
|
_article, err := articleDao.SelectOne(utils.ValueToString(_v[15], ""))
|
|
if err != nil || _article == nil {
|
|
continue
|
|
}
|
|
articleMap[utils.ValueToString(_v[15], "")] = *_article
|
|
sonArticleMap[utils.ValueToString(_v[15], "")] = *_article
|
|
} else {
|
|
if k == 0 {
|
|
//不存重复物料bom
|
|
break
|
|
}
|
|
}
|
|
_article := articleMap[utils.ValueToString(_v[15], "")]
|
|
if k == 0 {
|
|
//先删除零件下所有bom
|
|
_ = dao.DeleteWhere([]grmi.Predicate{
|
|
meta.BomLst_BomId.NewPredicate(grmi.Equal, _article.ArtId),
|
|
})
|
|
//查询head
|
|
_headInfo := &model.BomHead{}
|
|
if _info, ok := headMap[_article.ArtId]; ok {
|
|
_headInfo = _info
|
|
} else {
|
|
_info, err := headDao.SelectOne(_article.ArtId)
|
|
if err != nil {
|
|
continue
|
|
}
|
|
_headInfo = _info
|
|
}
|
|
if _headInfo == nil {
|
|
_headInfo = &model.BomHead{
|
|
PlantNr: baseModel.PlantNr,
|
|
BomId: _article.ArtId,
|
|
MatNr: _article.ArtId,
|
|
Descr: _article.Descr1,
|
|
}
|
|
headMap[_article.ArtId] = _headInfo
|
|
headArr = append(headArr, *_headInfo)
|
|
}
|
|
}
|
|
//子物料
|
|
if _, ok := sonArticleMap[utils.ValueToString(_v[16], "")]; !ok {
|
|
_article, err := articleDao.SelectOne(utils.ValueToString(_v[16], ""))
|
|
if err != nil || _article == nil {
|
|
continue
|
|
}
|
|
sonArticleMap[utils.ValueToString(_v[16], "")] = *_article
|
|
}
|
|
_sonArticel := sonArticleMap[utils.ValueToString(_v[16], "")]
|
|
//插入
|
|
dataArr = append(dataArr, model.BomLst{
|
|
PlantNr: baseModel.PlantNr,
|
|
BomId: _article.ArtId,
|
|
FmatNr: _article.ArtId,
|
|
FmatName: _article.Descr1,
|
|
FmatSpec: _article.ArtSpec2,
|
|
FmatQty: 1,
|
|
FmatUom: utils.ValueToString(_v[17], ""),
|
|
CmatNr: _sonArticel.ArtId,
|
|
CmatName: _sonArticel.Descr1,
|
|
CmatQty: utils.ValueToFloat(_v[6], 0) / utils.ValueToFloat(_v[7], 0),
|
|
CmatUom: utils.ValueToString(_v[18], ""),
|
|
CmatType: utils.ValueToString(_v[9], ""),
|
|
Position: utils.ValueToInt(_v[12], 0),
|
|
TimeUom: utils.ValueToString(_v[10], ""),
|
|
LossRate: utils.ValueToFloat(_v[11], 0),
|
|
ValidFrom: utils.ValueToString(_v[13], ""),
|
|
ValidTo: utils.ValueToString(_v[14], ""),
|
|
})
|
|
}
|
|
}
|
|
_ = session.Begin()
|
|
//写入数据库
|
|
if len(dataArr) > 20 {
|
|
var _detail []model.BomLst
|
|
for k, v := range dataArr {
|
|
_detail = append(_detail, v)
|
|
if (k > 0 && k%20 == 0) || k+1 == len(dataArr) {
|
|
err := dao.Insert(&_detail)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
panic(err.Error())
|
|
}
|
|
_detail = []model.BomLst{}
|
|
}
|
|
}
|
|
} else {
|
|
err := dao.Insert(&dataArr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
panic(err)
|
|
}
|
|
}
|
|
if len(headArr) > 20 {
|
|
var _detail []model.BomHead
|
|
for k, v := range headArr {
|
|
_detail = append(_detail, v)
|
|
if (k > 0 && k%20 == 0) || k+1 == len(headArr) {
|
|
err := headDao.Insert(&_detail)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
panic(err.Error())
|
|
}
|
|
_detail = []model.BomHead{}
|
|
}
|
|
}
|
|
} else {
|
|
err := headDao.Insert(&headArr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
}
|
|
}
|
|
|
|
_ = session.Commit()
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.InsertOne
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) InsertOne(user *global.User, entity *model.BomLst) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "InsertOneBomLst", "插入一个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
if err := session.Begin(); err != nil {
|
|
fmt.Println(err.Error())
|
|
return err
|
|
}
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
headDao := dal.NewBomHeadDAO(session, user.PlantNr, user.UserId)
|
|
record, err := dao.SelectOne(entity.BomId, entity.FmatNr, entity.CmatNr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if record != nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("已经存在相同主键的记录!")
|
|
}
|
|
err = dao.InsertOne(entity)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
|
|
articleDao := baseDal.NewArticleDAO(session, user.PlantNr, user.UserId)
|
|
article, err := articleDao.SelectOne(entity.FmatNr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("查询物料数据失败, error:" + err.Error())
|
|
}
|
|
if article == nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("不存在对应的物料数据")
|
|
}
|
|
//if article.ArtSpec1 != baseModel.ART_TYPE_FINISHED && article.ArtSpec1 != baseModel.ART_TYPE_VIRTUAL {
|
|
// _ = session.Rollback()
|
|
// return grmi.NewBusinessError("传递的物料不是总成或虚拟物料ID,artId:" + article.ArtId)
|
|
//}
|
|
|
|
article2, err := articleDao.SelectOne(entity.CmatNr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("查询物料数据失败, error:" + err.Error())
|
|
}
|
|
if article2 == nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("不存在对应的物料数据")
|
|
}
|
|
//if article.ArtSpec1 == baseModel.ART_TYPE_VIRTUAL{
|
|
// if article2.ArtSpec1 != baseModel.ART_TYPE_FINISHED {
|
|
// _ = session.Rollback()
|
|
// return grmi.NewBusinessError("传递的子物料不是总成, artId:" + article2.ArtId)
|
|
// }
|
|
//} else {
|
|
// if article2.ArtSpec1 == baseModel.ART_TYPE_FINISHED || article2.ArtSpec1 == baseModel.ART_TYPE_VIRTUAL {
|
|
// _ = session.Rollback()
|
|
// return grmi.NewBusinessError("传递的物料是总成或虚拟物料ID, artId:" + article2.ArtId)
|
|
// }
|
|
//}
|
|
|
|
if entity.FmatNr == entity.CmatNr || entity.CmatNr == entity.BomId {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("上级和下级物料ID相同")
|
|
}
|
|
bomHead, err := headDao.SelectOne(entity.BomId)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
if bomHead == nil {
|
|
article, err := articleDao.SelectOne(entity.BomId)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
if article == nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("总成不存在")
|
|
}
|
|
if article.ArtTypeId != baseModel.ART_TYPE_FINISHED {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("传递的物料不是成品!")
|
|
}
|
|
headData := model.BomHead{
|
|
BomId: entity.BomId,
|
|
MatNr: entity.BomId,
|
|
Descr: article.Descr1,
|
|
}
|
|
err = headDao.InsertOne(&headData)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
}
|
|
_ = session.Commit()
|
|
return nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.DeleteOne
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) DeleteOne(user *global.User, bomId string, fmatNr string, cmatNr string) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "DeleteOneBomLst", "删除一个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
if err := session.Begin(); err != nil {
|
|
return err
|
|
}
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
headDao := dal.NewBomHeadDAO(session, user.PlantNr, user.UserId)
|
|
record, err := dao.SelectOne(bomId, fmatNr, cmatNr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
if record == nil {
|
|
_ = session.Rollback()
|
|
return grmi.NewBusinessError("不存在指定记录!")
|
|
}
|
|
err = dao.DeleteOne(bomId, fmatNr, cmatNr)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
lstLi, err := dao.Select([]grmi.Predicate{meta.BomLst_BomId.NewPredicate(grmi.Equal, bomId)}, nil)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
if len(lstLi) == 0 {
|
|
err = headDao.DeleteOne(bomId)
|
|
if err != nil {
|
|
_ = session.Rollback()
|
|
return err
|
|
}
|
|
}
|
|
_ = session.Commit()
|
|
return nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.SelectOne
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) SelectOne(user *global.User, bomId string, fmatNr string, cmatNr string) (*model.BomLst, error) {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "SelectOneBomLst", "查询一个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
result, err := dao.SelectOne(bomId, fmatNr, cmatNr)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.UpdateOne
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) UpdateOne(user *global.User, entity *model.BomLst) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "UpdateOneBomLst", "修改一个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
record, err := dao.SelectOne(entity.BomId, entity.FmatNr, entity.CmatNr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if record == nil {
|
|
return grmi.NewBusinessError("不存在指定记录!")
|
|
}
|
|
err = dao.UpdateOne(entity)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.Insert
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) Insert(user *global.User, entities *[]model.BomLst) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "InsertBomLst", "插入多个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
|
|
for _, entity := range *entities {
|
|
record, err := dao.SelectOne(entity.BomId, entity.FmatNr, entity.CmatNr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if record != nil {
|
|
return grmi.NewBusinessError("已经存在相同主键的记录!")
|
|
}
|
|
}
|
|
|
|
err := dao.Insert(entities)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_GAAS_GFrame_BACKEND/services/me/BomLstService.Delete
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) Delete(user *global.User, entities *[]model.BomLst) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "DeleteBomLst", "删除多个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
|
|
for _, entity := range *entities {
|
|
record, err := dao.SelectOne(entity.BomId, entity.FmatNr, entity.CmatNr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if record == nil {
|
|
return grmi.NewBusinessError("不存在指定记录!")
|
|
}
|
|
}
|
|
|
|
err := dao.Delete(entities)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference leit.com/LAPP_CHEERSSON_BACKEND/services/me/BomLstService.Select
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) Select(user *global.User, urlParameters map[string]string) ([]model.BomLst, error) {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "SelectBomLst", "查询BomLst")
|
|
|
|
condition := DefaultConditionOfBomLstAndPaging
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
predicates, err := condition.BuildPredicates(urlParameters)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
result, err := dao.Select(predicates, condition.OrderByFields)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference leit.com/LAPP_CHEERSSON_BACKEND/services/me/BomLstService.SelectAndPaging
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) SelectAndPaging(user *global.User, urlParameters map[string]string) (grmi.PagingResult, error) {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "SelectBomLst", "查询BomLst")
|
|
|
|
condition := DefaultConditionOfBomLstAndPaging
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
predicates, err := condition.BuildPredicates(urlParameters)
|
|
if err != nil {
|
|
return grmi.EmptyPagingResult, err
|
|
}
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
condition.Fill(urlParameters)
|
|
result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields)
|
|
if err != nil {
|
|
return grmi.EmptyPagingResult, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
/******************************************************************************
|
|
*
|
|
* @Reference LAPP_ACURA_MOM_BACKEND/services/me/BomLstService.Update
|
|
*
|
|
******************************************************************************/
|
|
func (impl *BomLstServiceImplement) Update(user *global.User, entities *[]model.BomLst) error {
|
|
|
|
grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "UpdateBomLst", "修改多个BomLst")
|
|
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId)
|
|
|
|
for _, entity := range *entities {
|
|
record, err := dao.SelectOne(entity.BomId, entity.FmatNr, entity.CmatNr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if record == nil {
|
|
return grmi.NewBusinessError("不存在指定记录!")
|
|
}
|
|
}
|
|
|
|
err := dao.Update(entities)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|