Merge pull request #61 from witelgroup/feature/ManageReportSafty
change structure report in safty and privecy
This commit is contained in:
@@ -17,9 +17,10 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
|||||||
class AccessRoadActivityController extends Controller
|
class AccessRoadActivityController extends Controller
|
||||||
{
|
{
|
||||||
use ApiResponse;
|
use ApiResponse;
|
||||||
|
|
||||||
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(90);
|
$data = $operatorService->countryActivity(90, $request);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
'activities' => $data,
|
'activities' => $data,
|
||||||
@@ -31,8 +32,8 @@ class AccessRoadActivityController extends Controller
|
|||||||
{
|
{
|
||||||
|
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 90,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
90,
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
@@ -42,7 +43,7 @@ class AccessRoadActivityController extends Controller
|
|||||||
}
|
}
|
||||||
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(90);
|
$data = $operatorService->countryActivity(90, $request);
|
||||||
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
return Excel::download(new ExcelReport($data), $name);
|
return Excel::download(new ExcelReport($data), $name);
|
||||||
}
|
}
|
||||||
@@ -50,8 +51,8 @@ class AccessRoadActivityController extends Controller
|
|||||||
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 90,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
90,
|
||||||
);
|
);
|
||||||
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
return Excel::download(new AccessRoadReport($data, $request), $name);
|
return Excel::download(new AccessRoadReport($data, $request), $name);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class ConstructionActivityController extends Controller
|
|||||||
use ApiResponse;
|
use ApiResponse;
|
||||||
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(89);
|
$data = $operatorService->countryActivity(89, $request);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
'activities' => $data,
|
'activities' => $data,
|
||||||
@@ -30,8 +30,8 @@ class ConstructionActivityController extends Controller
|
|||||||
public function provinceActivity(Request $request, OperatorService $operatorService,): JsonResponse
|
public function provinceActivity(Request $request, OperatorService $operatorService,): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 89,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
89,
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
@@ -46,7 +46,7 @@ class ConstructionActivityController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(89);
|
$data = $operatorService->countryActivity(89, $request);
|
||||||
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
|
|
||||||
return Excel::download(new ExcelReport($data), $name);
|
return Excel::download(new ExcelReport($data), $name);
|
||||||
@@ -59,8 +59,8 @@ class ConstructionActivityController extends Controller
|
|||||||
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 89,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
89,
|
||||||
);
|
);
|
||||||
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class UtilityPassingActivityController extends Controller
|
|||||||
|
|
||||||
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(91);
|
$data = $operatorService->countryActivity(91, $request);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
'activities' => $data,
|
'activities' => $data,
|
||||||
@@ -30,8 +30,8 @@ class UtilityPassingActivityController extends Controller
|
|||||||
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
|
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 91,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
91,
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
@@ -41,7 +41,7 @@ class UtilityPassingActivityController extends Controller
|
|||||||
}
|
}
|
||||||
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->countryActivity(91);
|
$data = $operatorService->countryActivity(91, $request);
|
||||||
|
|
||||||
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
return Excel::download(new ExcelReport($data), $name);
|
return Excel::download(new ExcelReport($data), $name);
|
||||||
@@ -50,8 +50,8 @@ class UtilityPassingActivityController extends Controller
|
|||||||
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
$data = $operatorService->provinceActivity(
|
$data = $operatorService->provinceActivity(
|
||||||
info_id: 91,
|
$request,
|
||||||
province_id: $request->input('province_id')
|
91,
|
||||||
);
|
);
|
||||||
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||||
|
|
||||||
|
|||||||
@@ -34,8 +34,38 @@ class OperatorService
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function countryActivity(int $info_id): array
|
public function countryActivity(int $info_id, Request $request): array
|
||||||
{
|
{
|
||||||
|
$params = [
|
||||||
|
'infoId' => $info_id,
|
||||||
|
];
|
||||||
|
|
||||||
|
$dateFields = [
|
||||||
|
'created_at',
|
||||||
|
'activity_date_time',
|
||||||
|
'judiciary_document_upload_date',
|
||||||
|
'action_date',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($dateFields as $field) {
|
||||||
|
$params["{$field}_from"] = null;
|
||||||
|
$params["{$field}_to"] = null;
|
||||||
|
$params["{$field}_from_2"] = null;
|
||||||
|
$params["{$field}_to_2"] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (json_decode($request->filters, true) as $filter) {
|
||||||
|
if ($filter['fn'] === "between")
|
||||||
|
{
|
||||||
|
$field = $filter['id'];
|
||||||
|
$params["{$field}_from"] = $filter['value'][0] . ' 00:00:00';
|
||||||
|
$params["{$field}_to"] = $filter['value'][1] . ' 23:59:59';
|
||||||
|
$params["{$field}_from_2"] = $filter['value'][0] . ' 00:00:00';
|
||||||
|
$params["{$field}_to_2"] = $filter['value'][1] . ' 23:59:59';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return DB::select("
|
return DB::select("
|
||||||
WITH base AS (
|
WITH base AS (
|
||||||
SELECT
|
SELECT
|
||||||
@@ -51,6 +81,21 @@ class OperatorService
|
|||||||
ON t.province_id = p.id
|
ON t.province_id = p.id
|
||||||
AND t.axis_type_id = a.id
|
AND t.axis_type_id = a.id
|
||||||
AND t.info_id = :infoId
|
AND t.info_id = :infoId
|
||||||
|
AND (
|
||||||
|
(:created_at_from IS NULL OR :created_at_to IS NULL)
|
||||||
|
OR t.created_at BETWEEN :created_at_from_2 AND :created_at_to_2)
|
||||||
|
AND (
|
||||||
|
(:activity_date_time_from IS NULL OR :activity_date_time_to IS NULL)
|
||||||
|
OR t.activity_date_time BETWEEN :activity_date_time_from_2 AND :activity_date_time_to_2
|
||||||
|
)
|
||||||
|
AND (
|
||||||
|
(:judiciary_document_upload_date_from IS NULL OR :judiciary_document_upload_date_to IS NULL)
|
||||||
|
OR t.judiciary_document_upload_date BETWEEN :judiciary_document_upload_date_from_2 AND :judiciary_document_upload_date_to_2
|
||||||
|
)
|
||||||
|
AND (
|
||||||
|
(:action_date_from IS NULL OR :action_date_to IS NULL)
|
||||||
|
OR t.action_date BETWEEN :action_date_from_2 AND :action_date_to_2
|
||||||
|
)
|
||||||
GROUP BY p.id, a.id
|
GROUP BY p.id, a.id
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
@@ -83,13 +128,44 @@ class OperatorService
|
|||||||
|
|
||||||
ORDER BY province_id, axis_type_id
|
ORDER BY province_id, axis_type_id
|
||||||
|
|
||||||
", [
|
",$params);
|
||||||
'infoId' => $info_id,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
public function provinceActivity(Request $request, int $info_id): array
|
||||||
public function provinceActivity(int $info_id, int $province_id): array
|
|
||||||
{
|
{
|
||||||
|
$params = [
|
||||||
|
'infoId' => $info_id,
|
||||||
|
];
|
||||||
|
|
||||||
|
$dateFields = [
|
||||||
|
'created_at',
|
||||||
|
'activity_date_time',
|
||||||
|
'judiciary_document_upload_date',
|
||||||
|
'action_date',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($dateFields as $field) {
|
||||||
|
$params["{$field}_from"] = NULL;
|
||||||
|
$params["{$field}_to"] = NULL;
|
||||||
|
$params["{$field}_from_2"] = NULL;
|
||||||
|
$params["{$field}_to_2"] = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (json_decode($request->filters, true) as $filter) {
|
||||||
|
if ($filter['fn'] === "between")
|
||||||
|
{
|
||||||
|
$field = $filter['id'];
|
||||||
|
$params["{$field}_from"] = $filter['value'][0] . ' 00:00:00';
|
||||||
|
$params["{$field}_to"] = $filter['value'][1] . ' 23:59:59';
|
||||||
|
$params["{$field}_from_2"] = $filter['value'][0] . ' 00:00:00';
|
||||||
|
$params["{$field}_to_2"] = $filter['value'][1] . ' 23:59:59';
|
||||||
|
}
|
||||||
|
if ($filter['id'] === "province_id")
|
||||||
|
{
|
||||||
|
$params["provinceId"] = $filter['value'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return DB::select("
|
return DB::select("
|
||||||
WITH edareh_data AS (
|
WITH edareh_data AS (
|
||||||
SELECT
|
SELECT
|
||||||
@@ -105,6 +181,21 @@ class OperatorService
|
|||||||
ON e.id = t.edare_shahri_id
|
ON e.id = t.edare_shahri_id
|
||||||
AND t.axis_type_id = a.id
|
AND t.axis_type_id = a.id
|
||||||
AND t.info_id = :infoId
|
AND t.info_id = :infoId
|
||||||
|
AND (
|
||||||
|
(:created_at_from IS NULL OR :created_at_to IS NULL)
|
||||||
|
OR t.created_at BETWEEN :created_at_from_2 AND :created_at_to_2)
|
||||||
|
AND (
|
||||||
|
(:activity_date_time_from IS NULL OR :activity_date_time_to IS NULL)
|
||||||
|
OR t.activity_date_time BETWEEN :activity_date_time_from_2 AND :activity_date_time_to_2
|
||||||
|
)
|
||||||
|
AND (
|
||||||
|
(:judiciary_document_upload_date_from IS NULL OR :judiciary_document_upload_date_to IS NULL)
|
||||||
|
OR t.judiciary_document_upload_date BETWEEN :judiciary_document_upload_date_from_2 AND :judiciary_document_upload_date_to_2
|
||||||
|
)
|
||||||
|
AND (
|
||||||
|
(:action_date_from IS NULL OR :action_date_to IS NULL)
|
||||||
|
OR t.action_date BETWEEN :action_date_from_2 AND :action_date_to_2
|
||||||
|
)
|
||||||
WHERE e.province_id = :provinceId
|
WHERE e.province_id = :provinceId
|
||||||
GROUP BY e.id, a.id
|
GROUP BY e.id, a.id
|
||||||
)
|
)
|
||||||
@@ -137,9 +228,6 @@ class OperatorService
|
|||||||
GROUP BY axis_type_id
|
GROUP BY axis_type_id
|
||||||
|
|
||||||
ORDER BY edare_id , axis_type_id
|
ORDER BY edare_id , axis_type_id
|
||||||
", [
|
", $params);
|
||||||
'provinceId' => $province_id,
|
|
||||||
'infoId' => $info_id,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user