aa
This commit is contained in:
@@ -16,20 +16,20 @@ class ArticleController extends Controller
|
||||
ini_set("memory_limit", "512M");
|
||||
try {
|
||||
$articoli = Article::whereRaw('DataOra >= ?', [$data_start])
|
||||
->join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE DataOra >= ? GROUP BY IdArticolo) b'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
|
||||
->on('T_WEB_Articoli.DataOra', '=', 'b.data');
|
||||
}, [$data_start])
|
||||
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM');
|
||||
}, [$data_start])
|
||||
->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 WHERE DataOra >= ? GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia');
|
||||
}, [$data_start])
|
||||
->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti'))
|
||||
->where('DescrizioneTipologia', 'Libri')
|
||||
->orderBy('totaleVenduti', 'desc')
|
||||
->get();
|
||||
->join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE DataOra >= ? GROUP BY IdArticolo) b'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
|
||||
->on('T_WEB_Articoli.DataOra', '=', 'b.data');
|
||||
}, [$data_start])
|
||||
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM');
|
||||
}, [$data_start])
|
||||
->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 WHERE DataOra >= ? GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) use ($data_start) {
|
||||
$join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia');
|
||||
}, [$data_start])
|
||||
->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti'))
|
||||
->where('DescrizioneTipologia', 'Libri')
|
||||
->orderBy('totaleVenduti', 'desc')
|
||||
->get();
|
||||
|
||||
if ($articoli->isEmpty()) {
|
||||
return response()->json(['message' => 'Nessun articolo trovato.'], 404);
|
||||
@@ -172,9 +172,7 @@ class ArticleController extends Controller
|
||||
public function showArticoliByDataStart($data_start)
|
||||
{
|
||||
try {
|
||||
$validatedData = request()->validate([
|
||||
'data_start' => 'required|date_format:Y-m-d',
|
||||
]);
|
||||
$this->validateDate($data_start);
|
||||
|
||||
$articoliVenduti = $this->articoliByDataStart($data_start);
|
||||
|
||||
@@ -188,8 +186,20 @@ class ArticleController extends Controller
|
||||
// Potresti considerare di registrare l'errore per debugging
|
||||
return new Response('Error exporting articles: ' . $e->getMessage(), 500);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
protected function validateDate($date)
|
||||
{
|
||||
$validator = \Validator::make(['data_start' => $date], [
|
||||
'data_start' => 'required|date_format:Y-m-d'
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
throw new ValidationException($validator);
|
||||
}
|
||||
}
|
||||
|
||||
public function showOrdini($numrec)
|
||||
{
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user