|
|
@ -3455,12 +3455,50 @@ func (impl *BalanceServiceImplement) RefreshBalanceData(user *global.User) error |
|
|
|
for _, value2 := range value1 { |
|
|
|
beforeList = append(beforeList, value2) |
|
|
|
} |
|
|
|
sort.Slice(beforeList, func(i, j int) bool { |
|
|
|
return beforeList[i].DemandDate.Restore().Before(beforeList[j].DemandDate.Restore()) |
|
|
|
}) |
|
|
|
SalesOrderList ,err := dao_SalesOrder.Select([]grmi.Predicate{meta_base.SalesOrder_ArtId.NewPredicate(grmi.Equal, artId)}, nil) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("查询SalesOrder失败, error:" + err.Error()) |
|
|
|
} |
|
|
|
DLQty,ZZQty,DDQty :=0.0,0.0,0.0 |
|
|
|
for _, info := range SalesOrderList { |
|
|
|
if info.ProductType == "DL"{ |
|
|
|
DLQty = info.PlanQty |
|
|
|
}else{ |
|
|
|
continue |
|
|
|
} |
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
for index, _ := range beforeList { |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(beforeList[index].DemandDate.Restore()) |
|
|
|
if Time == ArticleTime && artId == beforeList[index].ArtId { |
|
|
|
beforeList[index].IndependentDemandQty += DLQty |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
for _, info := range SalesOrderList { |
|
|
|
if info.ProductType == "ZZ"{ |
|
|
|
ZZQty = info.PlanQty |
|
|
|
}else{ |
|
|
|
continue |
|
|
|
} |
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
for index, _ := range beforeList { |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(beforeList[index].DemandDate.Restore()) |
|
|
|
if Time == ArticleTime && artId == beforeList[index].ArtId { |
|
|
|
beforeList[index].WipQty += ZZQty |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
for _, info := range SalesOrderList { |
|
|
|
if info.ProductType == "DD"{ |
|
|
|
DDQty = info.PlanQty |
|
|
|
}else{ |
|
|
|
continue |
|
|
|
} |
|
|
|
isInMap := make(map[string]int) |
|
|
|
for index, _ := range beforeList { |
|
|
|
ArtId := info.ArtId |
|
|
@ -3475,17 +3513,7 @@ func (impl *BalanceServiceImplement) RefreshBalanceData(user *global.User) error |
|
|
|
} |
|
|
|
//articleDemandList[index].OrderQty = 0
|
|
|
|
|
|
|
|
DDQty,DLQty,ZZQty :=0.0,0.0,0.0 |
|
|
|
switch info.ProductType { |
|
|
|
case "DD": |
|
|
|
DDQty = info.PlanQty |
|
|
|
case "DL": |
|
|
|
DLQty = info.PlanQty |
|
|
|
case "ZZ": |
|
|
|
ZZQty = info.PlanQty |
|
|
|
} |
|
|
|
Time := info.RecieveTime.Restore() |
|
|
|
|
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
isAdd := false |
|
|
|
var AddTime time.Time |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(beforeList[index].DemandDate.Restore()) |
|
|
@ -3498,12 +3526,7 @@ func (impl *BalanceServiceImplement) RefreshBalanceData(user *global.User) error |
|
|
|
if isAdd && AddTime.Before(Time) && !ArticleTime.Before(Time) || Time == ArticleTime { |
|
|
|
beforeList[index].OrderQty += DDQty |
|
|
|
} |
|
|
|
if Time == ArticleTime && ArtId == beforeList[index].ArtId { |
|
|
|
beforeList[index].IndependentDemandQty += DLQty |
|
|
|
} |
|
|
|
if Time == ArticleTime && ArtId == beforeList[index].ArtId { |
|
|
|
beforeList[index].WipQty += ZZQty |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|