mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
fix: remove join query between adjustment_stocks and recording (egg)
This commit is contained in:
@@ -882,25 +882,13 @@ func (r *HppV2RepositoryImpl) GetEggProduksiPiecesAndWeightKgByProjectFlockKanda
|
|||||||
TotalQty float64
|
TotalQty float64
|
||||||
TotalWeight float64
|
TotalWeight float64
|
||||||
}
|
}
|
||||||
adjustmentSubQuery := r.db.WithContext(ctx).
|
|
||||||
Table("recordings AS r").
|
|
||||||
Select("DISTINCT ast.id AS adjustment_id, ast.total_qty AS total_qty, ast.price AS price").
|
|
||||||
Joins("JOIN recording_eggs AS re ON re.recording_id = r.id").
|
|
||||||
Joins("JOIN stock_transfer_details AS std ON std.dest_product_warehouse_id = re.product_warehouse_id").
|
|
||||||
Joins(
|
|
||||||
"JOIN stock_allocations AS sa ON sa.usable_type = ? AND sa.usable_id = std.id AND sa.stockable_type = ? AND sa.status = ? AND sa.allocation_purpose = ?",
|
|
||||||
fifo.UsableKeyStockTransferOut.String(),
|
|
||||||
fifo.StockableKeyAdjustmentIn.String(),
|
|
||||||
entity.StockAllocationStatusActive,
|
|
||||||
entity.StockAllocationPurposeConsume,
|
|
||||||
).
|
|
||||||
Joins("JOIN adjustment_stocks AS ast ON ast.id = sa.stockable_id AND ast.product_warehouse_id = std.source_product_warehouse_id").
|
|
||||||
Where("r.project_flock_kandangs_id IN (?)", projectFlockKandangIDs).
|
|
||||||
Where("r.record_datetime <= ?", *date)
|
|
||||||
|
|
||||||
err = r.db.WithContext(ctx).
|
err = r.db.WithContext(ctx).
|
||||||
Table("(?) AS adjustment_sources", adjustmentSubQuery).
|
Table("adjustment_stocks AS ast").
|
||||||
Select("COALESCE(SUM(adjustment_sources.total_qty), 0) AS total_qty, COALESCE(SUM(adjustment_sources.price), 0) AS total_weight").
|
Select("COALESCE(SUM(ast.total_qty), 0) AS total_qty, COALESCE(SUM(ast.price), 0) AS total_weight").
|
||||||
|
Joins("JOIN product_warehouses AS pw ON pw.id = ast.product_warehouse_id").
|
||||||
|
Where("pw.project_flock_kandang_id IN (?)", projectFlockKandangIDs).
|
||||||
|
Where("ast.function_code = ?", string(utils.AdjustmentTransactionSubtypeRecordingEggIn)).
|
||||||
|
Where("ast.created_at <= ?", *date).
|
||||||
Scan(&adjustmentTotals).Error
|
Scan(&adjustmentTotals).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, 0, err
|
return 0, 0, err
|
||||||
|
|||||||
Reference in New Issue
Block a user