fix
This commit is contained in:
parent
203ebfdcfd
commit
85bb191d49
@ -60,165 +60,169 @@ class AdminAntDropshippingtracking extends AdminTab
|
||||
}
|
||||
if(!empty($orders)) {
|
||||
foreach ($orders as $id_order => $o) {
|
||||
$order = new Order((int)$id_order);
|
||||
$order_details = array();
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT DISTINCT `id_order_detail`, `product_name`,`product_id`, `product_attribute_id`, `product_quantity` - GREATEST(`product_quantity_return`, `product_quantity_refunded`) AS `quantity`
|
||||
FROM `'._DB_PREFIX_.'order_detail`
|
||||
WHERE `id_order` = '.(int) $id_order.'
|
||||
') as $key => $row) {
|
||||
$order_details[(int)$row['id_order_detail']] = $row;
|
||||
}
|
||||
if($id_order != 0){
|
||||
$order = new Order((int)$id_order);
|
||||
if(Validate::isLoadedObject($order)) {
|
||||
$order_details = array();
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT DISTINCT `id_order_detail`, `product_name`,`product_id`, `product_attribute_id`, `product_quantity` - GREATEST(`product_quantity_return`, `product_quantity_refunded`) AS `quantity`
|
||||
FROM `'._DB_PREFIX_.'order_detail`
|
||||
WHERE `id_order` = '.(int) $id_order.'
|
||||
') as $key => $row) {
|
||||
$order_details[(int)$row['id_order_detail']] = $row;
|
||||
}
|
||||
|
||||
$fully_sent = false;
|
||||
$products_sent = array();
|
||||
$fully_sent = false;
|
||||
$products_sent = array();
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'lapostews` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'lapostews` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'exapaqws` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'exapaqws` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'mondialrelay_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'mondialrelay_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'philea_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'philea_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'ant_dropshipping_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
$remaining = array();
|
||||
$html_products_sent = '';
|
||||
foreach($order_details as $id_order_detail => $d) {
|
||||
if(!in_array($id_order_detail, $products_sent) && !in_array($d['product_id'],$sale_products)) {
|
||||
$remaining[] = (int)$id_order_detail;
|
||||
} elseif(!in_array($id_order_detail, $products_sent) && in_array((int)$d['product_id'],$sale_products)) {
|
||||
$html_products_sent .= '<br />'."\r\n".$d['quantity'] . 'x' . ' ' . $p['product_name'];
|
||||
Db::getInstance()->ExecuteS('
|
||||
INSERT INTO `'._DB_PREFIX_.'ant_dropshipping_parcel`
|
||||
VALUES (
|
||||
'.(int) $id_order_detail.',
|
||||
'.(int) $d['quantity'].',
|
||||
"'.pSQL($o['tracking_number']).'",
|
||||
"'.pSQL($o['carrier']).'",
|
||||
"'.pSQL($o['link']).'",
|
||||
NOW()
|
||||
)
|
||||
');
|
||||
}
|
||||
}
|
||||
|
||||
if(count($remaining) == 0) {
|
||||
$fully_sent = true;
|
||||
} else {
|
||||
$fully_sent = false;
|
||||
}
|
||||
|
||||
$customer = new Customer((int) $order->id_customer);
|
||||
$templateVars = array(
|
||||
'{followup}' => $o['link'],
|
||||
'{carrier}' => $o['carrier'],
|
||||
'{tracking_number}' => $o['tracking_number'],
|
||||
'{sale}' => $sale_names[(int)$order->id_lang],
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{id_order}' => (int) $order->id,
|
||||
// '{product_list}' => !empty($html_products_sent)? $content_html.$html_products_sent: '',
|
||||
// '{product_list_txt}' => !empty($html_products_sent)? $content_txt.strip_tags($html_products_sent): '',
|
||||
);
|
||||
|
||||
$history = new OrderHistory();
|
||||
$history->id_order = (int) $order->id;
|
||||
$history->changeIdOrderState(($fully_sent? Configuration::get('PS_OS_SHIPPING'): 17), (int) $order->id);
|
||||
$history->id_employee = 0;
|
||||
$history->add();
|
||||
|
||||
foreach(Db::getInstance()->ExecuteS('
|
||||
SELECT d.`id_order_detail`, IF(
|
||||
(d.`product_quantity` - IF(
|
||||
d.`product_quantity_return` > 0, d.`product_quantity_return`, d.`product_quantity_refunded`
|
||||
) - IFNULL(SUM(s.`quantity`), 0)) > 0, 1, 0
|
||||
) AS `remain`
|
||||
FROM `'._DB_PREFIX_.'order_detail` d
|
||||
LEFT OUTER JOIN `'._DB_PREFIX_.'ant_dropshipping_parcel` s
|
||||
ON s.`id_order_detail` = d.`id_order_detail`
|
||||
WHERE d.`id_order` = '.(int) $order->id.'
|
||||
GROUP BY d.`id_order_detail`
|
||||
') as $quantity_remain) {
|
||||
if((int) $quantity_remain['remain'] == 0) {
|
||||
$products_sent[] = (int) $quantity_remain['id_order_detail'];
|
||||
}
|
||||
}
|
||||
$remaining = array();
|
||||
$html_products_sent = '';
|
||||
foreach($order_details as $id_order_detail => $d) {
|
||||
if(!in_array($id_order_detail, $products_sent) && !in_array($d['product_id'],$sale_products)) {
|
||||
$remaining[] = (int)$id_order_detail;
|
||||
} elseif(!in_array($id_order_detail, $products_sent) && in_array((int)$d['product_id'],$sale_products)) {
|
||||
$html_products_sent .= '<br />'."\r\n".$d['quantity'] . 'x' . ' ' . $p['product_name'];
|
||||
Db::getInstance()->ExecuteS('
|
||||
INSERT INTO `'._DB_PREFIX_.'ant_dropshipping_parcel`
|
||||
INSERT INTO `'._DB_PREFIX_.'shipping_history`
|
||||
VALUES (
|
||||
'.(int) $id_order_detail.',
|
||||
'.(int) $d['quantity'].',
|
||||
"'.pSQL($o['tracking_number']).'",
|
||||
"'.pSQL($o['carrier']).'",
|
||||
"'.pSQL($o['link']).'",
|
||||
NOW()
|
||||
'.(int) $order->id.',
|
||||
"'.pSQL($o['shipping_number']).'",
|
||||
NOW(),
|
||||
0,
|
||||
'.(int)$id_sale.'
|
||||
)
|
||||
');
|
||||
|
||||
global $_LANGMAIL;
|
||||
$subject = 'Package in transit';
|
||||
if(!Mail::Send(intval($order->id_lang), 'in_transit_dropshipping', ((is_array($_LANGMAIL) && key_exists($subject, $_LANGMAIL)) ? $_LANGMAIL[$subject] : $subject), $templateVars, $customer->email, $customer->firstname.' '.$customer->lastname)){
|
||||
$errors++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(count($remaining) == 0) {
|
||||
$fully_sent = true;
|
||||
} else {
|
||||
$fully_sent = false;
|
||||
}
|
||||
|
||||
$customer = new Customer((int) $order->id_customer);
|
||||
$templateVars = array(
|
||||
'{followup}' => $o['link'],
|
||||
'{carrier}' => $o['carrier'],
|
||||
'{tracking_number}' => $o['tracking_number'],
|
||||
'{sale}' => $sale_names[(int)$order->id_lang],
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{id_order}' => (int) $order->id,
|
||||
// '{product_list}' => !empty($html_products_sent)? $content_html.$html_products_sent: '',
|
||||
// '{product_list_txt}' => !empty($html_products_sent)? $content_txt.strip_tags($html_products_sent): '',
|
||||
);
|
||||
|
||||
$history = new OrderHistory();
|
||||
$history->id_order = (int) $order->id;
|
||||
$history->changeIdOrderState(($fully_sent? Configuration::get('PS_OS_SHIPPING'): 17), (int) $order->id);
|
||||
$history->id_employee = 0;
|
||||
$history->add();
|
||||
|
||||
Db::getInstance()->ExecuteS('
|
||||
INSERT INTO `'._DB_PREFIX_.'shipping_history`
|
||||
VALUES (
|
||||
'.(int) $order->id.',
|
||||
"'.pSQL($o['shipping_number']).'",
|
||||
NOW(),
|
||||
0,
|
||||
'.(int)$id_sale.'
|
||||
)
|
||||
');
|
||||
|
||||
global $_LANGMAIL;
|
||||
$subject = 'Package in transit';
|
||||
if(!Mail::Send(intval($order->id_lang), 'in_transit_dropshipping', ((is_array($_LANGMAIL) && key_exists($subject, $_LANGMAIL)) ? $_LANGMAIL[$subject] : $subject), $templateVars, $customer->email, $customer->firstname.' '.$customer->lastname)){
|
||||
$errors++;
|
||||
}
|
||||
}
|
||||
if(!isset($_COOKIE['logistics_sales'])){
|
||||
setcookie('logistics_sales', $id_sale, 0, __PS_BASE_URI__);
|
||||
|
Loading…
Reference in New Issue
Block a user