testemich Promotion
This commit is contained in:
parent
38e7fd504a
commit
a0f4eda6ea
83 changed files with 1690 additions and 504 deletions
|
|
@ -10,6 +10,11 @@ use App\Services\MyPDFMerger;
|
|||
|
||||
class InvoiceRepository extends BaseRepository {
|
||||
|
||||
private $invoice_date;
|
||||
private $invoice_number;
|
||||
private $filename;
|
||||
private $dir;
|
||||
|
||||
public function __construct(ShoppingOrder $model)
|
||||
{
|
||||
$this->model = $model;
|
||||
|
|
@ -18,53 +23,81 @@ class InvoiceRepository extends BaseRepository {
|
|||
public function create($request = [])
|
||||
{
|
||||
//need invoice $data
|
||||
$invoice_number = isset($request['invoice_number']) ? $request['invoice_number'] : Invoice::getInvoiceNumber();
|
||||
$invoice_date = isset($request['invoice_date']) ? $request['invoice_date'] : $this->model->created_at->format("d.m.Y");
|
||||
|
||||
$number = Invoice::getInvoiceNumber();
|
||||
$this->invoice_date = isset($request['invoice_date']) ? $request['invoice_date'] : $this->model->created_at->format("d.m.Y");
|
||||
$invoice_send_mail = isset($request['invoice_send_mail']) ? true: false;
|
||||
$invoice_number = Invoice::createInvoiceNumber($invoice_number, $invoice_date);
|
||||
$this->invoice_number = Invoice::createInvoiceNumber($number, $this->invoice_date);
|
||||
$this->dir = Invoice::getInvoiceStorageDir($this->invoice_date);
|
||||
$this->filename = Invoice::makeInvoiceFilename($this->invoice_number);
|
||||
|
||||
$this->makePDF();
|
||||
|
||||
$data_file = [
|
||||
'filename' => $this->filename,
|
||||
'dir' => $this->dir,
|
||||
'disk' => 'public',
|
||||
'invoice_number' => $this->invoice_number,
|
||||
'invoice_date' => $this->invoice_date,
|
||||
];
|
||||
$this->model->invoice = $data_file;
|
||||
$this->model->invoice_number = $this->invoice_number;
|
||||
$this->model->save();
|
||||
Invoice::makeNextInvoiceNumber();
|
||||
|
||||
if($invoice_send_mail){
|
||||
Invoice::sendInvoiceMail($this->model);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function update($request = []){
|
||||
if(isset($this->model->invoice['filename'])){
|
||||
$this->invoice_date = isset($request['invoice_date']) ? $request['invoice_date'] : Invoice::getDate($this->model);
|
||||
$invoice_send_mail = isset($request['invoice_send_mail']) ? true: false;
|
||||
$this->invoice_number = Invoice::getNumber($this->model);
|
||||
$this->dir = Invoice::getDir($this->model);
|
||||
$this->filename = Invoice::getFilename($this->model);
|
||||
|
||||
$this->makePDF();
|
||||
|
||||
$data_file = [
|
||||
'filename' => $this->filename,
|
||||
'dir' => $this->dir,
|
||||
'disk' => 'public',
|
||||
'invoice_number' => $this->invoice_number,
|
||||
'invoice_date' => $this->invoice_date,
|
||||
];
|
||||
$this->model->invoice = $data_file;
|
||||
$this->model->invoice_number = $this->invoice_number;
|
||||
$this->model->save();
|
||||
|
||||
if($invoice_send_mail){
|
||||
Invoice::sendInvoiceMail($this->model);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private function makePDF(){
|
||||
$data = [
|
||||
'shopping_order' => $this->model,
|
||||
'invoice_date' => $invoice_date,
|
||||
'invoice_number' => $invoice_number,
|
||||
'invoice_date' => $this->invoice_date,
|
||||
'invoice_number' => $this->invoice_number,
|
||||
];
|
||||
$pdf = PDF::loadView('pdf.invoice', $data);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
|
||||
$dir = Invoice::getInvoiceStorageDir($invoice_date);
|
||||
|
||||
if(!Storage::disk('public')->exists( $dir )){
|
||||
Storage::disk('public')->makeDirectory($dir); //creates directory
|
||||
if(!Storage::disk('public')->exists( $this->dir )){
|
||||
Storage::disk('public')->makeDirectory($this->dir); //creates directory
|
||||
}
|
||||
$path = Storage::disk('public')->getAdapter()->getPathPrefix();
|
||||
$filename = Invoice::makeInvoiceFilename($invoice_number);
|
||||
|
||||
$pdf->save($path.$dir.$filename);
|
||||
$pdf->save($path.$this->dir.$this->filename);
|
||||
|
||||
$pdfMerger = new MyPDFMerger();
|
||||
$pdfMerger->addPDF($path.$dir.$filename);
|
||||
$file = $pdfMerger->myMerge('string', $filename, 'template_invoice_de');
|
||||
Storage::disk('public')->put($dir.$filename, $file);
|
||||
|
||||
$data_file = [
|
||||
'filename' => $filename,
|
||||
'dir' => $dir,
|
||||
'disk' => 'public',
|
||||
'invoice_number' => $invoice_number,
|
||||
'invoice_date' => $invoice_date,
|
||||
];
|
||||
$this->model->invoice = $data_file;
|
||||
$this->model->invoice_number = $invoice_number;
|
||||
$this->model->save();
|
||||
|
||||
if($invoice_send_mail){
|
||||
Invoice::sendInvoiceMail($this->model);
|
||||
}
|
||||
|
||||
Invoice::makeNextInvoiceNumber();
|
||||
return true;
|
||||
//return $pdf->stream('invoice.pdf');
|
||||
//return $this->output($path.$dir, $filename);
|
||||
$pdfMerger->addPDF($path.$this->dir.$this->filename);
|
||||
$file = $pdfMerger->myMerge('string', $this->filename, 'template_invoice_de');
|
||||
Storage::disk('public')->put($this->dir.$this->filename, $file);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue