Choisir La nouvelle vente
';
} elseif($step == 2) {
$html .= 'Les produits de la catégorie
';
if(Tools::getValue('id_category')) {
$id_category = Tools::getValue('id_category');
$id_sale = Tools::getValue('id_sale');
// Getting 3 level of category
$categories = Category::getChildren($id_category, 2);
$id_categories = array((int)$id_category);
foreach ($categories as $category) {
$id_categories[] = (int)$category['id_category'];
if($subcats = Category::getChildren((int)$category['id_category'], 2)) {
foreach ($subcats as $subcat) {
$id_categories[] = (int)$subcat['id_category'];
}
}
}
$product_ids = array();
$sale_ids = array();
$products = Db::getInstance()->ExecuteS('
SELECT p.`id_product`, ps.`id_sale`
FROM `'._DB_PREFIX_.'product` p
LEFT JOIN `'._DB_PREFIX_.'product_ps_cache` ps ON (p.`id_product` = ps.`id_product`)
WHERE p.`id_category_default` IN ('.implode(',', $id_categories).')
');
foreach($products as $row) {
$product_ids[(int)$row['id_product']] = (int)$row['id_product'];
$sale_ids[(int)$row['id_sale']] = (int)$row['id_sale'];
}
if(count($product_ids)>0) {
$html .= '
Produits Concernés ('.count($product_ids).') :
ID Produit |
ID Vente (old) |
';
foreach ($products as $product) {
$html .= '
'.$product['id_product'].' |
'.$product['id_sale'].' |
';
}
$html .= '
Cliquer sur suivant pour réassocier les produits à la nouvelle vente
';
} else {
$html .= 'Pas de produits trouvés dans cette catégorie
';
}
} else {
$html .= 'Vous devez choisir une catégorie
';
}
} elseif($step == 3) {
if(Tools::getValue('id_products')) {
$products_ids = Tools::getValue('id_products');
$id_category = Tools::getValue('id_category');
$id_sale = Tools::getValue('id_sale');
Db::getInstance()->ExecuteS('
DELETE FROM `'._DB_PREFIX_.'product_ps_cache`
WHERE `id_product` IN ('.$products_ids.')
');
Db::getInstance()->ExecuteS('
INSERT IGNORE INTO `'._DB_PREFIX_.'product_ps_cache` (
SELECT p.id_product, IFNULL(
(
SELECT s.id_sale
FROM `'._DB_PREFIX_.'privatesale_category` s
WHERE s.`id_category` = p.`id_category_default`
LIMIT 1)
, 0
)
FROM `ps_product` p
WHERE p.`id_category_default` = '.(int)$id_category.'
)
');
$html .= 'Réassociation Réussie
Vous devez maintenant activer la vente pour que la synchronisation vers Philéa se fasse.
(Pensez bien à vérifier vos stocks avec Philéa, la synchronisation ne s\'en charge pas)
';
} else {
$html .= 'Pas de produits à associer
';
}
} elseif($step == 4) {
$id_sale = Tools::getValue('id_sale');
if($id_sale) {
$sql = '
UPDATE `'._DB_PREFIX_.'philea_sync` SET
`status` = 2,
`products` = 2
WHERE `id_sale` = '.(int)$id_sale;
if(Db::getInstance()->execute($sql)){
$sql = '
INSERT INTO `'._DB_PREFIX_.'philea_auto_sync`
VALUES (
'.(int) $id_sale.',
1,
"0000-00-00 00:00:00"
)
ON DUPLICATE KEY
UPDATE `active` = 1';
if(Db::getInstance()->execute($sql)){
$html .= 'Activation de la synchronisation Philéa
La vente est activée et automatiquement synchronisée
';
} else {
$html .= 'La synchronisation auto n\'a pas pu se faire (faites appel à votre maintenance)
';
}
} else {
$html .= 'L\'acitvation n\'a pas pu se faire (faites appel à votre maintenance)
';
}
} else {
$html .= '';
}
}
echo $html;
}
function getReport($type) {
//global $cookie;
$id_sale = (int)Tools::getValue('id_sale', false);
if (!$id_sale) {
http_response_code(500);
return json_encode(array(
'error'=> 'true',
'message'=> Tools::displayError('Vente non trouvée')
));
}
$report = Db::getInstance()->getRow('
SELECT `report_data`, `report_date`, `id_sale`
FROM `'._DB_PREFIX_.'philea_syncreport`
WHERE `id_sale` = '.$id_sale.'
AND `filename` LIKE "'.$type.'%"
');
if(empty($report['report_data'])){
$report['report_data'] = Tools::displayError('Pas encore de rapport '.$type.' disponible');
}
if(isset($report) && $report != false) {
return json_encode(array(
'error' => 'false',
'report' => $report
));
} else {
return json_encode(array(
'error'=> 'true',
'message' => Tools::displayError('Pas encore de rapport '.$type.' disponible')
));
}
}