$class_pm = new products_minierp();
$bgst = $class_pm->retrieveBestGoodSettings();
$q = tep_db_query("SELECT * FROM minierp_logistic ml WHERE ml.logistic_date>='{$start_date}' AND ml.logistic_date<='{$end_date}'");
$total = array();
$total['Quantity'] = 0;
$total['Material Expense'] = 0;
$total['Indirect Material Expense'] = 0;
$total['Cost based on Complexity'] = 0;
$total['Varialbe Cost'] = 0;
$total['Fixed Cost'] = 0;
$total['Handling Cost'] = 0;
$total['COGS'] = 0;
$day_counter = 0;
echo '<div style="margin-top:20px;">Calculating';
while ($row = tep_db_fetch_array($q)) {
    $list = $class_ml->retrieveItemListForExport($row['logistic_id']);
    $day_counter++;
    echo '<br />Day ' . $day_counter . ' (' . $row['logistic_date'] . ')';
    foreach ($list as $pid => $data) {
        $matexp = !isset($data['matexp']) || $data['matexp'] == 0 ? product::getClosestMaterialExpensesOnSpecificDate($pid, $row['logistic_date']) : $data['matexp'];
        $unit_price = !isset($data['unit_price']) || $data['unit_price'] == 0 ? $purchase_price_multiplier * $matexp : $data['unit_price'];
        $cogs = new product_cogs($matexp, $data['complexity'], $bgst);
        $total['Quantity'] += $data['qty'];
        $total['Material Expense'] += $data['qty'] * $cogs->material_expense;
        $total['Indirect Material Expense'] += $data['qty'] * $cogs->indirect_material_expense;
        $total['Cost based on Complexity'] += $data['qty'] * $cogs->cost_based_on_complexity;
        $total['Varialbe Cost'] += $data['qty'] * $cogs->cost_variable;
        $total['Fixed Cost'] += $data['qty'] * $cogs->cost_fixed;
        $total['Handling Cost'] += $data['qty'] * $cogs->cost_handling;
        $total['COGS'] += $data['qty'] * $cogs->value;
        echo ' .';