Merge branch 'feature/CreateNewRequest' into 'develop'

Feature/createnewrequest

See merge request witelgroup/rms_v2!163
This commit is contained in:
2025-08-25 05:38:43 +00:00
17 changed files with 497 additions and 90 deletions

View File

@@ -28,6 +28,7 @@ use Illuminate\Support\Facades\DB;
class GeneralManagerController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
$query = Harim::query()
@@ -235,9 +236,9 @@ class GeneralManagerController extends Controller
return $this->successResponse();
}
public function show(ShowRequest $request, Harim $harim): JsonResponse
{
return $this->successResponse($harim->load('histories'));
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\Harim;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\Harim;
use Illuminate\Http\Request;
class PanjareVahedController extends Controller
{
use ApiResponse;
public function receiveNewRequests()
{
// find city and province by lat,lng
Harim::query()->create([
]);
return $this->successResponse();
}
}

View File

@@ -96,7 +96,6 @@ class RequestPortalController extends Controller
'zone_fa' => MissionZones::name($request->zone),
'start_date' => $request->start_date,
'end_date' => $request->end_date,
'request_date' => $request->request_date,
'description' => $request->description,
'end_point' => $request->end_point,
'area' => json_encode($request->area),

View File

@@ -19,7 +19,6 @@ class ConstructionActivityController extends Controller
use ApiResponse;
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->countryActivity(89);
return $this->successResponse([
@@ -52,6 +51,4 @@ class ConstructionActivityController extends Controller
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new ConstructionReport($data, $request), $name);
}
}

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport;
use App\Exports\V3\SafetyAndPrivacy\Country\UtilityPassingReport as ExcelReport;
use App\Exports\V3\SafetyAndPrivacy\Province\UtilityPassingReport;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Services\Cartables\SafetyAndPrivacy\OperatorService;
@@ -15,9 +16,10 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class UtilityPassingActivityController extends Controller
{
use ApiResponse;
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->countryActivity(91);
return $this->successResponse([
@@ -50,5 +52,4 @@ class UtilityPassingActivityController extends Controller
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new UtilityPassingReport($data, $request), $name);
}
}

View File

@@ -13,7 +13,9 @@ class ConfirmPaymentInfoRequest extends FormRequest
*/
public function authorize(): bool
{
return $this->accident->status === AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value;
return in_array($this->accident->status,
[AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value, AccidentStates::SABT_FISH->value]
);
}
/**

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\Horizon;
use Laravel\Horizon\HorizonApplicationServiceProvider;
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
/**
* Bootstrap any application services.
*/
public function boot(): void
{
parent::boot();
// Horizon::routeSmsNotificationsTo('15556667777');
// Horizon::routeMailNotificationsTo('example@example.com');
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*/
protected function gate(): void
{
Gate::define('viewHorizon', function ($user) {
return $user->username == 'witel';
});
}
}

View File

@@ -57,7 +57,7 @@ class AccidentReceiptTableService
SUM(CASE WHEN STATUS > 3 THEN `deposit_daghi_amount` END) AS vasel_shode_daghi,
SUM(CASE WHEN STATUS > 3 THEN `final_amount` END) AS vasel_shode_final
FROM `accidents`
where created_at BETWEEN "'.$request->from_date.'" AND "'.$request->date_to.'"
where created_at BETWEEN "'.$request->from_date.' 00:00:00" AND "'.$request->date_to.' 23:59:59"
union
SELECT
province_fa,
@@ -74,7 +74,7 @@ class AccidentReceiptTableService
SUM(CASE WHEN STATUS > 3 THEN `deposit_daghi_amount` END) AS vasel_shode_daghi,
SUM(CASE WHEN STATUS > 3 THEN `final_amount` END) AS vasel_shode_final
FROM `accidents`
where created_at BETWEEN "'.$request->from_date.'" AND "'.$request->date_to.'"
where created_at BETWEEN "'.$request->from_date.' 00:00:00" AND "'.$request->date_to.' 23:59:59"
GROUP BY province_id
'
);
@@ -104,7 +104,7 @@ class AccidentReceiptTableService
SUM(CASE WHEN STATUS > 3 THEN `deposit_daghi_amount` END) AS vasel_shode_daghi,
SUM(CASE WHEN STATUS > 3 THEN `final_amount` END) AS vasel_shode_final
FROM `accidents`
where created_at BETWEEN "'.$request->from_date.'" AND "'.$request->date_to.'" AND province_id ='.$request->province_id.'
where created_at BETWEEN "'.$request->from_date.' 00:00:00" AND "'.$request->date_to.' 23:59:59" AND province_id ='.$request->province_id.'
union
SELECT
city_fa,
@@ -121,7 +121,7 @@ class AccidentReceiptTableService
SUM(CASE WHEN STATUS > 3 THEN `deposit_daghi_amount` END) AS vasel_shode_daghi,
SUM(CASE WHEN STATUS > 3 THEN `final_amount` END) AS vasel_shode_final
FROM `accidents`
where created_at BETWEEN "'.$request->from_date.'" AND "'.$request->date_to.'" AND province_id ='.$request->province_id.'
where created_at BETWEEN "'.$request->from_date.' 00:00:00" AND "'.$request->date_to.' 23:59:59" AND province_id ='.$request->province_id.'
GROUP BY city_id
'
);

View File

@@ -49,11 +49,11 @@ class OperatorService
) s
),
provinces AS (
SELECT DISTINCT province_fa FROM safety_and_privacy WHERE info_id = ?
SELECT DISTINCT province_id FROM safety_and_privacy WHERE info_id = ?
),
data AS (
SELECT
p.province_fa,
p.province_id,
c.axis_type_id,
c.step,
COUNT(sp.id) AS total
@@ -62,18 +62,18 @@ class OperatorService
LEFT JOIN safety_and_privacy sp
ON sp.axis_type_id = c.axis_type_id
AND sp.step = c.step
AND sp.province_fa = p.province_fa
AND sp.province_id = p.province_id
AND sp.info_id = ?
GROUP BY p.province_fa, c.axis_type_id, c.step
GROUP BY p.province_id, c.axis_type_id, c.step
)
SELECT
province_fa,
province_id,
axis_type_id,
step,
total,
SUM(total) OVER (PARTITION BY province_fa) AS total_sum
SUM(total) OVER (PARTITION BY province_id) AS total_sum
FROM data
ORDER BY province_fa, axis_type_id, step
ORDER BY province_id, axis_type_id, step
", [$info_id, $info_id]);
}
@@ -90,7 +90,7 @@ class OperatorService
) s
),
edarat AS (
SELECT id AS edare_id, name_fa
SELECT id AS edare_id
FROM edarate_shahri
WHERE province_id = :provinceId
),
@@ -111,7 +111,6 @@ class OperatorService
)
SELECT
e.edare_id,
e.name_fa AS edare_name,
d.axis_type_id,
d.step,
d.total,
@@ -124,5 +123,4 @@ class OperatorService
'infoId' => $info_id,
]);
}
}