#223 修改bug

Merged
yehongyang merged 1 commits from feature_mps_2 into develop 3 years ago
  1. +104
    -37
      services/ap/implments/Balance.service.impl.go

+ 104
- 37
services/ap/implments/Balance.service.impl.go View File

@ -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 {


Loading…
Cancel
Save