Форматирование
This commit is contained in:
@@ -40,10 +40,10 @@ class MetrikaFormController extends Controller
|
||||
'fields' => $formData,
|
||||
'validation' => $validationSchema['schema'],
|
||||
'defaults' => $validationSchema['defaults'],
|
||||
'sections' => $this->groupFieldsBySection($formData)
|
||||
'sections' => $this->groupFieldsBySection($formData),
|
||||
],
|
||||
'existing_data' => $existingReport,
|
||||
'created_at' => now()->format('Y-m-d')
|
||||
'created_at' => now()->format('Y-m-d'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class MetrikaFormController extends Controller
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'errors' => $validator->errors(),
|
||||
'message' => 'Пожалуйста, исправьте ошибки в форме'
|
||||
'message' => 'Пожалуйста, исправьте ошибки в форме',
|
||||
], 422);
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ class MetrikaFormController extends Controller
|
||||
'sent_at' => $periodEnd,
|
||||
'period_start' => $periodStart,
|
||||
'period_end' => $periodEnd,
|
||||
'rf_department_id' => $user->department->departmentid
|
||||
'rf_department_id' => $user->department->departmentid,
|
||||
]
|
||||
);
|
||||
|
||||
@@ -107,7 +107,7 @@ class MetrikaFormController extends Controller
|
||||
'success' => true,
|
||||
'message' => 'Данные успешно сохранены',
|
||||
'report_id' => $report->report_id,
|
||||
'result_id' => $metricResult->metrika_result_id
|
||||
'result_id' => $metricResult->metrika_result_id,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -133,8 +133,8 @@ class MetrikaFormController extends Controller
|
||||
'form' => [
|
||||
'fields' => $formData,
|
||||
'values' => $formValues,
|
||||
'comment' => $metricResult->comment
|
||||
]
|
||||
'comment' => $metricResult->comment,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -145,10 +145,10 @@ class MetrikaFormController extends Controller
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
if (!$user) {
|
||||
if (! $user) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Пользователь не авторизован'
|
||||
'message' => 'Пользователь не авторизован',
|
||||
], 401);
|
||||
}
|
||||
|
||||
@@ -158,11 +158,11 @@ class MetrikaFormController extends Controller
|
||||
->orderBy('created_at', 'desc')
|
||||
->first();
|
||||
|
||||
if (!$report) {
|
||||
if (! $report) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'existing_data' => null,
|
||||
'message' => 'Нет сохраненных данных за сегодня'
|
||||
'message' => 'Нет сохраненных данных за сегодня',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -172,11 +172,11 @@ class MetrikaFormController extends Controller
|
||||
->with(['values.item'])
|
||||
->first();
|
||||
|
||||
if (!$metricResult) {
|
||||
if (! $metricResult) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'existing_data' => null,
|
||||
'message' => 'Нет данных для этой группы метрик'
|
||||
'message' => 'Нет данных для этой группы метрик',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ class MetrikaFormController extends Controller
|
||||
$comments[$fieldName] = [
|
||||
'item_id' => $value->rf_metrika_item_id,
|
||||
'item_name' => $value->item->name ?? 'Неизвестно',
|
||||
'updated_at' => $value->updated_at ? $value->updated_at->format('H:i') : null
|
||||
'updated_at' => $value->updated_at ? $value->updated_at->format('H:i') : null,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -214,12 +214,12 @@ class MetrikaFormController extends Controller
|
||||
'comments' => $comments,
|
||||
'submitted_at' => $metricResult->created_at ? $metricResult->created_at->format('Y-m-d H:i:s') : null,
|
||||
'last_updated' => $metricResult->updated_at ? $metricResult->updated_at->format('Y-m-d H:i:s') : null,
|
||||
'status' => $metricResult->status ?? 'submitted'
|
||||
'status' => $metricResult->status ?? 'submitted',
|
||||
],
|
||||
'report_info' => [
|
||||
'created_at' => $report->created_at,
|
||||
'report_status' => $report->status,
|
||||
]
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -231,13 +231,13 @@ class MetrikaFormController extends Controller
|
||||
$user = Auth::user();
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'sent_at' => 'required|string'
|
||||
'sent_at' => 'required|string',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'errors' => $validator->errors()
|
||||
'errors' => $validator->errors(),
|
||||
], 422);
|
||||
}
|
||||
|
||||
@@ -250,12 +250,12 @@ class MetrikaFormController extends Controller
|
||||
if ($daysDiff > 365) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Период не может превышать 1 год'
|
||||
'message' => 'Период не может превышать 1 год',
|
||||
], 400);
|
||||
}
|
||||
|
||||
$dateStart = date('Y-m-d', $startAt) . ' 00:00:00';
|
||||
$dateEnd = date('Y-m-d', $endAt) . ' 23:59:59';
|
||||
$dateStart = date('Y-m-d', $startAt).' 00:00:00';
|
||||
$dateEnd = date('Y-m-d', $endAt).' 23:59:59';
|
||||
$dateEndExclusive = Carbon::parse($dateEnd, 'Asia/Yakutsk')->addSecond()->format('Y-m-d H:i:s');
|
||||
|
||||
$group = MetrikaGroup::findOrFail($groupId);
|
||||
@@ -267,14 +267,14 @@ class MetrikaFormController extends Controller
|
||||
->where('mr.rf_metrika_group_id', $groupId)
|
||||
->where('r.period_start', '>=', $dateStart)
|
||||
->where('r.period_end', '<', $dateEndExclusive)
|
||||
->when(!$user->isAdmin() && !$user->isHeadOfDepartment(), function ($query) use ($user) {
|
||||
->when(! $user->isAdmin() && ! $user->isHeadOfDepartment(), function ($query) use ($user) {
|
||||
return $query->where('r.rf_user_id', $user->id);
|
||||
})
|
||||
->select([
|
||||
'mv.rf_metrika_item_id',
|
||||
DB::raw('SUM(CAST(mv.value AS DECIMAL(10,2))) as total_sum'),
|
||||
DB::raw('COUNT(DISTINCT r.report_id) as reports_count'),
|
||||
DB::raw('AVG(CAST(mv.value AS DECIMAL(10,2))) as avg_value')
|
||||
DB::raw('AVG(CAST(mv.value AS DECIMAL(10,2))) as avg_value'),
|
||||
])
|
||||
->groupBy('mv.rf_metrika_item_id')
|
||||
->get()
|
||||
@@ -283,7 +283,7 @@ class MetrikaFormController extends Controller
|
||||
if ($aggregatedData->isEmpty()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Данные за указанный период не найдены'
|
||||
'message' => 'Данные за указанный период не найдены',
|
||||
], 404);
|
||||
}
|
||||
|
||||
@@ -299,7 +299,7 @@ class MetrikaFormController extends Controller
|
||||
'sum' => (float) $data->total_sum,
|
||||
'average' => (float) $data->avg_value,
|
||||
'reports_count' => $data->reports_count,
|
||||
'item_name' => $items[$itemId] ?? 'Неизвестный показатель'
|
||||
'item_name' => $items[$itemId] ?? 'Неизвестный показатель',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -312,7 +312,7 @@ class MetrikaFormController extends Controller
|
||||
'period' => [
|
||||
'start' => $dateStart,
|
||||
'end' => $dateEnd,
|
||||
'days' => $daysDiff + 1
|
||||
'days' => $daysDiff + 1,
|
||||
],
|
||||
'group' => [
|
||||
'id' => $group->metrika_group_id,
|
||||
@@ -323,12 +323,12 @@ class MetrikaFormController extends Controller
|
||||
'total_items' => count($formValues),
|
||||
'total_reports' => $aggregatedData->first()->reports_count ?? 0,
|
||||
'values' => $formValues,
|
||||
'aggregation' => 'sum_and_average'
|
||||
'aggregation' => 'sum_and_average',
|
||||
],
|
||||
'form' => [
|
||||
'fields' => $formData,
|
||||
'sections' => $this->groupFieldsBySection($formData)
|
||||
]
|
||||
'sections' => $this->groupFieldsBySection($formData),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -341,13 +341,13 @@ class MetrikaFormController extends Controller
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'year' => 'nullable|integer|min:2023|max:2030',
|
||||
'month' => 'nullable|integer|min:1|max:12'
|
||||
'month' => 'nullable|integer|min:1|max:12',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'errors' => $validator->errors()
|
||||
'errors' => $validator->errors(),
|
||||
], 422);
|
||||
}
|
||||
|
||||
@@ -374,11 +374,11 @@ class MetrikaFormController extends Controller
|
||||
'month' => $month,
|
||||
'month_name' => $this->getMonthName($month),
|
||||
'start_date' => $startDate,
|
||||
'end_date' => $endDate
|
||||
'end_date' => $endDate,
|
||||
],
|
||||
'statistics' => [
|
||||
'total_reports' => $reports->count()
|
||||
]
|
||||
'total_reports' => $reports->count(),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -395,20 +395,20 @@ class MetrikaFormController extends Controller
|
||||
'year' => $year,
|
||||
'month' => $month,
|
||||
'month_name' => $this->getMonthName($month),
|
||||
'days' => []
|
||||
'days' => [],
|
||||
];
|
||||
|
||||
// Пустые дни в начале месяца
|
||||
for ($i = 1; $i < $firstWeekday; $i++) {
|
||||
$calendar['days'][] = [
|
||||
'day' => null,
|
||||
'empty' => true
|
||||
'empty' => true,
|
||||
];
|
||||
}
|
||||
|
||||
// Дни месяца
|
||||
for ($day = 1; $day <= $daysInMonth; $day++) {
|
||||
$date = date("{$year}-{$month}-" . sprintf('%02d', $day));
|
||||
$date = date("{$year}-{$month}-".sprintf('%02d', $day));
|
||||
$report = $reports->first(fn (Report $item) => $item->period_end && $item->period_end->toDateString() === $date);
|
||||
$timestamp = strtotime($date) * 1000; // В миллисекундах
|
||||
|
||||
@@ -421,9 +421,9 @@ class MetrikaFormController extends Controller
|
||||
'day_name' => $this->getDayName(date('N', strtotime($date))),
|
||||
'is_today' => $date === now()->toDateString(),
|
||||
'is_weekend' => date('N', strtotime($date)) >= 6,
|
||||
'has_report' => !is_null($report),
|
||||
'has_report' => ! is_null($report),
|
||||
'report_status' => $report ? $report->status : null,
|
||||
'sent_at' => $report && $report->period_end ? $report->period_end->getTimestamp() * 1000 : $timestamp
|
||||
'sent_at' => $report && $report->period_end ? $report->period_end->getTimestamp() * 1000 : $timestamp,
|
||||
];
|
||||
|
||||
$calendar['days'][] = $dayData;
|
||||
@@ -434,7 +434,7 @@ class MetrikaFormController extends Controller
|
||||
while (count($calendar['days']) < $totalCells) {
|
||||
$calendar['days'][] = [
|
||||
'day' => null,
|
||||
'empty' => true
|
||||
'empty' => true,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -449,7 +449,7 @@ class MetrikaFormController extends Controller
|
||||
$months = [
|
||||
1 => 'Январь', 2 => 'Февраль', 3 => 'Март', 4 => 'Апрель',
|
||||
5 => 'Май', 6 => 'Июнь', 7 => 'Июль', 8 => 'Август',
|
||||
9 => 'Сентябрь', 10 => 'Октябрь', 11 => 'Ноябрь', 12 => 'Декабрь'
|
||||
9 => 'Сентябрь', 10 => 'Октябрь', 11 => 'Ноябрь', 12 => 'Декабрь',
|
||||
];
|
||||
|
||||
return $months[$month] ?? '';
|
||||
@@ -462,7 +462,7 @@ class MetrikaFormController extends Controller
|
||||
{
|
||||
$days = [
|
||||
1 => 'Пн', 2 => 'Вт', 3 => 'Ср', 4 => 'Чт',
|
||||
5 => 'Пт', 6 => 'Сб', 7 => 'Вс'
|
||||
5 => 'Пт', 6 => 'Сб', 7 => 'Вс',
|
||||
];
|
||||
|
||||
return $days[$dayOfWeek] ?? '';
|
||||
@@ -477,12 +477,12 @@ class MetrikaFormController extends Controller
|
||||
$months = [
|
||||
1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля',
|
||||
5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа',
|
||||
9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря'
|
||||
9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря',
|
||||
];
|
||||
|
||||
$days = [
|
||||
1 => 'понедельник', 2 => 'вторник', 3 => 'среда',
|
||||
4 => 'четверг', 5 => 'пятница', 6 => 'суббота', 7 => 'воскресенье'
|
||||
4 => 'четверг', 5 => 'пятница', 6 => 'суббота', 7 => 'воскресенье',
|
||||
];
|
||||
|
||||
$dayOfWeek = date('N', $timestamp);
|
||||
@@ -491,10 +491,10 @@ class MetrikaFormController extends Controller
|
||||
$year = date('Y', $timestamp);
|
||||
|
||||
return [
|
||||
'formatted' => $days[$dayOfWeek] . ', ' . $day . ' ' . $months[$month] . ' ' . $year . ' г.',
|
||||
'formatted' => $days[$dayOfWeek].', '.$day.' '.$months[$month].' '.$year.' г.',
|
||||
'day_of_week' => $days[$dayOfWeek],
|
||||
'is_weekend' => $dayOfWeek >= 6,
|
||||
'is_today' => $date === now()->toDateString()
|
||||
'is_today' => $date === now()->toDateString(),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -509,10 +509,10 @@ class MetrikaFormController extends Controller
|
||||
|
||||
switch ($dataType) {
|
||||
case 'integer':
|
||||
return (int)$value;
|
||||
return (int) $value;
|
||||
case 'float':
|
||||
case 'decimal':
|
||||
return (float)$value;
|
||||
return (float) $value;
|
||||
case 'boolean':
|
||||
return filter_var($value, FILTER_VALIDATE_BOOLEAN);
|
||||
case 'array':
|
||||
@@ -523,7 +523,7 @@ class MetrikaFormController extends Controller
|
||||
case 'datetime':
|
||||
return date('Y-m-d\TH:i', strtotime($value));
|
||||
default:
|
||||
return (string)$value;
|
||||
return (string) $value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -537,10 +537,10 @@ class MetrikaFormController extends Controller
|
||||
foreach ($fields as $field) {
|
||||
$section = $field['section'] ?? 'general';
|
||||
|
||||
if (!isset($sections[$section])) {
|
||||
if (! isset($sections[$section])) {
|
||||
$sections[$section] = [
|
||||
'name' => $this->getSectionName($section),
|
||||
'fields' => []
|
||||
'fields' => [],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -556,7 +556,7 @@ class MetrikaFormController extends Controller
|
||||
'general' => 'Основные показатели',
|
||||
'admissions' => 'Поступления',
|
||||
'discharges' => 'Выписки',
|
||||
'additional' => 'Дополнительная информация'
|
||||
'additional' => 'Дополнительная информация',
|
||||
];
|
||||
|
||||
return $names[$section] ?? ucfirst($section);
|
||||
@@ -570,7 +570,7 @@ class MetrikaFormController extends Controller
|
||||
->exactPeriod(...$this->getTodayPeriodBounds())
|
||||
->first();
|
||||
|
||||
if (!$report) {
|
||||
if (! $report) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ class MetrikaFormController extends Controller
|
||||
->with('values')
|
||||
->first();
|
||||
|
||||
if (!$result) {
|
||||
if (! $result) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -592,7 +592,7 @@ class MetrikaFormController extends Controller
|
||||
'result_id' => $result->metrika_result_id,
|
||||
'comment' => $result->comment,
|
||||
'data' => $data,
|
||||
'submitted_at' => $result->created_at
|
||||
'submitted_at' => $result->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -605,5 +605,4 @@ class MetrikaFormController extends Controller
|
||||
$now->copy()->setTime(7, 0)->format('Y-m-d H:i:s'),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user