Merge branch 'feature/MILAD_update_road_obseverds' into 'develop'

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

See merge request witelgroup/rms_v2!27
This commit is contained in:
Hamidreza Ranjbarpour
2024-10-03 13:32:09 +00:00
10 changed files with 3273 additions and 3125 deletions

View File

@@ -45,10 +45,39 @@ class RoadObservationProblems extends Command
*/ */
public function handle() public function handle()
{ {
////// TODO bayad ba date ham az 1 bahman ye darkhast bedim data koli biad
$url = "https://riws.rmto.ir/WebServices/NRPTrafficStatus.asmx?wsdl"; $url = "https://riws.rmto.ir/WebServices/NRPTrafficStatus.asmx?wsdl";
// try {
// $soap_client = new SoapClient($url);
// $result = $soap_client->Get_RoadObservedProblems_Current(array('strUserName' => 'vaytelrop', 'strPassword' => 'VaYtelROP*2024'));
// } catch (SoapFault $e) {
// echo $e->getMessage();
// $msg = 'rms: error in get road observation webservice babe!!!!'."\n";
// $msg .= $e->getMessage();
// // self::sms_sender('09398586633', $msg);
// // self::sms_sender('09367487107', $msg);
// return 0;
// }
// echo $v->year = 1395;
// echo "hi\n";
$v = verta(); // 1396-03-14 14:18:23
$month = $v->month;
$day = $v->day;
if ($v->month < 10)
$month = '0' . $v->month;
if ($v->day < 10)
$day = '0' . $v->day;
$date = $v->year . $month . $day;
// dd($date);
try { try {
$soap_client = new SoapClient($url); $soap_client = new SoapClient($url);
$result = $soap_client->Get_RoadObservedProblems_Current(array('strUserName' => 'vaytelrop', 'strPassword' => 'VaYtelROP*2024')); $result = $soap_client->Get_RoadObservedProblems_ByDate(array(
'strUserName' => 'vaytelrop',
'strPassword' => 'VaYtelROP*2024',
'strStartDate' => $date,
'strEndDate' => $date
));
} catch (SoapFault $e) { } catch (SoapFault $e) {
echo $e->getMessage(); echo $e->getMessage();
$msg = 'rms: error in get road observation webservice babe!!!!' . "\n"; $msg = 'rms: error in get road observation webservice babe!!!!' . "\n";
@@ -59,6 +88,7 @@ class RoadObservationProblems extends Command
} }
$result = serialize($result); $result = serialize($result);
// return $result; // return $result;
// dd($result);
$x = strpos($result, '<Document'); $x = strpos($result, '<Document');
$y = strpos($result, '</Document'); $y = strpos($result, '</Document');
$q = intval($y) - intval($x) + 18; $q = intval($y) - intval($x) + 18;
@@ -2711,7 +2741,8 @@ class RoadObservationProblems extends Command
$cityModel = $city ? City::find($city['city_id']) : null; $cityModel = $city ? City::find($city['city_id']) : null;
$rop = RoadObserved::updateOrCreate( $rop = RoadObserved::updateOrCreate(
['fk_RegisteredEventMessage' => $value->fk_RegisteredEventMessage], ['fk_RegisteredEventMessage' => $value->fk_RegisteredEventMessage],
['fk_RegisteredEventMessage' => $value->fk_RegisteredEventMessage ?? null, [
'fk_RegisteredEventMessage' => $value->fk_RegisteredEventMessage ?? null,
'Title' => $value->Title ?? null, 'Title' => $value->Title ?? null,
'StartTime' => $value->StartTime ?? null, 'StartTime' => $value->StartTime ?? null,
'EndTime' => $value->EndTime ?? null, 'EndTime' => $value->EndTime ?? null,
@@ -2746,7 +2777,7 @@ class RoadObservationProblems extends Command
'city_id' => $city ? $city['city_id'] : null, 'city_id' => $city ? $city['city_id'] : null,
// 'handler_type' => EdarateShahri::class, // 'handler_type' => EdarateShahri::class,
'edarate_shahri_id' => $cityModel ? ($cityModel->edarateShahri()->where('is_primary', 1)->exists() ? $cityModel->edarateShahri()->where('is_primary', 1)->first()->id : null) : null, 'edarate_shahri_id' => $cityModel ? ($cityModel->edarateShahri()->where('is_primary', 1)->exists() ? $cityModel->edarateShahri()->where('is_primary', 1)->first()->id : null) : null,
'province_fa' => Province::find($city['province_id'])->name_fa, 'province_fa' => (isset($city['province_id']) ? Province::find($city['province_id'])->name_fa : null),
'city_fa' => $cityModel ? $cityModel->name_fa : null, 'city_fa' => $cityModel ? $cityModel->name_fa : null,
] ]
); );

View File

@@ -47,7 +47,7 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]); return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->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') 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('status')
->orderBy('road_observeds.id', 'desc') ->orderBy('road_observeds.id', 'desc')
@@ -74,7 +74,7 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]); return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->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') 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('status')
->orderBy('road_observeds.id', 'desc') ->orderBy('road_observeds.id', 'desc')
@@ -101,7 +101,7 @@ class OperatorCartableExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]); return $query->whereBetween('rms_last_activity', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->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') 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('status')
->orderBy('road_observeds.id', 'desc') ->orderBy('road_observeds.id', 'desc')

View File

@@ -40,7 +40,7 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')
@@ -62,7 +62,7 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')
@@ -83,7 +83,7 @@ class PendingComplaintsExport implements FromView, ShouldAutoSize, WithEvents, W
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')

View File

@@ -51,7 +51,7 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')
@@ -73,7 +73,7 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')
@@ -94,7 +94,7 @@ class ReportComplaintsExport implements FromView, ShouldAutoSize, WithEvents, Wi
->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) { ->when(($fromDate && $toDate), function ($query) use ($fromDate, $toDate) {
return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]); return $query->whereBetween('road_observeds.created_at', [$fromDate, $toDate]);
}) })
->selectRaw('AutoID, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms, ->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, 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') 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('status')

View File

@@ -56,7 +56,7 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
// $query->where('status', 0) // $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id); // ->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, ->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') 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('status')
->orderBy('road_observeds.id', 'desc') ->orderBy('road_observeds.id', 'desc')
@@ -89,7 +89,7 @@ class SupervisorCartableExport implements FromView, ShouldAutoSize, WithEvents,
// $query->where('status', 0) // $query->where('status', 0)
// ->orWhere('supervisor_id', auth()->user()->id); // ->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, ->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') 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('status')
->orderBy('road_observeds.id', 'desc') ->orderBy('road_observeds.id', 'desc')

View File

@@ -51,10 +51,29 @@ class RoadObservationController extends Controller
// if($request->dev) // if($request->dev)
// dd($request->query()); // dd($request->query());
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', $fields = [
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'fk_RegisteredEventMessage',
'rms_description','rms_status', 'rms_last_activity_fa', 'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_fa', 'edarate_shahri.name_fa', 'road_observeds.id',
'status', 'status_fa', 'supervisor_description', 'supervising_time']; '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', '', '', '', '']; $aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', '', '', ''];
@@ -156,10 +175,30 @@ class RoadObservationController extends Controller
abort(403); abort(403);
} }
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', $fields = [
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'fk_RegisteredEventMessage',
'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', 'road_observeds.id',
'status', 'status_fa', 'supervisor_description', 'supervising_time']; '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', '', '', '', '']; $aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', '', '', ''];
@@ -285,8 +324,21 @@ class RoadObservationController extends Controller
if ($request->dev) if ($request->dev)
dd(auth()->user()->permissions->pluck('name')); dd(auth()->user()->permissions->pluck('name'));
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', $fields = [
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'road_observeds.province_id','province_fa', 'city_fa', 'edarate_shahri.name_fa']; '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']; $aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa'];
@@ -346,6 +398,20 @@ class RoadObservationController extends Controller
'data' => $edarat_shahri, '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) public function refer(Request $request, RoadObserved $roadObserved)
{ {
@@ -359,7 +425,7 @@ class RoadObservationController extends Controller
'message' => 'access to requested resource is forbidden.' 'message' => 'access to requested resource is forbidden.'
], 403); ], 403);
} }
$from_edareh = $roadObserved->edarate_shahri_id;
$roadObserved->update([ $roadObserved->update([
'edarate_shahri_id' => $request->edarate_shahri_id, 'edarate_shahri_id' => $request->edarate_shahri_id,
]); ]);
@@ -369,6 +435,8 @@ class RoadObservationController extends Controller
'user_id' => auth()->user()->id, 'user_id' => auth()->user()->id,
'action' => 'refer', 'action' => 'refer',
'description' => $request->refer_description, 'description' => $request->refer_description,
'from_edareh' => $from_edareh,
'to_edareh' => $request->edarate_shahri_id
]); ]);
auth()->user()->addActivityComplete(1037); auth()->user()->addActivityComplete(1037);
@@ -474,13 +542,13 @@ class RoadObservationController extends Controller
]); ]);
$roadObserved->rms_status = $request->input('rms-status') ?? $roadObserved->rms_status; $roadObserved->rms_status = $request->input('rms-status') ?? $roadObserved->rms_status;
if ($request->input('rms-start-latlng')) { if ($request->input('start_point')) {
$roadObserved->rms_start_latlng = explode(',', $request->input('rms-start-latlng')) ?? null; $roadObserved->rms_start_latlng = explode(',', $request->input('start_point')) ?? null;
} }
if ($request->input('rms-end-latlng')) { // if ($request->input('rms-end-latlng')) {
$roadObserved->rms_end_latlng = explode(',', $request->input('rms-end-latlng')) ?? null; // $roadObserved->rms_end_latlng = explode(',', $request->input('rms-end-latlng')) ?? null;
} // }
$roadObserved->rms_description = $request->input('rms-description') ?? $roadObserved->rms_description; $roadObserved->rms_description = $request->input('description') ?? $roadObserved->rms_description;
$now_date_time = Carbon::now(); $now_date_time = Carbon::now();
$roadObserved->updated_at_fa = Verta::instance($now_date_time); $roadObserved->updated_at_fa = Verta::instance($now_date_time);

View File

@@ -35,8 +35,23 @@ class RoadObservationReportController extends Controller
} }
$fields = ['AutoID', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', $fields = [
'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'road_observeds.province_id','province_fa', 'city_fa', 'edarate_shahri.name_fa', 'rms_last_activity_fa', 'rms_description']; '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', '', '']; $aliases = ['', 'road_observeds_id', '', 'road_observeds_created_at', '', '', '', '', '', 'province_id', '', '', 'edarate_shahri_name_fa', '', ''];
@@ -128,9 +143,11 @@ class RoadObservationReportController extends Controller
$item = $request->item; $item = $request->item;
$all = array(); $all = array();
$all = DB::select(DB::raw( $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')); '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( $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, -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(); $items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) { foreach ($all as $value) {
foreach ($items_fa as $val) { foreach ($items_fa as $val) {
@@ -163,7 +180,8 @@ class RoadObservationReportController extends Controller
$province = $request->province_id; $province = $request->province_id;
$all = array(); $all = array();
$all = DB::select(DB::raw( $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(); $items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) { foreach ($all as $value) {
foreach ($items_fa as $val) { foreach ($items_fa as $val) {

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('{roadObserved}', 'V2\Dashboard\RoadObservationController@roadObserveDetail');
Route::get('refer/list/{id}', 'V2\Dashboard\RoadObservationController@referList'); 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('refer/{road_observed}', 'V2\Dashboard\RoadObservationController@refer');
Route::post('/restore/{road_observed}', 'V2\Dashboard\RoadObservationController@restore'); Route::post('/restore/{road_observed}', 'V2\Dashboard\RoadObservationController@restore');
Route::post('handle/{road_observed}', 'V2\Dashboard\RoadObservationController@handle'); Route::post('handle/{road_observed}', 'V2\Dashboard\RoadObservationController@handle');