diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c5b6229b..263025f7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,8 +28,8 @@ services:
before_script:
- apk update
- - coman=$(ls && pwd)
- - echo "'$coman'"
+ - command=$(ls && pwd)
+ - echo "'$command'"
- cp .env.example .env
- composer install
- php artisan key:generate
@@ -49,7 +49,7 @@ test:
- sed -i "s/DB_PASSWORD=/DB_PASSWORD=$MYSQL_ROOT_PASSWORD/" .env.testing
- cat .env.testing
- php artisan key:generate --env=testing
- - php artisan migrate --env=testing --force
+ - php artisan migrate --path=/database/old_migrations/ --path=database/migrations --env=testing --force
- php artisan test
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
@@ -71,21 +71,21 @@ test:
when: always
allow_failure: true
-deploy:
- stage: deploy
- script:
- - apt-get update && add --no-cache openssh-client
- - chmod og-rwx $ID_RSA
- - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "
- echo -e '$SHECAN_DNS' | sudo tee /etc/resolv.conf &&
- dns=\$(cat /etc/resolv.conf) &&
- echo \"\$dns\" &&
- cd $PROJECT_PATH &&
- git checkout $TARGET_BRANCH_NAME &&
- ssh -T git@gitlab.com &&
- git pull ssh-origin $TARGET_BRANCH_NAME &&
- echo -e '$DEFAULT_DNS' | sudo tee /etc/resolv.conf"
- resource_group: develop_deploy
- rules:
- - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "develop"'
+#deploy:
+# stage: deploy
+# script:
+# - apt-get update && add --no-cache openssh-client
+# - chmod og-rwx $ID_RSA
+# - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "
+# echo -e '$SHECAN_DNS' | sudo tee /etc/resolv.conf &&
+# dns=\$(cat /etc/resolv.conf) &&
+# echo \"\$dns\" &&
+# cd $PROJECT_PATH &&
+# git checkout $TARGET_BRANCH_NAME &&
+# ssh -T git@gitlab.com &&
+# git pull ssh-origin $TARGET_BRANCH_NAME &&
+# echo -e '$DEFAULT_DNS' | sudo tee /etc/resolv.conf"
+# resource_group: develop_deploy
+# rules:
+# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "develop"'
diff --git a/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php b/app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptController.php
similarity index 97%
rename from app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php
rename to app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptController.php
index 3b314a2d..154701ad 100644
--- a/app/Http/Controllers/V3/Dashboard/AccidentReceiptController.php
+++ b/app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptController.php
@@ -1,10 +1,10 @@
successResponse();
}
+ /**
+ * @throws Throwable
+ */
public function destroy(Accident $accident): JsonResponse
{
- FileFacade::deleteDirectory('receipts_files/'.$accident->id);
+
+ throw_if($accident->status != AccidentStates::BEDON_EGHDAM->value, new ProhibitedAction('قابلیت حذف در این مرحله وجود ندارد'));
+
+ FileFacade::deleteDirectory('receipts_files/' . $accident->id);
DB::transaction(function () use ($accident) {
diff --git a/app/Http/Controllers/V3/Dashboard/Reports/AccidentReceiptReportController.php b/app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptReportController.php
similarity index 97%
rename from app/Http/Controllers/V3/Dashboard/Reports/AccidentReceiptReportController.php
rename to app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptReportController.php
index e9a29694..6669bfed 100644
--- a/app/Http/Controllers/V3/Dashboard/Reports/AccidentReceiptReportController.php
+++ b/app/Http/Controllers/V3/Dashboard/Accident/AccidentReceiptReportController.php
@@ -1,9 +1,9 @@
accident->status === AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value;
}
/**
diff --git a/app/Http/Requests/V3/AccidentReceipt/UpdateRequest.php b/app/Http/Requests/V3/AccidentReceipt/UpdateRequest.php
index 3160896d..c73a9bc8 100644
--- a/app/Http/Requests/V3/AccidentReceipt/UpdateRequest.php
+++ b/app/Http/Requests/V3/AccidentReceipt/UpdateRequest.php
@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\AccidentReceipt;
+use App\Enums\AccidentStates;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -11,7 +12,7 @@ class UpdateRequest extends FormRequest
*/
public function authorize(): bool
{
- return true;
+ return $this->accident->status === AccidentStates::BEDON_EGHDAM->value;
}
/**
@@ -25,10 +26,10 @@ class UpdateRequest extends FormRequest
'province_id' => 'required|integer|exists:provinces,id',
'city_id' => 'required|integer|exists:cities,id',
'axis_name' => 'required|string',
- 'driver_name' => 'required|string',
- 'plaque' => 'required|string',
- 'driver_national_code' => 'required|string',
- 'driver_phone_number' => 'required|string',
+ 'driver_name' => 'required_if:is_foreign,0|string',
+ 'plaque' => 'required_if:is_foreign,0|string',
+ 'driver_national_code' => 'required_if:is_foreign,0|string',
+ 'driver_phone_number' => 'required_if:is_foreign,0|string',
'lat' => 'required|numeric',
'lng' => 'required|numeric',
'accident_type' => 'required|integer',
diff --git a/app/Services/Cartables/AccidentReceiptTableService.php b/app/Services/Cartables/AccidentReceiptTableService.php
index 4f251709..69ab80d3 100644
--- a/app/Services/Cartables/AccidentReceiptTableService.php
+++ b/app/Services/Cartables/AccidentReceiptTableService.php
@@ -46,6 +46,9 @@ class AccidentReceiptTableService
"کشوری" as province_fa,
-1 as province_id,
COUNT(id) AS tedade,
+ COUNT(CASE WHEN STATUS =0 THEN 1 END ) AS egdam,
+ COUNT(CASE WHEN STATUS IN (1,2,3,4) THEN 1 END) AS pardakht,
+ COUNT(CASE WHEN STATUS =5 THEN 1 END ) AS khatm,
COUNT(CASE WHEN report_base = 0 THEN 1 END) AS police_rah,
COUNT(CASE WHEN report_base = 1 THEN 1 END) AS gozaresh_gasht,
SUM(`sum`) AS kol_sabt_shode,
@@ -60,6 +63,9 @@ class AccidentReceiptTableService
province_fa,
province_id,
COUNT(id) AS tedade,
+ COUNT(CASE WHEN STATUS =0 THEN 1 END ) AS egdam,
+ COUNT(CASE WHEN STATUS IN (1,2,3,4) THEN 1 END) AS pardakht,
+ COUNT(CASE WHEN STATUS =5 THEN 1 END ) AS khatm,
COUNT(CASE WHEN report_base = 0 THEN 1 END) AS police_rah,
COUNT(CASE WHEN report_base = 1 THEN 1 END) AS gozaresh_gasht,
SUM(`sum`) AS kol_sabt_shode,
@@ -86,7 +92,10 @@ class AccidentReceiptTableService
'SELECT
"استانی" as city_fa,
-1 as city_id,
- COUNT(id) AS tedade,
+ COUNT(id) AS tedade,
+ COUNT(CASE WHEN STATUS =0 THEN 1 END ) AS egdam,
+ COUNT(CASE WHEN STATUS IN (1,2,3,4) THEN 1 END) AS pardakht,
+ COUNT(CASE WHEN STATUS =5 THEN 1 END ) AS khatm,
COUNT(CASE WHEN report_base = 0 THEN 1 END) AS police_rah,
COUNT(CASE WHEN report_base = 1 THEN 1 END) AS gozaresh_gasht,
SUM(`sum`) AS kol_sabt_shode,
@@ -100,7 +109,10 @@ class AccidentReceiptTableService
SELECT
city_fa,
city_id,
- COUNT(id) AS tedade,
+ COUNT(id) AS tedade,
+ COUNT(CASE WHEN STATUS =0 THEN 1 END ) AS egdam,
+ COUNT(CASE WHEN STATUS IN (1,2,3,4) THEN 1 END) AS pardakht,
+ COUNT(CASE WHEN STATUS =5 THEN 1 END ) AS khatm,
COUNT(CASE WHEN report_base = 0 THEN 1 END) AS police_rah,
COUNT(CASE WHEN report_base = 1 THEN 1 END) AS gozaresh_gasht,
SUM(`sum`) AS kol_sabt_shode,
diff --git a/database/migrations/2025_05_27_133805_add_is_foreign_to_accidents_table.php b/database/migrations/2025_05_27_133805_add_is_foreign_to_accidents_table.php
new file mode 100644
index 00000000..eb239e41
--- /dev/null
+++ b/database/migrations/2025_05_27_133805_add_is_foreign_to_accidents_table.php
@@ -0,0 +1,28 @@
+boolean('is_foreign')->default(false);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('accidents', function (Blueprint $table) {
+ $table->dropColumn('is_foreign');
+ });
+ }
+};
diff --git a/resources/views/v3/Reports/AccidentReceipt/CountryReport.blade.php b/resources/views/v3/Reports/AccidentReceipt/CountryReport.blade.php
index c5745eb6..f4837f48 100644
--- a/resources/views/v3/Reports/AccidentReceipt/CountryReport.blade.php
+++ b/resources/views/v3/Reports/AccidentReceipt/CountryReport.blade.php
@@ -14,19 +14,19 @@
- |
تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }}
|
- |
|
- |
گزارش خسارات وارده به ابنیه فنی و تاسیسات راه از تاریخ
{{ verta($fromDate)->format('Y/n/j') }}
@@ -42,7 +42,7 @@
|
اداره کل
|
-
+ |
تعداد کل
|
@@ -59,6 +59,15 @@
|
+ |
+ در دست اقدام
+ |
+
+ در حال فرایند پرداخت
+ |
+
+ خاتمه یافته
+ |
گزارش پلیس راه
|
@@ -86,7 +95,11 @@
{{ $road['name'] }} |
- {{ $road['tedade'] }} |
+ {{ $road['egdam'] }}
+
+ {{ $road['pardakht'] }} |
+
+ {{ $road['khatm'] }} |
{{ $road['police_rah'] }} |
diff --git a/resources/views/v3/Reports/AccidentReceipt/ProvinceReport.blade.php b/resources/views/v3/Reports/AccidentReceipt/ProvinceReport.blade.php
index 501f8ce4..be9a6556 100644
--- a/resources/views/v3/Reports/AccidentReceipt/ProvinceReport.blade.php
+++ b/resources/views/v3/Reports/AccidentReceipt/ProvinceReport.blade.php
@@ -14,19 +14,19 @@
- |
تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }}
|
- |
|
- |
گزارش خسارات وارده به ابنیه فنی و تاسیسات راه از تاریخ
{{ verta($fromDate)->format('Y/n/j') }}
@@ -43,7 +43,7 @@
|
اداره کل
|
-
+ |
تعداد کل
|
@@ -60,6 +60,15 @@
|
+ |
+ در دست اقدام
+ |
+
+ در حال فرایند پرداخت
+ |
+
+ خاتمه یافته
+ |
گزارش پلیس راه
|
@@ -86,8 +95,12 @@
|
{{ $road['name'] }} |
+ <
+ {{ $road['egdam'] }} |
- {{ $road['tedade'] }} |
+ {{ $road['pardakht'] }}
+
+ {{ $road['khatm'] }} |
{{ $road['police_rah'] }} |
diff --git a/routes/v3.php b/routes/v3.php
index a4239c48..3a49cc51 100644
--- a/routes/v3.php
+++ b/routes/v3.php
@@ -3,6 +3,8 @@
use App\Http\Controllers\V3\Auth\LogoutController;
use App\Http\Controllers\V3\CMMSMachinesController;
use App\Http\Controllers\V3\DamageManagementController;
+use App\Http\Controllers\V3\Dashboard\Accident\AccidentReceiptController;
+use App\Http\Controllers\V3\Dashboard\Accident\AccidentReceiptReportController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
@@ -12,19 +14,16 @@ use App\Http\Controllers\V3\Dashboard\Mission\DetailController;
use App\Http\Controllers\V3\Dashboard\Mission\RequestPortalController;
use App\Http\Controllers\V3\Dashboard\Mission\TransportationUnitController;
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
-use App\Http\Controllers\V3\Dashboard\AccidentReceiptController;
use App\Http\Controllers\V3\Dashboard\OtpManagementController;
-use App\Http\Controllers\V3\Dashboard\RoadMaintenanceStationController;
-use App\Http\Controllers\V3\Dashboard\Reports\AccidentReceiptReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadItemsReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadPatrolReportController;
use App\Http\Controllers\V3\Dashboard\RoadItemsProjectController;
+use App\Http\Controllers\V3\Dashboard\RoadMaintenanceStationController;
use App\Http\Controllers\V3\Dashboard\RoadObservationController;
use App\Http\Controllers\V3\Dashboard\RoadPatrolProjectController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReportController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\SupervisorController;
-use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\SupervisorReportController;
use App\Http\Controllers\V3\FMSVehicleManagementController;
use App\Http\Controllers\V3\Harim\DivarkeshiController;
use App\Http\Controllers\V3\LogListManagementController;
| |