resolve the conflicts

This commit is contained in:
2026-06-13 14:23:03 +03:30
8 changed files with 88 additions and 7 deletions

View File

@@ -23,7 +23,8 @@ class CMMSMachinesController extends Controller
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: ['machine_code', 'id', 'plak_number', 'car_name', 'car_type', 'status'],
allowedSelects: ['machine_code', 'id', 'plak_number', 'car_name', 'car_type', 'status',
'province_id', 'city_id', 'station_id', 'status','driver_name'],
));
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers\V3;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\City;
use App\Models\Province;
use Illuminate\Http\Request;
class CityController extends Controller
{
use ApiResponse;
public function list(Request $request)
{
return $this->successResponse(City::query()->where('cities.province_id', $request->query('province_id'))->get(['id', 'name_fa']));
}
}

View File

@@ -74,6 +74,18 @@ class ReportMachineController extends Controller
]);
}
/**
* @throws Exception
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
*/
public function countryMachineTypesActivityExcel(Request $request, ReportMachineService $reportMachineService): BinaryFileResponse
{
$data = $reportMachineService->countryMachineTypesActivity($request);
$name = 'گزارش ماشین آلات'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new machineReport($data), $name);
}
public function provinceMachineTypesActivity(Request $request, ReportMachineService $reportMachineService): JsonResponse
{
return $this->successResponse([
@@ -101,4 +113,16 @@ class ReportMachineController extends Controller
]
);
}
/**
* @throws Exception
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
*/
public function provinceMachineTypesActivityExcel(Request $request, ReportMachineService $reportMachineService): BinaryFileResponse
{
$data = $reportMachineService->provinceMachineTypesActivity($request);
$name = 'گزارش ماشین آلات'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new machineReport($data), $name);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers\V3;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\City;
use App\Models\Province;
use Illuminate\Http\Request;
class ProvinceController extends Controller
{
use ApiResponse;
public function list()
{
return $this->successResponse(Province::all(['id', 'name_fa']));
}
}

View File

@@ -14,6 +14,7 @@ class City extends Model
*
* @var array
*/
protected $guarded = ['id'];
protected $hidden = [
'name_en',
'feature_id',

View File

@@ -13,6 +13,7 @@ class Province extends Model
*
* @var array
*/
protected $guarded = ['id'];
protected $hidden = [
'feature_id',
//'center_lat',

View File

@@ -20,7 +20,7 @@ class ReportMachineService
m.machine_code,
cm.car_name,
COUNT(*) AS missions,
SUM(m.end_km - m.km) AS func,
SUM(m.end_km - m.km) AS func
FROM missions m
JOIN cmms_machines cm ON cm.id = m.machine_id
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
@@ -59,7 +59,7 @@ class ReportMachineService
$sql = "SELECT
cm.car_type,
COUNT(*) AS missions,
SUM(m.end_km - m.km) AS func,
SUM(m.end_km - m.km) AS func
FROM missions m
JOIN cmms_machines cm ON cm.id = m.machine_id
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
@@ -80,7 +80,7 @@ class ReportMachineService
$sql = "SELECT
cm.car_type,
COUNT(*) AS missions,
SUM(m.end_km - m.km) AS func,
SUM(m.end_km - m.km) AS func
FROM missions m
JOIN cmms_machines cm ON cm.id = m.machine_id
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to AND province_id = :province_id
@@ -102,7 +102,7 @@ class ReportMachineService
m.driver_id,
m.driver_name,
COUNT(*) AS missions,
SUM(m.end_km - m.km) AS func,
SUM(m.end_km - m.km) AS func
FROM missions m
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
GROUP BY m.driver_id;";
@@ -123,7 +123,7 @@ class ReportMachineService
m.driver_id,
m.driver_name,
COUNT(*) AS missions,
SUM(m.end_km - m.km) AS func,
SUM(m.end_km - m.km) AS func
FROM missions m
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to AND province_id = :province_id
GROUP BY m.driver_id;";

View File

@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\V3\Auth\LogoutController;
use App\Http\Controllers\V3\CityController;
use App\Http\Controllers\V3\CMMSMachinesController;
use App\Http\Controllers\V3\DamageManagementController;
use App\Http\Controllers\V3\Dashboard\Accident\AccidentReceiptController;
@@ -38,6 +39,7 @@ use App\Http\Controllers\V3\LogListManagementController;
use App\Http\Controllers\V3\NotificationController;
use App\Http\Controllers\V3\PermissionManagementController;
use App\Http\Controllers\V3\ProfileController;
use App\Http\Controllers\V3\ProvinceController;
use App\Http\Controllers\V3\RahdaranController;
use App\Http\Controllers\V3\WebServices\RoadItemController;
use Illuminate\Support\Facades\Route;
@@ -683,4 +685,18 @@ Route::prefix('role')
Route::get('/test', function () {
$csvExporter = new \Laracsv\Export();
$csvExporter->build(\App\Models\User::all(), ['id' => 'کد یکتا', 'username' => 'نام کاربری'])->download();
});
});
Route::prefix('provinces')
->name('provinces.')
->controller(ProvinceController::class)
->group(function () {
Route::get('/list', 'list')->name('list');
});
Route::prefix('cities')
->name('cities.')
->controller(CityController::class)
->group(function () {
Route::get('/list', 'list')->name('list');
});