Merge branch 'fixes/fix-agenda-talk-quantity' into staging
This commit is contained in:
commit
268d14816e
@ -2323,6 +2323,19 @@ class Bdd {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getProduitDevisByDevisId($devisId){
|
||||||
|
$sql = "SELECT *
|
||||||
|
FROM ".$this->tableprefix ."produit_devis as produit_devis
|
||||||
|
WHERE produit_devis.devis_id = ?;";
|
||||||
|
|
||||||
|
$produitDevisList = $this->execSQLNoJsonReturn(
|
||||||
|
$sql,
|
||||||
|
[$devisId]);
|
||||||
|
|
||||||
|
|
||||||
|
return $produitDevisList;
|
||||||
|
}
|
||||||
|
|
||||||
public function getDevisProduits($devisId){
|
public function getDevisProduits($devisId){
|
||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
produit_devis.id,
|
produit_devis.id,
|
||||||
@ -3201,7 +3214,7 @@ class Bdd {
|
|||||||
}
|
}
|
||||||
$productMessage = ". ACTE A FAIRE : ";
|
$productMessage = ". ACTE A FAIRE : ";
|
||||||
foreach($devisProducts as $product){
|
foreach($devisProducts as $product){
|
||||||
$productMessage.= html_entity_decode($product->produit_reference). "(".$product->quantite."), ";
|
$productMessage.= html_entity_decode($product->produit_reference).", ";
|
||||||
}
|
}
|
||||||
$productMessage = trim( $productMessage );
|
$productMessage = trim( $productMessage );
|
||||||
$productMessage = rtrim($productMessage,",");
|
$productMessage = rtrim($productMessage,",");
|
||||||
|
|||||||
@ -155,31 +155,31 @@ class CertificateService {
|
|||||||
|
|
||||||
private function getCareCertificateFolder($devisOfDefunt){
|
private function getCareCertificateFolder($devisOfDefunt){
|
||||||
$careCertificateFolder = 'CLIENTS/'
|
$careCertificateFolder = 'CLIENTS/'
|
||||||
.strtoupper($devisOfDefunt["client_entreprise"])
|
.mb_strtoupper($devisOfDefunt["client_entreprise"],'UTF-8')
|
||||||
.'/DEFUNTS/'
|
.'/DEFUNTS/'
|
||||||
.strtoupper($devisOfDefunt["defunt_nom"]).'/'
|
.mb_strtoupper($devisOfDefunt["defunt_nom"],'UTF-8').'/'
|
||||||
.'ATTESTATION/';
|
.'ATTESTATION/';
|
||||||
|
|
||||||
return $careCertificateFolder;
|
return $careCertificateFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function GetCareCertificateFilename($devisOfDefunt){
|
private function GetCareCertificateFilename($devisOfDefunt){
|
||||||
$filename = 'ATTESTATION_SOIN_'.strtoupper($devisOfDefunt['defunt_nom']);
|
$filename = 'ATTESTATION_SOIN_'.mb_strtoupper($devisOfDefunt['defunt_nom'],'UTF-8');
|
||||||
return $filename;
|
return $filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPacemakerCertificateFolder($devisOfDefunt){
|
private function getPacemakerCertificateFolder($devisOfDefunt){
|
||||||
$folder = 'CLIENTS/'
|
$folder = 'CLIENTS/'
|
||||||
.strtoupper($devisOfDefunt["client_entreprise"])
|
.mb_strtoupper($devisOfDefunt["client_entreprise"],'UTF-8')
|
||||||
.'/DEFUNTS/'
|
.'/DEFUNTS/'
|
||||||
.strtoupper($devisOfDefunt["defunt_nom"]).'/'
|
.mb_strtoupper($devisOfDefunt["defunt_nom"],'UTF-8').'/'
|
||||||
.'ATTESTATION/';
|
.'ATTESTATION/';
|
||||||
|
|
||||||
return $folder;
|
return $folder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPacemakerCertificateFilename($devisOfDefunt){
|
private function getPacemakerCertificateFilename($devisOfDefunt){
|
||||||
$filename = 'ATTESTATION_PACEMAKER_'.strtoupper($devisOfDefunt['defunt_nom']);
|
$filename = 'ATTESTATION_PACEMAKER_'.mb_strtoupper($devisOfDefunt['defunt_nom'],'UTF-8');
|
||||||
return $filename;
|
return $filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -157,11 +157,41 @@ class GestionService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function CheckIfDevisIsAlreadyUpdated($devis,$vCalendarString){
|
||||||
|
$requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
|
||||||
|
$requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString);
|
||||||
|
$requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
|
||||||
|
$requestedDevisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString);
|
||||||
|
$requestedArticleReferences = $this->GetArticlesNameFromVCalendarString($vCalendarString);
|
||||||
|
$requestedArticleIds = $this->gestionBdd->getArticleIdsByArticleReferences($requestedArticleReferences);
|
||||||
|
$articleDevis = $this->gestionBdd->getProduitDevisByDevisId($devis['id']);
|
||||||
|
$articleDevisIds = [];
|
||||||
|
foreach($articleDevis as $currentArticleDevis){
|
||||||
|
$articleDevisIds[] = $currentArticleDevis['produit_id'];
|
||||||
|
}
|
||||||
|
sort($requestedArticleIds);
|
||||||
|
sort($articleDevisIds);
|
||||||
|
|
||||||
|
return
|
||||||
|
$devis['defunt_nom'] == $requestedDefuntName &&
|
||||||
|
$devis['client_id'] == $requestedClientId &&
|
||||||
|
$devis['lieu_id'] == $requestLocationId &&
|
||||||
|
$devis['comment'] == $requestedDevisComment &&
|
||||||
|
$requestedArticleIds == $articleDevisIds;
|
||||||
|
}
|
||||||
|
|
||||||
public function HandleUpdatedCalendarObject(string $vCalendarString){
|
public function HandleUpdatedCalendarObject(string $vCalendarString){
|
||||||
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
||||||
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
|
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
|
||||||
if($devis != null){
|
if($devis != null){
|
||||||
|
$isDevisAlreadyUpdated = $this->CheckIfDevisIsAlreadyUpdated($devis,$vCalendarString);
|
||||||
|
if($isDevisAlreadyUpdated){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
$this->UpdateDevisDataByVCalendarString($devis,$vCalendarString);
|
$this->UpdateDevisDataByVCalendarString($devis,$vCalendarString);
|
||||||
|
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
|
||||||
|
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devis['id'],$userName);
|
||||||
|
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,10 +77,10 @@ class InvoicePdfHandler extends FPDF {
|
|||||||
foreach($this->multipleFactureData as $factureData){
|
foreach($this->multipleFactureData as $factureData){
|
||||||
$factureType = $factureData["facture_type"];
|
$factureType = $factureData["facture_type"];
|
||||||
if($factureType == MultipleFactureTypeConstant::CLIENT_FILTER_TYPE){
|
if($factureType == MultipleFactureTypeConstant::CLIENT_FILTER_TYPE){
|
||||||
$filename = strtoupper($factureData["client_entreprise"]);
|
$filename = mb_strtoupper($factureData["client_entreprise"],'UTF-8');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$filename = 'GROUP_'.strtoupper($factureData["client_entreprise"]);
|
$filename = 'GROUP_'.mb_strtoupper($factureData["client_entreprise"],'UTF-8');
|
||||||
}
|
}
|
||||||
$filename .= $month != 0 ? '_'.DateHelpers::GetMonthPlainString($month) :'';
|
$filename .= $month != 0 ? '_'.DateHelpers::GetMonthPlainString($month) :'';
|
||||||
$filename .= "_".$year;
|
$filename .= "_".$year;
|
||||||
@ -93,7 +93,7 @@ class InvoicePdfHandler extends FPDF {
|
|||||||
$factureNum = $this->factureData['num'];
|
$factureNum = $this->factureData['num'];
|
||||||
$factureNum = str_replace('/','-',$factureNum);
|
$factureNum = str_replace('/','-',$factureNum);
|
||||||
$defuntNom = str_replace(' ',' ',$this->factureData['defunt_nom']);
|
$defuntNom = str_replace(' ',' ',$this->factureData['defunt_nom']);
|
||||||
return $this->factureData['configuration']->facture_prefixe.'_'.$factureNum.'_'.strtoupper($defuntNom);
|
return $this->factureData['configuration']->facture_prefixe.'_'.$factureNum.'_'.mb_strtoupper($defuntNom,'UTF-8');
|
||||||
}
|
}
|
||||||
|
|
||||||
private function DrawInvoiceCompanyAndClientInfo(){
|
private function DrawInvoiceCompanyAndClientInfo(){
|
||||||
|
|||||||
@ -101,8 +101,8 @@ class InvoicePdfService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function getFacturesFolder(array $factureData,$racinePath){
|
private function getFacturesFolder(array $factureData,$racinePath){
|
||||||
$clientRacineFolder = $racinePath.'CLIENTS/'.strtoupper($factureData["client_entreprise"]).'/';
|
$clientRacineFolder = $racinePath.'CLIENTS/'.mb_strtoupper($factureData["client_entreprise"],'UTF-8').'/';
|
||||||
$defuntsFolder = $clientRacineFolder.'DEFUNTS/'.strtoupper($factureData['defunt_nom']).'/'.'FACTURES'.'/';
|
$defuntsFolder = $clientRacineFolder.'DEFUNTS/'.mb_strtoupper($factureData['defunt_nom'],'UTF-8').'/'.'FACTURES'.'/';
|
||||||
$devisDate = $factureData['devis_date'];
|
$devisDate = $factureData['devis_date'];
|
||||||
$devisDatetime = new DateTime($devisDate);
|
$devisDatetime = new DateTime($devisDate);
|
||||||
$devisDateYear = $devisDatetime->format('Y');
|
$devisDateYear = $devisDatetime->format('Y');
|
||||||
@ -135,7 +135,7 @@ class InvoicePdfService {
|
|||||||
$pdf->MutlipleInvoicePdfFactory($invoiceData,$logo);
|
$pdf->MutlipleInvoicePdfFactory($invoiceData,$logo);
|
||||||
$pdf->SetMultipleFactureContent();
|
$pdf->SetMultipleFactureContent();
|
||||||
$racinePath = html_entity_decode(string: $currentConfig->path).'/';
|
$racinePath = html_entity_decode(string: $currentConfig->path).'/';
|
||||||
$clientRacineFolder = $racinePath.'CLIENTS/'.strtoupper($invoiceData[0]["client_entreprise"]).'/';
|
$clientRacineFolder = $racinePath.'CLIENTS/'.mb_strtoupper($invoiceData[0]["client_entreprise"],'UTF-8').'/';
|
||||||
$filename = $currentConfig->facture_prefixe.'_'.$pdf->GetMultipleInvoiceFilename($month,$year);
|
$filename = $currentConfig->facture_prefixe.'_'.$pdf->GetMultipleInvoiceFilename($month,$year);
|
||||||
$filenamePath = $clientRacineFolder.$filename.'.pdf';
|
$filenamePath = $clientRacineFolder.$filename.'.pdf';
|
||||||
$pdfContent = $pdf->Output('','S');
|
$pdfContent = $pdf->Output('','S');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user