|
|
@ -12,6 +12,7 @@ import ( |
|
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/db" |
|
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/global" |
|
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/grmi" |
|
|
|
apMeta "leit.com/LAPP_CHEERSSON_BACKEND/meta/ap" |
|
|
|
meta "leit.com/LAPP_CHEERSSON_BACKEND/meta/base" |
|
|
|
modelAp "leit.com/LAPP_CHEERSSON_BACKEND/models/ap" |
|
|
|
model "leit.com/LAPP_CHEERSSON_BACKEND/models/base" |
|
|
@ -155,6 +156,98 @@ func (impl *ArticleServiceImplement) InsertOne(user *global.User, entity *model. |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
func (impl *ArticleServiceImplement) BindArticle(taskVal map[string]string) { |
|
|
|
grmi.Log(nil, "/services/base/implments/Customer.service.impl.go", "BindArticle", "自动绑定物料") |
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
|
//查询客户
|
|
|
|
custDao := dal.NewCustomerDAO(session, model.PlantNr, "System") |
|
|
|
custId := strings.Split(taskVal["bindCust"], ",") |
|
|
|
var _custId []interface{} |
|
|
|
for _, v := range custId { |
|
|
|
_custId = append(_custId, v) |
|
|
|
} |
|
|
|
custList, err := custDao.Select([]grmi.Predicate{ |
|
|
|
meta.Customer_CustomerId.NewPredicate(grmi.Include, _custId...), |
|
|
|
}, nil) |
|
|
|
if err != nil { |
|
|
|
fmt.Println(err.Error()) |
|
|
|
return |
|
|
|
} |
|
|
|
fmt.Println(len(_custId)) |
|
|
|
fmt.Println(len(custId)) |
|
|
|
var custArticleData []modelAp.CustArtlst |
|
|
|
custArticleDao := dalAp.NewCustArtlstDAO(session, model.PlantNr, "System") |
|
|
|
if custList != nil { |
|
|
|
//查询所有成品
|
|
|
|
custDao := dal.NewArticleDAO(session, model.PlantNr, "System") |
|
|
|
artList, err := custDao.Select([]grmi.Predicate{ |
|
|
|
meta.Article_ArtTypeId.NewPredicate(grmi.Equal, model.ART_TYPE_FINISHED), |
|
|
|
}, nil) |
|
|
|
if err != nil { |
|
|
|
return |
|
|
|
} |
|
|
|
_map := make(map[string]int) |
|
|
|
for _, v := range custList { |
|
|
|
//删除现有关系
|
|
|
|
_ = custArticleDao.DeleteWhere([]grmi.Predicate{ |
|
|
|
apMeta.CustArtlst_CustomerId.NewPredicate(grmi.Equal, v.CustomerId), |
|
|
|
}) |
|
|
|
for _, _v := range artList { |
|
|
|
//查询物料是否存在关系
|
|
|
|
if key, ok := _map[_v.ArtId]; ok { |
|
|
|
if key == 1 { |
|
|
|
continue |
|
|
|
} |
|
|
|
} else { |
|
|
|
_custArticleOne, _ := custArticleDao.Select([]grmi.Predicate{ |
|
|
|
apMeta.CustArtlst_ArtId.NewPredicate(grmi.Equal, _v.ArtId), |
|
|
|
}, nil) |
|
|
|
if len(_custArticleOne) == 0 { |
|
|
|
_map[_v.ArtId] = 2 |
|
|
|
} else { |
|
|
|
_map[_v.ArtId] = 1 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
custArticleData = append(custArticleData, modelAp.CustArtlst{ |
|
|
|
PlantNr: model.PlantNr, |
|
|
|
CustomerId: v.CustomerId, |
|
|
|
ArtId: _v.ArtId, |
|
|
|
Descr1: _v.Descr1, |
|
|
|
Descr2: _v.Descr2, |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
_ = session.Begin() |
|
|
|
if custArticleData != nil { |
|
|
|
if len(custArticleData) > 20 { |
|
|
|
var _detail []modelAp.CustArtlst |
|
|
|
for k, v := range custArticleData { |
|
|
|
_detail = append(_detail, v) |
|
|
|
if (k > 0 && k%20 == 0) || k+1 == len(custArticleData) { |
|
|
|
err := custArticleDao.Insert(&_detail) |
|
|
|
if err != nil { |
|
|
|
_ = session.Rollback() |
|
|
|
fmt.Println(err.Error()) |
|
|
|
panic(err.Error()) |
|
|
|
} |
|
|
|
_detail = []modelAp.CustArtlst{} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
err := custArticleDao.Insert(&custArticleData) |
|
|
|
if err != nil { |
|
|
|
_ = session.Rollback() |
|
|
|
panic(err.Error()) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
_ = session.Commit() |
|
|
|
} |
|
|
|
|
|
|
|
/****************************************************************************** |
|
|
|
* |
|
|
|
* @Reference leit.com/LAPP_CHEERSSON_BACKEND/services/base/ArticleService.DeleteOne |
|
|
@ -728,7 +821,7 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
} |
|
|
|
//开启session
|
|
|
|
err = session.Begin() |
|
|
|
if err != nil{ |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
//判断客户是否相同,不相同continue
|
|
|
@ -755,30 +848,30 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
return errors.New("第五列主要没有维护") |
|
|
|
} |
|
|
|
//查询物料信息
|
|
|
|
artInfo,err := dao.SelectOne(ArtId) |
|
|
|
if err != nil{ |
|
|
|
artInfo, err := dao.SelectOne(ArtId) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
if artInfo == nil{ |
|
|
|
if artInfo == nil { |
|
|
|
session.Rollback() |
|
|
|
return errors.New(fmt.Sprintf("物料编号:%s没有维护",ArtId)) |
|
|
|
return errors.New(fmt.Sprintf("物料编号:%s没有维护", ArtId)) |
|
|
|
} |
|
|
|
artInfo.DeliveryBuffer = utils.ValueToFloat(lockWeek,0.0) |
|
|
|
artInfo.DeliveryBuffer = utils.ValueToFloat(lockWeek, 0.0) |
|
|
|
err = dao.UpdateOne(artInfo) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
//更新库存
|
|
|
|
lockArt,err := daoAp.SelectOne(ArtId) |
|
|
|
if lockArt == nil{ |
|
|
|
lockArt, err := daoAp.SelectOne(ArtId) |
|
|
|
if lockArt == nil { |
|
|
|
stockArt := new(modelAp.ArticleStockLevel) |
|
|
|
stockArt.PlantNr = user.PlantNr |
|
|
|
stockArt.Descr = artInfo.Descr1 |
|
|
|
stockArt.ArtId = ArtId |
|
|
|
stockArt.MaxCoverPeriod = utils.ValueToFloat(targetStockWeek,0.0) |
|
|
|
stockArt.MinCoverPeriod =utils.ValueToFloat(smallStockWeek,0.0) |
|
|
|
stockArt.MaxCoverPeriod = utils.ValueToFloat(targetStockWeek, 0.0) |
|
|
|
stockArt.MinCoverPeriod = utils.ValueToFloat(smallStockWeek, 0.0) |
|
|
|
stockArt.MaxCoverPeriodType = "W" |
|
|
|
stockArt.MinCoverPeriodType = "W" |
|
|
|
err = daoAp.InsertOne(stockArt) |
|
|
@ -786,9 +879,9 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
}else{ |
|
|
|
lockArt.MaxCoverPeriod = utils.ValueToFloat(targetStockWeek,0.0) |
|
|
|
lockArt.MinCoverPeriod =utils.ValueToFloat(smallStockWeek,0.0) |
|
|
|
} else { |
|
|
|
lockArt.MaxCoverPeriod = utils.ValueToFloat(targetStockWeek, 0.0) |
|
|
|
lockArt.MinCoverPeriod = utils.ValueToFloat(smallStockWeek, 0.0) |
|
|
|
lockArt.MaxCoverPeriodType = "W" |
|
|
|
lockArt.MinCoverPeriodType = "W" |
|
|
|
err := daoAp.UpdateOne(lockArt) |
|
|
@ -798,8 +891,8 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
} |
|
|
|
} |
|
|
|
//更新主要资源
|
|
|
|
mainResurce,err := mainRedao.SelectOne(ArtId) |
|
|
|
if mainResurce == nil{ |
|
|
|
mainResurce, err := mainRedao.SelectOne(ArtId) |
|
|
|
if mainResurce == nil { |
|
|
|
mainResurceone := new(modelAp.ArticleResource) |
|
|
|
mainResurceone.PlantNr = user.PlantNr |
|
|
|
mainResurceone.ResourceId = resourceId |
|
|
@ -809,7 +902,7 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
mainResurce.ResourceId = resourceId |
|
|
|
err := mainRedao.UpdateOne(mainResurce) |
|
|
|
if err != nil { |
|
|
@ -817,10 +910,10 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
return err |
|
|
|
} |
|
|
|
} |
|
|
|
if sedResourceId != ""{ |
|
|
|
if sedResourceId != "" { |
|
|
|
//更新次要资源
|
|
|
|
sedResurce,err := secMaindao.SelectOne(ArtId,sedResourceId) |
|
|
|
if sedResurce == nil{ |
|
|
|
sedResurce, err := secMaindao.SelectOne(ArtId, sedResourceId) |
|
|
|
if sedResurce == nil { |
|
|
|
sedResurceeone := new(modelAp.ArticleSecondaryResource) |
|
|
|
sedResurceeone.PlantNr = user.PlantNr |
|
|
|
sedResurceeone.SecondaryResourceId = sedResourceId |
|
|
@ -830,7 +923,7 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
sedResurce.SecondaryResourceId = sedResourceId |
|
|
|
err := secMaindao.UpdateOne(sedResurce) |
|
|
|
if err != nil { |
|
|
@ -839,10 +932,10 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if threeResourceId != ""{ |
|
|
|
if threeResourceId != "" { |
|
|
|
//更新替代资源
|
|
|
|
threeResurce,err := threeDao.SelectOne(ArtId,threeResourceId) |
|
|
|
if threeResurce == nil{ |
|
|
|
threeResurce, err := threeDao.SelectOne(ArtId, threeResourceId) |
|
|
|
if threeResurce == nil { |
|
|
|
threeResurceeone := new(modelAp.ArticleAlternativeResource) |
|
|
|
threeResurceeone.PlantNr = user.PlantNr |
|
|
|
threeResurceeone.AlternativeResourceId = threeResourceId |
|
|
@ -852,7 +945,7 @@ func (impl *ArticleServiceImplement) ImportArtcleLockWeekFile(user *global.User, |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
threeResurce.AlternativeResourceId = threeResourceId |
|
|
|
err := threeDao.UpdateOne(threeResurce) |
|
|
|
if err != nil { |
|
|
|