Footer format.

This commit is contained in:
Djonathan 2022-07-25 14:20:19 -03:00
parent 8eea27060a
commit 4dbbca3eb0
2 changed files with 40 additions and 25 deletions

View File

@ -32,6 +32,23 @@ class Helpers
->all(); ->all();
} }
public static function formatOfFooter($result, $format ='d/m/Y H:i', $field = 'day_formatted'): array
{
return collect($result)->transform(function ($item) use ($field, $format) {
$date = $item->day_formatted;
$hor = $item->hora;
$min = ($item->minut % 60);
$min = $min < 10 ? "0{$min}" : $min;
$hor = $hor < 10 ? "0{$hor}" : $hor;
return Arr::set($item, $field, Carbon::createFromFormat('d/m/Y Hi', $date . ' ' . $hor . $min)->locale('pt-BR')
->translatedFormat($format));
})->all();
}
public static function checkDate($value): array public static function checkDate($value): array
{ {

View File

@ -4,8 +4,10 @@ declare(strict_types=1);
namespace App\Repositories\Med5min; namespace App\Repositories\Med5min;
use App\Helpers\Helpers;
use App\Models\Med5min; use App\Models\Med5min;
use App\Repositories\AbstractRepository; use App\Repositories\AbstractRepository;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
@ -56,7 +58,7 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
}; };
} }
public function getDiscretized5min($params, bool $typeField = null): Collection|array public function getDiscretized5min($params, bool $typeField = null)
{ {
$fields = $fields =
@ -70,18 +72,18 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa") DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa")
]; ];
if (!is_null($typeField)) if (!is_null($typeField)) {
{
$fields = $this->typeField($fields, $typeField); $fields = $this->typeField($fields, $typeField);
} }
$groupBy = $this->groupField($typeField); $groupBy = $this->groupField($typeField);
return $this->execute($fields, $params) $result = $this->execute($fields, $params)
->groupBy($groupBy) ->groupBy($groupBy)
->distinct() ->distinct()
->get(); ->get();
return Helpers::formatOfFooter($result);
} }
public function getDiscretized15min($params, $typeField = null) public function getDiscretized15min($params, $typeField = null)
@ -97,17 +99,18 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa") DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa")
]; ];
if (!is_null($typeField)) if (!is_null($typeField)) {
{
$fields = $this->typeField($fields, $typeField); $fields = $this->typeField($fields, $typeField);
} }
$groupBy = $this->groupField($typeField); $groupBy = $this->groupField($typeField);
return $this->execute($fields, $params) $result = $this->execute($fields, $params)
->groupBy($groupBy) ->groupBy($groupBy)
->distinct() ->distinct()
->get(); ->get();
return Helpers::formatOfFooter($result);
} }
public function getDiscretizedOneHour($params, $typeField = null, string $type = '1_hora'): Collection|array public function getDiscretizedOneHour($params, $typeField = null, string $type = '1_hora'): Collection|array
@ -122,17 +125,18 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa") DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa")
]; ];
if (!is_null($typeField)) if (!is_null($typeField)) {
{
$fields = $this->typeField($fields, $typeField); $fields = $this->typeField($fields, $typeField);
} }
$groupBy = $this->groupField($typeField, $type); $groupBy = $this->groupField($typeField, $type);
return $this->execute($fields, $params) $result = $this->execute($fields, $params)
->groupBy($groupBy) ->groupBy($groupBy)
->distinct() ->distinct()
->get(); ->get();
return Helpers::formatOfFooter($result);
} }
public function getDiscretizedOneDay($params, $typeField = null, string $type = '1_dia'): Collection|array public function getDiscretizedOneDay($params, $typeField = null, string $type = '1_dia'): Collection|array
@ -146,8 +150,7 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa") DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) AS reativa")
]; ];
if (!is_null($typeField)) if (!is_null($typeField)) {
{
$fields = $this->typeField($fields, $typeField); $fields = $this->typeField($fields, $typeField);
} }
@ -184,8 +187,7 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) As reativa") DB::raw("SUM(med_5min.reativa_consumo+med_5min.reativa_geracao) As reativa")
]; ];
if (!is_null($typeField)) if (!is_null($typeField)) {
{
$fields = $this->typeField($fields, $typeField); $fields = $this->typeField($fields, $typeField);
} }
@ -242,18 +244,15 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
{ {
$fields = ["med_5min.ponto", "med_5min.dia_num", "day_formatted", 'hora', 'minut']; $fields = ["med_5min.ponto", "med_5min.dia_num", "day_formatted", 'hora', 'minut'];
if ($type === '1_hora') if ($type === '1_hora') {
{
array_splice($fields, 4); array_splice($fields, 4);
} }
if ($type === '1_dia' || $type === '1_mes') if ($type === '1_dia' || $type === '1_mes') {
{
array_splice($fields, 3); array_splice($fields, 3);
} }
if ($typeField === false) if ($typeField === false) {
{
$item = ['dem_cont']; $item = ['dem_cont'];
return collect($fields)->merge($item)->all(); return collect($fields)->merge($item)->all();
} }
@ -262,5 +261,4 @@ class Med5minRepository extends AbstractRepository implements Med5minContractInt
} }
} }