fix FEC hytha
This commit is contained in:
parent
7970c1b892
commit
eec83c2cc6
@ -1760,8 +1760,9 @@ class PageController extends Controller {
|
||||
try {
|
||||
try {
|
||||
$data_factures = array();
|
||||
$factures = json_decode($this->myDb->getFactures($this->idNextcloud));
|
||||
$factures = json_decode($this->myDb->getFacturesListWithDependencies());
|
||||
foreach ($factures as $key => $facture) {
|
||||
$factureIsSingle = $facture->facture_type == FactureTypeConstant::TYPE_SINGLE;
|
||||
$facture_temp = array(
|
||||
'num' => $facture->num,
|
||||
'client' => $facture->entreprise,
|
||||
@ -1774,19 +1775,65 @@ class PageController extends Controller {
|
||||
'montant_tva' => 0,
|
||||
'montant_ttc' => 0,
|
||||
);
|
||||
$produits = json_decode($this->getProduitsById($facture->id_devis));
|
||||
foreach ($produits as $key => $produit) {
|
||||
$htPrice = $produit->prix_unitaire;
|
||||
if($facture->fk_client_group_id != null || $facture->fk_client_group_id != 0){
|
||||
$price = $this->myDb->getProductPriceByClientGroupId($facture->fk_client_group_id,$produit->id);
|
||||
if($price != null){
|
||||
$htPrice = $price;
|
||||
if($factureIsSingle){
|
||||
$produits = json_decode($this->getProduitsById($facture->id_devis));
|
||||
foreach ($produits as $key => $produit) {
|
||||
$htPrice = $produit->prix_unitaire;
|
||||
if($facture->fk_client_group_id != null || $facture->fk_client_group_id != 0){
|
||||
$price = $this->myDb->getProductPriceByClientGroupId($facture->fk_client_group_id,$produit->id);
|
||||
if($price != null){
|
||||
$htPrice = $price;
|
||||
}
|
||||
}
|
||||
$facture_temp['montant_htc'] += $htPrice * $produit->quantite;
|
||||
};
|
||||
$facture_temp['montant_tva'] = ($facture_temp['montant_htc'] * $facture_temp['tva'])/100;
|
||||
$facture_temp['montant_ttc'] = $facture_temp['montant_tva'] + $facture_temp['montant_htc'];
|
||||
}
|
||||
else{
|
||||
$isFactureGroupForSingleClient = $facture->facture_client_id != null && $facture->facture_client_id != 0;
|
||||
if($isFactureGroupForSingleClient){
|
||||
$facture_temp["client"] = $facture->facture_client_entreprise;
|
||||
$facture_temp["nom_client"] = $facture->facture_client_name;
|
||||
$devisList = $this->myDb->getDevisByClientIdAndMonthYear(
|
||||
$facture->facture_client_id,
|
||||
$facture->facture_month,
|
||||
$facture->facture_year,
|
||||
[
|
||||
DevisMentionConstant::FACTURED,
|
||||
DevisMentionConstant::FACTURED_FORMATTED
|
||||
]
|
||||
);
|
||||
}
|
||||
$facture_temp['montant_htc'] += $htPrice * $produit->quantite;
|
||||
};
|
||||
$facture_temp['montant_tva'] = ($facture_temp['montant_htc'] * $facture_temp['tva'])/100;
|
||||
$facture_temp['montant_ttc'] = $facture_temp['montant_tva'] + $facture_temp['montant_htc'];
|
||||
else{
|
||||
$facture_temp["client"] = $facture->facture_group_name;
|
||||
$facture_temp["nom_client"] = $facture->facture_group_name;
|
||||
$devisList = $this->myDb->getDevisByClientGroupFacturationIdAndMonthYear(
|
||||
$facture->facture_client_group_facturation_id,
|
||||
$facture->facture_month,
|
||||
$facture->facture_year,
|
||||
[
|
||||
DevisMentionConstant::FACTURED,
|
||||
DevisMentionConstant::FACTURED_FORMATTED
|
||||
]
|
||||
);
|
||||
}
|
||||
foreach($devisList as $currentDevis){
|
||||
$produits = json_decode($this->getProduitsById($currentDevis['id']));
|
||||
foreach ($produits as $key => $produit) {
|
||||
$htPrice = $produit->prix_unitaire;
|
||||
if($currentDevis["fk_client_group_id"] != null || $currentDevis["fk_client_group_id"] != 0){
|
||||
$price = $this->myDb->getProductPriceByClientGroupId($currentDevis["fk_client_group_id"],$produit->id);
|
||||
if($price != null){
|
||||
$htPrice = $price;
|
||||
}
|
||||
}
|
||||
$facture_temp['montant_htc'] += $htPrice * $produit->quantite;
|
||||
};
|
||||
}
|
||||
$facture_temp['montant_tva'] = ($facture_temp['montant_htc'] * $facture_temp['tva'])/100;
|
||||
$facture_temp['montant_ttc'] = $facture_temp['montant_tva'] + $facture_temp['montant_htc'];
|
||||
}
|
||||
|
||||
array_push($data_factures, $facture_temp);
|
||||
};
|
||||
|
||||
@ -365,13 +365,17 @@ class Bdd {
|
||||
facture.fk_client_group_facturation_id as facture_client_group_facturation_id,
|
||||
facture.date_paiement,
|
||||
facture.type_paiement,
|
||||
facture.id_devis,
|
||||
facture.id_devis,
|
||||
facture.version,
|
||||
facture.status_paiement,
|
||||
facture_client.nom as facture_client_name,
|
||||
facture_client.entreprise as facture_client_entreprise,
|
||||
facture_client.fk_client_group_id as facture_client_group_id,
|
||||
facture_client_group_facturation.group_facturation_name as facture_group_name,
|
||||
facture.document_generated_date as facture_document_generated_date,
|
||||
facture.document_sent_date as facture_document_sent_date,
|
||||
facture.month as facture_month,
|
||||
facture.year as facture_year,
|
||||
devis.num as dnum,
|
||||
devis.comment as dcomment,
|
||||
client.entreprise,
|
||||
@ -4312,6 +4316,28 @@ COMMENTAIRES: ".$comment;
|
||||
return FactureTypeConstant::TYPE_SINGLE;
|
||||
}
|
||||
|
||||
public function getDevisByClientGroupFacturationIdAndMonthYear($clientGroupFacturationId,$month,$year,$mentionsFilters = []){
|
||||
$sql = "SELECT devis.id ,devis.id_client,client.fk_client_group_id
|
||||
FROM ".$this->tableprefix."devis as devis
|
||||
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id
|
||||
WHERE
|
||||
client.fk_client_group_facturation_id = ? AND
|
||||
YEAR(devis.date) = ? AND
|
||||
MONTH(devis.date) = ?
|
||||
";
|
||||
|
||||
$conditions = [$clientGroupFacturationId,$year,$month];
|
||||
if(!empty($mentionFilters)){
|
||||
$mentionsFilterPlaceholders = implode(',', array_fill(0, count($mentionFilters), '?'));
|
||||
$sql .= " AND ". $this->tableprefix."devis.mentions IN ($mentionsFilterPlaceholders)";
|
||||
$conditions = array_merge($conditions, $mentionFilters);
|
||||
}
|
||||
$sql.= ";";
|
||||
$result = $this->execSQLNoJsonReturn($sql,$conditions);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getDevisIdsByClientGroupFacturationIdAndMonthYear($clientGroupFacturationId,$month,$year,$mentionFilters = []){
|
||||
$sql = "SELECT devis.id
|
||||
FROM ".$this->tableprefix."devis as devis
|
||||
@ -4338,8 +4364,29 @@ COMMENTAIRES: ".$comment;
|
||||
return $devisIds;
|
||||
}
|
||||
|
||||
public function getDevisByClientIdAndMonthYear($clientId,$month,$year,$mentionFilters = []){
|
||||
$sql = "SELECT devis.id,devis.id_client,client.fk_client_group_id
|
||||
FROM ".$this->tableprefix."devis as devis
|
||||
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id
|
||||
WHERE
|
||||
client.id = ? AND
|
||||
YEAR(devis.date) = ? AND
|
||||
MONTH(devis.date) = ?";
|
||||
|
||||
$conditions = [$clientId,$year,$month];
|
||||
if(!empty($mentionFilters)){
|
||||
$mentionsFilterPlaceholders = implode(',', array_fill(0, count($mentionFilters), '?'));
|
||||
$sql .= " AND devis.mentions IN ($mentionsFilterPlaceholders)";
|
||||
$conditions = array_merge($conditions, $mentionFilters);
|
||||
}
|
||||
$sql.= ";";
|
||||
$result = $this->execSQLNoJsonReturn($sql,$conditions);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getDevisIdsByClientIdAndMonthYear($clientId,$month,$year,$mentionFilters = []){
|
||||
$sql = "SELECT devis.id
|
||||
$sql = "SELECT devis.id,devis.id_client,client.fk_client_group_id
|
||||
FROM ".$this->tableprefix."devis as devis
|
||||
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id
|
||||
WHERE
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user