mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 19:40:44 +01:00
Fix warning data per Interventi in Fattura
This commit is contained in:
parent
36d70a7d23
commit
fce5c09eaf
@ -94,12 +94,15 @@ if ($dir == 'entrata') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verifica la data dell'intervento rispetto alla data della fattura
|
// Verifica la data dell'intervento rispetto alla data della fattura
|
||||||
$righe_interventi = $fattura->getRighe()->where('idintervento', '!=', null);
|
$fatturazione_futura = false;
|
||||||
if (!empty($righe_interventi)) {
|
$data_fattura = new Carbon($fattura->data);
|
||||||
foreach ($righe_interventi as $riga_intervento) {
|
$interventi_collegati = $fattura->getDocumentiCollegati()[Intervento::class];
|
||||||
$intervento = Intervento::find($riga_intervento->idintervento);
|
if (!empty($interventi_collegati)) {
|
||||||
|
foreach ($interventi_collegati as $intervento) {
|
||||||
|
$fine_intervento = $intervento->fine ?: $intervento->data_richiesta;
|
||||||
|
$fine_intervento = new Carbon($fine_intervento);
|
||||||
|
|
||||||
if ((new Carbon($intervento->fine))->diffInDays(new Carbon($fattura->data), false) < 0) {
|
if ($fine_intervento->diffInDays($data_fattura, false) < 0) {
|
||||||
$fatturazione_futura = true;
|
$fatturazione_futura = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -193,6 +193,10 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
|
|||||||
$qta_gruppo = $gruppo->sum('ore');
|
$qta_gruppo = $gruppo->sum('ore');
|
||||||
$riga->qta = round($qta_gruppo, $decimals);
|
$riga->qta = round($qta_gruppo, $decimals);
|
||||||
|
|
||||||
|
// Riferimento al documento di origine
|
||||||
|
$riga->original_document_type = get_class($intervento);
|
||||||
|
$riga->original_document_id = $intervento->id;
|
||||||
|
|
||||||
$riga->save();
|
$riga->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,6 +226,10 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
|
|||||||
|
|
||||||
$riga->qta = $gruppo->count();
|
$riga->qta = $gruppo->count();
|
||||||
|
|
||||||
|
// Riferimento al documento di origine
|
||||||
|
$riga->original_document_type = get_class($intervento);
|
||||||
|
$riga->original_document_id = $intervento->id;
|
||||||
|
|
||||||
$riga->save();
|
$riga->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,6 +263,10 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
|
|||||||
$riga->prezzo_unitario = $viaggio->prezzo_km_unitario;
|
$riga->prezzo_unitario = $viaggio->prezzo_km_unitario;
|
||||||
$riga->setSconto($viaggio->scontokm_unitario, $viaggio->tipo_scontokm);
|
$riga->setSconto($viaggio->scontokm_unitario, $viaggio->tipo_scontokm);
|
||||||
|
|
||||||
|
// Riferimento al documento di origine
|
||||||
|
$riga->original_document_type = get_class($intervento);
|
||||||
|
$riga->original_document_id = $intervento->id;
|
||||||
|
|
||||||
$riga->qta = $qta_trasferta;
|
$riga->qta = $qta_trasferta;
|
||||||
|
|
||||||
$riga->save();
|
$riga->save();
|
||||||
@ -265,7 +277,6 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
|
|||||||
$righe = $intervento->getRighe();
|
$righe = $intervento->getRighe();
|
||||||
foreach ($righe as $riga) {
|
foreach ($righe as $riga) {
|
||||||
$qta = $riga->qta;
|
$qta = $riga->qta;
|
||||||
|
|
||||||
$copia = $riga->copiaIn($fattura, $qta);
|
$copia = $riga->copiaIn($fattura, $qta);
|
||||||
|
|
||||||
$copia->id_conto = $id_conto;
|
$copia->id_conto = $id_conto;
|
||||||
|
@ -45,6 +45,41 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
|
|||||||
return static::$movimenta_magazzino;
|
return static::$movimenta_magazzino;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce tutti i documenti collegati al documento corrente attraverso la procedura di importazione delle righe.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
public function getDocumentiCollegati()
|
||||||
|
{
|
||||||
|
$riferimenti = collect([
|
||||||
|
$this->descrizioni()
|
||||||
|
->select(['original_document_id', 'original_document_type'])
|
||||||
|
->get(),
|
||||||
|
$this->righe()
|
||||||
|
->select(['original_document_id', 'original_document_type'])
|
||||||
|
->get(),
|
||||||
|
$this->articoli()
|
||||||
|
->select(['original_document_id', 'original_document_type'])
|
||||||
|
->get(),
|
||||||
|
$this->sconti()
|
||||||
|
->select(['original_document_id', 'original_document_type'])
|
||||||
|
->get(),
|
||||||
|
])->flatten();
|
||||||
|
|
||||||
|
return $riferimenti->reject(function ($item) {
|
||||||
|
return empty($item->original_document_type);
|
||||||
|
})->unique(function ($item) {
|
||||||
|
return $item->original_document_type.'|'.$item->original_document_id;
|
||||||
|
})->mapToGroups(function ($item) {
|
||||||
|
return [$item->original_document_type => ($item->original_document_type)::find($item->original_document_id)];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce tutte le righe collegate al documento.
|
||||||
|
* @return \Illuminate\Support\Collection|iterable
|
||||||
|
*/
|
||||||
public function getRighe()
|
public function getRighe()
|
||||||
{
|
{
|
||||||
$results = $this->mergeCollections($this->descrizioni, $this->righe, $this->articoli, $this->sconti);
|
$results = $this->mergeCollections($this->descrizioni, $this->righe, $this->articoli, $this->sconti);
|
||||||
@ -54,6 +89,12 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce la riga con tipo e identificativo corrispondente.
|
||||||
|
* @param $type
|
||||||
|
* @param $id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
public function getRiga($type, $id)
|
public function getRiga($type, $id)
|
||||||
{
|
{
|
||||||
$righe = $this->getRighe();
|
$righe = $this->getRighe();
|
||||||
@ -63,6 +104,10 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce le righe del documento raggruppate per documento di origine.
|
||||||
|
* @return \Illuminate\Support\Collection|iterable
|
||||||
|
*/
|
||||||
public function getRigheRaggruppate()
|
public function getRigheRaggruppate()
|
||||||
{
|
{
|
||||||
$righe = $this->getRighe();
|
$righe = $this->getRighe();
|
||||||
|
@ -101,3 +101,6 @@ UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `dt_causalet` WHERE 1=
|
|||||||
|
|
||||||
-- Fix query per la lista newsletter predefinita
|
-- Fix query per la lista newsletter predefinita
|
||||||
UPDATE `em_lists` SET `query` = 'SELECT idanagrafica AS id, ''Modules\\\\Anagrafiche\\\\Anagrafica'' AS tipo FROM an_anagrafiche' WHERE `query` = 'SELECT idanagrafica AS id FROM an_anagrafiche WHERE email != ''''';
|
UPDATE `em_lists` SET `query` = 'SELECT idanagrafica AS id, ''Modules\\\\Anagrafiche\\\\Anagrafica'' AS tipo FROM an_anagrafiche' WHERE `query` = 'SELECT idanagrafica AS id FROM an_anagrafiche WHERE email != ''''';
|
||||||
|
|
||||||
|
-- Fix riferimento documento per righe create da Interventi
|
||||||
|
UPDATE `co_righe_documenti` SET `original_document_id` = `idintervento`, `original_document_type` = 'Modules\\Interventi\\Intervento' WHERE `idintervento` IS NOT NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user