// AdminSupplyOrders : improved
This commit is contained in:
1 parent
aac95ea526
commit
43a15145b9
1 file changed
+28
-10
@@ -97,10 +97,10 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
'havingFilter' => true,
|
'havingFilter' => true,
|
||||||
'filter_key' => 'a!date_delivery_expected'
|
'filter_key' => 'a!date_delivery_expected'
|
||||||
),
|
),
|
||||||
'id_pdf' => array(
|
'id_export' => array(
|
||||||
'title' => $this->l('PDF'),
|
'title' => $this->l('Export'),
|
||||||
'width' => 80,
|
'width' => 80,
|
||||||
'callback' => 'printPDFIcons',
|
'callback' => 'printExportIcons',
|
||||||
'orderby' => false,
|
'orderby' => false,
|
||||||
'search' => false
|
'search' => false
|
||||||
),
|
),
|
||||||
@@ -356,7 +356,7 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
st.receipt_state,
|
st.receipt_state,
|
||||||
st.pending_receipt,
|
st.pending_receipt,
|
||||||
st.color AS color,
|
st.color AS color,
|
||||||
a.id_supply_order as id_pdf';
|
a.id_supply_order as id_export';
|
||||||
|
|
||||||
$this->_join = 'LEFT JOIN `'._DB_PREFIX_.'supply_order_state_lang` stl ON
|
$this->_join = 'LEFT JOIN `'._DB_PREFIX_.'supply_order_state_lang` stl ON
|
||||||
(
|
(
|
||||||
@@ -1619,7 +1619,7 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
* @param string $tr
|
* @param string $tr
|
||||||
* @return string $content
|
* @return string $content
|
||||||
*/
|
*/
|
||||||
public function printPDFIcons($id_supply_order, $tr)
|
public function printExportIcons($id_supply_order, $tr)
|
||||||
{
|
{
|
||||||
$supply_order = new SupplyOrder((int)$id_supply_order);
|
$supply_order = new SupplyOrder((int)$id_supply_order);
|
||||||
|
|
||||||
@@ -1637,6 +1637,14 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
$content .= '-';
|
$content .= '-';
|
||||||
$content .= '</span>';
|
$content .= '</span>';
|
||||||
|
|
||||||
|
$content .= '<span style="width:20px">';
|
||||||
|
if ($supply_order_state->enclosed == true && $supply_order_state->receipt_state == true)
|
||||||
|
$content .= '<a href="csv.php?id_supply_order='.(int)$supply_order->id.'"><img src="../img/admin/excel_file.png" alt="csv" /></a>';
|
||||||
|
else
|
||||||
|
$content .= '-';
|
||||||
|
$content .= '</span>';
|
||||||
|
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1713,7 +1721,7 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
if (Tools::getValue('id_supply_order'))
|
if (Tools::getValue('id_supply_order'))
|
||||||
$supply_order->resetProducts();
|
$supply_order->resetProducts();
|
||||||
|
|
||||||
// gets products which quantity is less or equal than $threshold
|
// gets products
|
||||||
$query = new DbQuery();
|
$query = new DbQuery();
|
||||||
$query->select('s.id_product,
|
$query->select('s.id_product,
|
||||||
s.id_product_attribute,
|
s.id_product_attribute,
|
||||||
@@ -1732,6 +1740,14 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
AND
|
AND
|
||||||
ps.id_supplier = '.(int)$supply_order->id_supplier.'
|
ps.id_supplier = '.(int)$supply_order->id_supplier.'
|
||||||
)');
|
)');
|
||||||
|
$query->innerJoin('warehouse_product_location wpl ON
|
||||||
|
(
|
||||||
|
wpl.id_product = s.id_product
|
||||||
|
AND
|
||||||
|
wpl.id_product_attribute = s.id_product_attribute
|
||||||
|
AND
|
||||||
|
wpl.id_warehouse = '.(int)$supply_order->id_warehouse.'
|
||||||
|
)');
|
||||||
$query->leftJoin('product p ON (p.id_product = s.id_product)');
|
$query->leftJoin('product p ON (p.id_product = s.id_product)');
|
||||||
$query->leftJoin('product_attribute pa ON
|
$query->leftJoin('product_attribute pa ON
|
||||||
(
|
(
|
||||||
@@ -1739,7 +1755,6 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
AND
|
AND
|
||||||
p.id_product = s.id_product
|
p.id_product = s.id_product
|
||||||
)');
|
)');
|
||||||
$query->where('s.physical_quantity <= '.(int)$threshold);
|
|
||||||
|
|
||||||
// gets items
|
// gets items
|
||||||
$items = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
|
$items = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
|
||||||
@@ -1749,13 +1764,14 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
if (!Validate::isLoadedObject($order_currency))
|
if (!Validate::isLoadedObject($order_currency))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
$manager = StockManagerFactory::getManager();
|
||||||
foreach ($items as $item)
|
foreach ($items as $item)
|
||||||
{
|
{
|
||||||
// loads product currency
|
if ($manager->getProductRealQuantities($item['id_product'], $item['id_product_attribute'], $supply_order->id_warehouse, true) < $threshold)
|
||||||
|
{
|
||||||
$product_currency = new Currency($item['id_currency']);
|
$product_currency = new Currency($item['id_currency']);
|
||||||
if (!Validate::isLoadedObject($order_currency))
|
if (!Validate::isLoadedObject($order_currency))
|
||||||
continue;
|
{
|
||||||
|
|
||||||
// sets supply_order_detail
|
// sets supply_order_detail
|
||||||
$supply_order_detail = new SupplyOrderDetail();
|
$supply_order_detail = new SupplyOrderDetail();
|
||||||
$supply_order_detail->id_supply_order = $supply_order->id;
|
$supply_order_detail->id_supply_order = $supply_order->id;
|
||||||
@@ -1773,6 +1789,8 @@ class AdminSupplyOrdersControllerCore extends AdminController
|
|||||||
$supply_order_detail->save();
|
$supply_order_detail->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Overrides AdminController::beforeAdd()
|
* Overrides AdminController::beforeAdd()
|
||||||
|
|||||||
Reference in new issue
Block a user