|
|
@ -3569,31 +3569,96 @@ func (impl *BalanceServiceImplement) RefreshBalanceData(user *global.User) 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
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
if info.ProductType == "DL"{ |
|
|
|
DLQty = info.PlanQty |
|
|
|
}else{ |
|
|
|
continue |
|
|
|
} |
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
isInMap := make(map[string]int) |
|
|
|
for index, _ := range beforeList { |
|
|
|
ArtId := info.ArtId |
|
|
|
if ArtId != beforeList[index].ArtId { |
|
|
|
continue |
|
|
|
} |
|
|
|
_, isIn := isInMap[beforeList[index].ArtId] |
|
|
|
if !isIn { |
|
|
|
isInMap[beforeList[index].ArtId] = 0 |
|
|
|
} else { |
|
|
|
isInMap[beforeList[index].ArtId] += 1 |
|
|
|
} |
|
|
|
|
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
isAdd := false |
|
|
|
var AddTime time.Time |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(beforeList[index].DemandDate.Restore()) |
|
|
|
if Time == ArticleTime && artId == beforeList[index].ArtId { |
|
|
|
if isInMap[beforeList[index].ArtId] == 0 { |
|
|
|
AddTime = ArticleTime.Add(-time.Duration(mpsSettingOne.SalesOrderFetchLeadTimeByDay*24) * time.Hour) |
|
|
|
fmt.Println(AddTime, Time, ArticleTime) |
|
|
|
isAdd = true |
|
|
|
} |
|
|
|
|
|
|
|
if isAdd && AddTime.Before(Time) && !ArticleTime.Before(Time) || Time == ArticleTime { |
|
|
|
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
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
if info.ProductType == "ZZ"{ |
|
|
|
ZZQty = info.PlanQty |
|
|
|
}else{ |
|
|
|
continue |
|
|
|
} |
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
isInMap := make(map[string]int) |
|
|
|
for index, _ := range beforeList { |
|
|
|
ArtId := info.ArtId |
|
|
|
if ArtId != beforeList[index].ArtId { |
|
|
|
continue |
|
|
|
} |
|
|
|
_, isIn := isInMap[beforeList[index].ArtId] |
|
|
|
if !isIn { |
|
|
|
isInMap[beforeList[index].ArtId] = 0 |
|
|
|
} else { |
|
|
|
isInMap[beforeList[index].ArtId] += 1 |
|
|
|
} |
|
|
|
|
|
|
|
Time := utils.WeekDayMondayZeroTs(info.RecieveTime.Restore()) |
|
|
|
isAdd := false |
|
|
|
var AddTime time.Time |
|
|
|
ArticleTime := utils.WeekDayMondayZeroTs(beforeList[index].DemandDate.Restore()) |
|
|
|
if Time == ArticleTime && artId == beforeList[index].ArtId { |
|
|
|
if isInMap[beforeList[index].ArtId] == 0 { |
|
|
|
AddTime = ArticleTime.Add(-time.Duration(mpsSettingOne.SalesOrderFetchLeadTimeByDay*24) * time.Hour) |
|
|
|
fmt.Println(AddTime, Time, ArticleTime) |
|
|
|
isAdd = true |
|
|
|
} |
|
|
|
|
|
|
|
if isAdd && AddTime.Before(Time) && !ArticleTime.Before(Time) || Time == ArticleTime { |
|
|
|
beforeList[index].WipQty += ZZQty |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|