private static function queryStock($warehouse_id) { $archive_table = self::$archive_query_in_excel; $stock_list = Product::getOldProductFunction()->stockRetrieveDetailAll($warehouse_id); if ($archive_table) { //Create new excel object $excel_row = 1; $obj_excel = new PHPExcel(); $obj_sheet = $obj_excel->getActiveSheet(); $obj_sheet->getColumnDimension('A')->setWidth(15); $obj_sheet->getColumnDimension('B')->setWidth(15); $obj_sheet->getColumnDimension('C')->setWidth(15); $obj_sheet->getColumnDimension('D')->setWidth(15); $obj_sheet->getColumnDimension('E')->setWidth(15); $obj_sheet->getColumnDimension('F')->setWidth(15); $obj_sheet->getColumnDimension('G')->setWidth(15); //Set Header Row $obj_sheet->setCellValue('A1', 'Product ID'); $obj_sheet->setCellValue('B1', 'EAN'); $obj_sheet->setCellValue('C1', 'Purchase Price'); $obj_sheet->setCellValue('D1', 'Stock Qty'); $obj_sheet->setCellValue('E1', 'Stock Value'); $obj_sheet->setCellValue('F1', 'Last Order Date'); } $stock_qty_total = 0; $stock_value_total = 0; foreach ($stock_list as $stock_detail) { $pid = $stock_detail['products_id']; $aid = $stock_detail['articles_id']; $stock_available = $stock_detail['stock']; if (!isset($obj_product) || $obj_product->id != $pid) { $obj_product = new Product($pid); } $stock_booked = $obj_product->getStockBookedByRealOrderQuantity($aid, WAREHOUSE_ID_FOR_HANDLING_ORDERS); $stock_qty = $stock_available + $stock_booked; if ($stock_qty > 0) { $purchase_price = $obj_product->getCOGSObject()->purchase_price; $stock_value = $stock_qty * $purchase_price; $stock_qty_total += $stock_qty; $stock_value_total += $stock_value; if ($archive_table) { $excel_row++; $ean = $obj_product->getEAN($aid); $last_order_date = $obj_product->getLastOrderDate($aid); //Set Data Row $obj_sheet->setCellValue('A' . $excel_row, $pid); $obj_sheet->setCellValue('B' . $excel_row, $ean); $obj_sheet->setCellValue('C' . $excel_row, $purchase_price); $obj_sheet->setCellValue('D' . $excel_row, $stock_qty); $obj_sheet->setCellValue('E' . $excel_row, $stock_value); $obj_sheet->setCellValue('F' . $excel_row, $last_order_date); } } } if ($archive_table) { $period = date(self::PERIOD_DATE_FORMAT, strtotime('-1 day')); self::saveArchiveFile($obj_excel, $period, self::ARCHIVE_FILENAME_STOCK); } self::$current_stock_qty = $stock_qty_total; self::$current_stock_value = $stock_value_total; }