change structure report in safty and privecy
This commit is contained in:
@@ -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("
|
||||
WITH base AS (
|
||||
SELECT
|
||||
@@ -51,6 +81,21 @@ class OperatorService
|
||||
ON t.province_id = p.id
|
||||
AND t.axis_type_id = a.id
|
||||
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
|
||||
)
|
||||
SELECT
|
||||
@@ -83,13 +128,44 @@ class OperatorService
|
||||
|
||||
ORDER BY province_id, axis_type_id
|
||||
|
||||
", [
|
||||
'infoId' => $info_id,
|
||||
]);
|
||||
",$params);
|
||||
}
|
||||
|
||||
public function provinceActivity(int $info_id, int $province_id): array
|
||||
public function provinceActivity(Request $request, int $info_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("
|
||||
WITH edareh_data AS (
|
||||
SELECT
|
||||
@@ -105,6 +181,21 @@ class OperatorService
|
||||
ON e.id = t.edare_shahri_id
|
||||
AND t.axis_type_id = a.id
|
||||
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
|
||||
GROUP BY e.id, a.id
|
||||
)
|
||||
@@ -137,9 +228,6 @@ class OperatorService
|
||||
GROUP BY axis_type_id
|
||||
|
||||
ORDER BY edare_id , axis_type_id
|
||||
", [
|
||||
'provinceId' => $province_id,
|
||||
'infoId' => $info_id,
|
||||
]);
|
||||
", $params);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user