Compare commits
7 Commits
6b81075e40
...
feature/Ma
| Author | SHA1 | Date | |
|---|---|---|---|
| 72462e8016 | |||
| eeff2861e5 | |||
| 6ae3fd3d90 | |||
| 235111ee57 | |||
| ccacb2f916 | |||
| aeb58ed27f | |||
| 2f3ebf5808 |
@@ -23,7 +23,8 @@ class CMMSMachinesController extends Controller
|
|||||||
$request,
|
$request,
|
||||||
allowedFilters: ['*'],
|
allowedFilters: ['*'],
|
||||||
allowedSortings: ['*'],
|
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'],
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
19
app/Http/Controllers/V3/CityController.php
Normal file
19
app/Http/Controllers/V3/CityController.php
Normal 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']));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -72,6 +72,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
|
public function provinceMachineTypesActivity(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||||
{
|
{
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
@@ -85,4 +97,16 @@ class ReportMachineController extends Controller
|
|||||||
// ->get(['id', 'name_fa'])
|
// ->get(['id', 'name_fa'])
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
app/Http/Controllers/V3/ProvinceController.php
Normal file
19
app/Http/Controllers/V3/ProvinceController.php
Normal 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']));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,7 +15,8 @@ class AllocateRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value;
|
return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value
|
||||||
|
|| $this->user()?->username === 'witel';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ class DeallocateRequest extends FormRequest
|
|||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id &&
|
return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id &&
|
||||||
in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value]);
|
in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value])
|
||||||
|
|| $this->user()?->username === 'witel';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class City extends Model
|
|||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
|
protected $guarded = ['id'];
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
'name_en',
|
'name_en',
|
||||||
'feature_id',
|
'feature_id',
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ class Province extends Model
|
|||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
|
protected $guarded = ['id'];
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
'feature_id',
|
'feature_id',
|
||||||
//'center_lat',
|
//'center_lat',
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class ReportMachineService
|
|||||||
m.machine_code,
|
m.machine_code,
|
||||||
cm.car_name,
|
cm.car_name,
|
||||||
COUNT(*) AS missions,
|
COUNT(*) AS missions,
|
||||||
SUM(m.end_km - m.km) AS func,
|
SUM(m.end_km - m.km) AS func
|
||||||
FROM missions m
|
FROM missions m
|
||||||
JOIN cmms_machines cm ON cm.id = m.machine_id
|
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
|
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
|
||||||
@@ -59,7 +59,7 @@ class ReportMachineService
|
|||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
cm.car_type,
|
cm.car_type,
|
||||||
COUNT(*) AS missions,
|
COUNT(*) AS missions,
|
||||||
SUM(m.end_km - m.km) AS func,
|
SUM(m.end_km - m.km) AS func
|
||||||
FROM missions m
|
FROM missions m
|
||||||
JOIN cmms_machines cm ON cm.id = m.machine_id
|
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
|
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
|
||||||
@@ -80,7 +80,7 @@ class ReportMachineService
|
|||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
cm.car_type,
|
cm.car_type,
|
||||||
COUNT(*) AS missions,
|
COUNT(*) AS missions,
|
||||||
SUM(m.end_km - m.km) AS func,
|
SUM(m.end_km - m.km) AS func
|
||||||
FROM missions m
|
FROM missions m
|
||||||
JOIN cmms_machines cm ON cm.id = m.machine_id
|
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
|
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_id,
|
||||||
m.driver_name,
|
m.driver_name,
|
||||||
COUNT(*) AS missions,
|
COUNT(*) AS missions,
|
||||||
SUM(m.end_km - m.km) AS func,
|
SUM(m.end_km - m.km) AS func
|
||||||
FROM missions m
|
FROM missions m
|
||||||
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
|
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to
|
||||||
GROUP BY m.driver_id;";
|
GROUP BY m.driver_id;";
|
||||||
@@ -123,7 +123,7 @@ class ReportMachineService
|
|||||||
m.driver_id,
|
m.driver_id,
|
||||||
m.driver_name,
|
m.driver_name,
|
||||||
COUNT(*) AS missions,
|
COUNT(*) AS missions,
|
||||||
SUM(m.end_km - m.km) AS func,
|
SUM(m.end_km - m.km) AS func
|
||||||
FROM missions m
|
FROM missions m
|
||||||
WHERE m.state_id = 4 AND m.start_time >= :from AND m.finish_time <= :to AND province_id = :province_id
|
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;";
|
GROUP BY m.driver_id;";
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('missions', function (Blueprint $table) {
|
||||||
|
$table->integer('driver_id')->nullable();
|
||||||
|
$table->string('driver_name')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('missions', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('driver_name','driver_id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Http\Controllers\V3\Auth\LogoutController;
|
use App\Http\Controllers\V3\Auth\LogoutController;
|
||||||
|
use App\Http\Controllers\V3\CityController;
|
||||||
use App\Http\Controllers\V3\CMMSMachinesController;
|
use App\Http\Controllers\V3\CMMSMachinesController;
|
||||||
use App\Http\Controllers\V3\DamageManagementController;
|
use App\Http\Controllers\V3\DamageManagementController;
|
||||||
use App\Http\Controllers\V3\Dashboard\Accident\AccidentReceiptController;
|
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\NotificationController;
|
||||||
use App\Http\Controllers\V3\PermissionManagementController;
|
use App\Http\Controllers\V3\PermissionManagementController;
|
||||||
use App\Http\Controllers\V3\ProfileController;
|
use App\Http\Controllers\V3\ProfileController;
|
||||||
|
use App\Http\Controllers\V3\ProvinceController;
|
||||||
use App\Http\Controllers\V3\RahdaranController;
|
use App\Http\Controllers\V3\RahdaranController;
|
||||||
use App\Http\Controllers\V3\WebServices\RoadItemController;
|
use App\Http\Controllers\V3\WebServices\RoadItemController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
@@ -683,3 +685,17 @@ Route::get('/test', function () {
|
|||||||
$csvExporter = new \Laracsv\Export();
|
$csvExporter = new \Laracsv\Export();
|
||||||
$csvExporter->build(\App\Models\User::all(), ['id' => 'کد یکتا', 'username' => 'نام کاربری'])->download();
|
$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');
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user