Milad made major changes in road observation (e.g. fast react)

This commit is contained in:
Hamidreza Ranjbarpour
2024-10-03 13:32:08 +00:00
parent c82e56ebfc
commit 6651275676
10 changed files with 3273 additions and 3125 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -26,14 +26,14 @@ class Kernel extends ConsoleKernel
protected function schedule(Schedule $schedule)
{
$schedule->command('webservice:roadobserved')
->everyFiveMinutes()->appendOutputTo(storage_path('logs/roadobser.log'));
->everyFiveMinutes()->appendOutputTo(storage_path('logs/roadobser.log'));
$schedule->command('command:sendcontractsmsnotification')
// ->everyMinute()->appendOutputTo(storage_path('logs/contractSms.log'));
->dailyAt('10:00')->appendOutputTo(storage_path('logs/contractSms.log'));
// ->everyMinute()->appendOutputTo(storage_path('logs/contractSms.log'));
->dailyAt('10:00')->appendOutputTo(storage_path('logs/contractSms.log'));
$schedule->command('reports:rms-summary')
->dailyAt('00:00')->appendOutputTo(storage_path('logs/report_summary.log'));
->dailyAt('00:00')->appendOutputTo(storage_path('logs/report_summary.log'));
}
@@ -45,7 +45,7 @@ class Kernel extends ConsoleKernel
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
$this->load(__DIR__ . '/Commands');
require base_path('routes/console.php');
}

View File

@@ -25,34 +25,34 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
$this->fromDate = $fromDate;
$this->toDate = $toDate;
}
public function view(): View
{
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00': null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59': null;
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00' : null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59' : null;
$status = $this->status;
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function($query, $id){
return $query->where('road_observeds.id', 'LIKE', '%'. $id. '%');
})
->when(!is_null($status), function($query) use ($status){
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function ($query, $id) {
return $query->where('road_observeds.id', 'LIKE', '%' . $id . '%');
})
->when(!is_null($status), function ($query) use ($status) {
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, status_fa, supervisor_description, rms_description, province_fa, city_fa, edarate_shahri.name_fa as edarate_shahri_name_fa')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
if (is_null(auth()->user()->province_id)) {
return response()->json([
@@ -61,25 +61,25 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function($query, $id){
return $query->where('road_observeds.id', 'LIKE', '%'. $id. '%');
})
->when(!is_null($status), function($query) use ($status){
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function ($query, $id) {
return $query->where('road_observeds.id', 'LIKE', '%' . $id . '%');
})
->when(!is_null($status), function ($query) use ($status) {
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, status_fa, supervisor_description, rms_description, province_fa, city_fa, edarate_shahri.name_fa as edarate_shahri_name_fa')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
if (is_null(auth()->user()->edarate_shahri_id)) {
return response()->json([
@@ -88,25 +88,25 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function($query, $id){
return $query->where('road_observeds.id', 'LIKE', '%'. $id. '%');
})
->when(!is_null($status), function($query) use ($status){
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->when($this->id, function ($query, $id) {
return $query->where('road_observeds.id', 'LIKE', '%' . $id . '%');
})
->when(!is_null($status), function ($query) use ($status) {
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, status_fa, supervisor_description, rms_description, province_fa, city_fa, edarate_shahri.name_fa as edarate_shahri_name_fa')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
}
return view('excel.V2.RoadObservation.operator_cartable', [
@@ -118,11 +118,11 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
/**
* @return array
*/
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
AfterSheet::class => function (AfterSheet $event) {
$event->sheet->getDelegate()->setRightToLeft(true);
},
];
@@ -139,7 +139,7 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
$drawing->setOffsetX(5);
$drawing->setOffsetY(5);
$drawing->setCoordinates('A1');
$drawing2 = new Drawing();
$drawing2->setName('Logo');
$drawing2->setDescription('This is my logo');
@@ -157,7 +157,7 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
return [
// Style the first row as bold text.
'A:BA' => [
'A:BA' => [
'font' => [
'name' => 'B Nazanin'
]

View File

@@ -24,28 +24,28 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
$this->fromDate = $fromDate;
$this->toDate = $toDate;
}
public function view(): View
{
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00': null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59': null;
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00' : null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59' : null;
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->when($this->province_id, function($query, $province_id){
return $query->where('road_observeds.province_id', $province_id);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->when($this->province_id, function ($query, $province_id) {
return $query->where('road_observeds.province_id', $province_id);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
@@ -56,18 +56,18 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', 0)
->whereNotNull('road_observeds.province_id')
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', 0)
->whereNotNull('road_observeds.province_id')
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
if (is_null(auth()->user()->edarate_shahri_id)) {
@@ -77,20 +77,20 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
}
return view('excel.V2.RoadObservation.pending_complaints', [
@@ -102,11 +102,11 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
/**
* @return array
*/
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
AfterSheet::class => function (AfterSheet $event) {
$event->sheet->getDelegate()->setRightToLeft(true);
},
];
@@ -123,7 +123,7 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
$drawing->setOffsetX(5);
$drawing->setOffsetY(5);
$drawing->setCoordinates('A1');
$drawing2 = new Drawing();
$drawing2->setName('Logo');
$drawing2->setDescription('This is my logo');
@@ -141,7 +141,7 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
return [
// Style the first row as bold text.
'A:BA' => [
'A:BA' => [
'font' => [
'name' => 'B Nazanin'
]

View File

@@ -29,34 +29,34 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
{
return [
'E' => 60,
'G' => 60,
'K' => 60,
'G' => 60,
'K' => 60,
];
}
public function view(): View
{
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00': null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59': null;
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00' : null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59' : null;
$data = [];
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->when($this->province_id, function($query, $province_id){
return $query->where('road_observeds.province_id', $province_id);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->when($this->province_id, function ($query, $province_id) {
return $query->where('road_observeds.province_id', $province_id);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
@@ -67,18 +67,18 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', "<>", 0)
->whereNotNull('road_observeds.province_id')
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', "<>", 0)
->whereNotNull('road_observeds.province_id')
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
if (is_null(auth()->user()->edarate_shahri_id)) {
@@ -88,22 +88,22 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
})
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
status_fa, supervisor_description, rms_description, province_fa, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
}
return view('excel.V2.RoadObservation.report_complaints', [
'data' => $data,
'fromDate' => $fromDate,
@@ -113,11 +113,11 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
/**
* @return array
*/
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
AfterSheet::class => function (AfterSheet $event) {
$event->sheet->getDelegate()->setRightToLeft(true);
},
];
@@ -133,7 +133,7 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
$drawing->setOffsetX(5);
$drawing->setOffsetY(5);
$drawing->setCoordinates('A1');
$drawing2 = new Drawing();
$drawing2->setName('Logo');
$drawing2->setPath(public_path('/dist/141icon.png'));
@@ -150,7 +150,7 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
{
return [
// Style the first row as bold text.
'A:BA' => [
'A:BA' => [
'font' => [
'name' => 'B Nazanin'
]

View File

@@ -26,11 +26,11 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
$this->toDate = $toDate;
$this->province_id = $province_id;
}
public function view(): View
{
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00': null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59': null;
$fromDate = $this->fromDate ? $this->fromDate . ' 00:00:00' : null;
$toDate = $this->toDate ? $this->toDate . ' 23:59:59' : null;
$status = $this->status;
@@ -38,29 +38,29 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
if (auth()->user()->hasPermissionTo('supervise-fast-react')) {
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
// ->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.status')
->when($this->id, function($query, $id){
return $query->where('road_observeds.id', 'LIKE', '%'. $id. '%');
})
->when(!is_null($status), function($query) use ($status){
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->when($this->province_id, function($query, $province_id){
return $query->where('road_observeds.province_id', $province_id);
})
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw('AutoID, road_observeds.id, road_observeds.province_id, edarate_shahri.name_fa as edarate_shahri_name_fa, Title, FeatureTypeTitle, MobileForSendEventSms,
// ->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.status')
->when($this->id, function ($query, $id) {
return $query->where('road_observeds.id', 'LIKE', '%' . $id . '%');
})
->when(!is_null($status), function ($query) use ($status) {
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
->when($this->province_id, function ($query, $province_id) {
return $query->where('road_observeds.province_id', $province_id);
})
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, road_observeds.province_id, edarate_shahri.name_fa as edarate_shahri_name_fa, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, status_fa, supervisor_description, rms_description, province_fa, city_fa')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
} elseif (auth()->user()->hasPermissionTo('supervise-fast-react-province')) {
if (is_null(auth()->user()->province_id)) {
@@ -70,30 +70,30 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
}
$data = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
// ->where('rms_status', '!=', 0)
->where('road_observeds.province_id', auth()->user()->province_id)
->whereNotNull('road_observeds.status')
->when($this->id, function($query, $id){
return $query->where('road_observeds.id', 'LIKE', '%'. $id. '%');
})
->when(!is_null($status), function($query) use ($status){
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function($query) use($fromDate, $toDate){
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
// ->when($this->province_id, function($query, $province_id){
// return $query->where('province_id', $province_id);
// })
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw('AutoID, road_observeds.id, road_observeds.province_id, edarate_shahri.name_fa as edarate_shahri_name_fa, Title, FeatureTypeTitle, MobileForSendEventSms,
// ->where('rms_status', '!=', 0)
->where('road_observeds.province_id', auth()->user()->province_id)
->whereNotNull('road_observeds.status')
->when($this->id, function ($query, $id) {
return $query->where('road_observeds.id', 'LIKE', '%' . $id . '%');
})
->when(!is_null($status), function ($query) use ($status) {
return $query->where('status', $status);
})
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
})
// ->when($this->province_id, function($query, $province_id){
// return $query->where('province_id', $province_id);
// })
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, road_observeds.province_id, edarate_shahri.name_fa as edarate_shahri_name_fa, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, status_fa, supervisor_description, rms_description, province_fa, city_fa')
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
->orderBy('status')
->orderBy('road_observeds.id', 'desc')
->get();
}
return view('excel.V2.RoadObservation.supervisor_cartable', [
@@ -105,11 +105,11 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
/**
* @return array
*/
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
AfterSheet::class => function (AfterSheet $event) {
$event->sheet->getDelegate()->setRightToLeft(true);
},
];
@@ -126,7 +126,7 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
$drawing->setOffsetX(5);
$drawing->setOffsetY(5);
$drawing->setCoordinates('A1');
$drawing2 = new Drawing();
$drawing2->setName('Logo');
$drawing2->setDescription('This is my logo');
@@ -144,7 +144,7 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
return [
// Style the first row as bold text.
'A:BA' => [
'A:BA' => [
'font' => [
'name' => 'B Nazanin'
]

View File

@@ -34,7 +34,7 @@ class RoadObservationController extends Controller
*/
public function supervisorCartable()
{
if (! auth()->user()->hasAnyPermission(['supervise-fast-react', 'supervise-fast-react-province'])) {
if (!auth()->user()->hasAnyPermission(['supervise-fast-react', 'supervise-fast-react-province'])) {
abort(403);
}
auth()->user()->addActivityComplete(1137);
@@ -44,33 +44,52 @@ class RoadObservationController extends Controller
public function supervisorShow(Request $request)
{
if (! auth()->user()->hasAnyPermission(['supervise-fast-react', 'supervise-fast-react-province'])) {
if (!auth()->user()->hasAnyPermission(['supervise-fast-react', 'supervise-fast-react-province'])) {
abort(403);
}
// if($request->dev)
// dd($request->query());
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng',
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms',
'rms_description','rms_status', 'rms_last_activity_fa', 'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_fa', 'edarate_shahri.name_fa',
'status', 'status_fa', 'supervisor_description', 'supervising_time'];
$fields = [
'fk_RegisteredEventMessage',
'road_observeds.id',
'Title',
'road_observeds.created_at',
'lat',
'lng',
'FeatureTypeTitle',
'Description',
'MobileForSendEventSms',
'rms_description',
'rms_status',
'rms_last_activity_fa',
'rms_last_activity',
'road_observeds.province_id',
'province_fa',
'city_fa',
'edarate_shahri.name_fa',
'status',
'status_fa',
'supervisor_description',
'supervising_time'
];
$aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', '', '', ''];
$selectRaw = makeSelectQuery($fields, $aliases);
if (auth()->user()->hasPermissionTo('supervise-fast-react')) {
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
// ->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.status')
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
// ->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.status')
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
} elseif (auth()->user()->hasPermissionTo('supervise-fast-react-province')) {
if (is_null(auth()->user()->province_id)) {
@@ -78,19 +97,19 @@ class RoadObservationController extends Controller
'message' => 'استانی برای شما در سامانه ثبت نشده است!'
], 400);
}
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
// ->where('rms_status', '!=', 0)
->where('road_observeds.province_id', auth()->user()->province_id)
->whereNotNull('road_observeds.status')
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
// ->where('rms_status', '!=', 0)
->where('road_observeds.province_id', auth()->user()->province_id)
->whereNotNull('road_observeds.status')
// ->where(function ($query) {
// $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id);
// })
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
}
$data = processDataTable($request, '', $fields, $query);
return response()->json(
$data,
@@ -135,14 +154,14 @@ class RoadObservationController extends Controller
/**
* Supervisor(End)
*/
*/
/**
* Operator(Begin)
*/
*/
public function operatorCartable()
{
if (! auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
if (!auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
abort(403);
}
auth()->user()->addActivityComplete(1139);
@@ -152,14 +171,34 @@ class RoadObservationController extends Controller
public function operatorShow(Request $request)
{
if (! auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
if (!auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
abort(403);
}
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng',
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms',
'rms_description','rms_status','rms_start_latlng','rms_last_activity_fa','rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_fa', 'edarate_shahri.name_fa',
'status', 'status_fa', 'supervisor_description', 'supervising_time'];
$fields = [
'fk_RegisteredEventMessage',
'road_observeds.id',
'Title',
'road_observeds.created_at',
'lat',
'lng',
'FeatureTypeTitle',
'Description',
'MobileForSendEventSms',
'rms_description',
'rms_status',
'rms_start_latlng',
'rms_last_activity_fa',
'rms_last_activity',
'road_observeds.province_id',
'province_fa',
'city_fa',
'edarate_shahri.name_fa',
'status',
'status_fa',
'supervisor_description',
'supervising_time'
];
$aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', '', '', ''];
@@ -167,11 +206,11 @@ class RoadObservationController extends Controller
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
if (is_null(auth()->user()->province_id)) {
return response()->json([
@@ -180,12 +219,12 @@ class RoadObservationController extends Controller
}
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
->where('rms_province_id', auth()->user()->province_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
} elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
if (is_null(auth()->user()->edarate_shahri_id)) {
return response()->json([
@@ -194,12 +233,12 @@ class RoadObservationController extends Controller
}
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->where('rms_status', '!=', 0)
->whereNotNull('road_observeds.province_id')
->whereNotNull('status')
->selectRaw($selectRaw)
->selectRaw("CONCAT('https://rms.rmto.ir/',image_before) as image_before, CONCAT('https://rms.rmto.ir/', image_after) as image_after");
}
$data = processDataTable($request, '', $fields, $query);
@@ -217,11 +256,11 @@ class RoadObservationController extends Controller
}
/**
* Operator(End)
*/
*/
public function pendingView()
{
if (! auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
if (!auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
abort(403);
}
auth()->user()->addActivityComplete(1140);
@@ -231,7 +270,7 @@ class RoadObservationController extends Controller
public function count()
{
if (! auth()->user()->permissions()->where('type', 'fastreact')->exists()) {
if (!auth()->user()->permissions()->where('type', 'fastreact')->exists()) {
abort(403);
}
@@ -241,9 +280,9 @@ class RoadObservationController extends Controller
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$data = RoadObserved::whereBetween('created_at', [$from_datetime, $to_datetime])
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
sum(case when rms_status != 0 then 1 else 0 end) as done')
->get();
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
if (!auth()->user()->province_id) {
return response()->json([
@@ -252,10 +291,10 @@ class RoadObservationController extends Controller
}
$data = RoadObserved::where('rms_province_id', Auth::user()->province_id)
->whereBetween('created_at', [$from_datetime, $to_datetime])
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
->whereBetween('created_at', [$from_datetime, $to_datetime])
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
sum(case when rms_status != 0 then 1 else 0 end) as done')
->get();
->get();
} elseif (auth()->user()->hasPermissionTo('show-fast-react-city')) {
if (!auth()->user()->city_id) {
return response()->json([
@@ -264,10 +303,10 @@ class RoadObservationController extends Controller
}
$data = RoadObserved::where('rms_city_id', Auth::user()->city_id)
->whereBetween('created_at', [$from_datetime, $to_datetime])
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
->whereBetween('created_at', [$from_datetime, $to_datetime])
->selectRaw('sum(case when rms_status = 0 then 1 else 0 end) as pending,
sum(case when rms_status != 0 then 1 else 0 end) as done')
->get();
->get();
}
return response()->json([
@@ -278,15 +317,28 @@ class RoadObservationController extends Controller
public function showPending(Request $request)
{
if (! auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
if (!auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
abort(403);
}
if($request->dev)
if ($request->dev)
dd(auth()->user()->permissions->pluck('name'));
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng',
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'road_observeds.province_id','province_fa', 'city_fa', 'edarate_shahri.name_fa'];
$fields = [
'fk_RegisteredEventMessage',
'road_observeds.id',
'Title',
'road_observeds.created_at',
'lat',
'lng',
'FeatureTypeTitle',
'Description',
'MobileForSendEventSms',
'road_observeds.province_id',
'province_fa',
'city_fa',
'edarate_shahri.name_fa'
];
$aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa'];
@@ -294,9 +346,9 @@ class RoadObservationController extends Controller
if (auth()->user()->hasPermissionTo('show-fast-react')) {
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->selectRaw($selectRaw);
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->selectRaw($selectRaw);
} elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
if (is_null(auth()->user()->province_id)) {
return response()->json([
@@ -305,10 +357,10 @@ class RoadObservationController extends Controller
}
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->where('road_observeds.province_id', auth()->user()->province_id)
->selectRaw($selectRaw);
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->where('road_observeds.province_id', auth()->user()->province_id)
->selectRaw($selectRaw);
// dd(2);
} elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
@@ -319,22 +371,22 @@ class RoadObservationController extends Controller
}
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->selectRaw($selectRaw);
->where('rms_status', 0)
->whereNotNull('edarate_shahri_id')
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
->selectRaw($selectRaw);
}
$data = processDataTable($request, '', $fields, $query);
return response()->json(
$data,
$data['status'],
);
}
public function referList(int $id)
{
@@ -346,6 +398,20 @@ class RoadObservationController extends Controller
'data' => $edarat_shahri,
]);
}
public function referReport(Request $request, RoadObserved $roadObserved)
{
$data = RoadObservationHistory::where('road_observation_histories.id', $roadObserved->id)->where('action', 'refer')->get();
foreach ($data as $key => $value) {
$data[$key]->from_edareh = EdarateShahri::find($value->from_edareh)->name_fa;
$data[$key]->to_edareh = EdarateShahri::find($value->to_edareh)->name_fa;
$user = User::find($value->user_id);
$data[$key]->user = $user->first_name . ' ' . $user->last_name;
}
return response()->json([
'status' => 200,
'data' => $data,
]);
}
public function refer(Request $request, RoadObserved $roadObserved)
{
@@ -359,18 +425,20 @@ class RoadObservationController extends Controller
'message' => 'access to requested resource is forbidden.'
], 403);
}
$from_edareh = $roadObserved->edarate_shahri_id;
$roadObserved->update([
'edarate_shahri_id' => $request->edarate_shahri_id,
]);
RoadObservationHistory::create([
'id' => $roadObserved->id,
'user_id' => auth()->user()->id,
'action' => 'refer',
'description' => $request->refer_description,
'from_edareh' => $from_edareh,
'to_edareh' => $request->edarate_shahri_id
]);
auth()->user()->addActivityComplete(1037);
return response()->json([
'status' => 'succeed',
@@ -381,7 +449,7 @@ class RoadObservationController extends Controller
public function restore(Request $request, RoadObserved $roadObserved)
{
if (! auth()->user()->hasPermissionTo('restore-fast-react')) {
if (!auth()->user()->hasPermissionTo('restore-fast-react')) {
abort(403);
}
@@ -391,12 +459,12 @@ class RoadObservationController extends Controller
if ($roadObserved->image_before) {
$before_path = explode('/', $roadObserved->image_before);
Storage::delete('public/'. implode('/', array_slice($before_path, 1)));
Storage::delete('public/' . implode('/', array_slice($before_path, 1)));
}
if ($roadObserved->image_after) {
$after_path = explode('/', $roadObserved->image_after);
Storage::delete('public/'. implode('/', array_slice($after_path, 1)));
Storage::delete('public/' . implode('/', array_slice($after_path, 1)));
}
$roadObserved->update([
@@ -417,7 +485,7 @@ class RoadObservationController extends Controller
'action' => 'restore',
'description' => $request->restore_description,
]);
auth()->user()->addActivityComplete(1141);
return response()->json([
'status' => 'succeed',
@@ -428,7 +496,7 @@ class RoadObservationController extends Controller
public function handle(Request $request, RoadObserved $roadObserved, NikarayanService $nikarayanService)
{
if (! auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
if (!auth()->user()->hasAnyPermission(['show-fast-react-edarate-shahri', 'show-fast-react-province', 'show-fast-react'])) {
return response()->json([
'message' => 'access to requested resource is forbidden.'
], 403);
@@ -439,16 +507,16 @@ class RoadObservationController extends Controller
$file_time = time();
// $uuid = \Uuid::generate();
$uuid = (string) Str::uuid();
if ($request->file('image-before-1')) {
$roadObserved->files()->where('path', 'like', '%_image-before-1_%')->delete();
$files_path[$file_index]['path'] = $request->file('image-before-1')->storeAs(
'public/road_observeds',
'img4_' . $file_time . '_image-before-1_' . $roadObserved->id . '_' . $uuid.'.'. $request->file('image-before-1')->extension()
'img4_' . $file_time . '_image-before-1_' . $roadObserved->id . '_' . $uuid . '.' . $request->file('image-before-1')->extension()
);
$file_index++;
$roadObserved->image_before = 'storage/road_observeds/'.'img4_' . $file_time . '_image-before-1_' . $roadObserved->id . '_' . $uuid.'.'. $request->file('image-before-1')->extension();
$roadObserved->image_before = 'storage/road_observeds/' . 'img4_' . $file_time . '_image-before-1_' . $roadObserved->id . '_' . $uuid . '.' . $request->file('image-before-1')->extension();
}
if ($request->file('image-after-1')) {
@@ -456,14 +524,14 @@ class RoadObservationController extends Controller
$files_path[$file_index]['path'] = $request->file('image-after-1')->storeAs(
'public/road_observeds',
'img4_' . $file_time . '_image-after-1_' . $roadObserved->id . '_' . $uuid.'.'. $request->file('image-after-1')->extension()
'img4_' . $file_time . '_image-after-1_' . $roadObserved->id . '_' . $uuid . '.' . $request->file('image-after-1')->extension()
);
$file_index++;
$roadObserved->image_after = 'storage/road_observeds/'.'img4_' . $file_time . '_image-after-1_' . $roadObserved->id . '_' . $uuid.'.'.$request->file('image-after-1')->extension();
$roadObserved->image_after = 'storage/road_observeds/' . 'img4_' . $file_time . '_image-after-1_' . $roadObserved->id . '_' . $uuid . '.' . $request->file('image-after-1')->extension();
}
/////// milad i uncomment this
$files = json_encode($files_path);
$files = json_encode($files_path);
$roadObserved->problemHistories()->create([
'user_id' => Auth::user()->id, //$request->user()->id,// 470
'previous_rms_status' => $roadObserved->rms_status,
@@ -474,13 +542,13 @@ class RoadObservationController extends Controller
]);
$roadObserved->rms_status = $request->input('rms-status') ?? $roadObserved->rms_status;
if ($request->input('rms-start-latlng')) {
$roadObserved->rms_start_latlng = explode(',', $request->input('rms-start-latlng')) ?? null;
if ($request->input('start_point')) {
$roadObserved->rms_start_latlng = explode(',', $request->input('start_point')) ?? null;
}
if ($request->input('rms-end-latlng')) {
$roadObserved->rms_end_latlng = explode(',', $request->input('rms-end-latlng')) ?? null;
}
$roadObserved->rms_description = $request->input('rms-description') ?? $roadObserved->rms_description;
// if ($request->input('rms-end-latlng')) {
// $roadObserved->rms_end_latlng = explode(',', $request->input('rms-end-latlng')) ?? null;
// }
$roadObserved->rms_description = $request->input('description') ?? $roadObserved->rms_description;
$now_date_time = Carbon::now();
$roadObserved->updated_at_fa = Verta::instance($now_date_time);
@@ -503,10 +571,10 @@ class RoadObservationController extends Controller
try {
$result = $nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, $files);
} catch (SoapFault $e) {
$msg = "error in send to nikarayan at".date("Y-m-d H:i:s")."\n".'rms: error in get road observation webservice babe!!!!'."\n";
$msg = "error in send to nikarayan at" . date("Y-m-d H:i:s") . "\n" . 'rms: error in get road observation webservice babe!!!!' . "\n";
$msg .= $e->getMessage();
Sms::sendSms(env('RMS_CTO_PHONE_NUMBER'), $msg);
}
///// sms send

View File

@@ -25,28 +25,43 @@ class RoadObservationReportController extends Controller
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date;
$date_to = $request->date_to;
$from_date = $from_date.' 00:00:00';
$date_to = $date_to.' 23:59:59';
$from_date = $from_date . ' 00:00:00';
$date_to = $date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng',
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'road_observeds.province_id','province_fa', 'city_fa', 'edarate_shahri.name_fa', 'rms_last_activity_fa', 'rms_description'];
$fields = [
'fk_RegisteredEventMessage',
'road_observeds.id',
'Title',
'road_observeds.created_at',
'lat',
'lng',
'FeatureTypeTitle',
'Description',
'MobileForSendEventSms',
'road_observeds.province_id',
'province_fa',
'city_fa',
'edarate_shahri.name_fa',
'rms_last_activity_fa',
'rms_description'
];
$aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', ''];
$selectRaw = makeSelectQuery($fields, $aliases);
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->whereBetween('road_observeds.created_at', [$from_date . ' 00:00:00', $date_to . ' 23:59:59'])
->selectRaw($selectRaw);
->where('rms_status', "<>", 0)
->whereNotNull('edarate_shahri_id')
->whereBetween('road_observeds.created_at', [$from_date . ' 00:00:00', $date_to . ' 23:59:59'])
->selectRaw($selectRaw);
$data = processDataTable($request, '', $fields, $query);
@@ -61,13 +76,13 @@ class RoadObservationReportController extends Controller
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date;
$date_to = $request->date_to;
$from_date = $from_date.' 00:00:00';
$date_to = $date_to.' 23:59:59';
$from_date = $from_date . ' 00:00:00';
$date_to = $date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$all = DB::select(DB::raw(
@@ -90,10 +105,10 @@ class RoadObservationReportController extends Controller
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id) AS tedad_mavarede_moshede_shode,
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
FROM `road_patrols` rp where rp.province_id = "'.$request->province_id.'" AND rp.start_time BETWEEN "'.$from_date.'" AND "'.$date_to.'") temp
FROM `road_patrols` rp where rp.province_id = "' . $request->province_id . '" AND rp.start_time BETWEEN "' . $from_date . '" AND "' . $date_to . '") temp
GROUP BY city_id
'
));
));
return response()->json([
'status' => 'succeed',
'message' => '',
@@ -117,20 +132,22 @@ class RoadObservationReportController extends Controller
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date;
$date_to = $request->date_to;
$from_date = $from_date.' 00:00:00';
$date_to = $date_to.' 23:59:59';
$from_date = $from_date . ' 00:00:00';
$date_to = $date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$item = $request->item;
$all = array();
$all = DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p FROM road_items_projects WHERE item = '.$item.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY p, sub_item'));
$country =DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, -1 AS p FROM road_items_projects WHERE item = '.$item.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY sub_item'));
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p FROM road_items_projects WHERE item = ' . $item . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY p, sub_item'
));
$country = DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, -1 AS p FROM road_items_projects WHERE item = ' . $item . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY sub_item'
));
$items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) {
foreach ($items_fa as $val) {
@@ -143,7 +160,7 @@ class RoadObservationReportController extends Controller
'status' => 'succeed',
'message' => '',
'data' => $all,
'country' =>$country,
'country' => $country,
'items_fa' => $items_fa
], 200);
}
@@ -151,19 +168,20 @@ class RoadObservationReportController extends Controller
{
$item = $request->item;
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
$from_date = $request->from_date . ' 00:00:00';
$date_to = $request->date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$item = $request->item;
$province = $request->province_id;
$all = array();
$all = DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p, city_id AS ci FROM road_items_projects WHERE item = '.$item.' AND province_id = '.$province.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY ci, sub_item'));
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p, city_id AS ci FROM road_items_projects WHERE item = ' . $item . ' AND province_id = ' . $province . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY ci, sub_item'
));
$items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) {
foreach ($items_fa as $val) {
@@ -195,35 +213,35 @@ class RoadObservationReportController extends Controller
if (Auth::user()->username == 'witel' || Auth::user()->username == 'drdanesh') {
$sql = "SELECT COUNT(*) AS s,province_id AS p,item AS i
FROM road_items_projects WHERE
road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id,item
road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id,item
UNION
SELECT COUNT(*) AS s,province_id AS p,77 AS i FROM road_patrols
WHERE
start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id
start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id
UNION
SELECT COUNT(*) AS s,-1 AS p,item AS i FROM road_items_projects
WHERE road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
WHERE road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
GROUP BY item
UNION
SELECT COUNT(*) AS s,-1 AS p,77 AS i FROM road_patrols
WHERE start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'";
WHERE start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'";
} else {
$province_id = Auth::user()->province_id;
$sql = "SELECT COUNT(*) AS s,province_id AS p,item AS i
FROM road_items_projects WHERE road_items_projects.status = 1 and road_items_projects.province_id = ".$province_id." and
road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id,item
FROM road_items_projects WHERE road_items_projects.status = 1 and road_items_projects.province_id = " . $province_id . " and
road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id,item
UNION
SELECT COUNT(*) AS s,province_id AS p,77 AS i FROM road_patrols
WHERE road_patrols.province_id = ".$province_id." and
road_patrols.start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id
WHERE road_patrols.province_id = " . $province_id . " and
road_patrols.start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id
UNION
SELECT COUNT(*) AS s,-1 AS p,item AS i FROM road_items_projects
WHERE road_items_projects.status = 1 and road_items_projects.province_id = ".$province_id." and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
WHERE road_items_projects.status = 1 and road_items_projects.province_id = " . $province_id . " and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
GROUP BY item
UNION
SELECT COUNT(*) AS s,-1 AS p,77 AS i FROM road_patrols
WHERE road_patrols.province_id = ".$province_id." and road_patrols.start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'";
WHERE road_patrols.province_id = " . $province_id . " and road_patrols.start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'";
}
// dd($sql);
$data = DB::select(DB::raw($sql));
@@ -247,13 +265,13 @@ class RoadObservationReportController extends Controller
$sql = "SELECT COUNT(*) AS s,city_id AS c,item AS i
FROM road_items_projects where
status = 1 and road_items_projects.activity_date_time between '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
and province_id= '".$p."' GROUP BY item,city_id
status = 1 and road_items_projects.activity_date_time between '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
and province_id= '" . $p . "' GROUP BY item,city_id
UNION
SELECT COUNT(*) AS s,city_id AS c,77 AS i FROM road_patrols
where
road_patrols.start_time between '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
and province_id= '".$p."' GROUP BY city_id";
road_patrols.start_time between '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
and province_id= '" . $p . "' GROUP BY city_id";
$data = DB::select(DB::raw($sql));
return response()->json([

View File

@@ -0,0 +1,30 @@
<?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('road_observation_histories', function (Blueprint $table) {
$table->string('from_edareh')->nullable();
$table->string('to_edareh')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('road_observation_histories', function (Blueprint $table) {
$table->dropColumn('from_edareh');
$table->dropColumn('to_edareh');
});
}
};

View File

@@ -127,6 +127,7 @@ Route::prefix('road_observations')->group(function () {
Route::get('{roadObserved}', 'V2\Dashboard\RoadObservationController@roadObserveDetail');
Route::get('refer/list/{id}', 'V2\Dashboard\RoadObservationController@referList');
Route::get('refer/report/{road_observed}', 'V2\Dashboard\RoadObservationController@referReport');
Route::post('refer/{road_observed}', 'V2\Dashboard\RoadObservationController@refer');
Route::post('/restore/{road_observed}', 'V2\Dashboard\RoadObservationController@restore');
Route::post('handle/{road_observed}', 'V2\Dashboard\RoadObservationController@handle');