mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-24 23:35:43 +00:00
Fix[BE]: availableqty not appeared
This commit is contained in:
+11
-3
@@ -97,7 +97,7 @@ func toProjectFlockDTO(pf *projectFlockDTO.ProjectFlockListDTO) *ProjectFlockDTO
|
||||
}
|
||||
}
|
||||
|
||||
func ToProjectFlockKandangDetailDTOWithAvailableQty(e entity.ProjectFlockKandang, availableQtyMap map[uint]float64) ProjectFlockKandangDetailDTO {
|
||||
func ToProjectFlockKandangDetailDTOWithAvailableQty(e entity.ProjectFlockKandang, availableQtyMap map[uint]float64, productWarehouses []entity.ProductWarehouse) ProjectFlockKandangDetailDTO {
|
||||
var projectFlockSummary *projectFlockDTO.ProjectFlockListDTO
|
||||
if e.ProjectFlock.Id != 0 {
|
||||
mapped := projectFlockDTO.ToProjectFlockListDTO(e.ProjectFlock)
|
||||
@@ -116,7 +116,7 @@ func ToProjectFlockKandangDetailDTOWithAvailableQty(e entity.ProjectFlockKandang
|
||||
return ProjectFlockKandangDetailDTO{
|
||||
ProjectFlockKandangListDTO: listDTO,
|
||||
Chickins: toChickinDTOs(e.Chickins),
|
||||
AvailableQtys: toAvailableQtyDTOsFromMap(e.Chickins, availableQtyMap),
|
||||
AvailableQtys: toAvailableQtyDTOsFromMap(e.Chickins, availableQtyMap, productWarehouses),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,11 +190,12 @@ func toChickinDTOs(chickins []entity.ProjectChickin) []chickinDTO.ChickinBaseDTO
|
||||
return result
|
||||
}
|
||||
|
||||
func toAvailableQtyDTOsFromMap(chickins []entity.ProjectChickin, availableQtyMap map[uint]float64) []AvailableQtyDTO {
|
||||
func toAvailableQtyDTOsFromMap(chickins []entity.ProjectChickin, availableQtyMap map[uint]float64, productWarehouses []entity.ProductWarehouse) []AvailableQtyDTO {
|
||||
if len(availableQtyMap) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// First, build map from chickins
|
||||
pwMap := make(map[uint]*entity.ProductWarehouse)
|
||||
for _, chickin := range chickins {
|
||||
if chickin.ProductWarehouse != nil && chickin.ProductWarehouse.Id != 0 {
|
||||
@@ -202,6 +203,13 @@ func toAvailableQtyDTOsFromMap(chickins []entity.ProjectChickin, availableQtyMap
|
||||
}
|
||||
}
|
||||
|
||||
// Then, add productWarehouses that are not in chickins yet
|
||||
for i := range productWarehouses {
|
||||
if _, exists := pwMap[productWarehouses[i].Id]; !exists {
|
||||
pwMap[productWarehouses[i].Id] = &productWarehouses[i]
|
||||
}
|
||||
}
|
||||
|
||||
result := make([]AvailableQtyDTO, 0, len(availableQtyMap))
|
||||
for pwId, availableQty := range availableQtyMap {
|
||||
pw, exists := pwMap[pwId]
|
||||
|
||||
Reference in New Issue
Block a user