|
|
@ -31,6 +31,8 @@ var alldata_ArticleResource []model.ArticleResource |
|
|
|
var alldata_ArticleSecondResource []model.ArticleSecondaryResource |
|
|
|
var alldata_Resource []model.Resource |
|
|
|
var alldata_Article []model_base.Article |
|
|
|
var alldata_ArticleStock []model_base.ArticleStock |
|
|
|
var alldata_Customer []model_base.Customer |
|
|
|
|
|
|
|
/****************************************************************************** |
|
|
|
* |
|
|
@ -74,9 +76,9 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User, |
|
|
|
|
|
|
|
dao_CustArtlst := dal.NewCustArtlstDAO(session, user.PlantNr, user.UserId) |
|
|
|
dao_ArticleDemand := dal.NewArticleDemandDAO(session, user.PlantNr, user.UserId) |
|
|
|
dao_ArticleStock := dal_base.NewArticleStockDAO(session, user.PlantNr, user.UserId) |
|
|
|
dao_ArticleStockLevel := dal.NewArticleStockLevelDAO(session, user.PlantNr, user.UserId) |
|
|
|
artResourceDao := dal.NewArticleResourceDAO(session, user.PlantNr, user.UserId) |
|
|
|
//dao_ArticleStock := dal_base.NewArticleStockDAO(session, user.PlantNr, user.UserId)
|
|
|
|
//dao_ArticleStockLevel := dal.NewArticleStockLevelDAO(session, user.PlantNr, user.UserId)
|
|
|
|
//artResourceDao := dal.NewArticleResourceDAO(session, user.PlantNr, user.UserId)
|
|
|
|
//dao_CustDemandModel := dal.NewCustDemandModelDAO(session, user.PlantNr, user.UserId)
|
|
|
|
dao_Customer := dal_base.NewCustomerDAO(session, user.PlantNr, user.UserId) |
|
|
|
dao_MpsSetting := dal.NewMpsSettingDAO(session, user.PlantNr, user.UserId) |
|
|
@ -108,10 +110,17 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User, |
|
|
|
} |
|
|
|
CustomerList = append(CustomerList, CustomerId) |
|
|
|
|
|
|
|
custArtlst1, err = dao_CustArtlst.Select([]grmi.Predicate{meta.CustArtlst_CustomerId.NewPredicate(grmi.Include, CustomerList...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
for _, custArtInfo := range alldata_CustArtlst{ |
|
|
|
for _, customerId := range CustomerList{ |
|
|
|
if customerId == custArtInfo.CustomerId{ |
|
|
|
custArtlst1 = append(custArtlst1, custArtInfo) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//custArtlst1, err = dao_CustArtlst.Select([]grmi.Predicate{meta.CustArtlst_CustomerId.NewPredicate(grmi.Include, CustomerList...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
|
|
|
|
} else { |
|
|
|
custArtlst1 = alldata_CustArtlst |
|
|
@ -155,20 +164,29 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
artStockList, err := dao_ArticleStock.Select([]grmi.Predicate{meta_base.ArticleStock_ArtId.NewPredicate(grmi.Include, artList...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
} |
|
|
|
//artStockList, err := dao_ArticleStock.Select([]grmi.Predicate{meta_base.ArticleStock_ArtId.NewPredicate(grmi.Include, artList...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
|
|
|
|
data_ArticleStock, err := dao_ArticleStock.Select([]grmi.Predicate{}, nil) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
} |
|
|
|
data_ArticleStockLevel, err := dao_ArticleStockLevel.Select([]grmi.Predicate{}, nil) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
var artStockList []model_base.ArticleStock |
|
|
|
for _, info := range alldata_ArticleStock{ |
|
|
|
for _, artId := range artList{ |
|
|
|
if info.ArtId ==artId.(string){ |
|
|
|
artStockList = append(artStockList, info) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//data_ArticleStock, err := dao_ArticleStock.Select([]grmi.Predicate{}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
//data_ArticleStockLevel, err := dao_ArticleStockLevel.Select([]grmi.Predicate{}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
|
|
|
|
data := make([]model.CustArtStockInfo, 0, 10) |
|
|
|
for _, artStockInfo := range artStockList { |
|
|
|
var artInfo *model_base.Article |
|
|
@ -214,10 +232,17 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
articleResource, err := artResourceDao.SelectOneByArtId(artStockInfo.ArtId) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
var articleResource *model.ArticleResource |
|
|
|
for _, info := range alldata_ArticleResource{ |
|
|
|
if info.ArtId == artStockInfo.ArtId{ |
|
|
|
articleResource = &info |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
//articleResource, err := artResourceDao.SelectOneByArtId(artStockInfo.ArtId)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
var data_ArticleResourceLst []model.ArticleResource |
|
|
|
data_ArticleResourceLst = append(data_ArticleResourceLst, *articleResource) |
|
|
|
|
|
|
@ -225,7 +250,7 @@ func (impl *BalanceServiceImplement) GetCustomerArticleDemand(user *global.User, |
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
data_ArticleDemand_new, err := impl.refreshMpsArticleDemand(false, data_ArticleStock, data_ArticleStockLevel, data_ArticleDemand, data_ArticleResourceLst, mpsSettingOne) |
|
|
|
data_ArticleDemand_new, err := impl.refreshMpsArticleDemand(false, alldata_ArticleStock, alldata_ArticleStockLevel, data_ArticleDemand, data_ArticleResourceLst, mpsSettingOne) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
} |
|
|
@ -2297,11 +2322,21 @@ func (impl *BalanceServiceImplement) MpsPlan(user *global.User, resouceId, secon |
|
|
|
artList = append(artList, info.ArtId) |
|
|
|
} |
|
|
|
|
|
|
|
artStockList, err := dao_ArticleStock.Select([]grmi.Predicate{meta_base.ArticleStock_ArtId.NewPredicate(grmi.Include, artList...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
//artStockList, err := dao_ArticleStock.Select([]grmi.Predicate{meta_base.ArticleStock_ArtId.NewPredicate(grmi.Include, artList...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return nil, grmi.NewDataBaseError(err)
|
|
|
|
//}
|
|
|
|
|
|
|
|
var artStockList []model_base.ArticleStock |
|
|
|
for _, info := range alldata_ArticleStock{ |
|
|
|
for _, artId := range artList{ |
|
|
|
if info.ArtId ==artId.(string){ |
|
|
|
artStockList = append(artStockList, info) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
data := make([]model.CustArtStockInfo, 0, 10) |
|
|
|
for _, custArtInfo := range custArtlst { |
|
|
|
custArtStockInfo := model.CustArtStockInfo{ |
|
|
@ -2710,8 +2745,8 @@ func (impl *BalanceServiceImplement) PublishMpsPlan(user *global.User, version s |
|
|
|
dao_CustDemandVerHead := dal.NewCustDemandVerHeadDAO(session, user.PlantNr, user.UserId) |
|
|
|
dao_ArticleDemand := dal.NewArticleDemandDAO(session, user.PlantNr, user.UserId) |
|
|
|
daoArticleCustomer := dal.NewCustArtlstDAO(session, user.PlantNr, user.UserId) |
|
|
|
daoArticle := dal_base.NewArticleDAO(session, user.PlantNr, user.UserId) |
|
|
|
daoCustomer := dal_base.NewCustomerDAO(session, user.PlantNr, user.UserId) |
|
|
|
//daoArticle := dal_base.NewArticleDAO(session, user.PlantNr, user.UserId)
|
|
|
|
//daoCustomer := dal_base.NewCustomerDAO(session, user.PlantNr, user.UserId)
|
|
|
|
daoPlant := dal_base.NewPlantDAO(session, user.UserId) |
|
|
|
daoMpsSetting := dal.NewMpsSettingDAO(session, user.PlantNr, user.UserId) |
|
|
|
existLi, err := dao_PlanOrderVersion.Select([]grmi.Predicate{meta.PlanOrderVersion_VersionNr.NewPredicate(grmi.Equal, version)}, nil) |
|
|
@ -2782,9 +2817,17 @@ func (impl *BalanceServiceImplement) PublishMpsPlan(user *global.User, version s |
|
|
|
for _, artId := range allArtId { |
|
|
|
artIdLi = append(artIdLi, artId) |
|
|
|
} |
|
|
|
articleLi, err := daoArticle.Select([]grmi.Predicate{meta_base.Article_ArtId.NewPredicate(grmi.Include, artIdLi...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return grmi.NewBusinessError("查询物料数据失败, 错误:" + err.Error()) |
|
|
|
//articleLi, err := daoArticle.Select([]grmi.Predicate{meta_base.Article_ArtId.NewPredicate(grmi.Include, artIdLi...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return grmi.NewBusinessError("查询物料数据失败, 错误:" + err.Error())
|
|
|
|
//}
|
|
|
|
var articleLi []model_base.Article |
|
|
|
for _, artInfo := range alldata_Article{ |
|
|
|
for _, artId := range artIdLi{ |
|
|
|
if artId == artInfo.ArtId{ |
|
|
|
articleLi = append(articleLi, artInfo) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if len(articleLi) == 0 { |
|
|
|
return grmi.NewBusinessError("不存在需求的物料数据") |
|
|
@ -2800,10 +2843,20 @@ func (impl *BalanceServiceImplement) PublishMpsPlan(user *global.User, version s |
|
|
|
if err != nil { |
|
|
|
return grmi.NewBusinessError("查询客户物料关联关系失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
customerLi, err := daoCustomer.Select([]grmi.Predicate{meta_base.Customer_CustomerId.NewPredicate(grmi.Include, customerIdLi...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return grmi.NewBusinessError("查询客户数据失败, 错误:" + err.Error()) |
|
|
|
|
|
|
|
var customerLi []model_base.Customer |
|
|
|
for _, customerInfo := range alldata_Customer{ |
|
|
|
for _, customerId := range customerIdLi{ |
|
|
|
if customerInfo.CustomerId == customerId{ |
|
|
|
customerLi = append(customerLi, customerInfo) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//customerLi, err := daoCustomer.Select([]grmi.Predicate{meta_base.Customer_CustomerId.NewPredicate(grmi.Include, customerIdLi...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return grmi.NewBusinessError("查询客户数据失败, 错误:" + err.Error())
|
|
|
|
//}
|
|
|
|
for _, customer := range customerLi { |
|
|
|
if customer.LockWeeks > lockWeeks { |
|
|
|
lockWeeks = customer.LockWeeks |
|
|
@ -3071,9 +3124,14 @@ func (impl *BalanceServiceImplement) RefreshData() error { |
|
|
|
session.Table("Article").Find(&alldata_Article) |
|
|
|
|
|
|
|
alldata_ArticleSecondResource = make([]model.ArticleSecondaryResource, 0) |
|
|
|
session.Table("AP_.ArticleSecondaryResource").Find(&alldata_ArticleSecondResource) |
|
|
|
session.Table("AP_ArticleSecondaryResource").Find(&alldata_ArticleSecondResource) |
|
|
|
//}()
|
|
|
|
|
|
|
|
alldata_ArticleStock = make([]model_base.ArticleStock, 0) |
|
|
|
session.Table("ArticleStock").Find(&alldata_ArticleStock) |
|
|
|
|
|
|
|
alldata_Customer = make([]model_base.Customer,0) |
|
|
|
session.Table("Customer").Find(&alldata_Customer) |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
@ -3458,11 +3516,19 @@ func (impl *BalanceServiceImplement) MpsPlanExport(user *global.User, CustArtSto |
|
|
|
} |
|
|
|
daoArticleDemand := dal.NewArticleDemandDAO(session, user.PlantNr, user.UserId) |
|
|
|
// 查询需要导出的物料数据 用于聚合物料描述
|
|
|
|
daoArticle := dal_base.NewArticleDAO(session, user.PlantNr, user.UserId) |
|
|
|
articleLi, err := daoArticle.Select([]grmi.Predicate{meta_base.Article_ArtId.NewPredicate(grmi.Include, artIdLi...)}, nil) |
|
|
|
if err != nil { |
|
|
|
return "", grmi.NewBusinessError("查询物料数据失败, 错误:" + err.Error()) |
|
|
|
var articleLi []model_base.Article |
|
|
|
for _, artInfo := range alldata_Article{ |
|
|
|
for _, artId := range artIdLi{ |
|
|
|
if artInfo.ArtId == artId{ |
|
|
|
articleLi = append(articleLi,artInfo ) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//daoArticle := dal_base.NewArticleDAO(session, user.PlantNr, user.UserId)
|
|
|
|
//articleLi, err := daoArticle.Select([]grmi.Predicate{meta_base.Article_ArtId.NewPredicate(grmi.Include, artIdLi...)}, nil)
|
|
|
|
//if err != nil {
|
|
|
|
// return "", grmi.NewBusinessError("查询物料数据失败, 错误:" + err.Error())
|
|
|
|
//}
|
|
|
|
if len(articleLi) != len(artIdLi) { |
|
|
|
return "", grmi.NewBusinessError("需要导出的物料不是都存在") |
|
|
|
} |
|
|
@ -3471,6 +3537,7 @@ func (impl *BalanceServiceImplement) MpsPlanExport(user *global.User, CustArtSto |
|
|
|
artDescMap[article.ArtId] = article.Descr1 |
|
|
|
} |
|
|
|
// 通过传入的artIdLi 和 demandKeyLi查询所有的物料需求
|
|
|
|
|
|
|
|
artDemandLi, err := daoArticleDemand.Select([]grmi.Predicate{meta.ArticleDemand_ArtId.NewPredicate(grmi.Include, artIdLi...), meta.ArticleDemand_DemandKey.NewPredicate(grmi.Include, demandKeyLi...)}, |
|
|
|
[]grmi.Field{meta.ArticleDemand_ArtId, meta.ArticleDemand_DemandKey}) |
|
|
|
if err != nil { |
|
|
|