Fatturati

This commit is contained in:
paoloar77
2024-12-18 09:14:02 +01:00
parent 852e9838e2
commit 7a64b527b3
5 changed files with 109 additions and 3 deletions

View File

@@ -26,7 +26,8 @@ class ArticleController extends Controller
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
->on('T_WEB_Articoli.DataOra', '=', 'b.data');
})
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM')
//->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM')
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_ArticoliFatturati WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticolo) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticolo')
->leftJoin(DB::raw('(SELECT g.IdTipologia, g.Descrizione as DescrizioneTipologia FROM T_WEB_Tipologie g JOIN (SELECT IdTipologia, MAX(DataOra) as data1 from T_WEB_Tipologie GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) {
$join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia');
})
@@ -119,6 +120,41 @@ class ArticleController extends Controller
return $ordini;
}
private function queryFatturatiByIdArticolo($idArticolo)
{
ini_set("memory_limit", "512M");
try {
$ordini = DB::table('T_WEB_ArticoliFatturati as O')
->leftJoin(DB::raw('(
SELECT
IdArticolo,
MAX(DataOra) as data
FROM T_WEB_Articoli
GROUP BY IdArticolo
) b'), 'O.CodArticolo', '=', 'b.IdArticolo')
->join('T_WEB_Articoli as A', function ($join) {
$join->on('O.CodArticolo', '=', 'A.IdArticolo')
->on('b.data', '=', 'A.DataOra');
})
->select(
DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'),
'O.DataOra',
'O.Qta',
'A.Titolo',
'A.Ean13'
)
->orderBy('O.DataOra', 'desc')
->where('O.CodArticolo', '=', $idArticolo)
->get();
} catch (\Exception $e) {
// Registrazione dell'errore
return response()->json(['error' => 'Si è verificato un errore durante il recupero dei dati: ' . $e->getMessage()], 500);
}
return $ordini;
}
private function queryshowInfoArticolo($idArticolo)
{
@@ -289,6 +325,20 @@ class ArticleController extends Controller
}
}
public function showFatturatiByIdArticolo($idArticolo)
{
try {
$ordini = $this->queryFatturatiByIdArticolo($idArticolo);
return view('fatturati', ['ordini' => $ordini]);
} catch (\Exception $e) {
// Potresti considerare di registrare l'errore per debugging
return new Response('Error exporting articles: ' . $e->getMessage(), 500);
}
}
public function showInfoArticolo($idArticolo)
{
try {