From 27de3fccd4d7fdc4b8c379f4de30924bf6e4a3af Mon Sep 17 00:00:00 2001 From: babak alizadeh Date: Fri, 2 Aug 2024 14:33:47 +0330 Subject: [PATCH] progress --- hesabixCore/src/Controller/BuyController.php | 17 +++++++++++------ .../src/Controller/PrintersController.php | 15 ++++++++++++++- hesabixCore/src/Controller/RfbuyController.php | 13 +++++++++---- hesabixCore/src/Controller/RfsellController.php | 13 +++++++++---- hesabixCore/src/Controller/SellController.php | 13 +++++++++---- hesabixCore/src/Entity/PrinterQueue.php | 15 +++++++++++++++ hesabixCore/src/Service/Provider.php | 3 ++- hesabixCore/src/Service/pdfMGR.php | 4 +++- 8 files changed, 72 insertions(+), 21 deletions(-) diff --git a/hesabixCore/src/Controller/BuyController.php b/hesabixCore/src/Controller/BuyController.php index ad46776..5de2bfb 100644 --- a/hesabixCore/src/Controller/BuyController.php +++ b/hesabixCore/src/Controller/BuyController.php @@ -142,7 +142,7 @@ class BuyController extends AbstractController $hesabdariRow->setBd(0); $hesabdariRow->setBs($params['discountAll']); $ref = $entityManager->getRepository(HesabdariTable::class)->findOneBy([ - 'code' => '104' // سایر هزینه های پخش و خرید + 'code' => '51' // تخفیفات نقدی خرید ]); $hesabdariRow->setRef($ref); $entityManager->persist($hesabdariRow); @@ -180,7 +180,7 @@ class BuyController extends AbstractController } //set amount of document $doc->setAmount($sumTax + $sumTotal - $params['discountAll'] + $params['transferCost']); - //set person buyer + //set person person $hesabdariRow = new HesabdariRow(); $hesabdariRow->setDes('فاکتور خرید'); $hesabdariRow->setBid($acc['bid']); @@ -189,12 +189,12 @@ class BuyController extends AbstractController $hesabdariRow->setBd(0); $hesabdariRow->setBs($sumTax + $sumTotal + $params['transferCost'] - $params['discountAll']); $ref = $entityManager->getRepository(HesabdariTable::class)->findOneBy([ - 'code' => '3' // persons + 'code' => '8' // persons ]); $hesabdariRow->setRef($ref); $person = $entityManager->getRepository(Person::class)->findOneBy([ 'bid' => $acc['bid'], - 'code' => $params['buyer']['code'] + 'code' => $params['person']['code'] ]); if (!$person) return $this->json($extractor->paramsNotSend()); @@ -429,7 +429,8 @@ class BuyController extends AbstractController 'pays' =>true, 'taxInfo' =>true, 'discountInfo' =>true, - 'note' =>true + 'note' =>true, + 'paper' =>'A4-L' ]; if(array_key_exists('printOptions',$params)){ if(array_key_exists('bidInfo',$params['printOptions'])){ @@ -447,6 +448,9 @@ class BuyController extends AbstractController if(array_key_exists('note',$params['printOptions'])){ $printOptions['note'] = $params['printOptions']['note']; } + if(array_key_exists('paper',$params['printOptions'])){ + $printOptions['paper'] = $params['printOptions']['paper']; + } } $note = ''; $printSettings = $entityManager->getRepository(PrintOptions::class)->findOneBy(['bid'=>$acc['bid']]); @@ -465,7 +469,8 @@ class BuyController extends AbstractController 'printOptions'=> $printOptions, 'note'=> $note ]), - false + false, + $printOptions['paper'] ); } if ($params['printers'] == true) { diff --git a/hesabixCore/src/Controller/PrintersController.php b/hesabixCore/src/Controller/PrintersController.php index 0ca5c63..ccd0395 100644 --- a/hesabixCore/src/Controller/PrintersController.php +++ b/hesabixCore/src/Controller/PrintersController.php @@ -52,6 +52,8 @@ class PrintersController extends AbstractController $temp['sell']['note'] = $settings->isSellNote(); $temp['sell']['noteString'] = $settings->getSellNoteString(); $temp['sell']['pays'] = $settings->isSellPays(); + $temp['sell']['paper'] = $settings->getSellPaper(); + if(!$temp['sell']['paper']) { $temp['sell']['paper'] = 'A4-L'; } $temp['buy']['id'] = $settings->getId(); $temp['buy']['bidInfo'] = $settings->isBuyBidInfo(); @@ -60,6 +62,8 @@ class PrintersController extends AbstractController $temp['buy']['note'] = $settings->isBuyNote(); $temp['buy']['noteString'] = $settings->getBuyNoteString(); $temp['buy']['pays'] = $settings->isBuyPays(); + $temp['buy']['paper'] = $settings->getBuyPaper(); + if(!$temp['buy']['paper']) { $temp['buy']['paper'] = 'A4-L'; } $temp['rfbuy']['id'] = $settings->getId(); $temp['rfbuy']['bidInfo'] = $settings->isRfbuyBidInfo(); @@ -68,6 +72,8 @@ class PrintersController extends AbstractController $temp['rfbuy']['note'] = $settings->isRfbuyNote(); $temp['rfbuy']['noteString'] = $settings->getRfbuyNoteString(); $temp['rfbuy']['pays'] = $settings->isRfbuyPays(); + $temp['rfbuy']['paper'] = $settings->getRfbuyPaper(); + if(!$temp['rfbuy']['paper']) { $temp['rfbuy']['paper'] = 'A4-L'; } $temp['rfsell']['id'] = $settings->getId(); $temp['rfsell']['bidInfo'] = $settings->isRfsellBidInfo(); @@ -76,6 +82,9 @@ class PrintersController extends AbstractController $temp['rfsell']['note'] = $settings->isRfsellNote(); $temp['rfsell']['noteString'] = $settings->getRfsellNoteString(); $temp['rfsell']['pays'] = $settings->isRfsellPays(); + $temp['rfsell']['paper'] = $settings->getRfsellPaper(); + if(!$temp['rfsell']['paper']) { $temp['rfsell']['paper'] = 'A4-L'; } + return $this->json($temp); } @@ -103,13 +112,15 @@ class PrintersController extends AbstractController $settings->setSellNote($params['sell']['note']); $settings->setSellNoteString($params['sell']['noteString']); $settings->setSellPays($params['sell']['pays']); - + $settings->setSellPaper($params['sell']['paper']); + $settings->setBuyBidInfo($params['buy']['bidInfo']); $settings->setBuyTaxInfo($params['buy']['taxInfo']); $settings->setBuyDiscountInfo($params['buy']['discountInfo']); $settings->setBuyNote($params['buy']['note']); $settings->setBuyNoteString($params['buy']['noteString']); $settings->setBuyPays($params['buy']['pays']); + $settings->setBuyPaper($params['buy']['paper']); $settings->setRfbuyBidInfo($params['rfbuy']['bidInfo']); $settings->setRfbuyTaxInfo($params['rfbuy']['taxInfo']); @@ -117,6 +128,7 @@ class PrintersController extends AbstractController $settings->setRfbuyNote($params['rfbuy']['note']); $settings->setRfbuyNoteString($params['rfbuy']['noteString']); $settings->setRfbuyPays($params['rfbuy']['pays']); + $settings->setRfbuyPaper($params['rfbuy']['paper']); $settings->setRfsellBidInfo($params['rfsell']['bidInfo']); $settings->setRfsellTaxInfo($params['rfsell']['taxInfo']); @@ -124,6 +136,7 @@ class PrintersController extends AbstractController $settings->setRfsellNote($params['rfsell']['note']); $settings->setRfsellNoteString($params['rfsell']['noteString']); $settings->setRfsellPays($params['rfsell']['pays']); + $settings->setRfSellPaper($params['rfsell']['paper']); $entityManager->persist($settings); $entityManager->flush(); diff --git a/hesabixCore/src/Controller/RfbuyController.php b/hesabixCore/src/Controller/RfbuyController.php index e5be2fe..7fadd2b 100644 --- a/hesabixCore/src/Controller/RfbuyController.php +++ b/hesabixCore/src/Controller/RfbuyController.php @@ -165,7 +165,7 @@ class RfbuyController extends AbstractController } //set amount of document $doc->setAmount($sumTax + $sumTotal - $params['discountAll'] + $params['transferCost']); - //set person buyer + //set person person $hesabdariRow = new HesabdariRow(); $hesabdariRow->setDes('فاکتور برگشت از خرید'); $hesabdariRow->setBid($acc['bid']); @@ -179,7 +179,7 @@ class RfbuyController extends AbstractController $hesabdariRow->setRef($ref); $person = $entityManager->getRepository(Person::class)->findOneBy([ 'bid' => $acc['bid'], - 'code' => $params['buyer']['code'] + 'code' => $params['person']['code'] ]); if (!$person) return $this->json($extractor->paramsNotSend()); @@ -414,7 +414,8 @@ class RfbuyController extends AbstractController 'pays' =>true, 'taxInfo' =>true, 'discountInfo' =>true, - 'note' =>true + 'note' =>true, + 'paper' =>'A4-L' ]; if(array_key_exists('printOptions',$params)){ if(array_key_exists('bidInfo',$params['printOptions'])){ @@ -432,6 +433,9 @@ class RfbuyController extends AbstractController if(array_key_exists('note',$params['printOptions'])){ $printOptions['note'] = $params['printOptions']['note']; } + if(array_key_exists('paper',$params['printOptions'])){ + $printOptions['paper'] = $params['printOptions']['paper']; + } } $note = ''; $printSettings = $entityManager->getRepository(PrintOptions::class)->findOneBy(['bid'=>$acc['bid']]); @@ -450,7 +454,8 @@ class RfbuyController extends AbstractController 'printOptions'=> $printOptions, 'note'=> $note ]), - false + false, + $printOptions['paper'] ); } if ($params['printers'] == true) { diff --git a/hesabixCore/src/Controller/RfsellController.php b/hesabixCore/src/Controller/RfsellController.php index c5bef6d..fde2819 100644 --- a/hesabixCore/src/Controller/RfsellController.php +++ b/hesabixCore/src/Controller/RfsellController.php @@ -180,7 +180,7 @@ class RfsellController extends AbstractController } //set amount of document $doc->setAmount($sumTax + $sumTotal - $params['discountAll'] + $params['transferCost']); - //set person buyer + //set person person $hesabdariRow = new HesabdariRow(); $hesabdariRow->setDes('فاکتور برگشت از فروش'); $hesabdariRow->setBid($acc['bid']); @@ -194,7 +194,7 @@ class RfsellController extends AbstractController $hesabdariRow->setRef($ref); $person = $entityManager->getRepository(Person::class)->findOneBy([ 'bid' => $acc['bid'], - 'code' => $params['buyer']['code'] + 'code' => $params['person']['code'] ]); if (!$person) return $this->json($extractor->paramsNotSend()); @@ -429,7 +429,8 @@ class RfsellController extends AbstractController 'pays' =>true, 'taxInfo' =>true, 'discountInfo' =>true, - 'note' =>true + 'note' =>true, + 'paper' =>'A4-L' ]; if(array_key_exists('printOptions',$params)){ if(array_key_exists('bidInfo',$params['printOptions'])){ @@ -447,6 +448,9 @@ class RfsellController extends AbstractController if(array_key_exists('note',$params['printOptions'])){ $printOptions['note'] = $params['printOptions']['note']; } + if(array_key_exists('paper',$params['printOptions'])){ + $printOptions['paper'] = $params['printOptions']['paper']; + } } $note = ''; $printSettings = $entityManager->getRepository(PrintOptions::class)->findOneBy(['bid'=>$acc['bid']]); @@ -465,7 +469,8 @@ class RfsellController extends AbstractController 'printOptions'=> $printOptions, 'note'=> $note ]), - false + false, + $printOptions['paper'] ); } if ($params['printers'] == true) { diff --git a/hesabixCore/src/Controller/SellController.php b/hesabixCore/src/Controller/SellController.php index ed4dc0d..c4ea5ef 100644 --- a/hesabixCore/src/Controller/SellController.php +++ b/hesabixCore/src/Controller/SellController.php @@ -165,7 +165,7 @@ class SellController extends AbstractController } //set amount of document $doc->setAmount($sumTax + $sumTotal - $params['discountAll'] + $params['transferCost']); - //set person buyer + //set person person $hesabdariRow = new HesabdariRow(); $hesabdariRow->setDes('فاکتور فروش'); $hesabdariRow->setBid($acc['bid']); @@ -179,7 +179,7 @@ class SellController extends AbstractController $hesabdariRow->setRef($ref); $person = $entityManager->getRepository(Person::class)->findOneBy([ 'bid' => $acc['bid'], - 'code' => $params['buyer']['code'] + 'code' => $params['person']['code'] ]); if (!$person) return $this->json($extractor->paramsNotSend()); @@ -414,7 +414,8 @@ class SellController extends AbstractController 'pays' =>true, 'taxInfo' =>true, 'discountInfo' =>true, - 'note' =>true + 'note' =>true, + 'paper' =>'A4-L' ]; if(array_key_exists('printOptions',$params)){ if(array_key_exists('bidInfo',$params['printOptions'])){ @@ -432,6 +433,9 @@ class SellController extends AbstractController if(array_key_exists('note',$params['printOptions'])){ $printOptions['note'] = $params['printOptions']['note']; } + if(array_key_exists('paper',$params['printOptions'])){ + $printOptions['paper'] = $params['printOptions']['paper']; + } } $note = ''; $printSettings = $entityManager->getRepository(PrintOptions::class)->findOneBy(['bid'=>$acc['bid']]); @@ -450,7 +454,8 @@ class SellController extends AbstractController 'printOptions'=> $printOptions, 'note'=> $note ]), - false + false, + $printOptions['paper'] ); } if ($params['printers'] == true) { diff --git a/hesabixCore/src/Entity/PrinterQueue.php b/hesabixCore/src/Entity/PrinterQueue.php index e7b63c9..6f18cf3 100644 --- a/hesabixCore/src/Entity/PrinterQueue.php +++ b/hesabixCore/src/Entity/PrinterQueue.php @@ -33,6 +33,9 @@ class PrinterQueue #[ORM\Column(nullable: true)] private ?bool $posprint = null; + #[ORM\Column(length: 50, nullable: true)] + private ?string $paperSize = null; + public function getId(): ?int { return $this->id; @@ -109,4 +112,16 @@ class PrinterQueue return $this; } + + public function getPaperSize(): ?string + { + return $this->paperSize; + } + + public function setPaperSize(?string $paperSize): static + { + $this->paperSize = $paperSize; + + return $this; + } } diff --git a/hesabixCore/src/Service/Provider.php b/hesabixCore/src/Service/Provider.php index 8374271..cb26572 100644 --- a/hesabixCore/src/Service/Provider.php +++ b/hesabixCore/src/Service/Provider.php @@ -147,12 +147,13 @@ class Provider return $result; } - public function createPrint(Business $bid, User $user, String $data,$posPrint = false) + public function createPrint(Business $bid, User $user, String $data,$posPrint = false,$paperSize = 'A4-L') { $print = new PrinterQueue(); $print->setDateSubmit(time()); $print->setSubmitter($user); $print->setBid($bid); + $print->setPaperSize($paperSize); $print->setView($data); $print->setPosprint($posPrint); $print->setPid($this->RandomString(128)); diff --git a/hesabixCore/src/Service/pdfMGR.php b/hesabixCore/src/Service/pdfMGR.php index 4a3479a..ec719de 100644 --- a/hesabixCore/src/Service/pdfMGR.php +++ b/hesabixCore/src/Service/pdfMGR.php @@ -24,10 +24,12 @@ class pdfMGR $footer = $template->render([ ]); + $size = $printQueue->getPaperSize(); + if(!$size){ $size = 'A4-L'; } $defaultConfig = (new \Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', 'format' => 'A4-L', + 'mode' => 'utf-8', 'format' => $size, 'fontDir' => array_merge($fontDirs, [ __DIR__ . '../Fonts', ]),