+ADw?php namespace App+AFw-Jobs+ADs use Illuminate+AFw-Support+AFw-Facades+AFw-Log+ADs use Illuminate+AFw-Support+AFw-Facades+AFw-Auth+ADs use Illuminate+AFw-Support+AFw-Facades+AFw-DB+ADs use Illuminate+AFw-SupportCollection+ADs use Rap2hpoutre+AFw-FastExcelFastExcel+ADs // La classe FastExcel use Spatie+AFw-SimpleExcel+AFw-SimpleExcelReader+ADs use Spatie+AFw-SimpleExcel+AFw-SimpleExcelWriter+ADs use Box+AFw-Spout+AFw-Reader+AFw-Common+AFw-Creator+AFw-ReaderEntityFactory+ADs use Box+AFw-Spout+AFw-Writer+AFw-Common+AFw-Creator+AFw-WriterEntityFactory+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Style+AFw-Style+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Style+AFw-Border+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Style+AFw-BorderPart+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Row+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Style+AFw-CellAlignment+ADs use OpenSpout+AFw-Common+AFw-Entity+AFw-Style+AFw-Color+ADs use OpenSpout+AFw-Writer+AFw-XLSX+AFw-Writer+ADs use OpenSpout+AFw-Writer+AFw-XLSX+AFw-Options+ADs use Illuminate+AFw-Support+AFw-Facades+AFw-File+ADs use Illuminate+AFw-Support+AFw-Collection+ADs class CommandesParProduitDownload +AHs public function +AF8AXw-invoke() +AHs +ACQ-firstDayOfMonth+AD0-date(+ACI-01-m-y+ACI)+ADs +ACQ-currentDay+AD0-date('Y-m-d',strtotime(+ACI--1 days+ACI))+ADs +ACQ-month+AF8-file +AD0 date('m-y', strtotime(+ACQ-currentDay))+ADs +ACQ-date+AF8-file +AD0 date('d-m-y', strtotime(+ACQ-currentDay))+ADs +ACQ-collection +AD0 +AFsAXQ +ADs //////////////par produit////////////////// +ACQ-commandes+AD0AJA-result +AD0 DB::connection('mysql2') -+AD4-select(+ACI-SELECT s.zone, s.secteur, s.route, -- s.tournee, s.date+AF8-depart as Date+AF8-Bc, s.vendeur as vendeur, s.client+AF8-reference as ref+AF8-pdv, s.client as pdv, s.client+AF8-type as type+AF8-pdv, (s.mouvement+AF8-numero+AF8-complet) as code+AF8-bc, (s.article+AF8-reference) as code+AF8-produit, (s.article+AF8-designation) as designation+AF8-produit, (s.article+AF8-famille+AF8-designation) as article+AF8-famille+AF8-designation, (s.article+AF8-quantite) as Qte+AF8-Ctns, s.prix+AF8-total+AF8-ht as Prix+AF8-total+AF8-ht , s.fournisseur as fournisseur FROM +AGA-new+AF8-stats+AGA s WHERE date+AF8-depart+AD0'+ACQ-currentDay' and s.mouvement+AF8-type+AF8-id+AD0-2 +ACI)+ADs +ACQ-headingsDetail+AD0AWw'ZONE','SECTEUR','ROUTE','DATE','VENDEUR','REF PDV','PDV','Type pdv','CODE BC','CODE PRODUIT','PRODUIT','FAMILLE','QUANTIT+AMk-E','MONTANT+AF8-TOTAL','FOURNISSEUR'+AF0AOw +ACQ-detail+AF8-allowed+AF8-columns+AD0AWw'zone','secteur','route','Date+AF8-Bc','vendeur','ref+AF8-pdv','pdv','type+AF8-pdv','code+AF8-bc','code+AF8-produit','designation+AF8-produit','article+AF8-famille+AF8-designation','article+AF8-famille+AF8-designation','Qte+AF8-Ctns','Prix+AF8-total+AF8-ht','fournisseur'+AF0AOw foreach (+ACQ-commandes as +ACQ-commande +AD0APg +ACQ-one) +AHs for (+ACQ-i+AD0-0+ADsAJA-i+ADw-count(+ACQ-detail+AF8-allowed+AF8-columns) +ADsAJA-i+-+- ) +AHs +ACQ-value+AD0AJA-detail+AF8-allowed+AF8-columns+AFsAJA-i+AF0AOw // echo +ACQ-commande-+AD4AJA-value+ADs // exit()+ADs +ACQ-new+AF8-item+AFsAJA-value+AF0 +AD0 +ACQ-one-+AD4AJA-value +ADs if(+ACQ-value+AD0APQ'Date+AF8-Bc')+AHs +ACQ-new+AF8-item+AFsAJA-value+AF0APQ-date(+ACI-d-m-Y+ACI, strtotime(+ACQ-new+AF8-item+AFsAJA-value+AF0))+ADs +AH0 if(+ACQ-new+AF8-item+AFsAJA-value+AF0APQA9-NULL)+AHs +ACQ-new+AF8-item+AFsAJA-value+AF0APQ-0+ADs +AH0 +AH0 array+AF8-push(+ACQ-collection , +ACQ-new+AF8-item) +ADs +AH0 +ACQ-collection +AD0 new Collection(+ACQ-collection) +ADs // +ACQ-collection +AD0 Contact::where('contact+AF8-id','+AD4', '2023-07-01')-+AD4-get()+ADs // +ACQ-collection +AD0 +ACQ-collection-+AD4-push(+AFsAIg-Total+ACI,+ACIAIg,+ACIAJA-sold+AF8-init+ACI,+ACIAJA-sold+AF8-start +ACI,+ACIAJA-total+AF8-commande +ACI,+ACIAJA-total+AF8-charge +ACI,+ACIAJA-montant+AF8-livraison +ACI,+ACIAJA-total+AF8-retour +ACI,+ACIAJA-montant+AF8-encaissements +ACI,+ACIAJA-total+AF8-credit +ACI,+ACI +ACQ-total+AF8-ecart+ACI,+ACIAJA-sold+AF8-fin+ACIAXQ)+ADs // +ACQ-collection +AD0 +ACQ-collection-+AD4-prepend(+ACQ-headingsDetail)+ADs +ACQ-border +AD0 new Border( new BorderPart(Border::BOTTOM, Color::BLACK, Border::WIDTH+AF8-THIN, Border::STYLE+AF8-SOLID), new BorderPart(Border::LEFT, Color::BLACK, Border::WIDTH+AF8-THIN, Border::STYLE+AF8-SOLID), new BorderPart(Border::RIGHT, Color::BLACK, Border::WIDTH+AF8-THIN, Border::STYLE+AF8-SOLID), new BorderPart(Border::TOP, Color::BLACK, Border::WIDTH+AF8-THIN, Border::STYLE+AF8-SOLID) )+ADs +ACQ-headerStyle +AD0 new Style()+ADs +ACQ-headerStyle-+AD4-setBackgroundColor(Color::LIGHT+AF8-GRAY)+ADs +ACQ-headerStyle-+AD4-setFontSize(9)+ADs +ACQ-headerStyle-+AD4-setBorder(+ACQ-border)+ADs +ACQ-headerStyle-+AD4-setFontName('Arial')+ADs +ACQ-headerStyle-+AD4-setFontBold()+ADs +ACQ-style +AD0 new Style()+ADs // +ACQ-style-+AD4-setFontBold()+ADs +ACQ-style-+AD4-setFontSize(9)+ADs +ACQ-style-+AD4-setFontBold()+ADs // +ACQ-style-+AD4-setFontColor(Color::BLUE)+ADs +ACQ-style-+AD4-setShouldWrapText()+ADs // +ACQ-style-+AD4-setCellAlignment(CellAlignment::RIGHT)+ADs // +ACQ-style-+AD4-setCellVerticalAlignment(CellVerticalAlignment::BOTTOM)+ADs // +ACQ-style-+AD4-setBackgroundColor(Color::YELLOW)+ADs +ACQ-style-+AD4-setBorder(+ACQ-border)+ADs +ACQ-path +AD0 storage+AF8-path(+ACI-app/public/export/CommandesParProduit/+ACQ-month+AF8-file+ACI)+ADs if(+ACE-File::isDirectory(+ACQ-path)) +AHs File::makeDirectory(+ACQ-path, 0777, true, true)+ADs +AH0 +ACQ-destination +AD0 storage+AF8-path(+ACI-app/public/export/CommandesParProduit/+ACQ-month+AF8-file/commandesParProduit+ACQ-date+AF8-file.xlsx+ACI)+ADs +ACQ-writer +AD0 SimpleExcelWriter::create(+ACQ-destination)+ADs // +ACQ-writer +AD0 SimpleExcelWriter::streamDownload(+ACQ-destination)+ADs //-+AD4-addHeader(+AFs'ZONE','SECTEUR','ROUTE','DATE','VENDEUR','REF PDV','PDV','CODE BC','FAMILLE DE PRODUIT','QUANTIT+AMk-E','MONTANT+AF8-TOTAL','FOURNISSEUR'+AF0)+ADs +ACQ-writer-+AD4-nameCurrentSheet(+ACIAJA-date+AF8-file+ACI)+ADs +ACQ-writer-+AD4-setHeaderStyle(+ACQ-style)+ADs +ACQ-writer-+AD4-addRow(+AFs'ZONE','SECTEUR','ROUTE','DATE','VENDEUR','REF PDV','PDV','Type pdv','CODE BC','CODE PRODUIT','PRODUIT','FAMILLE','QUANTIT+AMk-E','TOTAL+AF8-PRIX','FOURNISSEUR'+AF0,+ACQ-headerStyle)+ADs +ACQ-collection-+AD4-each(function (+ACQ-item, +ACQ-key) use (+ACQ-writer,+ACQ-style) +AHs +ACQ-writer-+AD4-addRow((array)+ACQ-item,+ACQ-style)+ADs +AH0)+ADs +AH0 +AH0