$reception->loadRefsFwd(); $reception->loadRefsBack(); } $pdf = new CMbPdf(); $pdf->setFont("vera", '', "10"); // Définition des marges de la pages //$pdf->SetMargins(15, 15); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->SetAutoPageBreak(0); // Creation d'une nouvelle page $pdf->AddPage(); if ($reception->_id) { $lots = $reception->_ref_reception_items; } else { $lot = new CProductOrderItemReception(); $lot->load($lot_id); $lots = array($lot); } $data = array(); $j = 0; foreach ($lots as &$item) { $item->loadRefsBack(); $item->loadRefsFwd(); $item->_ref_order_item->loadReference(); $reference = $item->_ref_order_item->_ref_reference; $reference->loadRefsFwd(); $reference->_ref_product->loadRefsFwd(); if (!$item->barcode_printed || $force_print) { for ($i = 0; $i < $item->quantity / $reference->quantity; $i++) { $data[$j] = array();
$series = array(array("label" => utf8_encode("Entrées"), "color" => "#66CC00", "data" => array()), array("label" => utf8_encode("Sorties"), "color" => "#CB4B4B", "data" => array()), array("label" => utf8_encode("Périmés"), "color" => "#6600CC", "data" => array())); $ticks = array(); $max = 1; $now = CMbDT::date(); $date = CMbDT::date("-6 MONTHS"); $i = 0; while ($date < $now) { //$to = CMbDT::date("+1 MONTH", $date); //$ticks[] = "Du ".CMbDT::dateToLocale($date)." au ".CMbDT::dateToLocale($to); $date = CMbDT::format($date, "%Y-%m-01"); $to = CMbDT::date("+1 MONTH", $date); $ticks[] = array(count($ticks) * 2 - 0.4, utf8_encode(CMbDT::format($date, "%b"))); // Input ////////////////// $where = array("product.product_id" => "= '{$product->_id}'", "product_order_item_reception.date" => "BETWEEN '{$date}' AND '{$to}'"); $ljoin = array("product_order_item" => "product_order_item.order_item_id = product_order_item_reception.order_item_id", "product_reference" => "product_reference.reference_id = product_order_item.reference_id", "product" => "product.product_id = product_reference.product_id"); $lot = new CProductOrderItemReception(); /** @var CProductOrderItemReception[] $lots */ $lots = $lot->loadList($where, null, null, null, $ljoin); $total = 0; foreach ($lots as $_lot) { $total += $_lot->quantity; } $max = max($max, $total); $series[0]["data"][] = array(count($series[0]["data"]) * 2 - 0.6, $total); // Hack pour les etablissements qui ont un service "Périmés" $where_services = array("nom" => "= 'Périmés'"); $services_expired = new CService(); $services_expired_ids = $services_expired->loadIds($where_services); // Output ////////////////// $where = array("product_delivery.stock_class" => "= 'CProductStockGroup'", "product_delivery.stock_id" => "= '{$product->_ref_stock_group->_id}'", "product_delivery_trace.date_delivery" => "BETWEEN '{$date}' AND '{$to}'"); if (count($services_expired_ids)) {
* * @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19286 $ */ CCanDo::checkRead(); $code = CValue::getOrSession('code'); $codes = array(); $products = array(); if (strlen($code) > 2) { $where = array('code' => "LIKE '%{$code}%'"); $delivery = new CProductDeliveryTrace(); $list_deliveries = $delivery->loadList($where, 'date_delivery'); $reception = new CProductOrderItemReception(); $list_order_reception = $reception->loadList($where, 'date'); foreach ($list_order_reception as $trace) { if (!isset($codes[$trace->code])) { $codes[$trace->code] = array(); } $trace->loadRefsFwd(); if (!isset($products[$trace->code])) { $trace->loadRefOrderItem(); $trace->_ref_order_item->loadReference(); $trace->_ref_order_item->_ref_reference->loadRefsFwd(); $products[$trace->code] = $trace->_ref_order_item->_ref_reference->_ref_product; } // date_reception if ($trace->date) { if (!isset($codes[$trace->code][$trace->date])) {
/** * Load lots * * @return CProductOrderItemReception[] */ function loadRefsLots() { $ljoin = array("product_order_item" => "product_order_item_reception.order_item_id = product_order_item.order_item_id", "product_reference" => "product_order_item.reference_id = product_reference.reference_id", "product" => "product_reference.product_id = product.product_id"); $where = array("product.product_id" => " = '{$this->_id}'"); $lot = new CProductOrderItemReception(); return $this->_ref_lots = $lot->loadList($where, "date DESC", null, null, $ljoin); }
/** * Marks every order's items as received * * @return string|null */ function receive() { $this->loadRefsOrderItems(); // we mark all the items as received foreach ($this->_ref_order_items as $item) { if (!$item->isReceived()) { $reception = new CProductOrderItemReception(); $reception->quantity = $item->quantity - $item->_quantity_received; $reception->order_item_id = $item->_id; $reception->date = CMbDT::dateTime(); if ($msg = $reception->store()) { return $msg; } } } return null; }
/** * Receive the order item * * @param int $quantity Quantity * @param null $code Code * * @return null|string */ function receive($quantity, $code = null) { if ($this->_id) { $reception = new CProductOrderItemReception(); $reception->order_item_id = $this->_id; $reception->quantity = $quantity; $reception->date = CMbDT::dateTime(); $reception->code = $code; return $reception->store(); } else { return "{$this->_class}::receive failed : order_item must be stored before"; } }
* @version $Revision$ */ CCanDo::checkAdmin(); // TODO : supprimer return; CApp::setTimeLimit(1200); function append_user_logs(&$all_logs, $logs) { foreach ($logs as $_log) { $all_logs[$_log->date][$_log->_id] = $_log; } } //CSQLDataSource::$trace = true; // --------------------- CProductOrderItemReception::$_load_lite = true; $oir = new CProductOrderItemReception(); $oir_where = array("product_order_item_reception.units_fixed" => "= '0'"); $oir_ljoin = array("product_order_item" => "product_order_item_reception.order_item_id = product_order_item.order_item_id", "product_reference" => "product_order_item.reference_id = product_reference.reference_id", "product" => "product_reference.product_id = product.product_id"); // --------------------- CProductOrderItem::$_load_lite = true; $oi = new CProductOrderItem(); $oi_where = array("product_order_item.units_fixed" => "= '0'"); $oi_ljoin = array("product_reference" => "product_order_item.reference_id = product_reference.reference_id", "product" => "product_reference.product_id = product.product_id", "user_log" => "product_order_item.order_item_id = user_log.object_id AND user_log.object_class = 'CProductOrderItem'"); // --------------------- CProductReference::$_load_lite = true; $ref = new CProductReference(); $ref_where = array("product_reference.units_fixed = '0'"); // --------------------- $references = $ref->loadList($ref_where, null, 50); CAppUI::stepAjax("Correction de " . count($references) . " références"); // Chargement des CProductReference