|
|
@ -420,7 +420,7 @@ func GetOrderQty(PlantNr int, UserId string, allData *[]model.Article) (err erro |
|
|
|
|
|
|
|
dao_SalesOrder := dal_base.NewSalesOrderDAO(session, PlantNr, UserId) |
|
|
|
dao_SalesOrder.DeleteWhere([]grmi.Predicate{meta.SalesOrder_ProductType.NewPredicate(grmi.Equal, "DD")}) |
|
|
|
|
|
|
|
dao_SalesOrder.DeleteWhere([]grmi.Predicate{meta.SalesOrder_ProductType.NewPredicate(grmi.Equal, "DD_TEMP")}) |
|
|
|
//dao_ArticleDemand := dal.NewArticleDemandDAO(session, PlantNr, UserId)
|
|
|
|
//articleDemandList, err := dao_ArticleDemand.Select([]grmi.Predicate{}, nil)
|
|
|
|
//if err != nil {
|
|
|
@ -596,7 +596,7 @@ func GetOrderQty(PlantNr int, UserId string, allData *[]model.Article) (err erro |
|
|
|
|
|
|
|
//外购量
|
|
|
|
//到货日期 入库数量 物料编码
|
|
|
|
func GetWaigouQty(PlantNr int, UserId string, allData *[]model.Article) (err error) { |
|
|
|
func GetWaigouWeekQty(PlantNr int, UserId string, allData *[]model.Article) (err error) { |
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
@ -605,36 +605,43 @@ func GetWaigouQty(PlantNr int, UserId string, allData *[]model.Article) (err err |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
dao_ArticleDemand := dal.NewArticleDemandDAO(session, PlantNr, UserId) |
|
|
|
articleDemandList, err := dao_ArticleDemand.Select([]grmi.Predicate{}, nil) |
|
|
|
if err != nil { |
|
|
|
_ = session.Rollback() |
|
|
|
return errors.New("查询物料需求数据失败, error:" + err.Error()) |
|
|
|
} |
|
|
|
dao_SalesOrder := dal_base.NewSalesOrderDAO(session, PlantNr, UserId) |
|
|
|
dao_SalesOrder.DeleteWhere([]grmi.Predicate{meta.SalesOrder_ProductType.NewPredicate(grmi.Equal, "WG")}) |
|
|
|
|
|
|
|
FilerString := "" |
|
|
|
FilerString += "FDocumentStatus = 'C'" |
|
|
|
dataList := utilService.PUR_PurchaseOrder_Init().Search("", "") |
|
|
|
|
|
|
|
for index, _ := range articleDemandList { |
|
|
|
articleDemandList[index].OutSourcingQty = 0 |
|
|
|
for _, info := range dataList { |
|
|
|
ArtId := info[0].(string) |
|
|
|
Qty := info[1].(float64) |
|
|
|
Time, _ := time.ParseInLocation("2006-01-02T15:04:05", utils.ValueToString(info[2], ""), utils.TimezoneLocation) |
|
|
|
Time = utils.WeekDayMondayZeroTs(Time) |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(articleDemandList[index].DemandDate.Restore()) |
|
|
|
if Time == ArticleTime && ArtId == articleDemandList[index].ArtId { |
|
|
|
articleDemandList[index].OutSourcingQty += Qty |
|
|
|
articleDemandList[index].OriginOutSourcingQty = articleDemandList[index].OutSourcingQty //原始数据
|
|
|
|
err := dao_ArticleDemand.UpdateOne(&articleDemandList[index]) |
|
|
|
fmt.Println(articleDemandList[index].ArtId, articleDemandList[index].OutSourcingQty) |
|
|
|
if err != nil { |
|
|
|
_ = session.Rollback() |
|
|
|
return grmi.NewBusinessError("更新物料需求数据失败, error:" + err.Error()) |
|
|
|
} |
|
|
|
} |
|
|
|
dataList := utilService.PUR_PurchaseOrder_Init().Search(FilerString, "") |
|
|
|
|
|
|
|
for _, info := range dataList { |
|
|
|
ArtId := info[0].(string) |
|
|
|
Qty := info[1].(float64) |
|
|
|
if Qty == 0 { |
|
|
|
continue |
|
|
|
} |
|
|
|
OriginTime, _ := time.ParseInLocation("2006-01-02T15:04:05", utils.ValueToString(info[2], ""), utils.TimezoneLocation) |
|
|
|
|
|
|
|
Time := utils.WeekDayMondayZeroTs(OriginTime) |
|
|
|
timeNow := time.Now() |
|
|
|
if OriginTime.Before(timeNow) { |
|
|
|
Time = utils.WeekDayMondayZeroTs(timeNow) |
|
|
|
} |
|
|
|
billNoOrigin := info[3].(string) |
|
|
|
rowId := info[4].(string) |
|
|
|
|
|
|
|
OrderId := "WG" + "_" + billNoOrigin + "_" + rowId |
|
|
|
|
|
|
|
SalesOrder := model.SalesOrder{ |
|
|
|
PlantNr: PlantNr, |
|
|
|
OrderId: OrderId, |
|
|
|
ArtId: ArtId, |
|
|
|
//Descr: articleInfo.Descr1,
|
|
|
|
//FMaterialId: FMaterialId,
|
|
|
|
ExpectedDeliveryDate: grmi.Date(OriginTime), |
|
|
|
RecieveTime: grmi.DateTime(Time), |
|
|
|
PlanQty: Qty, |
|
|
|
ProductType: "WG", |
|
|
|
} |
|
|
|
dao_SalesOrder.InsertOne(&SalesOrder) |
|
|
|
} |
|
|
|
|
|
|
|
_ = session.Commit() |
|
|
|