/** * Load orders * * @return void */ function loadRefOrders() { // Verifies wether there are pending orders for this stock $where = array(); $where['date_ordered'] = 'IS NOT NULL'; $where[] = 'deleted IS NULL OR deleted = 0'; $orderby = 'date_ordered ASC'; $order = new CProductOrder(); /** @var CProductOrder[] $list_orders */ $list_orders = $order->loadList($where, $orderby); $this->_orders = array(); foreach ($list_orders as $order) { if (!$order->_received && !$order->cancelled) { $done = false; foreach ($order->_ref_order_items as $item) { $item->loadRefsFwd(); $item->_ref_reference->loadRefsFwd(); $item->_ref_order->loadRefsFwd(); if ($item->_ref_reference->_ref_product && $this->_ref_product && $item->_ref_reference->_ref_product->_id == $this->_ref_product->_id) { $this->_ordered_count += $item->quantity; $this->_ordered_last = max(array($item->_ref_order->date_ordered, $this->_ordered_last)); if (!$done) { $this->_orders[] = $order; $done = true; } } } } } $future_quantity = $this->quantity + $this->_ordered_count; if ($future_quantity <= $this->order_threshold_critical) { $this->_zone_future = 0; } elseif ($future_quantity <= $this->order_threshold_min) { $this->_zone_future = 1; } elseif ($future_quantity <= $this->order_threshold_optimum) { $this->_zone_future = 2; } else { $this->_zone_future = 3; } }
<?php /** * $Id$ * * @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $order_id = CValue::get('order_id'); // Loads the expected Order $order = new CProductOrder(); $order->load($order_id); $order->loadRefsBack(); $order->loadRefsFwd(); $order->updateCounts(); $order->loadView(); if ($order->date_ordered) { foreach ($order->_ref_order_items as $_id => $_item) { if (!$_item->renewal) { unset($order->_ref_order_items[$_id]); } } } foreach ($order->_ref_order_items as $_item) { $_item->loadRefsReceptions(); foreach ($_item->_ref_receptions as $_reception) { $_reception->loadRefReception();
<?php /** * $Id: vw_idx_order_manager.php 19286 2013-05-26 16:59:04Z phenxdesign $ * * @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19286 $ */ CCanDo::checkEdit(); $order_id = CValue::getOrSession('order_id'); $category_id = CValue::getOrSession('category_id'); // Loads the expected Order $order = new CProductOrder(); if ($order_id) { $order->load($order_id); $order->updateFormFields(); } $category = new CProductCategory(); $list_categories = $category->loadList(null, 'name'); // Smarty template $smarty = new CSmartyDP(); $smarty->assign('order', $order); $smarty->assign('category_id', $category_id); $smarty->assign('list_categories', $list_categories); $smarty->display('vw_idx_order_manager.tpl');
/** * Fills a new order with the same articles * * @return void */ function redo() { $this->load(); $order = new CProductOrder(); $order->societe_id = $this->societe_id; $order->group_id = $this->group_id; $order->locked = 0; $order->cancelled = 0; $order->order_number = uniqid(rand()); $order->store(); $order->order_number = $order->getUniqueNumber(); $order->store(); $this->loadRefsOrderItems(); foreach ($this->_ref_order_items as $item) { $item->loadRefs(); $new_item = new CProductOrderItem(); $new_item->reference_id = $item->reference_id; $new_item->order_id = $order->order_id; $new_item->quantity = $item->quantity; $new_item->unit_price = $item->_ref_reference->price; $new_item->store(); } }
<?php /** * $Id: vw_order_form.php 19286 2013-05-26 16:59:04Z phenxdesign $ * * @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(); $order_id = CValue::getOrSession('order_id'); // Loads the expected Order $order = new CProductOrder(); if ($order_id) { $order->load($order_id); $order->updateFormFields(); $order->loadRefsFwd(); $order->loadRefAddress(); $order->updateCounts(); if ($order->object_class) { $order->_ref_object->updateFormFields(); $order->_ref_object->loadRefsFwd(); } foreach ($order->_ref_order_items as $_item) { if ($_item->septic) { $order->_septic = true; } if ($_item->lot_id) { $_item->loadRefLot();
/** * Load order * * @return CProductOrder */ function loadRefOrder() { $order_id = explode("-", $this->reference); $order_number = $order_id[0]; if (count($order_id) > 2) { $longeur = strlen($this->reference) - strlen(end($order_id)) - 1; $order_number = substr($this->reference, 0, $longeur); } $where = array(); $where["order_number"] = " = '{$order_number}'"; $order = new CProductOrder(); $order->loadObject($where); return $this->_ref_order = $order; }
CCanDo::checkRead(); $type = CValue::get('type'); $keywords = CValue::get('keywords'); $category_id = CValue::get('category_id'); $invoiced = CValue::get('invoiced'); $start = CValue::get('start', array()); $page = CValue::read($start, $type, 0); $where = array(); if ($category_id) { $where["product.category_id"] = "= '{$category_id}'"; } if ($type == "received" && !$invoiced) { $where["bill_number"] = "IS NULL"; } // @todo faire de la pagination $order = new CProductOrder(); $orders = $order->search($type, $keywords, "{$page}, 25", $where); $count = $order->_search_count; foreach ($orders as $_order) { //$_order->updateCounts(); $_order->countRenewedItems(); if ($_order->object_id) { $_order->loadTargetObject(); $_order->_ref_object->loadRefsFwd(); } } // Smarty template $smarty = new CSmartyDP(); $smarty->assign('orders', $orders); $smarty->assign('count', $count); $smarty->assign('type', $type);
* @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkEdit(); $category_id = CValue::getOrSession('category_id'); $societe_id = CValue::getOrSession('societe_id'); $letter = CValue::getOrSession('letter'); $_autofill = CValue::get('_autofill'); // Categories list $category = new CProductCategory(); $list_categories = $category->loadList(null, 'name'); // Suppliers list $list_societes = CSociete::getSuppliers(false); $order = new CProductOrder(); $list_orders = $order->search("waiting", null, 30); foreach ($list_orders as $_order) { $_order->countBackRefs("order_items"); $_order->loadRefsOrderItems(); } // Smarty template $smarty = new CSmartyDP(); $smarty->assign('_autofill', $_autofill); $smarty->assign('list_categories', $list_categories); $smarty->assign('category_id', $category_id); $smarty->assign('list_societes', $list_societes); $smarty->assign('societe_id', $societe_id); $smarty->assign('letter', $letter); $smarty->assign('list_orders', $list_orders); $smarty->display('vw_aed_order.tpl');
* @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $invoiced = CValue::get("invoiced"); $not_invoiced = CValue::get("not-invoiced"); $date_min = CValue::get("date_min"); $date_max = CValue::get("date_max"); $where = array("DATE(date_ordered) BETWEEN '{$date_min}' AND '{$date_max}'"); if ($invoiced xor $not_invoiced) { $where["bill_number"] = $invoiced ? "IS NOT NULL" : "IS NULL"; } $order = new CProductOrder(); $orders = $order->search("received", null, null, $where); $count = $order->_search_count; $total = 0; $total_ttc = 0; foreach ($orders as $_order) { $_order->countRenewedItems(); foreach ($_order->_ref_order_items as $item) { $item->loadRefsReceptions(); $rec = reset($item->_ref_receptions); $_order->_date_received = $rec ? $rec->date : null; } if ($_order->object_id) { $_object = $_order->loadTargetObject(); $_object->loadRefSejour()->loadNDA(); $_object->loadRefsFwd();
<?php /** * $Id$ * * @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ $do = new CDoObjectAddEdit('CProductOrder'); // New order if (CValue::post('order_id') == 0) { $order = new CProductOrder(); $order->group_id = CProductStockGroup::getHostGroup(); $order->societe_id = CValue::post('societe_id'); $order->order_number = CValue::post('order_number'); $order->locked = 0; $order->cancelled = 0; if ($msg = $order->store()) { CAppUI::setMsg($msg); } else { if (CValue::post('_autofill') == 1) { $order->autofill(); } CAppUI::setMsg($do->createMsg); CAppUI::redirect('m=dPstock&a=vw_aed_order&dialog=1&order_id=' . $order->order_id); } } $do->doIt();
<?php /** * $Id$ * * @package Mediboard * @subpackage Stock * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $type = CValue::post("type", "pending"); $keywords = CValue::post("keywords"); $order = new CProductOrder(); $orders_list = $order->search($type, $keywords, 30); foreach ($orders_list as $_order) { $_order->countBackRefs("order_items"); $_order->updateCounts(); } // Smarty template $smarty = new CSmartyDP(); $smarty->assign("orders", $orders_list); $smarty->display("inc_orders_autocomplete.tpl");
// If a context is provided if ($context_guid = CValue::post("_context_guid")) { list($object_class, $object_id) = explode("-", $context_guid); $where["product_order.object_class"] = "= '{$object_class}'"; $where["product_order.object_id"] = "= '{$object_id}'"; if ($septic = CValue::post("septic")) { unset($_POST["context_guid"]); $where["product_order_item.septic"] = "= '{$septic}'"; } else { $where["product_order_item.septic"] = "= '0'"; } } elseif ($comments = CValue::read($_POST, "_comments")) { $where["product_order.comments"] = "LIKE '{$comments}%'"; } $where["product_order.group_id"] = "= '" . CProductStockGroup::getHostGroup() . "'"; $order = new CProductOrder(); $orders = $order->search("waiting", null, 1, $where); if (($context_guid || $comments == CProductOrder::$_return_form_label) && count($orders) == 0) { $orders = $order->search("locked", null, 1, $where); } // If no order found if (count($orders) == 0) { if ($context_guid) { $context = CMbObject::loadFromGuid($context_guid); $order->setObject($context); $order->locked = 1; } $comments = CValue::read($_POST, "_comments"); $order->societe_id = $reference->societe_id; $order->group_id = CProductStockGroup::getHostGroup(); $order->comments = $comments;