From 8456b3ec0c9c88ef9de24b615eb2a942d9731811 Mon Sep 17 00:00:00 2001 From: slong753 Date: Thu, 13 Jul 2023 00:43:48 -0500 Subject: [PATCH 01/54] wip stuff --- app/Observers/AssetObserver.php | 11 ++++ ...add_column_for_explicit_date_to_assets.php | 53 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 636f159b65..cf963f78e1 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -119,4 +119,15 @@ class AssetObserver $logAction->user_id = Auth::id(); $logAction->logaction('delete'); } + + public function saving(Asset $asset) + { + //turning this off for right now so i can check out the note in the migration + + //calculate and set the EOL date if it is not already set + // if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model()->get()->eol)){ + // $asset->asset_eol_date = date('Y-m-d', strtotime($asset->asset_purchase_date . ' + ' . $asset->asset_warranty_months . ' months')); + // } + + } } diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php new file mode 100644 index 0000000000..8975eeeba5 --- /dev/null +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -0,0 +1,53 @@ +date('eol_explicit')->after('asset_eol_date')->nullable(); + }); + + // this is really just a scratch pad for the next step... but it might actually work? + // need to check out some things before trying it out, specifically whether or not + // asset_eol_date is only actually set when it's custom + $customEolAssets = DB::table('assets')->whereNotNull('eol_explicit')->get(); + foreach ($customEolAssets as $asset) { + DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset->eol_explicit]); + } + + $assets = DB::table('assets')->whereNull('asset_eol_date')->get(); + foreach ($assets as $asset) { + $model = DB::table('models')->where('id', $asset->model_id)->first(); + if ($model) { + $eol = $model->eol; + if ($eol) { + $asset_eol_date = date('Y-m-d', strtotime($asset->asset_purchase_date . ' + ' . $eol . ' months')); + DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset_eol_date]); + } + } + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('assets', function (Blueprint $table) { + // + }); + } +} From 321e7c93ec04c454a406f57b3380d9dc00fa1077 Mon Sep 17 00:00:00 2001 From: slong753 Date: Thu, 13 Jul 2023 01:02:01 -0500 Subject: [PATCH 02/54] carbon thing --- ...malized_eol_and_add_column_for_explicit_date_to_assets.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 8975eeeba5..77f42696f7 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -1,5 +1,6 @@ eol; if ($eol) { - $asset_eol_date = date('Y-m-d', strtotime($asset->asset_purchase_date . ' + ' . $eol . ' months')); + //getting rid of the weird date($asset->asset_purchase_date, strtotime('+'.$eol.' months') thing because it was weird + $asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($eol)->format('Y-m-d'); DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset_eol_date]); } } From dc39d2c567e9ab40956ae387b2257339050f8e7c Mon Sep 17 00:00:00 2001 From: slong753 Date: Thu, 13 Jul 2023 13:20:11 -0500 Subject: [PATCH 03/54] notes --- ...alized_eol_and_add_column_for_explicit_date_to_assets.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 77f42696f7..9d4e9fc8d4 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -22,8 +22,9 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // this is really just a scratch pad for the next step... but it might actually work? // need to check out some things before trying it out, specifically whether or not // asset_eol_date is only actually set when it's custom - $customEolAssets = DB::table('assets')->whereNotNull('eol_explicit')->get(); - foreach ($customEolAssets as $asset) { + $explicitEolAssets = DB::table('assets')->whereNotNull('eol_explicit')->get(); + //maybe try if ->diffInMonths($asset->eol_explicit) or something to determine explicit date + foreach ($explicitEolAssets as $asset) { DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset->eol_explicit]); } From c1daabef088db8ccb62fc4a2a247fa9da52bd776 Mon Sep 17 00:00:00 2001 From: slong753 Date: Thu, 13 Jul 2023 18:36:14 -0500 Subject: [PATCH 04/54] progress --- app/Http/Controllers/AssetModelsController.php | 11 ++++++++++- app/Http/Controllers/Assets/AssetsController.php | 3 +++ app/Models/Asset.php | 1 + app/Presenters/AssetPresenter.php | 5 +---- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index 3bb72413b0..ce3056bfed 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -6,6 +6,7 @@ use App\Helpers\Helper; use App\Http\Requests\ImageUploadRequest; use App\Models\AssetModel; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\Validator; @@ -91,6 +92,9 @@ class AssetModelsController extends Controller // Was it created? if ($model->save()) { + if ($request->filled('eol')) { + $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + } if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))){ return redirect()->back()->withInput()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error')); @@ -173,8 +177,13 @@ class AssetModelsController extends Controller } } } - + + + if ($model->save()) { + if ($model->wasChanged('eol')) { + $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + } return redirect()->route('models.index')->with('success', trans('admin/models/message.update.success')); } diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index e699779a34..05a3bb603f 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -387,6 +387,9 @@ class AssetsController extends Controller if ($asset->save()) { + if($asset->wasChanged('purchase_date')){ + $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + } return redirect()->route('hardware.show', $assetId) ->with('success', trans('admin/hardware/message.update.success')); } diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 4308c3b0f1..ac06f187b1 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -72,6 +72,7 @@ class Asset extends Depreciable protected $casts = [ 'purchase_date' => 'date', + 'asset_eol_date' => 'date', 'last_checkout' => 'datetime', 'last_checkin' => 'datetime', 'expected_checkin' => 'date', diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 4a068ba642..178632c2d4 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -429,10 +429,7 @@ class AssetPresenter extends Presenter public function eol_date() { if (($this->purchase_date) && ($this->model->model) && ($this->model->model->eol)) { - $date = date_create($this->purchase_date); - date_add($date, date_interval_create_from_date_string($this->model->model->eol.' months')); - - return date_format($date, 'Y-m-d'); + return $this->purchase_date->addMonths($this->model->model->eol)->format('Y-m-d'); } } From 17ccfa9ada6fe2f35debe7cd5bbcf53e653616dc Mon Sep 17 00:00:00 2001 From: slong753 Date: Thu, 13 Jul 2023 22:48:51 -0500 Subject: [PATCH 05/54] resolve some conflicts --- .../Controllers/Assets/AssetsController.php | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 05a3bb603f..4b31e704ab 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -6,6 +6,7 @@ use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Requests\ImageUploadRequest; use App\Models\Actionlog; +use Illuminate\Support\Facades\Log; use App\Models\Asset; use App\Models\AssetModel; use App\Models\CheckoutRequest; @@ -14,26 +15,20 @@ use App\Models\Location; use App\Models\Setting; use App\Models\Statuslabel; use App\Models\User; +use Illuminate\Support\Facades\Auth; use App\View\Label; use Auth; use Carbon\Carbon; -use DB; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Gate; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Facades\Cookie; -use Input; -use Intervention\Image\Facades\Image; +use Illuminate\Support\Facades\Validator; use League\Csv\Reader; -use League\Csv\Statement; -use Paginator; use Redirect; use Response; -use Slack; -use Str; -use TCPDF; -use View; +use Illuminate\View\View; /** * This class controls all actions related to assets for @@ -173,9 +168,9 @@ class AssetsController extends Controller if ($field->field_encrypted == '1') { if (Gate::allows('admin')) { if (is_array($request->input($field->db_column))) { - $asset->{$field->db_column} = \Crypt::encrypt(implode(', ', $request->input($field->db_column))); + $asset->{$field->db_column} = Crypt::encrypt(implode(', ', $request->input($field->db_column))); } else { - $asset->{$field->db_column} = \Crypt::encrypt($request->input($field->db_column)); + $asset->{$field->db_column} = Crypt::encrypt($request->input($field->db_column)); } } } else { @@ -315,7 +310,13 @@ class AssetsController extends Controller $asset->status_id = $request->input('status_id', null); $asset->warranty_months = $request->input('warranty_months', null); $asset->purchase_cost = $request->input('purchase_cost', null); - $asset->asset_eol_date = request('asset_eol_date', null); + if ($request->filled('purchase_date') && !$request->filled('asset_eol_date')) { + $asset->asset_eol_date = Carbon::parse($request->input('purchase_date'))->addMonths($asset->model->eol)->format('Y-m-d'); + } else { + $asset->purchase_date = $request->input('purchase_date', null); + $asset->asset_eol_date = request('asset_eol_date', null); + } + $asset->purchase_date = $request->input('purchase_date', null); $asset->supplier_id = $request->input('supplier_id', null); @@ -342,7 +343,7 @@ class AssetsController extends Controller unlink(public_path().'/uploads/assets/'.$asset->image); $asset->image = ''; } catch (\Exception $e) { - \Log::info($e); + Log::info($e); } } @@ -370,9 +371,9 @@ class AssetsController extends Controller if ($field->field_encrypted == '1') { if (Gate::allows('admin')) { if (is_array($request->input($field->db_column))) { - $asset->{$field->db_column} = \Crypt::encrypt(implode(', ', $request->input($field->db_column))); + $asset->{$field->db_column} = Crypt::encrypt(implode(', ', $request->input($field->db_column))); } else { - $asset->{$field->db_column} = \Crypt::encrypt($request->input($field->db_column)); + $asset->{$field->db_column} = Crypt::encrypt($request->input($field->db_column)); } } } else { @@ -423,7 +424,7 @@ class AssetsController extends Controller try { Storage::disk('public')->delete('assets'.'/'.$asset->image); } catch (\Exception $e) { - \Log::debug($e); + Log::debug($e); } } @@ -538,7 +539,7 @@ class AssetsController extends Controller return response($barcode_obj->getPngData())->header('Content-type', 'image/png'); } catch (\Exception $e) { - \Log::debug('The barcode format is invalid.'); + Log::debug('The barcode format is invalid.'); return response(file_get_contents(public_path('uploads/barcodes/invalid_barcode.gif')))->header('Content-type', 'image/gif'); } @@ -859,7 +860,7 @@ class AssetsController extends Controller 'next_audit_date' => 'date|nullable', ]; - $validator = \Validator::make($request->all(), $rules); + $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(Helper::formatStandardApiResponse('error', null, $validator->errors()->all())); @@ -876,7 +877,7 @@ class AssetsController extends Controller // Check to see if they checked the box to update the physical location, // not just note it in the audit notes if ($request->input('update_location') == '1') { - \Log::debug('update location in audit'); + Log::debug('update location in audit'); $asset->location_id = $request->input('location_id'); } From 1ea0de8bca9b73c1d1bdec7386f30489fff65bc3 Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 17 Jul 2023 10:56:12 -0500 Subject: [PATCH 06/54] prevent injection, fix asset update --- app/Http/Controllers/AssetModelsController.php | 6 ++++-- app/Http/Controllers/Assets/AssetsController.php | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index ce3056bfed..dd7486f05f 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -93,7 +93,8 @@ class AssetModelsController extends Controller // Was it created? if ($model->save()) { if ($request->filled('eol')) { - $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + $newEol = $model->eol; + $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); } if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))){ @@ -182,7 +183,8 @@ class AssetModelsController extends Controller if ($model->save()) { if ($model->wasChanged('eol')) { - $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + $newEol = $model->eol; + $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); } return redirect()->route('models.index')->with('success', trans('admin/models/message.update.success')); } diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 4b31e704ab..f77af809f2 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -389,7 +389,7 @@ class AssetsController extends Controller if ($asset->save()) { if($asset->wasChanged('purchase_date')){ - $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL '.$model->eol.' MONTH)')]); + $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); } return redirect()->route('hardware.show', $assetId) ->with('success', trans('admin/hardware/message.update.success')); From 0e60184e958210c4b92e9c6ac8683bc4d6fd832a Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 17 Jul 2023 14:23:26 -0500 Subject: [PATCH 07/54] i think this migration makes sense --- ...add_column_for_explicit_date_to_assets.php | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 9d4e9fc8d4..1d4d09404f 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -1,6 +1,8 @@ date('eol_explicit')->after('asset_eol_date')->nullable(); }); + - // this is really just a scratch pad for the next step... but it might actually work? - // need to check out some things before trying it out, specifically whether or not - // asset_eol_date is only actually set when it's custom - $explicitEolAssets = DB::table('assets')->whereNotNull('eol_explicit')->get(); - //maybe try if ->diffInMonths($asset->eol_explicit) or something to determine explicit date - foreach ($explicitEolAssets as $asset) { - DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset->eol_explicit]); + // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value + $assetsWithEolDates = Asset::whereNotNull('asset_eol_date')->get(); + foreach($assetsWithEolDates as $asset) { + if($asset->asset_eol_date && $asset->asset_purchase_date) { + $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->asset_purchase_date); + if($months != $asset->model->eol) { + DB::table('assets')->find($asset->id)->update(['eol_explicit' => $asset->asset_eol_date]); + } + } } - + + // Update the asset_eol_date column with the calculated value if it doesn't exist $assets = DB::table('assets')->whereNull('asset_eol_date')->get(); foreach ($assets as $asset) { - $model = DB::table('models')->where('id', $asset->model_id)->first(); + $model = Asset::find($asset->id)->model; if ($model) { $eol = $model->eol; if ($eol) { - //getting rid of the weird date($asset->asset_purchase_date, strtotime('+'.$eol.' months') thing because it was weird $asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($eol)->format('Y-m-d'); DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset_eol_date]); } From 17a83129b98517534584323f1d3ff5c38edce040 Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 17 Jul 2023 14:32:03 -0500 Subject: [PATCH 08/54] this all needs to be tested tediously --- app/Importer/AssetImporter.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index be19455618..08f6c06d3d 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -4,6 +4,7 @@ namespace App\Importer; use App\Models\Asset; use App\Models\Statuslabel; +use Carbon\Carbon; class AssetImporter extends ItemImporter { @@ -63,6 +64,7 @@ class AssetImporter extends ItemImporter $asset_tag = Asset::autoincrement_asset(); } + $asset = Asset::where(['asset_tag'=> (string) $asset_tag])->first(); if ($asset) { if (! $this->updating) { @@ -116,12 +118,17 @@ class AssetImporter extends ItemImporter if (isset($this->item['next_audit_date'])) { $item['next_audit_date'] = $this->item['next_audit_date']; } - + $item['asset_eol_date'] = null; if (isset($this->item['asset_eol_date'])) { $item['asset_eol_date'] = $this->item['asset_eol_date']; } + $item['eol_explicit'] = null; + if (isset($this->item['eol_explicit'])) { + $item['eol_explicit'] = $this->item['eol_explicit']; + } + if ($editingAsset) { $asset->update($item); } else { @@ -134,9 +141,14 @@ class AssetImporter extends ItemImporter $asset->{$custom_field} = $val; } } + + if(($item['asset_eol_date'] == null) && ($item['eol_explicit'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ + $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + } if ($asset->save()) { + $asset->logCreate(trans('general.importer.import_note')); $this->log('Asset '.$this->item['name'].' with serial number '.$this->item['serial'].' was created'); From 41b65bd9a2ce1f7cebb2cac2e033b9f25415bf39 Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 17 Jul 2023 14:37:32 -0500 Subject: [PATCH 09/54] small changes --- app/Importer/AssetImporter.php | 9 ++++----- ...ed_eol_and_add_column_for_explicit_date_to_assets.php | 8 +++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index 08f6c06d3d..4286b62d51 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -128,6 +128,10 @@ class AssetImporter extends ItemImporter if (isset($this->item['eol_explicit'])) { $item['eol_explicit'] = $this->item['eol_explicit']; } + + if(($item['asset_eol_date'] == null) && ($item['eol_explicit'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ + $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + } if ($editingAsset) { $asset->update($item); @@ -142,11 +146,6 @@ class AssetImporter extends ItemImporter } } - if(($item['asset_eol_date'] == null) && ($item['eol_explicit'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ - $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); - } - - if ($asset->save()) { $asset->logCreate(trans('general.importer.import_note')); diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 1d4d09404f..4e46c1db40 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -2,10 +2,8 @@ use App\Models\Asset; use Carbon\Carbon; -use Carbon\CarbonInterval; use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; -use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration @@ -28,20 +26,20 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration if($asset->asset_eol_date && $asset->asset_purchase_date) { $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->asset_purchase_date); if($months != $asset->model->eol) { - DB::table('assets')->find($asset->id)->update(['eol_explicit' => $asset->asset_eol_date]); + Asset::find($asset->id)->update(['eol_explicit' => $asset->asset_eol_date]); } } } // Update the asset_eol_date column with the calculated value if it doesn't exist - $assets = DB::table('assets')->whereNull('asset_eol_date')->get(); + $assets = Asset::whereNull('asset_eol_date')->get(); foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; if ($model) { $eol = $model->eol; if ($eol) { $asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($eol)->format('Y-m-d'); - DB::table('assets')->where('id', $asset->id)->update(['asset_eol_date' => $asset_eol_date]); + Asset::fine($asset->id)->update(['asset_eol_date' => $asset_eol_date]); } } } From cda9dd57ddd3fb2bceafa035dfc8eb180e56a204 Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 17 Jul 2023 14:44:09 -0500 Subject: [PATCH 10/54] asset update logic --- app/Http/Controllers/Assets/AssetsController.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index f77af809f2..2335c74f00 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -312,9 +312,12 @@ class AssetsController extends Controller $asset->purchase_cost = $request->input('purchase_cost', null); if ($request->filled('purchase_date') && !$request->filled('asset_eol_date')) { $asset->asset_eol_date = Carbon::parse($request->input('purchase_date'))->addMonths($asset->model->eol)->format('Y-m-d'); - } else { + } elseif ($request->filled('asset_eol_date')) { + $asset->explicit_eol = request('explicit_eol', null); + } + else { $asset->purchase_date = $request->input('purchase_date', null); - $asset->asset_eol_date = request('asset_eol_date', null); + $asset->asset_eol_date = request('asset_eol_date', $asset->present()->eol_date()); } From 20367eecc9da1279b981980b7a052685b0157939 Mon Sep 17 00:00:00 2001 From: slong753 Date: Tue, 18 Jul 2023 08:10:58 -0500 Subject: [PATCH 11/54] fix conflicts --- app/Models/Asset.php | 6 +++++- ...and_add_column_for_explicit_date_to_assets.php | 15 ++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index ac06f187b1..c3d1355dea 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -84,9 +84,11 @@ class Asset extends Depreciable 'location_id' => 'integer', 'rtd_company_id' => 'integer', 'supplier_id' => 'integer', + 'byod' => 'boolean', 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', + 'eol_explicit' => 'boolean', ]; protected $rules = [ @@ -105,7 +107,8 @@ class Asset extends Depreciable 'serial' => 'unique_serial|nullable', 'purchase_cost' => 'numeric|nullable|gte:0', 'supplier_id' => 'exists:suppliers,id|nullable', - 'asset_eol_date' => 'date|max:10|min:10|nullable', + 'asset_eol_date' => 'date_format:Y-m-d|nullable', + 'eol_explicit' => 'boolean|nullable', 'byod' => 'boolean', ]; @@ -139,6 +142,7 @@ class Asset extends Depreciable 'asset_eol_date', 'last_audit_date', 'next_audit_date', + 'eol_explicit', ]; use Searchable; diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 4e46c1db40..ac2656d8b3 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -16,18 +16,19 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration public function up() { Schema::table('assets', function (Blueprint $table) { - $table->date('eol_explicit')->after('asset_eol_date')->nullable(); + $table->boolean('eol_explicit')->default(false)->after('asset_eol_date'); }); // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value $assetsWithEolDates = Asset::whereNotNull('asset_eol_date')->get(); foreach($assetsWithEolDates as $asset) { - if($asset->asset_eol_date && $asset->asset_purchase_date) { - $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->asset_purchase_date); + if($asset->asset_eol_date && $asset->purchase_date) { + $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); if($months != $asset->model->eol) { - Asset::find($asset->id)->update(['eol_explicit' => $asset->asset_eol_date]); + $asset->update(['eol_explicit' => true]); } + } } @@ -38,8 +39,8 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration if ($model) { $eol = $model->eol; if ($eol) { - $asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($eol)->format('Y-m-d'); - Asset::fine($asset->id)->update(['asset_eol_date' => $asset_eol_date]); + $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($eol)->format('Y-m-d'); + $asset->update(['asset_eol_date' => $asset_eol_date]); } } } @@ -53,7 +54,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration public function down() { Schema::table('assets', function (Blueprint $table) { - // + $table->dropColumn('eol_explicit'); }); } } From 774f21bb7f1edd48e840e9fe333fd3215547cad3 Mon Sep 17 00:00:00 2001 From: slong753 Date: Tue, 18 Jul 2023 10:14:00 -0500 Subject: [PATCH 12/54] some more cleanup --- app/Http/Controllers/AssetModelsController.php | 8 ++++++-- app/Http/Controllers/Assets/AssetsController.php | 2 +- app/Models/Asset.php | 2 +- ...zed_eol_and_add_column_for_explicit_date_to_assets.php | 1 - 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index dd7486f05f..9a54bb2ace 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -94,7 +94,8 @@ class AssetModelsController extends Controller if ($model->save()) { if ($request->filled('eol')) { $newEol = $model->eol; - $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); + $model->assets()->whereNotNull('purchase_date')->where('eol_explicit', false) + ->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); } if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))){ @@ -184,7 +185,10 @@ class AssetModelsController extends Controller if ($model->save()) { if ($model->wasChanged('eol')) { $newEol = $model->eol; - $model->assets()->whereNotNull('purchase_date')->whereNull('eol_explicit')->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); + $model->assets()->whereNotNull('purchase_date')->where('eol_explicit', false) + //this DB::raw is so that we can use an ->update() which is _much_ faster than foreaching + //but, laravel doesn't have a way to access a column inside an update + ->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); } return redirect()->route('models.index')->with('success', trans('admin/models/message.update.success')); } diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 2335c74f00..d94197e303 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -391,7 +391,7 @@ class AssetsController extends Controller if ($asset->save()) { - if($asset->wasChanged('purchase_date')){ + if($asset->wasChanged('purchase_date') && !$asset->explicit_eol){ $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); } return redirect()->route('hardware.show', $assetId) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index c3d1355dea..e43152cd36 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -88,7 +88,7 @@ class Asset extends Depreciable 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', - 'eol_explicit' => 'boolean', + 'eol_explicit' => 'boolean', ]; protected $rules = [ diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index ac2656d8b3..ee110e815c 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -28,7 +28,6 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration if($months != $asset->model->eol) { $asset->update(['eol_explicit' => true]); } - } } From 5948679a4af0846b112eb8bd998b949be7145859 Mon Sep 17 00:00:00 2001 From: slong753 Date: Tue, 18 Jul 2023 10:26:25 -0500 Subject: [PATCH 13/54] fix purchase date update --- app/Http/Controllers/Assets/AssetsController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index d94197e303..302131d45c 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -310,10 +310,12 @@ class AssetsController extends Controller $asset->status_id = $request->input('status_id', null); $asset->warranty_months = $request->input('warranty_months', null); $asset->purchase_cost = $request->input('purchase_cost', null); + $asset->purchase_date = $request->input('purchase_date', null); if ($request->filled('purchase_date') && !$request->filled('asset_eol_date')) { + $asset->purchase_date = $request->input('purchase_date', null); $asset->asset_eol_date = Carbon::parse($request->input('purchase_date'))->addMonths($asset->model->eol)->format('Y-m-d'); } elseif ($request->filled('asset_eol_date')) { - $asset->explicit_eol = request('explicit_eol', null); + $asset->eol_explicit = request('eol_explicit', null); } else { $asset->purchase_date = $request->input('purchase_date', null); @@ -391,7 +393,7 @@ class AssetsController extends Controller if ($asset->save()) { - if($asset->wasChanged('purchase_date') && !$asset->explicit_eol){ + if($asset->wasChanged('purchase_date') && $asset->eol_explicit == false){ $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); } return redirect()->route('hardware.show', $assetId) From 75d7e3e1a01b40902620193e4b4aae2ba3e1b704 Mon Sep 17 00:00:00 2001 From: slong753 Date: Tue, 18 Jul 2023 10:54:51 -0500 Subject: [PATCH 14/54] fix conflicts --- app/Http/Controllers/Assets/AssetsController.php | 3 ++- app/Models/Asset.php | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 302131d45c..50e45fc91f 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -394,7 +394,8 @@ class AssetsController extends Controller if ($asset->save()) { if($asset->wasChanged('purchase_date') && $asset->eol_explicit == false){ - $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + $asset->update(['asset_eol_date' => $asset_eol_date]); } return redirect()->route('hardware.show', $assetId) ->with('success', trans('admin/hardware/message.update.success')); diff --git a/app/Models/Asset.php b/app/Models/Asset.php index e43152cd36..946505d20f 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -107,7 +107,8 @@ class Asset extends Depreciable 'serial' => 'unique_serial|nullable', 'purchase_cost' => 'numeric|nullable|gte:0', 'supplier_id' => 'exists:suppliers,id|nullable', - 'asset_eol_date' => 'date_format:Y-m-d|nullable', + //something not working here... + // 'asset_eol_date' => 'date_format:Y-m-d|nullable', 'eol_explicit' => 'boolean|nullable', 'byod' => 'boolean', ]; @@ -142,7 +143,7 @@ class Asset extends Depreciable 'asset_eol_date', 'last_audit_date', 'next_audit_date', - 'eol_explicit', + 'eol_explicit', ]; use Searchable; From 78c400e948d88cc57d9b125822684917345d4e31 Mon Sep 17 00:00:00 2001 From: slong753 Date: Mon, 24 Jul 2023 16:41:25 -0500 Subject: [PATCH 15/54] fix conflicts --- .../Controllers/Assets/AssetsController.php | 1 - app/Importer/AssetImporter.php | 17 +++++++++----- app/Observers/AssetObserver.php | 22 ++++++++++++++----- ...add_column_for_explicit_date_to_assets.php | 8 +++++-- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 50e45fc91f..880f6ae011 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -17,7 +17,6 @@ use App\Models\Statuslabel; use App\Models\User; use Illuminate\Support\Facades\Auth; use App\View\Label; -use Auth; use Carbon\Carbon; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Gate; diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index 4286b62d51..bb7cae7cda 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -3,6 +3,7 @@ namespace App\Importer; use App\Models\Asset; +use App\Models\AssetModel; use App\Models\Statuslabel; use Carbon\Carbon; @@ -121,15 +122,19 @@ class AssetImporter extends ItemImporter $item['asset_eol_date'] = null; if (isset($this->item['asset_eol_date'])) { - $item['asset_eol_date'] = $this->item['asset_eol_date']; + if(!is_null($this->item['model_id'])) { + $model = AssetModel::find($this->createOrFetchAssetModel($row, $this->item['model_id'])); + if(is_null($model->eol)) { + $item['asset_eol_date'] = $this->item['asset_eol_date']; + $item['eol_explicit'] = true; + } else { + $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->addMonths($model->eol)->format('Y-m-d'); + } + } } $item['eol_explicit'] = null; - if (isset($this->item['eol_explicit'])) { - $item['eol_explicit'] = $this->item['eol_explicit']; - } - - if(($item['asset_eol_date'] == null) && ($item['eol_explicit'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ + if(($item['asset_eol_date'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); } diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index cf963f78e1..fab3b290ca 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -6,6 +6,7 @@ use App\Models\Actionlog; use App\Models\Asset; use App\Models\Setting; use Auth; +use Carbon\Carbon; class AssetObserver { @@ -122,12 +123,23 @@ class AssetObserver public function saving(Asset $asset) { - //turning this off for right now so i can check out the note in the migration + //determine if calculated eol and then calculate it - this should only happen on a new asset + if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model->eol)){ + $asset->asset_eol_date = $asset->purchase_date->addMonths($asset->model->eol)->format('Y-m-d'); + } - //calculate and set the EOL date if it is not already set - // if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model()->get()->eol)){ - // $asset->asset_eol_date = date('Y-m-d', strtotime($asset->asset_purchase_date . ' + ' . $asset->asset_warranty_months . ' months')); - // } + //determine if explicit and set eol_explit to true + if(!is_null($asset->asset_eol_date) && !is_null($asset->purchase_date) || ($asset->isDirty($asset->asset_eol_date) || $asset->isDirty($asset->purchase_date))) { + if($asset->model->eol) { + $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + if($months != $asset->model->eol) { + $asset->eol_explicit = true; + } + } else { + $asset->eol_explicit = true; + } + } + } } diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index ee110e815c..0921be0657 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -25,8 +25,12 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration foreach($assetsWithEolDates as $asset) { if($asset->asset_eol_date && $asset->purchase_date) { $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); - if($months != $asset->model->eol) { - $asset->update(['eol_explicit' => true]); + if($asset->model->eol) { + if($months != $asset->model->eol) { + $asset->update(['eol_explicit' => true]); + } + } else { + $asset->update(['eol_explcit' => true]); } } } From 1b18cd7fe61993b4c615778f9f19041dd163c309 Mon Sep 17 00:00:00 2001 From: slong753 Date: Tue, 25 Jul 2023 17:41:55 -0500 Subject: [PATCH 16/54] added asset_eol_date and explicit to factory --- app/Observers/AssetObserver.php | 3 ++- database/factories/AssetFactory.php | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index fab3b290ca..85e45b082e 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -129,7 +129,8 @@ class AssetObserver } //determine if explicit and set eol_explit to true - if(!is_null($asset->asset_eol_date) && !is_null($asset->purchase_date) || ($asset->isDirty($asset->asset_eol_date) || $asset->isDirty($asset->purchase_date))) { + //conditions might need more work + if(!is_null($asset->asset_eol_date) && !is_null($asset->purchase_date)) { if($asset->model->eol) { $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); if($months != $asset->model->eol) { diff --git a/database/factories/AssetFactory.php b/database/factories/AssetFactory.php index 0e0c3931d8..eb1b21358a 100644 --- a/database/factories/AssetFactory.php +++ b/database/factories/AssetFactory.php @@ -8,6 +8,7 @@ use App\Models\Location; use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; +use Carbon\Carbon; use Illuminate\Database\Eloquent\Factories\Factory; class AssetFactory extends Factory @@ -48,6 +49,17 @@ class AssetFactory extends Factory 'last_checkout' => null, ]; } + + + public function configure() + { + return $this->afterMaking(function (Asset $asset) { + // $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + $asset->asset_eol_date = $this->faker->boolean(5) + ? Carbon::parse($asset->purchase_date)->addMonths(rand(0, 20))->format('Y-m-d') + : Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + }); + } public function laptopMbp() { @@ -338,4 +350,5 @@ class AssetFactory extends Factory { return $this->state(['requestable' => false]); } + } From 27bea2abb9f5f5c2bbe9dc6ecfadbe48af603dab Mon Sep 17 00:00:00 2001 From: slong753 Date: Sat, 29 Jul 2023 13:45:39 -0500 Subject: [PATCH 17/54] just some more wip on the importer --- app/Http/Livewire/Importer.php | 1 + app/Importer/AssetImporter.php | 26 ++- app/Importer/ItemImporter.php | 12 +- app/Observers/AssetObserver.php | 2 + database/factories/AssetFactory.php | 3 +- sample_csvs/assets-sample.csv | 302 ++++++++++++++-------------- 6 files changed, 179 insertions(+), 167 deletions(-) diff --git a/app/Http/Livewire/Importer.php b/app/Http/Livewire/Importer.php index 7899182a60..257c3f1fe0 100644 --- a/app/Http/Livewire/Importer.php +++ b/app/Http/Livewire/Importer.php @@ -194,6 +194,7 @@ class Importer extends Component ]; $this->assets_fields = [ + 'asset_eol_date' => 'Asset EOL DAte', 'company' => trans('general.company'), 'location' => trans('general.location'), 'item_name' => trans('general.item_name_var', ['item' => trans('general.asset')]), diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index bb7cae7cda..dc5610ab40 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -122,21 +122,25 @@ class AssetImporter extends ItemImporter $item['asset_eol_date'] = null; if (isset($this->item['asset_eol_date'])) { - if(!is_null($this->item['model_id'])) { - $model = AssetModel::find($this->createOrFetchAssetModel($row, $this->item['model_id'])); + $model = AssetModel::find($this->createOrFetchAssetModel($row, $this->item['model_id'])); + ray(['model!' => $model]); if(is_null($model->eol)) { - $item['asset_eol_date'] = $this->item['asset_eol_date']; - $item['eol_explicit'] = true; - } else { - $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->addMonths($model->eol)->format('Y-m-d'); + $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->format('Y-m-d'); + $item['eol_explicit'] = true; + } elseif (!is_null($model->eol) && !is_null($this->item['purchase_date'])) { + ray('EOL is not null'); + $item['asset_eol_date'] = Carbon::parse($this->item['purchase_date'])->addMonths($model->eol)->format('Y-m-d'); } - } } - $item['eol_explicit'] = null; - if(($item['asset_eol_date'] == null) && ($asset->model->eol != null) && ($asset->asset_purchase_date != null)){ - $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); - } + // if(($item['asset_eol_date'] == null) && ($asset->model?->eol != null) && ($asset->asset_purchase_date != null)){ + // $asset->eol_explicit = false; + // $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + // } else { + // $asset->eol_explicit = true; + // $parsedDate = Carbon::parse($this->item['asset_eol_date']); + // $asset->asset_eol_date = $parsedDate->format('Y-m-d'); + // } if ($editingAsset) { $asset->update($item); diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 9e80cb9572..297f817516 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -10,6 +10,7 @@ use App\Models\Manufacturer; use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; +use Carbon\Carbon; class ItemImporter extends Importer { @@ -87,10 +88,13 @@ class ItemImporter extends Importer $this->item['next_audit_date'] = date('Y-m-d', strtotime($this->findCsvMatch($row, 'next_audit_date'))); } - $this->item['asset_eol_date'] = null; - if ($this->findCsvMatch($row, 'asset_eol_date') != '') { - $this->item['asset_eol_date'] = date('Y-m-d', strtotime($this->findCsvMatch($row, 'asset_eol_date'))); - } + // $this->item['asset_eol_date'] = null; + // if ($this->findCsvMatch($row, 'asset_eol_date') != '') { + // ray()->clearAll(); + // ray('item importer line 93'); + // return; + // $this->item['asset_eol_date'] = Carbon::parse($this->findCsvMatch($row, 'asset_eol_date'))->format('Y-m-d'); + // } $this->item['qty'] = $this->findCsvMatch($row, 'quantity'); $this->item['requestable'] = $this->findCsvMatch($row, 'requestable'); diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 85e45b082e..38fcf0f2d0 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -123,9 +123,11 @@ class AssetObserver public function saving(Asset $asset) { + ray('THIS FUCKING SHIT DOESNT WORK'); //determine if calculated eol and then calculate it - this should only happen on a new asset if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model->eol)){ $asset->asset_eol_date = $asset->purchase_date->addMonths($asset->model->eol)->format('Y-m-d'); + $asset->eol_explicit = false; } //determine if explicit and set eol_explit to true diff --git a/database/factories/AssetFactory.php b/database/factories/AssetFactory.php index eb1b21358a..a3170b22e8 100644 --- a/database/factories/AssetFactory.php +++ b/database/factories/AssetFactory.php @@ -54,7 +54,8 @@ class AssetFactory extends Factory public function configure() { return $this->afterMaking(function (Asset $asset) { - // $asset->asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + // calculates the EOL date most of the time, but sometimes sets a random date so we have some explicits + // the explicit boolean gets set in the saving() method on the observer $asset->asset_eol_date = $this->faker->boolean(5) ? Carbon::parse($asset->purchase_date)->addMonths(rand(0, 20))->format('Y-m-d') : Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); diff --git a/sample_csvs/assets-sample.csv b/sample_csvs/assets-sample.csv index 329c76d5eb..58cf7c213e 100644 --- a/sample_csvs/assets-sample.csv +++ b/sample_csvs/assets-sample.csv @@ -1,151 +1,151 @@ -Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location -Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,Nial,,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,"","","","","" -"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,Chase,ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,"" -Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,Chase,,9929FR08W85,,2023-03-01,2300.71,Location,"","","","",Pacocha-Kiehn -Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,Mabelle,neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,2022-10-26,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,"" -Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,Sumner,turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,2022-07-24,2967.97,,"","","","","" -Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,Mabelle,,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-10-01,3819.73,,"","","","","" -Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,Flo,blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,2022-06-25,2711.89,Location,"","","","","McGlynn, Hagenes and Bruen" -"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,Ward,sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,2828XJ28E95,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,2022-07-24,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,"" -Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,Nial,orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,2534KR53Y73,vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-11,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,"" -Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,Jere,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,7055KO63K62,,2022-08-25,2448.17,Location,"","","","",Lynch and Sons -Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,Nobe,sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,0535QM19F37,rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,2022-12-23,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,"" -"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,Nial,curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,7520IT24T23,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,2023-05-14,3178.59,Location,"","","","","O'Conner, Nitzsche and Aufderhar" -Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,Bale,molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,2427CL03K39,,2023-05-07,3322.34,,"","","","","" -Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,Karry,egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,1075JB25N09,,2022-09-03,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,"" -"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,Tommy,,9621CJ23Y35,,2022-12-17,1614.68,Location,"","","","",Roberts-Anderson -Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,Rolland,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,2022-11-02,1444.69,Location,"","","","",Fritsch-Abernathy -Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,Kizzee,maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,2022-09-07,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,"" -"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,Jeana,,5505YF23M46,,2023-02-10,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,"" -Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,Sumner,,8673QP30R80,,2022-06-20,1784.66,Location,"","","","",Lynch and Sons -"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,Mabelle,nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,2022-12-15,668.43,Location,"","","","",Russel Group -Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,Illa,quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,2022-12-27,3391.42,,"","","","","" -Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,2022-06-24,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,"" -"Rau, O'Kon and Predovic",Grader,KUW-8075173,Hard Tile & Stone,"Kunde, Doyle and Kozey",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",3235657209,Tommy,,8752PQ41C20,,2023-04-16,2428.95,User,wtomblin2r,Waiter,Tomblin,wtomblin2r@cisco.com,"" -"Rodriguez, Rippin and Maggio",Backhoe,KGD-2478881,Epoxy Flooring,"Upton, Feil and Jast",Krajcik LLC,Roberts-Anderson,9968615213,Sumner,,,interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,2022-11-14,2353.49,,"","","","","" -Collins-Langworth,Backhoe,NLM-1912680,Glass & Glazing,Walker-Towne,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",2439578863,Paloma,quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum,4241FY30X65,aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo,2022-05-29,413.99,User,esargersonc,El,Sargerson,esargersonc@moonfruit.com,"" -"Tillman, Rippin and Robel",Backhoe,HKF-2889015,Framing (Steel),Rippin-Schiller,"Upton, Feil and Jast","Nitzsche, Gislason and Douglas",1249482779,Mabelle,,7737HG97C81,nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante,2022-09-27,174.79,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,"" -Bogisich-Gerhold,Excavator,HIN-5577764,HVAC,Ankunding-Ledner,"Kutch, Johnson and Olson",Treutel Inc,5300366684,Robby,,,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia,2023-04-09,4662.35,User,bogg1s,Blakeley,Ogg,bogg1s@examiner.com,"" -DuBuque-Jones,Excavator,RSF-1042461,Roofing (Asphalt),Abernathy-Stamm,"Stokes, Daniel and Johnson",Frami and Sons,8526994711,Jere,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean,,,2022-11-25,2356.93,,"","","","","" -Runolfsson-McCullough,Scraper,DAK-0644656,Framing (Wood),Mosciski Inc,"Legros, Paucek and Collier",Lynch and Sons,5644034134,Mabelle,,3664GP06B10,molestie nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu,2022-10-05,3912.18,User,mnollet1,Maury,Nollet,mnollet1@ow.ly,"" -Hilpert-Vandervort,Crawler,XWJ-0341580,Roofing (Asphalt),Ankunding-Ledner,Abernathy-Stamm,"Mills, Gleichner and Schamberger",0635168064,Chase,,9438FZ85N89,dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien,2022-08-28,4426.46,User,nhumburton1m,Noelle,Humburton,nhumburton1m@ow.ly,"" -"Schmitt, Kuhlman and Gusikowski",Excavator,UQF-6263661,Electrical,"Upton, Feil and Jast","Kunde, Doyle and Kozey",Fritsch-Abernathy,6394370767,Ward,,0642OF31I56,adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum primis,2022-12-04,3182.1,Location,"","","","",Powlowski LLC -Klein Inc,Excavator,IOC-4424021,Elevator,Watsica LLC,Pacocha-Goodwin,Treutel Inc,9408196701,Beverly,,4124VH09F17,,2022-09-12,3321.66,,"","","","","" -"Runte, Feeney and Lueilwitz",Compactor,TBU-9704770,Drilled Shafts,"Kunde, Doyle and Kozey",Rippin-Schiller,"Nitzsche, Gislason and Douglas",5300662174,Jere,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,,,2022-07-19,1573.26,User,tdoumerquef,Tobe,Doumerque,tdoumerquef@twitpic.com,"" -Reinger LLC,Dump Truck,TTW-1274810,Masonry,"Heaney, Altenwerth and Emmerich",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",6161734867,Karry,,,,2023-03-05,2677.79,User,rtitterrell0,Rora,Titterrell,rtitterrell0@prnewswire.com,"" -"Breitenberg, Crooks and Goldner",Grader,RIU-2781610,Drilled Shafts,Pollich LLC,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",1424455064,Nial,,6982GT82L84,,2023-03-22,4085.21,User,otaverner7,Odey,Taverner,otaverner7@discuz.net,"" -"Rolfson, Pollich and Kertzmann",Compactor,BFO-5970934,"Doors, Frames & Hardware","Romaguera, Goldner and Crooks",Pacocha-Goodwin,Pacocha-Kiehn,9193131620,Robby,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium,3185PP20K43,gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras,2022-05-31,1819.48,,"","","","","" -Luettgen Inc,Grader,QEY-4583797,Painting & Vinyl Wall Covering,"Upton, Feil and Jast","Kunde, Doyle and Kozey","O'Conner, Nitzsche and Aufderhar",6610625137,Debbi,,4971UO73K02,,2022-07-07,4635.63,User,glippitt22,Gregorius,Lippitt,glippitt22@yandex.ru,"" -"Hermann, Cremin and Crona",Dragline,OPB-2390560,Ornamental Railings,"Fritsch, Sauer and Conn",Ankunding-Ledner,Treutel Inc,7358467570,Beverly,,7467PI87D35,nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-04-09,2089.47,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,"" -Cruickshank-Blanda,Grader,CUD-4868409,Electrical and Fire Alarm,Watsica LLC,Ankunding-Ledner,Treutel Inc,7859007380,Kizzee,,0709PI47U54,,2023-01-19,484.12,,"","","","","" -"Reilly, Yundt and Keeling",Bulldozer,ORL-2640580,RF Shielding,"Legros, Paucek and Collier",Berge Inc,Schinner Group,8731356307,Bondon,,6643DS43O77,,2023-03-29,254.99,,"","","","","" -"Franecki, Nolan and Swift",Trencher,GFV-9868944,RF Shielding,"Kunde, Doyle and Kozey","Kunde, Doyle and Kozey",Lynch and Sons,8841110804,Karry,,1465WJ98O96,,2022-08-27,1191.44,User,acharplinge,Andreana,Charpling,acharplinge@dell.com,"" -"Lind, Reinger and Grant",Dump Truck,KFR-9464842,Epoxy Flooring,"Botsford, Boyle and Herzog","Upton, Feil and Jast",Erdman-West,5382312507,Nial,,7440CN27Q04,amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in,2022-08-19,430.07,,"","","","","" -Quigley Inc,Dragline,XQS-0788077,Casework,Ankunding-Ledner,"Fritsch, Sauer and Conn",Lynch and Sons,5163086523,Rolland,ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel,1663OK46D26,,2022-12-25,1308.3,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,"" -Hudson-Graham,Dragline,APW-0602098,Waterproofing & Caulking,"Romaguera, Goldner and Crooks",Berge Inc,Waters LLC,1473905199,Mabelle,urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat,,,2022-08-18,2037.76,Location,"","","","","Mills, Gleichner and Schamberger" -"Schmeler, Dietrich and Buckridge",Crawler,RFX-9706298,Drilled Shafts,Krajcik LLC,Krajcik LLC,Roberts-Anderson,2238031407,Robby,ornare consequat lectus in est risus auctor sed tristique in,7387DP63Q90,tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh,2023-02-13,3395.33,Location,"","","","",Erdman-West -"Jast, Cassin and Hane",Grader,EQQ-2912281,Wall Protection,"Fritsch, Sauer and Conn",Krajcik LLC,Lynch and Sons,6313951394,Mabelle,sagittis sapien cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus etiam vel augue vestibulum,4541TF76I78,tempus semper est quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum primis,2022-05-25,4787.17,Location,"","","","",Schinner Group -Bergstrom-Block,Excavator,IEG-8406586,Masonry,Mosciski Inc,Mosciski Inc,Roberts-Anderson,6040029438,Bondon,cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit,4324BJ82Z56,,2022-09-09,2371.3,Location,"","","","",Powlowski LLC -"Powlowski, Lowe and Streich",Dragline,ZCB-5287486,Roofing (Asphalt),Watsica LLC,Watsica LLC,"McGlynn, Hagenes and Bruen",6324836270,Debbi,,7369JZ83X28,pede ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2022-05-30,3261.46,User,ohynson1y,Olivia,Hynson,ohynson1y@ask.com,"" -"Purdy, Leannon and Boyer",Crawler,VVZ-9417930,Retaining Wall and Brick Pavers,"Botsford, Boyle and Herzog","Legros, Paucek and Collier",Schinner Group,1391767652,Bale,,,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper rutrum nulla,2022-06-22,807.74,User,vgunning1z,Vince,Gunning,vgunning1z@arstechnica.com,"" -"Schowalter, Grady and Stracke",Backhoe,LHC-9749327,Fire Protection,Walker-Towne,Ankunding-Ledner,Schinner Group,3460146131,Flo,,4031MX62O09,aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2023-02-14,2051.25,User,akneath13,Arron,Kneath,akneath13@sphinn.com,"" -Schulist-Marks,Dragline,HUM-7311338,Sitework & Site Utilities,Berge Inc,Okuneva Group,Roberts-Anderson,4146242985,Bondon,,0468AG53C12,,2022-05-20,2788.78,Location,"","","","","O'Conner, Nitzsche and Aufderhar" -Cole-Feeney,Trencher,LHK-1308041,"Temp Fencing, Decorative Fencing and Gates","Upton, Feil and Jast","Stokes, Daniel and Johnson",Lindgren-Marquardt,7648736489,Robby,,,massa donec dapibus duis at velit eu est congue elementum in hac habitasse,2022-11-02,2755.2,User,dkent23,Debbi,Kent,dkent23@mtv.com,"" -O'Hara Inc,Backhoe,CIC-1996687,"Temp Fencing, Decorative Fencing and Gates","Romaguera, Goldner and Crooks","Romaguera, Goldner and Crooks",Frami and Sons,5059462108,Bale,,5053ZY27R14,placerat praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede morbi,2023-01-17,2100.84,User,kephson2f,Kimberly,Ephson,kephson2f@sina.com.cn,"" -Rolfson-Kulas,Dump Truck,YBW-8150273,EIFS,Krajcik LLC,"Upton, Feil and Jast","Wilkinson, Waters and Kerluke",5490351215,Mabelle,,9162YL93W88,ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2023-01-14,877.57,Location,"","","","",Fritsch-Abernathy -Lehner-Effertz,Excavator,OFB-4987804,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Waters LLC,2712763720,Robby,,0270YA01J87,sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus,2022-09-03,3428.56,User,acansdell14,Adela,Cansdell,acansdell14@cbc.ca,"" -"Dietrich, Von and Mante",Excavator,RXG-3730482,Elevator,Rippin-Schiller,"Botsford, Boyle and Herzog",Lindgren-Marquardt,0868073143,Jere,,8281VU07P52,,2023-01-25,713.89,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,"" -Predovic-Roob,Bulldozer,ATA-2489950,EIFS,"Botsford, Boyle and Herzog","Romaguera, Goldner and Crooks",Frami and Sons,8905034852,Chase,platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,,,2023-02-07,1138.85,User,odella1g,Osgood,Della,odella1g@hc360.com,"" -Adams-Larkin,Grader,SFI-7496689,"Doors, Frames & Hardware","Kutch, Johnson and Olson",Abernathy-Stamm,Lynch and Sons,3092970929,Flo,id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo,0649BJ66S09,at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac,2022-09-10,278.59,,"","","","","" -"Beier, Grant and Thiel",Grader,GSX-1706311,Masonry,"Heaney, Altenwerth and Emmerich",Mosciski Inc,Ledner-Barrows,5141273631,Mabelle,convallis nunc proin at turpis a pede posuere nonummy integer non velit donec diam neque vestibulum eget,6967FJ73D06,sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam,2022-07-18,1732.28,Location,"","","","",Fritsch-Abernathy -Armstrong Group,Dump Truck,LXV-5626274,Plumbing & Medical Gas,Rippin-Schiller,Ankunding-Ledner,"Wilkinson, Waters and Kerluke",3202695143,Jeana,,5970GY37L93,purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus,2022-10-11,1981.53,User,cwinfreyl,Casper,Winfrey,cwinfreyl@adobe.com,"" -Rodriguez-Schultz,Excavator,BRF-0336967,Structural and Misc Steel (Fabrication),Abernathy-Stamm,"Botsford, Boyle and Herzog","Torp, Kautzer and Rodriguez",8211664431,Nial,nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo rhoncus sed vestibulum,,ultrices erat tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi,2022-12-30,4924.25,User,mgooday1q,Mariellen,Gooday,mgooday1q@alexa.com,"" -"Huels, Satterfield and Kautzer",Backhoe,CVH-2946076,Painting & Vinyl Wall Covering,Ankunding-Ledner,"Upton, Feil and Jast",Frami and Sons,0835287084,Paloma,justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus,,,2022-07-15,2406.57,,"","","","","" -"Lueilwitz, Herzog and Runte",Skid-Steer,OTH-2531332,HVAC,Mosciski Inc,Ankunding-Ledner,Ledner-Barrows,7517530461,Paloma,,1256WA18C94,,2023-01-14,531.46,,"","","","","" -Funk LLC,Grader,ZMB-4808007,Fire Sprinkler System,"Upton, Feil and Jast",Ankunding-Ledner,"Wilkinson, Waters and Kerluke",4467089765,Jeana,,0663SC93W29,quis orci eget orci vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2022-07-19,4741.85,,"","","","","" -"Doyle, Kulas and Mosciski",Dump Truck,XES-9665196,Masonry & Precast,"Botsford, Boyle and Herzog",Pacocha-Goodwin,Ledner-Barrows,4220776022,Sumner,,0099EC66L98,in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis,2022-08-06,276.15,,"","","","","" -"Robel, Johnston and Crist",Excavator,KUJ-7232314,Construction Clean and Final Clean,Ankunding-Ledner,"Romaguera, Goldner and Crooks",Fritsch-Abernathy,5757955088,Paloma,,4270AX61I99,,2022-09-21,3749.65,Location,"","","","","Wilkinson, Waters and Kerluke" -Wiza-Mante,Grader,UNN-0016298,Roofing (Metal),Watsica LLC,Ankunding-Ledner,Frami and Sons,6746036070,Tommy,interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis congue vivamus metus arcu adipiscing molestie,9540RE21E79,est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat,2022-08-08,4600.22,Location,"","","","",Roberts-Anderson -Jacobi Group,Bulldozer,JRP-9799959,Roofing (Metal),Rippin-Schiller,"Stokes, Daniel and Johnson",Russel Group,1090875903,Nobe,,5159PT28N59,,2023-05-02,3255.63,Location,"","","","",Pacocha-Kiehn -Murazik-Cormier,Crawler,GTI-0627775,Marlite Panels (FED),"Kutch, Johnson and Olson","Fritsch, Sauer and Conn",Powlowski LLC,7650476155,Jeana,,9055CM63Z89,,2022-06-24,1295.04,Location,"","","","","Jenkins, Goldner and Cruickshank" -"Simonis, Schulist and Volkman",Compactor,WEL-4481760,RF Shielding,Mosciski Inc,Rippin-Schiller,Powlowski LLC,6908782578,Bale,curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,3712NE31P89,,2022-08-02,2038.79,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,"" -Conroy-Abshire,Grader,VKB-3777629,Masonry & Precast,Krajcik LLC,Pollich LLC,Erdman-West,6651233484,Illa,duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non velit donec,,in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,2023-04-28,4988.38,,"","","","","" -Mueller and Sons,Bulldozer,YFK-3812221,Waterproofing & Caulking,Rippin-Schiller,Berge Inc,"Mills, Gleichner and Schamberger",3679743009,Illa,sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus curabitur at ipsum ac tellus semper interdum,2077OM84Z52,,2022-09-18,3085.39,User,moscullya,Maurice,O'Scully,moscullya@engadget.com,"" -"Turner, Schulist and Hodkiewicz",Compactor,ENN-1432777,Ornamental Railings,"Romaguera, Goldner and Crooks","Kunde, Doyle and Kozey","Mills, Gleichner and Schamberger",7184133416,Robby,,6321OY95W96,,2022-09-25,4517.54,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,"" -Dicki-Hartmann,Skid-Steer,JNS-3537485,Epoxy Flooring,Pacocha-Goodwin,Mosciski Inc,Pacocha-Kiehn,2137927703,Mabelle,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam,2809IW22A70,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,2022-09-12,4293.51,,"","","","","" -Schoen and Sons,Dump Truck,RAA-2200532,Soft Flooring and Base,Walker-Towne,"Upton, Feil and Jast",Waters LLC,5479047972,Beverly,maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra,,,2023-01-19,1760.88,User,rsapeyb,Raquela,Sapey,rsapeyb@furl.net,"" -"Rolfson, Champlin and Cole",Bulldozer,GDB-9523081,EIFS,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast",Frami and Sons,6544577007,Rolland,,,,2022-11-29,2769.18,,"","","","","" -"Maggio, Wolff and Friesen",Excavator,IOH-2003935,Structural and Misc Steel (Fabrication),Okuneva Group,Abernathy-Stamm,Lindgren-Marquardt,1508089431,Flo,vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2753UJ02X37,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus,2022-08-05,3709.55,,"","","","","" -Brekke-Hoeger,Backhoe,UPX-0286727,Plumbing & Medical Gas,"Upton, Feil and Jast",Rippin-Schiller,Lynch and Sons,6217027186,Bondon,,6387KP57B15,vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec,2023-03-21,4138.24,,"","","","","" -Konopelski Inc,Dump Truck,NZE-5809675,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Erdman-West,8486277027,Mabelle,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus,4732FS58G78,,2023-05-11,114.69,,"","","","","" -"Nolan, Kertzmann and Rippin",Bulldozer,YXY-3875893,RF Shielding,"Romaguera, Goldner and Crooks",Abernathy-Stamm,Frami and Sons,7979699903,Bondon,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt,4378XF72E06,,2023-04-29,1781.53,,"","","","","" -Stroman and Sons,Skid-Steer,BDD-0117730,"Temp Fencing, Decorative Fencing and Gates",Okuneva Group,Mosciski Inc,Frami and Sons,1053653041,Karry,,0484GG78J91,odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat,2022-09-12,4854.6,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,"" -Howe-Volkman,Crawler,YMB-2902862,Masonry & Precast,"Kutch, Johnson and Olson",Krajcik LLC,Roberts-Anderson,0269899359,Nial,,2685ZN23G49,,2022-08-27,133.33,User,jdriffill2,Jeanne,Driffill,jdriffill2@google.fr,"" -Heathcote and Sons,Skid-Steer,LWA-2897309,Exterior Signage,"Heaney, Altenwerth and Emmerich",Okuneva Group,Schinner Group,1268560442,Paloma,,8414GM02P21,,2022-12-27,4524.09,,"","","","","" -Borer-Aufderhar,Scraper,OOY-9898294,Electrical,Pacocha-Goodwin,Berge Inc,"Nitzsche, Gislason and Douglas",4556315148,Karry,,0187NT56E91,,2022-08-21,390.85,,"","","","","" -"Hauck, Bogisich and King",Dragline,XHB-6046299,Sitework & Site Utilities,"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",9343736607,Debbi,aliquam erat volutpat in congue etiam justo etiam pretium iaculis,8559BT54S22,in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate,2022-05-25,1439.23,Location,"","","","",Ledner-Barrows -"Upton, Luettgen and Mayer",Grader,JVB-8844609,Structural & Misc Steel Erection,Pollich LLC,"Kunde, Doyle and Kozey",Treutel Inc,6715000024,Karry,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper,0088HF56H55,,2022-12-17,4849.95,Location,"","","","","McGlynn, Hagenes and Bruen" -Fadel Inc,Skid-Steer,VAA-1096481,Hard Tile & Stone,Mosciski Inc,Krajcik LLC,Schinner Group,2384395201,Nobe,parturient montes nascetur ridiculus mus etiam vel augue vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id,,tortor duis mattis egestas metus aenean fermentum donec ut mauris,2022-07-15,1190.44,User,tphysick3,Tiphanie,Physick,tphysick3@umn.edu,"" -Dickens and Sons,Skid-Steer,OAC-1765208,Ornamental Railings,Ankunding-Ledner,Rippin-Schiller,Lindgren-Marquardt,2119388227,Ward,non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta,9895LS02S32,,2022-09-03,1868.26,Location,"","","","","Jenkins, Goldner and Cruickshank" -Cassin Group,Bulldozer,CPK-3286546,Structural & Misc Steel Erection,Berge Inc,"Botsford, Boyle and Herzog",Frami and Sons,6044719518,Chase,,5420GG86P87,,2022-07-22,1463.24,,"","","","","" -"Wolf, Wiza and Pacocha",Excavator,ZHU-6798344,Electrical,"Kutch, Johnson and Olson",Abernathy-Stamm,Frami and Sons,6111751517,Tommy,odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat,5462TF70C36,amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla ac enim,2023-02-26,1268.92,User,pshirleyi,Pen,Shirley,pshirleyi@theguardian.com,"" -"Davis, Klein and Kiehn",Backhoe,WHR-8533403,Plumbing & Medical Gas,"Botsford, Boyle and Herzog",Mosciski Inc,Treutel Inc,7632050235,Tommy,,5478JY13D60,,2022-09-11,4908.48,Location,"","","","",Pacocha-Kiehn -"Gorczany, Lindgren and Hand",Compactor,FAC-2072179,Framing (Steel),Berge Inc,"Legros, Paucek and Collier",Ledner-Barrows,8755015421,Rolland,,2138TK23O47,massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede,2022-09-19,2249.9,User,kgrealish16,Krystalle,Grealish,kgrealish16@sciencedirect.com,"" -Romaguera-Ondricka,Grader,KON-1821691,Curb & Gutter,"Kutch, Johnson and Olson",Okuneva Group,"O'Conner, Nitzsche and Aufderhar",4908345668,Chase,,5414US21B26,pede libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti,2022-11-14,1545.41,User,ewarriner2o,Ellene,Warriner,ewarriner2o@wikimedia.org,"" -"Anderson, Goldner and Bailey",Compactor,NDF-4324420,Roofing (Metal),Mosciski Inc,"Kunde, Doyle and Kozey","McGlynn, Hagenes and Bruen",3212882737,Nial,,0754DG10B38,dui nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo,2023-05-15,4423.19,,"","","","","" -Mraz-Windler,Trencher,DLM-4710838,Plumbing & Medical Gas,"Kunde, Doyle and Kozey",Walker-Towne,"Jenkins, Goldner and Cruickshank",1315337182,Debbi,,2430PB13D95,,2022-07-11,2708.18,User,fmcguiness1k,Fredrika,McGuiness,fmcguiness1k@woothemes.com,"" -Volkman Group,Compactor,MLJ-9313486,Electrical and Fire Alarm,"Romaguera, Goldner and Crooks","Botsford, Boyle and Herzog",Fritsch-Abernathy,2738670737,Illa,,,,2022-10-09,1404.85,Location,"","","","",Pacocha-Kiehn -Schulist-Kulas,Compactor,XBE-4236649,Drywall & Acoustical (MOB),Abernathy-Stamm,Berge Inc,"Nitzsche, Gislason and Douglas",7811285882,Kizzee,,2875KP71D22,,2022-11-21,271.5,Location,"","","","","Wilkinson, Waters and Kerluke" -Hammes Inc,Crawler,NRV-3022526,Epoxy Flooring,Pollich LLC,"Upton, Feil and Jast",Powlowski LLC,8015369811,Ward,,6485BK61G70,facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-01-25,1757.26,,"","","","","" -"Kemmer, Beier and Hegmann",Skid-Steer,EXG-6125653,Glass & Glazing,"Upton, Feil and Jast",Pacocha-Goodwin,Erdman-West,9025824302,Rolland,,8500KT88G80,,2022-09-27,3697.22,User,aweemsj,Antoinette,Weems,aweemsj@who.int,"" -"Padberg, Kozey and Morar",Compactor,XYK-7848357,RF Shielding,Berge Inc,Abernathy-Stamm,Russel Group,2116700211,Robby,,,,2022-11-05,4059.57,Location,"","","","",Lindgren-Marquardt -Pfannerstill and Sons,Skid-Steer,GZW-6229249,Waterproofing & Caulking,Pollich LLC,"Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",4909263041,Debbi,,,lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2022-08-11,1697.74,,"","","","","" -Kunde-Hermiston,Compactor,VZD-7424699,Marlite Panels (FED),Mosciski Inc,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",5611381559,Nial,,8991VD43T11,cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit,2022-09-17,4957.55,Location,"","","","",Powlowski LLC -"Treutel, Schmidt and Koss",Compactor,RZO-4616134,Retaining Wall and Brick Pavers,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","O'Conner, Nitzsche and Aufderhar",0833202169,Nial,,6036SV40U93,,2023-04-18,3218.61,User,bvandalen5,Barbabas,Van Dalen,bvandalen5@smugmug.com,"" -Nader Inc,Scraper,NXG-1697279,RF Shielding,"Botsford, Boyle and Herzog","Fritsch, Sauer and Conn",Waters LLC,7094568704,Robby,,7964JY42Z54,,2022-08-26,3628.55,Location,"","","","","McGlynn, Hagenes and Bruen" -"Cremin, Conroy and Kuphal",Crawler,OGN-4843235,Glass & Glazing,Okuneva Group,"Heaney, Altenwerth and Emmerich",Pacocha-Kiehn,6424257173,Beverly,,2880LU86I74,sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci,2022-09-22,4163.07,,"","","","","" -"Douglas, Considine and Gerhold",Backhoe,BXI-1028705,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Ankunding-Ledner,Roberts-Anderson,5388101251,Karry,,,,2023-02-20,976.02,,"","","","","" -Emard Group,Scraper,MWK-5482358,Ornamental Railings,Mosciski Inc,"Heaney, Altenwerth and Emmerich","Mills, Gleichner and Schamberger",5509346090,Nobe,,8183RH74P65,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum,2022-06-28,1441.26,Location,"","","","",Fritsch-Abernathy -Runolfsdottir-Schulist,Compactor,ZSS-2076422,EIFS,Rippin-Schiller,"Upton, Feil and Jast",Ledner-Barrows,4163465013,Karry,dui luctus rutrum nulla tellus in sagittis dui vel nisl,,,2022-11-11,3688.09,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,"" -Stoltenberg-Cormier,Trencher,XNO-4048888,Roofing (Metal),Watsica LLC,Pollich LLC,Russel Group,3593822457,Robby,morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum id luctus nec molestie sed,1583JR98T50,,2022-12-04,1780.96,,"","","","","" -"Hand, Bogan and Cassin",Skid-Steer,SWP-7721219,Roofing (Metal),"Kunde, Doyle and Kozey",Krajcik LLC,Lindgren-Marquardt,1185234640,Nial,,4091TS60T07,,2023-05-09,1528.53,User,mskellingtonu,Marrilee,Skellington,mskellingtonu@abc.net.au,"" -Kling-Homenick,Dragline,HGX-6549969,Asphalt Paving,Walker-Towne,"Fritsch, Sauer and Conn","Jenkins, Goldner and Cruickshank",2726185990,Bale,,9573TJ14G71,,2023-01-31,4930.43,User,asyne1a,Angela,Syne,asyne1a@icio.us,"" -"Kilback, Towne and Stehr",Skid-Steer,ZTD-2850379,Drilled Shafts,Krajcik LLC,"Stokes, Daniel and Johnson","O'Conner, Nitzsche and Aufderhar",7192145952,Paloma,,,ipsum aliquam non mauris morbi non lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci,2022-12-25,2947.93,,"","","","","" -Harvey-Moore,Dump Truck,QKC-1710236,Fire Protection,Berge Inc,Okuneva Group,Lynch and Sons,7337073255,Kizzee,,7010OW07S33,,2023-02-01,1617.55,Location,"","","","",Ledner-Barrows -Maggio-Hoppe,Excavator,LHL-3384861,Termite Control,Pacocha-Goodwin,Abernathy-Stamm,Lindgren-Marquardt,5642326493,Ward,amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum,0489GD18P85,,2022-07-29,4682.12,User,nscroggs2d,Naoma,Scroggs,nscroggs2d@yelp.com,"" -Muller LLC,Skid-Steer,VYY-4278214,Rebar & Wire Mesh Install,"Kunde, Doyle and Kozey",Okuneva Group,Schinner Group,0946092591,Paloma,,,felis sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis,2022-09-07,4400.17,Location,"","","","",Lynch and Sons -Kerluke Inc,Backhoe,HRP-6178185,Retaining Wall and Brick Pavers,Mosciski Inc,Berge Inc,Treutel Inc,6532044804,Nial,,,,2022-09-07,1345.45,Location,"","","","",Lindgren-Marquardt -"Harvey, Schulist and Kemmer",Trencher,QND-9017996,Painting & Vinyl Wall Covering,Abernathy-Stamm,Pollich LLC,Fritsch-Abernathy,4977996097,Paloma,est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est lacinia nisi venenatis tristique fusce,2497DB20W09,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo,2023-01-27,317.08,,"","","","","" -Schimmel and Sons,Dragline,DAX-0085828,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Jenkins, Goldner and Cruickshank",7739403397,Flo,,,,2022-12-28,4521.28,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,"" -Grimes-Lowe,Dragline,VED-7099927,Masonry,Rippin-Schiller,"Stokes, Daniel and Johnson",Lynch and Sons,3351670325,Karry,,,ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at,2023-02-04,2620.69,,"","","","","" -Krajcik-Cruickshank,Bulldozer,ZHU-0211288,Painting & Vinyl Wall Covering,"Fritsch, Sauer and Conn",Pacocha-Goodwin,Lindgren-Marquardt,5042401893,Paloma,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo,0511VF33D78,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-09-27,923.99,,"","","","","" -Donnelly-Maggio,Compactor,HFG-7624506,Electrical and Fire Alarm,Pollich LLC,"Fritsch, Sauer and Conn","Torp, Kautzer and Rodriguez",3157087051,Illa,libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit amet sapien dignissim,5980WY24F50,tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi non,2022-12-05,4670.18,Location,"","","","","Jenkins, Goldner and Cruickshank" -Pfeffer-Zieme,Trencher,AZY-1682920,Wall Protection,Abernathy-Stamm,Mosciski Inc,"Torp, Kautzer and Rodriguez",5186444169,Beverly,consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim,6620HZ14T83,aliquam convallis nunc proin at turpis a pede posuere nonummy,2022-06-27,1674.34,User,cstamper1h,Celie,Stamper,cstamper1h@usda.gov,"" -"Cormier, Glover and Hickle",Compactor,EYP-3561396,Termite Control,Rippin-Schiller,"Kunde, Doyle and Kozey","Torp, Kautzer and Rodriguez",4964027369,Paloma,quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus,4352FH58S52,,2022-11-21,136.12,,"","","","","" -Rau Group,Skid-Steer,DYU-7769483,Marlite Panels (FED),Krajcik LLC,Krajcik LLC,Fritsch-Abernathy,2457705388,Sumner,,2286KF82X10,,2023-05-14,1147.8,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,"" -"Shanahan, Bradtke and Rowe",Backhoe,JYC-0713874,Hard Tile & Stone,"Upton, Feil and Jast",Ankunding-Ledner,Waters LLC,0372144769,Rolland,porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in,7775EM65V29,phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu,2022-05-27,1691.36,,"","","","","" -Bogisich LLC,Bulldozer,MIQ-6169091,Soft Flooring and Base,"Romaguera, Goldner and Crooks",Mosciski Inc,Powlowski LLC,8984702329,Ward,,,justo eu massa donec dapibus duis at velit eu est,2022-10-15,1578.57,User,ndubery1e,Neda,Dubery,ndubery1e@fotki.com,"" -Ondricka-Schuster,Dump Truck,KEN-1184794,"Doors, Frames & Hardware",Walker-Towne,Watsica LLC,Pacocha-Kiehn,4745674969,Mabelle,ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,,,2022-12-10,4298.98,,"","","","","" -Mayer-Abernathy,Scraper,ZMD-6316371,Rebar & Wire Mesh Install,"Stokes, Daniel and Johnson",Abernathy-Stamm,Powlowski LLC,2526471701,Flo,,1918JS43H32,,2023-03-24,1171.9,User,gbassingdenm,Godwin,Bassingden,gbassingdenm@dedecms.com,"" -Towne-Adams,Scraper,QCU-6826093,Prefabricated Aluminum Metal Canopies,Abernathy-Stamm,Rippin-Schiller,Waters LLC,4899233400,Debbi,arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea dictumst,6487ZI24B86,nec molestie sed justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas,2023-02-22,602.41,Location,"","","","","McGlynn, Hagenes and Bruen" -Kunde Group,Compactor,ITE-9907827,Sitework & Site Utilities,Mosciski Inc,"Romaguera, Goldner and Crooks",Treutel Inc,4671828697,Kizzee,,3508XP22O98,sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est,2023-02-18,3119.76,Location,"","","","",Fritsch-Abernathy -Welch Group,Compactor,GXW-3680693,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Nitzsche, Gislason and Douglas",4413339149,Karry,mi integer ac neque duis bibendum morbi non quam nec,,,2023-02-16,1570.25,User,ewhitebrook1r,Emmalyn,Whitebrook,ewhitebrook1r@webnode.com,"" -"Zieme, Metz and Schamberger",Grader,GDQ-7108837,Masonry,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",8560447476,Chase,,4743VU30T06,nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non,2022-08-09,1530.46,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,"" -"Kuhlman, Walker and Denesik",Dragline,QZO-1370026,Asphalt Paving,Krajcik LLC,"Botsford, Boyle and Herzog",Erdman-West,5748443707,Mabelle,,2693SH27I09,accumsan felis ut at dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis,2022-08-23,2694.26,,"","","","","" -Cormier Inc,Bulldozer,AQW-7617737,RF Shielding,"Heaney, Altenwerth and Emmerich",Watsica LLC,"Mills, Gleichner and Schamberger",1502376915,Rolland,,8461WN86M04,sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis,2023-03-04,1055.33,,"","","","","" -Beier LLC,Dragline,NDV-6470913,Masonry,Mosciski Inc,"Kutch, Johnson and Olson",Lynch and Sons,3437983455,Ward,volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus,9621QF22B21,,2022-07-27,1251.77,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,"" -Skiles and Sons,Compactor,FOR-0865018,Exterior Signage,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",3955766875,Tommy,,6385GQ84X66,quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-26,1109.44,Location,"","","","",Frami and Sons -"Corkery, Kunde and Schulist",Crawler,SCK-0860481,Rebar & Wire Mesh Install,"Fritsch, Sauer and Conn",Walker-Towne,Lynch and Sons,5146662358,Karry,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor eu,,,2022-10-05,2029.54,Location,"","","","","Torp, Kautzer and Rodriguez" -Brakus LLC,Backhoe,DAI-7864625,Casework,Pollich LLC,"Kunde, Doyle and Kozey","Jenkins, Goldner and Cruickshank",3421666270,Mabelle,,3209SC49Y83,vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis,2022-06-01,3611.16,User,tcicutto1l,Thornie,Cicutto,tcicutto1l@irs.gov,"" -"Donnelly, Daniel and Kuhn",Skid-Steer,AXA-8500000,Glass & Glazing,Pacocha-Goodwin,"Upton, Feil and Jast",Powlowski LLC,5545256559,Chase,,5792EV06A79,,2023-01-19,3029.64,,"","","","","" -Wehner-Wyman,Compactor,MGX-6732943,Fire Sprinkler System,Berge Inc,Mosciski Inc,Ledner-Barrows,3758714940,Jeana,ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur,,,2023-01-09,2587.65,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,"" -Hauck-Bosco,Bulldozer,NIS-2897343,Electrical,"Kunde, Doyle and Kozey","Botsford, Boyle and Herzog","Jenkins, Goldner and Cruickshank",8342227248,Illa,,0783AR26Y44,,2023-01-11,904.38,Location,"","","","",Pacocha-Kiehn -Shields Inc,Bulldozer,QZL-7700638,Construction Clean and Final Clean,Okuneva Group,Ankunding-Ledner,Pacocha-Kiehn,3955442162,Mabelle,et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur convallis duis consequat dui nec nisi,2293HV69Q96,,2022-05-30,2920.56,Location,"","","","",Erdman-West -"Willms, O'Connell and Cormier",Grader,RJS-7752630,Fire Sprinkler System,Ankunding-Ledner,Ankunding-Ledner,Treutel Inc,1717119122,Bondon,,2846FL33H31,mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui,2022-11-12,3998.15,,"","","","","" -Schinner-Price,Compactor,MDX-2483852,Construction Clean and Final Clean,Abernathy-Stamm,"Kutch, Johnson and Olson",Lindgren-Marquardt,9849455784,Bondon,,8475JD14T05,in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel,2023-04-21,2625.55,Location,"","","","","Wilkinson, Waters and Kerluke" -"Treutel, Berge and Batz",Grader,FZI-9158744,Marlite Panels (FED),"Kutch, Johnson and Olson","Kutch, Johnson and Olson",Russel Group,7516475364,Nial,,2620DL01N52,,2023-02-02,4272.01,Location,"","","","","Jenkins, Goldner and Cruickshank" -"McDermott, Koch and Skiles",Skid-Steer,RDJ-1659181,Marlite Panels (FED),Walker-Towne,"Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",2002850756,Robby,congue eget semper rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo,4676YV46O78,,2022-07-24,3087.45,User,kharbage1w,Kinny,Harbage,kharbage1w@wordpress.org,"" -Tremblay-Collier,Compactor,XCQ-5970453,Drilled Shafts,"Legros, Paucek and Collier",Mosciski Inc,Roberts-Anderson,7468627157,Kizzee,turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis,2895CV95N88,velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam,2022-10-23,2726.04,,"","","","","" -"Shanahan, Bergnaum and Buckridge",Trencher,IRM-4172620,Drywall & Acoustical (MOB),"Romaguera, Goldner and Crooks","Fritsch, Sauer and Conn","Mills, Gleichner and Schamberger",8440065950,Debbi,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo nec condimentum neque sapien placerat ante,4296XD75M64,,2023-05-18,2627.55,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,"" -"Dickens, Huel and Reilly",Compactor,DPP-2739545,Sitework & Site Utilities,"Botsford, Boyle and Herzog",Okuneva Group,Russel Group,1933518954,Debbi,sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus,4147HN29Y26,,2023-02-01,4571.33,,"","","","","" -Shields Inc,Scraper,EBH-1609775,Roofing (Asphalt),Watsica LLC,Pollich LLC,"Nitzsche, Gislason and Douglas",3751836527,Debbi,,,,2023-01-16,3195.45,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,"" +Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,asset eol date +Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,Nial,,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,,,,,,10-27-28 +"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,Chase,ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,10-27-28 +Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,Chase,,9929FR08W85,,2023-03-01,2300.71,Location,,,,,Pacocha-Kiehn,10-27-28 +Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,Mabelle,neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,2022-10-26,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,10-27-28 +Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,Sumner,turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,2022-07-24,2967.97,,,,,,,10-27-28 +Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,Mabelle,,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-10-01,3819.73,,,,,,,10-27-28 +Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,Flo,blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,2022-06-25,2711.89,Location,,,,,"McGlynn, Hagenes and Bruen",10-27-28 +"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,Ward,sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,2828XJ28E95,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,2022-07-24,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,,10-27-28 +Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,Nial,orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,2534KR53Y73,vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-11,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,10-27-28 +Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,Jere,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,7055KO63K62,,2022-08-25,2448.17,Location,,,,,Lynch and Sons,10-27-28 +Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,Nobe,sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,0535QM19F37,rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,2022-12-23,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,,10-27-28 +"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,Nial,curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,7520IT24T23,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,2023-05-14,3178.59,Location,,,,,"O'Conner, Nitzsche and Aufderhar",10-27-28 +Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,Bale,molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,2427CL03K39,,2023-05-07,3322.34,,,,,,,10-27-28 +Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,Karry,egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,1075JB25N09,,2022-09-03,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,10-27-28 +"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,Tommy,,9621CJ23Y35,,2022-12-17,1614.68,Location,,,,,Roberts-Anderson,10-27-28 +Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,Rolland,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,2022-11-02,1444.69,Location,,,,,Fritsch-Abernathy,10-27-28 +Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,Kizzee,maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,2022-09-07,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,,10-27-28 +"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,Jeana,,5505YF23M46,,2023-02-10,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,,10-27-28 +Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,Sumner,,8673QP30R80,,2022-06-20,1784.66,Location,,,,,Lynch and Sons,10-27-28 +"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,Mabelle,nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,2022-12-15,668.43,Location,,,,,Russel Group,10-27-28 +Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,Illa,quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,2022-12-27,3391.42,,,,,,,10-27-28 +Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,2022-06-24,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,,10-27-28 +"Rau, O'Kon and Predovic",Grader,KUW-8075173,Hard Tile & Stone,"Kunde, Doyle and Kozey",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",3235657209,Tommy,,8752PQ41C20,,2023-04-16,2428.95,User,wtomblin2r,Waiter,Tomblin,wtomblin2r@cisco.com,,10-27-28 +"Rodriguez, Rippin and Maggio",Backhoe,KGD-2478881,Epoxy Flooring,"Upton, Feil and Jast",Krajcik LLC,Roberts-Anderson,9968615213,Sumner,,,interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,2022-11-14,2353.49,,,,,,,10-27-28 +Collins-Langworth,Backhoe,NLM-1912680,Glass & Glazing,Walker-Towne,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",2439578863,Paloma,quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum,4241FY30X65,aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo,2022-05-29,413.99,User,esargersonc,El,Sargerson,esargersonc@moonfruit.com,,10-27-28 +"Tillman, Rippin and Robel",Backhoe,HKF-2889015,Framing (Steel),Rippin-Schiller,"Upton, Feil and Jast","Nitzsche, Gislason and Douglas",1249482779,Mabelle,,7737HG97C81,nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante,2022-09-27,174.79,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,10-27-28 +Bogisich-Gerhold,Excavator,HIN-5577764,HVAC,Ankunding-Ledner,"Kutch, Johnson and Olson",Treutel Inc,5300366684,Robby,,,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia,2023-04-09,4662.35,User,bogg1s,Blakeley,Ogg,bogg1s@examiner.com,,10-27-28 +DuBuque-Jones,Excavator,RSF-1042461,Roofing (Asphalt),Abernathy-Stamm,"Stokes, Daniel and Johnson",Frami and Sons,8526994711,Jere,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean,,,2022-11-25,2356.93,,,,,,,10-27-28 +Runolfsson-McCullough,Scraper,DAK-0644656,Framing (Wood),Mosciski Inc,"Legros, Paucek and Collier",Lynch and Sons,5644034134,Mabelle,,3664GP06B10,molestie nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu,2022-10-05,3912.18,User,mnollet1,Maury,Nollet,mnollet1@ow.ly,,10-27-28 +Hilpert-Vandervort,Crawler,XWJ-0341580,Roofing (Asphalt),Ankunding-Ledner,Abernathy-Stamm,"Mills, Gleichner and Schamberger",0635168064,Chase,,9438FZ85N89,dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien,2022-08-28,4426.46,User,nhumburton1m,Noelle,Humburton,nhumburton1m@ow.ly,,10-27-28 +"Schmitt, Kuhlman and Gusikowski",Excavator,UQF-6263661,Electrical,"Upton, Feil and Jast","Kunde, Doyle and Kozey",Fritsch-Abernathy,6394370767,Ward,,0642OF31I56,adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum primis,2022-12-04,3182.1,Location,,,,,Powlowski LLC,10-27-28 +Klein Inc,Excavator,IOC-4424021,Elevator,Watsica LLC,Pacocha-Goodwin,Treutel Inc,9408196701,Beverly,,4124VH09F17,,2022-09-12,3321.66,,,,,,,10-27-28 +"Runte, Feeney and Lueilwitz",Compactor,TBU-9704770,Drilled Shafts,"Kunde, Doyle and Kozey",Rippin-Schiller,"Nitzsche, Gislason and Douglas",5300662174,Jere,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,,,2022-07-19,1573.26,User,tdoumerquef,Tobe,Doumerque,tdoumerquef@twitpic.com,,10-27-28 +Reinger LLC,Dump Truck,TTW-1274810,Masonry,"Heaney, Altenwerth and Emmerich",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",6161734867,Karry,,,,2023-03-05,2677.79,User,rtitterrell0,Rora,Titterrell,rtitterrell0@prnewswire.com,,10-27-28 +"Breitenberg, Crooks and Goldner",Grader,RIU-2781610,Drilled Shafts,Pollich LLC,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",1424455064,Nial,,6982GT82L84,,2023-03-22,4085.21,User,otaverner7,Odey,Taverner,otaverner7@discuz.net,,10-27-28 +"Rolfson, Pollich and Kertzmann",Compactor,BFO-5970934,"Doors, Frames & Hardware","Romaguera, Goldner and Crooks",Pacocha-Goodwin,Pacocha-Kiehn,9193131620,Robby,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium,3185PP20K43,gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras,2022-05-31,1819.48,,,,,,,10-27-28 +Luettgen Inc,Grader,QEY-4583797,Painting & Vinyl Wall Covering,"Upton, Feil and Jast","Kunde, Doyle and Kozey","O'Conner, Nitzsche and Aufderhar",6610625137,Debbi,,4971UO73K02,,2022-07-07,4635.63,User,glippitt22,Gregorius,Lippitt,glippitt22@yandex.ru,,10-27-28 +"Hermann, Cremin and Crona",Dragline,OPB-2390560,Ornamental Railings,"Fritsch, Sauer and Conn",Ankunding-Ledner,Treutel Inc,7358467570,Beverly,,7467PI87D35,nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-04-09,2089.47,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,,10-27-28 +Cruickshank-Blanda,Grader,CUD-4868409,Electrical and Fire Alarm,Watsica LLC,Ankunding-Ledner,Treutel Inc,7859007380,Kizzee,,0709PI47U54,,2023-01-19,484.12,,,,,,,10-27-28 +"Reilly, Yundt and Keeling",Bulldozer,ORL-2640580,RF Shielding,"Legros, Paucek and Collier",Berge Inc,Schinner Group,8731356307,Bondon,,6643DS43O77,,2023-03-29,254.99,,,,,,,10-27-28 +"Franecki, Nolan and Swift",Trencher,GFV-9868944,RF Shielding,"Kunde, Doyle and Kozey","Kunde, Doyle and Kozey",Lynch and Sons,8841110804,Karry,,1465WJ98O96,,2022-08-27,1191.44,User,acharplinge,Andreana,Charpling,acharplinge@dell.com,,10-27-28 +"Lind, Reinger and Grant",Dump Truck,KFR-9464842,Epoxy Flooring,"Botsford, Boyle and Herzog","Upton, Feil and Jast",Erdman-West,5382312507,Nial,,7440CN27Q04,amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in,2022-08-19,430.07,,,,,,,10-27-28 +Quigley Inc,Dragline,XQS-0788077,Casework,Ankunding-Ledner,"Fritsch, Sauer and Conn",Lynch and Sons,5163086523,Rolland,ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel,1663OK46D26,,2022-12-25,1308.3,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,,10-27-28 +Hudson-Graham,Dragline,APW-0602098,Waterproofing & Caulking,"Romaguera, Goldner and Crooks",Berge Inc,Waters LLC,1473905199,Mabelle,urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat,,,2022-08-18,2037.76,Location,,,,,"Mills, Gleichner and Schamberger",10-27-28 +"Schmeler, Dietrich and Buckridge",Crawler,RFX-9706298,Drilled Shafts,Krajcik LLC,Krajcik LLC,Roberts-Anderson,2238031407,Robby,ornare consequat lectus in est risus auctor sed tristique in,7387DP63Q90,tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh,2023-02-13,3395.33,Location,,,,,Erdman-West,10-27-28 +"Jast, Cassin and Hane",Grader,EQQ-2912281,Wall Protection,"Fritsch, Sauer and Conn",Krajcik LLC,Lynch and Sons,6313951394,Mabelle,sagittis sapien cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus etiam vel augue vestibulum,4541TF76I78,tempus semper est quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum primis,2022-05-25,4787.17,Location,,,,,Schinner Group,10-27-28 +Bergstrom-Block,Excavator,IEG-8406586,Masonry,Mosciski Inc,Mosciski Inc,Roberts-Anderson,6040029438,Bondon,cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit,4324BJ82Z56,,2022-09-09,2371.3,Location,,,,,Powlowski LLC,10-27-28 +"Powlowski, Lowe and Streich",Dragline,ZCB-5287486,Roofing (Asphalt),Watsica LLC,Watsica LLC,"McGlynn, Hagenes and Bruen",6324836270,Debbi,,7369JZ83X28,pede ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2022-05-30,3261.46,User,ohynson1y,Olivia,Hynson,ohynson1y@ask.com,,10-27-28 +"Purdy, Leannon and Boyer",Crawler,VVZ-9417930,Retaining Wall and Brick Pavers,"Botsford, Boyle and Herzog","Legros, Paucek and Collier",Schinner Group,1391767652,Bale,,,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper rutrum nulla,2022-06-22,807.74,User,vgunning1z,Vince,Gunning,vgunning1z@arstechnica.com,,10-27-28 +"Schowalter, Grady and Stracke",Backhoe,LHC-9749327,Fire Protection,Walker-Towne,Ankunding-Ledner,Schinner Group,3460146131,Flo,,4031MX62O09,aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2023-02-14,2051.25,User,akneath13,Arron,Kneath,akneath13@sphinn.com,,10-27-28 +Schulist-Marks,Dragline,HUM-7311338,Sitework & Site Utilities,Berge Inc,Okuneva Group,Roberts-Anderson,4146242985,Bondon,,0468AG53C12,,2022-05-20,2788.78,Location,,,,,"O'Conner, Nitzsche and Aufderhar",10-27-28 +Cole-Feeney,Trencher,LHK-1308041,"Temp Fencing, Decorative Fencing and Gates","Upton, Feil and Jast","Stokes, Daniel and Johnson",Lindgren-Marquardt,7648736489,Robby,,,massa donec dapibus duis at velit eu est congue elementum in hac habitasse,2022-11-02,2755.2,User,dkent23,Debbi,Kent,dkent23@mtv.com,,10-27-28 +O'Hara Inc,Backhoe,CIC-1996687,"Temp Fencing, Decorative Fencing and Gates","Romaguera, Goldner and Crooks","Romaguera, Goldner and Crooks",Frami and Sons,5059462108,Bale,,5053ZY27R14,placerat praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede morbi,2023-01-17,2100.84,User,kephson2f,Kimberly,Ephson,kephson2f@sina.com.cn,,10-27-28 +Rolfson-Kulas,Dump Truck,YBW-8150273,EIFS,Krajcik LLC,"Upton, Feil and Jast","Wilkinson, Waters and Kerluke",5490351215,Mabelle,,9162YL93W88,ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2023-01-14,877.57,Location,,,,,Fritsch-Abernathy,10-27-28 +Lehner-Effertz,Excavator,OFB-4987804,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Waters LLC,2712763720,Robby,,0270YA01J87,sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus,2022-09-03,3428.56,User,acansdell14,Adela,Cansdell,acansdell14@cbc.ca,,10-27-28 +"Dietrich, Von and Mante",Excavator,RXG-3730482,Elevator,Rippin-Schiller,"Botsford, Boyle and Herzog",Lindgren-Marquardt,0868073143,Jere,,8281VU07P52,,2023-01-25,713.89,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,,10-27-28 +Predovic-Roob,Bulldozer,ATA-2489950,EIFS,"Botsford, Boyle and Herzog","Romaguera, Goldner and Crooks",Frami and Sons,8905034852,Chase,platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,,,2023-02-07,1138.85,User,odella1g,Osgood,Della,odella1g@hc360.com,,10-27-28 +Adams-Larkin,Grader,SFI-7496689,"Doors, Frames & Hardware","Kutch, Johnson and Olson",Abernathy-Stamm,Lynch and Sons,3092970929,Flo,id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo,0649BJ66S09,at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac,2022-09-10,278.59,,,,,,,10-27-28 +"Beier, Grant and Thiel",Grader,GSX-1706311,Masonry,"Heaney, Altenwerth and Emmerich",Mosciski Inc,Ledner-Barrows,5141273631,Mabelle,convallis nunc proin at turpis a pede posuere nonummy integer non velit donec diam neque vestibulum eget,6967FJ73D06,sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam,2022-07-18,1732.28,Location,,,,,Fritsch-Abernathy,10-27-28 +Armstrong Group,Dump Truck,LXV-5626274,Plumbing & Medical Gas,Rippin-Schiller,Ankunding-Ledner,"Wilkinson, Waters and Kerluke",3202695143,Jeana,,5970GY37L93,purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus,2022-10-11,1981.53,User,cwinfreyl,Casper,Winfrey,cwinfreyl@adobe.com,,10-27-28 +Rodriguez-Schultz,Excavator,BRF-0336967,Structural and Misc Steel (Fabrication),Abernathy-Stamm,"Botsford, Boyle and Herzog","Torp, Kautzer and Rodriguez",8211664431,Nial,nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo rhoncus sed vestibulum,,ultrices erat tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi,2022-12-30,4924.25,User,mgooday1q,Mariellen,Gooday,mgooday1q@alexa.com,,10-27-28 +"Huels, Satterfield and Kautzer",Backhoe,CVH-2946076,Painting & Vinyl Wall Covering,Ankunding-Ledner,"Upton, Feil and Jast",Frami and Sons,0835287084,Paloma,justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus,,,2022-07-15,2406.57,,,,,,,10-27-28 +"Lueilwitz, Herzog and Runte",Skid-Steer,OTH-2531332,HVAC,Mosciski Inc,Ankunding-Ledner,Ledner-Barrows,7517530461,Paloma,,1256WA18C94,,2023-01-14,531.46,,,,,,,10-27-28 +Funk LLC,Grader,ZMB-4808007,Fire Sprinkler System,"Upton, Feil and Jast",Ankunding-Ledner,"Wilkinson, Waters and Kerluke",4467089765,Jeana,,0663SC93W29,quis orci eget orci vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2022-07-19,4741.85,,,,,,,10-27-28 +"Doyle, Kulas and Mosciski",Dump Truck,XES-9665196,Masonry & Precast,"Botsford, Boyle and Herzog",Pacocha-Goodwin,Ledner-Barrows,4220776022,Sumner,,0099EC66L98,in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis,2022-08-06,276.15,,,,,,,10-27-28 +"Robel, Johnston and Crist",Excavator,KUJ-7232314,Construction Clean and Final Clean,Ankunding-Ledner,"Romaguera, Goldner and Crooks",Fritsch-Abernathy,5757955088,Paloma,,4270AX61I99,,2022-09-21,3749.65,Location,,,,,"Wilkinson, Waters and Kerluke",10-27-28 +Wiza-Mante,Grader,UNN-0016298,Roofing (Metal),Watsica LLC,Ankunding-Ledner,Frami and Sons,6746036070,Tommy,interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis congue vivamus metus arcu adipiscing molestie,9540RE21E79,est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat,2022-08-08,4600.22,Location,,,,,Roberts-Anderson,10-27-28 +Jacobi Group,Bulldozer,JRP-9799959,Roofing (Metal),Rippin-Schiller,"Stokes, Daniel and Johnson",Russel Group,1090875903,Nobe,,5159PT28N59,,2023-05-02,3255.63,Location,,,,,Pacocha-Kiehn,10-27-28 +Murazik-Cormier,Crawler,GTI-0627775,Marlite Panels (FED),"Kutch, Johnson and Olson","Fritsch, Sauer and Conn",Powlowski LLC,7650476155,Jeana,,9055CM63Z89,,2022-06-24,1295.04,Location,,,,,"Jenkins, Goldner and Cruickshank",10-27-28 +"Simonis, Schulist and Volkman",Compactor,WEL-4481760,RF Shielding,Mosciski Inc,Rippin-Schiller,Powlowski LLC,6908782578,Bale,curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,3712NE31P89,,2022-08-02,2038.79,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,10-27-28 +Conroy-Abshire,Grader,VKB-3777629,Masonry & Precast,Krajcik LLC,Pollich LLC,Erdman-West,6651233484,Illa,duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non velit donec,,in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,2023-04-28,4988.38,,,,,,,10-27-28 +Mueller and Sons,Bulldozer,YFK-3812221,Waterproofing & Caulking,Rippin-Schiller,Berge Inc,"Mills, Gleichner and Schamberger",3679743009,Illa,sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus curabitur at ipsum ac tellus semper interdum,2077OM84Z52,,2022-09-18,3085.39,User,moscullya,Maurice,O'Scully,moscullya@engadget.com,,10-27-28 +"Turner, Schulist and Hodkiewicz",Compactor,ENN-1432777,Ornamental Railings,"Romaguera, Goldner and Crooks","Kunde, Doyle and Kozey","Mills, Gleichner and Schamberger",7184133416,Robby,,6321OY95W96,,2022-09-25,4517.54,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,10-27-28 +Dicki-Hartmann,Skid-Steer,JNS-3537485,Epoxy Flooring,Pacocha-Goodwin,Mosciski Inc,Pacocha-Kiehn,2137927703,Mabelle,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam,2809IW22A70,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,2022-09-12,4293.51,,,,,,,10-27-28 +Schoen and Sons,Dump Truck,RAA-2200532,Soft Flooring and Base,Walker-Towne,"Upton, Feil and Jast",Waters LLC,5479047972,Beverly,maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra,,,2023-01-19,1760.88,User,rsapeyb,Raquela,Sapey,rsapeyb@furl.net,,10-27-28 +"Rolfson, Champlin and Cole",Bulldozer,GDB-9523081,EIFS,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast",Frami and Sons,6544577007,Rolland,,,,2022-11-29,2769.18,,,,,,,10-27-28 +"Maggio, Wolff and Friesen",Excavator,IOH-2003935,Structural and Misc Steel (Fabrication),Okuneva Group,Abernathy-Stamm,Lindgren-Marquardt,1508089431,Flo,vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2753UJ02X37,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus,2022-08-05,3709.55,,,,,,,10-27-28 +Brekke-Hoeger,Backhoe,UPX-0286727,Plumbing & Medical Gas,"Upton, Feil and Jast",Rippin-Schiller,Lynch and Sons,6217027186,Bondon,,6387KP57B15,vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec,2023-03-21,4138.24,,,,,,,10-27-28 +Konopelski Inc,Dump Truck,NZE-5809675,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Erdman-West,8486277027,Mabelle,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus,4732FS58G78,,2023-05-11,114.69,,,,,,,10-27-28 +"Nolan, Kertzmann and Rippin",Bulldozer,YXY-3875893,RF Shielding,"Romaguera, Goldner and Crooks",Abernathy-Stamm,Frami and Sons,7979699903,Bondon,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt,4378XF72E06,,2023-04-29,1781.53,,,,,,,10-27-28 +Stroman and Sons,Skid-Steer,BDD-0117730,"Temp Fencing, Decorative Fencing and Gates",Okuneva Group,Mosciski Inc,Frami and Sons,1053653041,Karry,,0484GG78J91,odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat,2022-09-12,4854.6,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,10-27-28 +Howe-Volkman,Crawler,YMB-2902862,Masonry & Precast,"Kutch, Johnson and Olson",Krajcik LLC,Roberts-Anderson,0269899359,Nial,,2685ZN23G49,,2022-08-27,133.33,User,jdriffill2,Jeanne,Driffill,jdriffill2@google.fr,,10-27-28 +Heathcote and Sons,Skid-Steer,LWA-2897309,Exterior Signage,"Heaney, Altenwerth and Emmerich",Okuneva Group,Schinner Group,1268560442,Paloma,,8414GM02P21,,2022-12-27,4524.09,,,,,,,10-27-28 +Borer-Aufderhar,Scraper,OOY-9898294,Electrical,Pacocha-Goodwin,Berge Inc,"Nitzsche, Gislason and Douglas",4556315148,Karry,,0187NT56E91,,2022-08-21,390.85,,,,,,,10-27-28 +"Hauck, Bogisich and King",Dragline,XHB-6046299,Sitework & Site Utilities,"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",9343736607,Debbi,aliquam erat volutpat in congue etiam justo etiam pretium iaculis,8559BT54S22,in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate,2022-05-25,1439.23,Location,,,,,Ledner-Barrows, +"Upton, Luettgen and Mayer",Grader,JVB-8844609,Structural & Misc Steel Erection,Pollich LLC,"Kunde, Doyle and Kozey",Treutel Inc,6715000024,Karry,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper,0088HF56H55,,2022-12-17,4849.95,Location,,,,,"McGlynn, Hagenes and Bruen", +Fadel Inc,Skid-Steer,VAA-1096481,Hard Tile & Stone,Mosciski Inc,Krajcik LLC,Schinner Group,2384395201,Nobe,parturient montes nascetur ridiculus mus etiam vel augue vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id,,tortor duis mattis egestas metus aenean fermentum donec ut mauris,2022-07-15,1190.44,User,tphysick3,Tiphanie,Physick,tphysick3@umn.edu,, +Dickens and Sons,Skid-Steer,OAC-1765208,Ornamental Railings,Ankunding-Ledner,Rippin-Schiller,Lindgren-Marquardt,2119388227,Ward,non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta,9895LS02S32,,2022-09-03,1868.26,Location,,,,,"Jenkins, Goldner and Cruickshank", +Cassin Group,Bulldozer,CPK-3286546,Structural & Misc Steel Erection,Berge Inc,"Botsford, Boyle and Herzog",Frami and Sons,6044719518,Chase,,5420GG86P87,,2022-07-22,1463.24,,,,,,, +"Wolf, Wiza and Pacocha",Excavator,ZHU-6798344,Electrical,"Kutch, Johnson and Olson",Abernathy-Stamm,Frami and Sons,6111751517,Tommy,odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat,5462TF70C36,amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla ac enim,2023-02-26,1268.92,User,pshirleyi,Pen,Shirley,pshirleyi@theguardian.com,, +"Davis, Klein and Kiehn",Backhoe,WHR-8533403,Plumbing & Medical Gas,"Botsford, Boyle and Herzog",Mosciski Inc,Treutel Inc,7632050235,Tommy,,5478JY13D60,,2022-09-11,4908.48,Location,,,,,Pacocha-Kiehn, +"Gorczany, Lindgren and Hand",Compactor,FAC-2072179,Framing (Steel),Berge Inc,"Legros, Paucek and Collier",Ledner-Barrows,8755015421,Rolland,,2138TK23O47,massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede,2022-09-19,2249.9,User,kgrealish16,Krystalle,Grealish,kgrealish16@sciencedirect.com,, +Romaguera-Ondricka,Grader,KON-1821691,Curb & Gutter,"Kutch, Johnson and Olson",Okuneva Group,"O'Conner, Nitzsche and Aufderhar",4908345668,Chase,,5414US21B26,pede libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti,2022-11-14,1545.41,User,ewarriner2o,Ellene,Warriner,ewarriner2o@wikimedia.org,, +"Anderson, Goldner and Bailey",Compactor,NDF-4324420,Roofing (Metal),Mosciski Inc,"Kunde, Doyle and Kozey","McGlynn, Hagenes and Bruen",3212882737,Nial,,0754DG10B38,dui nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo,2023-05-15,4423.19,,,,,,, +Mraz-Windler,Trencher,DLM-4710838,Plumbing & Medical Gas,"Kunde, Doyle and Kozey",Walker-Towne,"Jenkins, Goldner and Cruickshank",1315337182,Debbi,,2430PB13D95,,2022-07-11,2708.18,User,fmcguiness1k,Fredrika,McGuiness,fmcguiness1k@woothemes.com,, +Volkman Group,Compactor,MLJ-9313486,Electrical and Fire Alarm,"Romaguera, Goldner and Crooks","Botsford, Boyle and Herzog",Fritsch-Abernathy,2738670737,Illa,,,,2022-10-09,1404.85,Location,,,,,Pacocha-Kiehn, +Schulist-Kulas,Compactor,XBE-4236649,Drywall & Acoustical (MOB),Abernathy-Stamm,Berge Inc,"Nitzsche, Gislason and Douglas",7811285882,Kizzee,,2875KP71D22,,2022-11-21,271.5,Location,,,,,"Wilkinson, Waters and Kerluke", +Hammes Inc,Crawler,NRV-3022526,Epoxy Flooring,Pollich LLC,"Upton, Feil and Jast",Powlowski LLC,8015369811,Ward,,6485BK61G70,facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-01-25,1757.26,,,,,,, +"Kemmer, Beier and Hegmann",Skid-Steer,EXG-6125653,Glass & Glazing,"Upton, Feil and Jast",Pacocha-Goodwin,Erdman-West,9025824302,Rolland,,8500KT88G80,,2022-09-27,3697.22,User,aweemsj,Antoinette,Weems,aweemsj@who.int,, +"Padberg, Kozey and Morar",Compactor,XYK-7848357,RF Shielding,Berge Inc,Abernathy-Stamm,Russel Group,2116700211,Robby,,,,2022-11-05,4059.57,Location,,,,,Lindgren-Marquardt, +Pfannerstill and Sons,Skid-Steer,GZW-6229249,Waterproofing & Caulking,Pollich LLC,"Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",4909263041,Debbi,,,lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2022-08-11,1697.74,,,,,,, +Kunde-Hermiston,Compactor,VZD-7424699,Marlite Panels (FED),Mosciski Inc,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",5611381559,Nial,,8991VD43T11,cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit,2022-09-17,4957.55,Location,,,,,Powlowski LLC, +"Treutel, Schmidt and Koss",Compactor,RZO-4616134,Retaining Wall and Brick Pavers,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","O'Conner, Nitzsche and Aufderhar",0833202169,Nial,,6036SV40U93,,2023-04-18,3218.61,User,bvandalen5,Barbabas,Van Dalen,bvandalen5@smugmug.com,, +Nader Inc,Scraper,NXG-1697279,RF Shielding,"Botsford, Boyle and Herzog","Fritsch, Sauer and Conn",Waters LLC,7094568704,Robby,,7964JY42Z54,,2022-08-26,3628.55,Location,,,,,"McGlynn, Hagenes and Bruen", +"Cremin, Conroy and Kuphal",Crawler,OGN-4843235,Glass & Glazing,Okuneva Group,"Heaney, Altenwerth and Emmerich",Pacocha-Kiehn,6424257173,Beverly,,2880LU86I74,sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci,2022-09-22,4163.07,,,,,,, +"Douglas, Considine and Gerhold",Backhoe,BXI-1028705,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Ankunding-Ledner,Roberts-Anderson,5388101251,Karry,,,,2023-02-20,976.02,,,,,,, +Emard Group,Scraper,MWK-5482358,Ornamental Railings,Mosciski Inc,"Heaney, Altenwerth and Emmerich","Mills, Gleichner and Schamberger",5509346090,Nobe,,8183RH74P65,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum,2022-06-28,1441.26,Location,,,,,Fritsch-Abernathy, +Runolfsdottir-Schulist,Compactor,ZSS-2076422,EIFS,Rippin-Schiller,"Upton, Feil and Jast",Ledner-Barrows,4163465013,Karry,dui luctus rutrum nulla tellus in sagittis dui vel nisl,,,2022-11-11,3688.09,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,, +Stoltenberg-Cormier,Trencher,XNO-4048888,Roofing (Metal),Watsica LLC,Pollich LLC,Russel Group,3593822457,Robby,morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum id luctus nec molestie sed,1583JR98T50,,2022-12-04,1780.96,,,,,,, +"Hand, Bogan and Cassin",Skid-Steer,SWP-7721219,Roofing (Metal),"Kunde, Doyle and Kozey",Krajcik LLC,Lindgren-Marquardt,1185234640,Nial,,4091TS60T07,,2023-05-09,1528.53,User,mskellingtonu,Marrilee,Skellington,mskellingtonu@abc.net.au,, +Kling-Homenick,Dragline,HGX-6549969,Asphalt Paving,Walker-Towne,"Fritsch, Sauer and Conn","Jenkins, Goldner and Cruickshank",2726185990,Bale,,9573TJ14G71,,2023-01-31,4930.43,User,asyne1a,Angela,Syne,asyne1a@icio.us,, +"Kilback, Towne and Stehr",Skid-Steer,ZTD-2850379,Drilled Shafts,Krajcik LLC,"Stokes, Daniel and Johnson","O'Conner, Nitzsche and Aufderhar",7192145952,Paloma,,,ipsum aliquam non mauris morbi non lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci,2022-12-25,2947.93,,,,,,, +Harvey-Moore,Dump Truck,QKC-1710236,Fire Protection,Berge Inc,Okuneva Group,Lynch and Sons,7337073255,Kizzee,,7010OW07S33,,2023-02-01,1617.55,Location,,,,,Ledner-Barrows, +Maggio-Hoppe,Excavator,LHL-3384861,Termite Control,Pacocha-Goodwin,Abernathy-Stamm,Lindgren-Marquardt,5642326493,Ward,amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum,0489GD18P85,,2022-07-29,4682.12,User,nscroggs2d,Naoma,Scroggs,nscroggs2d@yelp.com,, +Muller LLC,Skid-Steer,VYY-4278214,Rebar & Wire Mesh Install,"Kunde, Doyle and Kozey",Okuneva Group,Schinner Group,0946092591,Paloma,,,felis sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis,2022-09-07,4400.17,Location,,,,,Lynch and Sons, +Kerluke Inc,Backhoe,HRP-6178185,Retaining Wall and Brick Pavers,Mosciski Inc,Berge Inc,Treutel Inc,6532044804,Nial,,,,2022-09-07,1345.45,Location,,,,,Lindgren-Marquardt, +"Harvey, Schulist and Kemmer",Trencher,QND-9017996,Painting & Vinyl Wall Covering,Abernathy-Stamm,Pollich LLC,Fritsch-Abernathy,4977996097,Paloma,est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est lacinia nisi venenatis tristique fusce,2497DB20W09,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo,2023-01-27,317.08,,,,,,, +Schimmel and Sons,Dragline,DAX-0085828,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Jenkins, Goldner and Cruickshank",7739403397,Flo,,,,2022-12-28,4521.28,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,, +Grimes-Lowe,Dragline,VED-7099927,Masonry,Rippin-Schiller,"Stokes, Daniel and Johnson",Lynch and Sons,3351670325,Karry,,,ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at,2023-02-04,2620.69,,,,,,, +Krajcik-Cruickshank,Bulldozer,ZHU-0211288,Painting & Vinyl Wall Covering,"Fritsch, Sauer and Conn",Pacocha-Goodwin,Lindgren-Marquardt,5042401893,Paloma,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo,0511VF33D78,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-09-27,923.99,,,,,,, +Donnelly-Maggio,Compactor,HFG-7624506,Electrical and Fire Alarm,Pollich LLC,"Fritsch, Sauer and Conn","Torp, Kautzer and Rodriguez",3157087051,Illa,libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit amet sapien dignissim,5980WY24F50,tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi non,2022-12-05,4670.18,Location,,,,,"Jenkins, Goldner and Cruickshank", +Pfeffer-Zieme,Trencher,AZY-1682920,Wall Protection,Abernathy-Stamm,Mosciski Inc,"Torp, Kautzer and Rodriguez",5186444169,Beverly,consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim,6620HZ14T83,aliquam convallis nunc proin at turpis a pede posuere nonummy,2022-06-27,1674.34,User,cstamper1h,Celie,Stamper,cstamper1h@usda.gov,, +"Cormier, Glover and Hickle",Compactor,EYP-3561396,Termite Control,Rippin-Schiller,"Kunde, Doyle and Kozey","Torp, Kautzer and Rodriguez",4964027369,Paloma,quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus,4352FH58S52,,2022-11-21,136.12,,,,,,, +Rau Group,Skid-Steer,DYU-7769483,Marlite Panels (FED),Krajcik LLC,Krajcik LLC,Fritsch-Abernathy,2457705388,Sumner,,2286KF82X10,,2023-05-14,1147.8,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,, +"Shanahan, Bradtke and Rowe",Backhoe,JYC-0713874,Hard Tile & Stone,"Upton, Feil and Jast",Ankunding-Ledner,Waters LLC,0372144769,Rolland,porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in,7775EM65V29,phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu,2022-05-27,1691.36,,,,,,, +Bogisich LLC,Bulldozer,MIQ-6169091,Soft Flooring and Base,"Romaguera, Goldner and Crooks",Mosciski Inc,Powlowski LLC,8984702329,Ward,,,justo eu massa donec dapibus duis at velit eu est,2022-10-15,1578.57,User,ndubery1e,Neda,Dubery,ndubery1e@fotki.com,, +Ondricka-Schuster,Dump Truck,KEN-1184794,"Doors, Frames & Hardware",Walker-Towne,Watsica LLC,Pacocha-Kiehn,4745674969,Mabelle,ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,,,2022-12-10,4298.98,,,,,,, +Mayer-Abernathy,Scraper,ZMD-6316371,Rebar & Wire Mesh Install,"Stokes, Daniel and Johnson",Abernathy-Stamm,Powlowski LLC,2526471701,Flo,,1918JS43H32,,2023-03-24,1171.9,User,gbassingdenm,Godwin,Bassingden,gbassingdenm@dedecms.com,, +Towne-Adams,Scraper,QCU-6826093,Prefabricated Aluminum Metal Canopies,Abernathy-Stamm,Rippin-Schiller,Waters LLC,4899233400,Debbi,arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea dictumst,6487ZI24B86,nec molestie sed justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas,2023-02-22,602.41,Location,,,,,"McGlynn, Hagenes and Bruen", +Kunde Group,Compactor,ITE-9907827,Sitework & Site Utilities,Mosciski Inc,"Romaguera, Goldner and Crooks",Treutel Inc,4671828697,Kizzee,,3508XP22O98,sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est,2023-02-18,3119.76,Location,,,,,Fritsch-Abernathy, +Welch Group,Compactor,GXW-3680693,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Nitzsche, Gislason and Douglas",4413339149,Karry,mi integer ac neque duis bibendum morbi non quam nec,,,2023-02-16,1570.25,User,ewhitebrook1r,Emmalyn,Whitebrook,ewhitebrook1r@webnode.com,, +"Zieme, Metz and Schamberger",Grader,GDQ-7108837,Masonry,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",8560447476,Chase,,4743VU30T06,nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non,2022-08-09,1530.46,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,, +"Kuhlman, Walker and Denesik",Dragline,QZO-1370026,Asphalt Paving,Krajcik LLC,"Botsford, Boyle and Herzog",Erdman-West,5748443707,Mabelle,,2693SH27I09,accumsan felis ut at dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis,2022-08-23,2694.26,,,,,,, +Cormier Inc,Bulldozer,AQW-7617737,RF Shielding,"Heaney, Altenwerth and Emmerich",Watsica LLC,"Mills, Gleichner and Schamberger",1502376915,Rolland,,8461WN86M04,sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis,2023-03-04,1055.33,,,,,,, +Beier LLC,Dragline,NDV-6470913,Masonry,Mosciski Inc,"Kutch, Johnson and Olson",Lynch and Sons,3437983455,Ward,volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus,9621QF22B21,,2022-07-27,1251.77,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,, +Skiles and Sons,Compactor,FOR-0865018,Exterior Signage,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",3955766875,Tommy,,6385GQ84X66,quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-26,1109.44,Location,,,,,Frami and Sons, +"Corkery, Kunde and Schulist",Crawler,SCK-0860481,Rebar & Wire Mesh Install,"Fritsch, Sauer and Conn",Walker-Towne,Lynch and Sons,5146662358,Karry,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor eu,,,2022-10-05,2029.54,Location,,,,,"Torp, Kautzer and Rodriguez", +Brakus LLC,Backhoe,DAI-7864625,Casework,Pollich LLC,"Kunde, Doyle and Kozey","Jenkins, Goldner and Cruickshank",3421666270,Mabelle,,3209SC49Y83,vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis,2022-06-01,3611.16,User,tcicutto1l,Thornie,Cicutto,tcicutto1l@irs.gov,, +"Donnelly, Daniel and Kuhn",Skid-Steer,AXA-8500000,Glass & Glazing,Pacocha-Goodwin,"Upton, Feil and Jast",Powlowski LLC,5545256559,Chase,,5792EV06A79,,2023-01-19,3029.64,,,,,,, +Wehner-Wyman,Compactor,MGX-6732943,Fire Sprinkler System,Berge Inc,Mosciski Inc,Ledner-Barrows,3758714940,Jeana,ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur,,,2023-01-09,2587.65,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,, +Hauck-Bosco,Bulldozer,NIS-2897343,Electrical,"Kunde, Doyle and Kozey","Botsford, Boyle and Herzog","Jenkins, Goldner and Cruickshank",8342227248,Illa,,0783AR26Y44,,2023-01-11,904.38,Location,,,,,Pacocha-Kiehn, +Shields Inc,Bulldozer,QZL-7700638,Construction Clean and Final Clean,Okuneva Group,Ankunding-Ledner,Pacocha-Kiehn,3955442162,Mabelle,et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur convallis duis consequat dui nec nisi,2293HV69Q96,,2022-05-30,2920.56,Location,,,,,Erdman-West, +"Willms, O'Connell and Cormier",Grader,RJS-7752630,Fire Sprinkler System,Ankunding-Ledner,Ankunding-Ledner,Treutel Inc,1717119122,Bondon,,2846FL33H31,mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui,2022-11-12,3998.15,,,,,,, +Schinner-Price,Compactor,MDX-2483852,Construction Clean and Final Clean,Abernathy-Stamm,"Kutch, Johnson and Olson",Lindgren-Marquardt,9849455784,Bondon,,8475JD14T05,in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel,2023-04-21,2625.55,Location,,,,,"Wilkinson, Waters and Kerluke", +"Treutel, Berge and Batz",Grader,FZI-9158744,Marlite Panels (FED),"Kutch, Johnson and Olson","Kutch, Johnson and Olson",Russel Group,7516475364,Nial,,2620DL01N52,,2023-02-02,4272.01,Location,,,,,"Jenkins, Goldner and Cruickshank", +"McDermott, Koch and Skiles",Skid-Steer,RDJ-1659181,Marlite Panels (FED),Walker-Towne,"Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",2002850756,Robby,congue eget semper rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo,4676YV46O78,,2022-07-24,3087.45,User,kharbage1w,Kinny,Harbage,kharbage1w@wordpress.org,, +Tremblay-Collier,Compactor,XCQ-5970453,Drilled Shafts,"Legros, Paucek and Collier",Mosciski Inc,Roberts-Anderson,7468627157,Kizzee,turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis,2895CV95N88,velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam,2022-10-23,2726.04,,,,,,, +"Shanahan, Bergnaum and Buckridge",Trencher,IRM-4172620,Drywall & Acoustical (MOB),"Romaguera, Goldner and Crooks","Fritsch, Sauer and Conn","Mills, Gleichner and Schamberger",8440065950,Debbi,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo nec condimentum neque sapien placerat ante,4296XD75M64,,2023-05-18,2627.55,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,, +"Dickens, Huel and Reilly",Compactor,DPP-2739545,Sitework & Site Utilities,"Botsford, Boyle and Herzog",Okuneva Group,Russel Group,1933518954,Debbi,sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus,4147HN29Y26,,2023-02-01,4571.33,,,,,,, +Shields Inc,Scraper,EBH-1609775,Roofing (Asphalt),Watsica LLC,Pollich LLC,"Nitzsche, Gislason and Douglas",3751836527,Debbi,,,,2023-01-16,3195.45,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,, From e1af69f6aeac92b3f9a30bac90221e5fe0d1cf53 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 15 Aug 2023 13:20:11 -0500 Subject: [PATCH 18/54] typo --- ...ormalized_eol_and_add_column_for_explicit_date_to_assets.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 0921be0657..1abfd95adf 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -30,7 +30,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration $asset->update(['eol_explicit' => true]); } } else { - $asset->update(['eol_explcit' => true]); + $asset->update(['eol_explicit' => true]); } } } From c66804bcee4cb1727e61fe3cbfbc37c900073fce Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 15 Aug 2023 20:14:11 -0500 Subject: [PATCH 19/54] a little cleanup --- app/Importer/AssetImporter.php | 4 +--- app/Importer/ItemImporter.php | 1 - app/Observers/AssetObserver.php | 1 - ...zed_eol_and_add_column_for_explicit_date_to_assets.php | 8 +++----- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index dc5610ab40..c13a61d331 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -123,13 +123,11 @@ class AssetImporter extends ItemImporter $item['asset_eol_date'] = null; if (isset($this->item['asset_eol_date'])) { $model = AssetModel::find($this->createOrFetchAssetModel($row, $this->item['model_id'])); - ray(['model!' => $model]); if(is_null($model->eol)) { $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->format('Y-m-d'); $item['eol_explicit'] = true; } elseif (!is_null($model->eol) && !is_null($this->item['purchase_date'])) { - ray('EOL is not null'); - $item['asset_eol_date'] = Carbon::parse($this->item['purchase_date'])->addMonths($model->eol)->format('Y-m-d'); + $item['asset_eol_date'] = Carbon::parse($this->item['purchase_date'])->addMonths($model->eol)->format('Y-m-d'); } } diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 297f817516..256d74d921 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -10,7 +10,6 @@ use App\Models\Manufacturer; use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; -use Carbon\Carbon; class ItemImporter extends Importer { diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 38fcf0f2d0..5e76a73edb 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -123,7 +123,6 @@ class AssetObserver public function saving(Asset $asset) { - ray('THIS FUCKING SHIT DOESNT WORK'); //determine if calculated eol and then calculate it - this should only happen on a new asset if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model->eol)){ $asset->asset_eol_date = $asset->purchase_date->addMonths($asset->model->eol)->format('Y-m-d'); diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 1abfd95adf..1eb8d0084a 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -34,20 +34,18 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration } } } + unset($assetsWithEolDates); // Update the asset_eol_date column with the calculated value if it doesn't exist $assets = Asset::whereNull('asset_eol_date')->get(); foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; - if ($model) { - $eol = $model->eol; - if ($eol) { - $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($eol)->format('Y-m-d'); + if (!empty($model->eol)) { + $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); $asset->update(['asset_eol_date' => $asset_eol_date]); } } } - } /** * Reverse the migrations. From 3fb62874f0b4c96643d2bf5d58e909a80ef9f247 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 16 Aug 2023 01:29:07 -0500 Subject: [PATCH 20/54] quick push to check something else --- app/Importer/AssetImporter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index c13a61d331..39f7b9f1b3 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -122,7 +122,7 @@ class AssetImporter extends ItemImporter $item['asset_eol_date'] = null; if (isset($this->item['asset_eol_date'])) { - $model = AssetModel::find($this->createOrFetchAssetModel($row, $this->item['model_id'])); + $model = AssetModel::find($this->item['model_id']); if(is_null($model->eol)) { $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->format('Y-m-d'); $item['eol_explicit'] = true; From b73f20cadfc28dfaf739908b677ed61e7903fa60 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 16 Aug 2023 02:47:12 -0500 Subject: [PATCH 21/54] immutable when things are looping, just in case --- database/factories/AssetFactory.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/database/factories/AssetFactory.php b/database/factories/AssetFactory.php index a3170b22e8..644d292eb6 100644 --- a/database/factories/AssetFactory.php +++ b/database/factories/AssetFactory.php @@ -9,6 +9,7 @@ use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; use Carbon\Carbon; +use Carbon\CarbonImmutable; use Illuminate\Database\Eloquent\Factories\Factory; class AssetFactory extends Factory @@ -57,10 +58,10 @@ class AssetFactory extends Factory // calculates the EOL date most of the time, but sometimes sets a random date so we have some explicits // the explicit boolean gets set in the saving() method on the observer $asset->asset_eol_date = $this->faker->boolean(5) - ? Carbon::parse($asset->purchase_date)->addMonths(rand(0, 20))->format('Y-m-d') - : Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); + ? CarbonImmutable::parse($asset->purchase_date)->addMonths(rand(0, 20))->format('Y-m-d') + : CarbonImmutable::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); }); - } + } public function laptopMbp() { From fb001caee428caf3c33c2e0cc89125ac3b152978 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 17 Aug 2023 22:19:26 -0500 Subject: [PATCH 22/54] fix conflicts --- app/Models/Asset.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 946505d20f..b3dd781426 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -73,6 +73,7 @@ class Asset extends Depreciable protected $casts = [ 'purchase_date' => 'date', 'asset_eol_date' => 'date', + 'eol_explicit' => 'boolean', 'last_checkout' => 'datetime', 'last_checkin' => 'datetime', 'expected_checkin' => 'date', @@ -141,9 +142,10 @@ class Asset extends Depreciable 'expected_checkin', 'byod', 'asset_eol_date', + 'eol_explicit', 'last_audit_date', 'next_audit_date', - 'eol_explicit', + 'eol_explicit', ]; use Searchable; From 3e3bb594eab81376d831328908cf0eeccfa054fc Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 22 Aug 2023 16:20:05 -0500 Subject: [PATCH 23/54] some import stuff --- app/Http/Livewire/Importer.php | 2 +- app/Importer/AssetImporter.php | 20 -------------------- app/Importer/ItemImporter.php | 15 ++++++++------- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/app/Http/Livewire/Importer.php b/app/Http/Livewire/Importer.php index 257c3f1fe0..488187ec72 100644 --- a/app/Http/Livewire/Importer.php +++ b/app/Http/Livewire/Importer.php @@ -194,7 +194,7 @@ class Importer extends Component ]; $this->assets_fields = [ - 'asset_eol_date' => 'Asset EOL DAte', + 'asset_eol_date' => trans('general.eol'), 'company' => trans('general.company'), 'location' => trans('general.location'), 'item_name' => trans('general.item_name_var', ['item' => trans('general.asset')]), diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index 39f7b9f1b3..76eae0739a 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -120,26 +120,6 @@ class AssetImporter extends ItemImporter $item['next_audit_date'] = $this->item['next_audit_date']; } - $item['asset_eol_date'] = null; - if (isset($this->item['asset_eol_date'])) { - $model = AssetModel::find($this->item['model_id']); - if(is_null($model->eol)) { - $item['asset_eol_date'] = Carbon::parse($this->item['asset_eol_date'])->format('Y-m-d'); - $item['eol_explicit'] = true; - } elseif (!is_null($model->eol) && !is_null($this->item['purchase_date'])) { - $item['asset_eol_date'] = Carbon::parse($this->item['purchase_date'])->addMonths($model->eol)->format('Y-m-d'); - } - } - - // if(($item['asset_eol_date'] == null) && ($asset->model?->eol != null) && ($asset->asset_purchase_date != null)){ - // $asset->eol_explicit = false; - // $asset->asset_eol_date = Carbon::parse($asset->asset_purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); - // } else { - // $asset->eol_explicit = true; - // $parsedDate = Carbon::parse($this->item['asset_eol_date']); - // $asset->asset_eol_date = $parsedDate->format('Y-m-d'); - // } - if ($editingAsset) { $asset->update($item); } else { diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 256d74d921..f8a21cfe53 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -10,6 +10,7 @@ use App\Models\Manufacturer; use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; +use Carbon\CarbonImmutable; class ItemImporter extends Importer { @@ -87,13 +88,12 @@ class ItemImporter extends Importer $this->item['next_audit_date'] = date('Y-m-d', strtotime($this->findCsvMatch($row, 'next_audit_date'))); } - // $this->item['asset_eol_date'] = null; - // if ($this->findCsvMatch($row, 'asset_eol_date') != '') { - // ray()->clearAll(); - // ray('item importer line 93'); - // return; - // $this->item['asset_eol_date'] = Carbon::parse($this->findCsvMatch($row, 'asset_eol_date'))->format('Y-m-d'); - // } + $this->item['asset_eol_date'] = null; + if ($this->findCsvMatch($row, 'asset_eol_date') != '') { + if(!empty($this->findCsvMatch($row, 'asset_eol_date'))) { + $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'asset_eol_date')); + } + } $this->item['qty'] = $this->findCsvMatch($row, 'quantity'); $this->item['requestable'] = $this->findCsvMatch($row, 'requestable'); @@ -240,6 +240,7 @@ class ItemImporter extends Importer $this->log('Asset Model Updated'); return $asset_model->id; + // here } $this->log('No Matching Model, Creating a new one'); From 431af5f530429f84cc5f08f5e8704d215d6fc8ac Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Fri, 25 Aug 2023 13:48:32 -0500 Subject: [PATCH 24/54] this works!!!! --- app/Importer/ItemImporter.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index f8a21cfe53..8f979dfdee 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -11,6 +11,7 @@ use App\Models\Statuslabel; use App\Models\Supplier; use App\Models\User; use Carbon\CarbonImmutable; +use Illuminate\Support\Facades\Log; class ItemImporter extends Importer { @@ -89,10 +90,19 @@ class ItemImporter extends Importer } $this->item['asset_eol_date'] = null; - if ($this->findCsvMatch($row, 'asset_eol_date') != '') { - if(!empty($this->findCsvMatch($row, 'asset_eol_date'))) { - $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'asset_eol_date')); - } + if($this->findCsvMatch($row, 'asset_eol_date') != '') { + $csvMatch = $this->findCsvMatch($row, 'asset_eol_date'); + try { + $this->item['asset_eol_date'] = CarbonImmutable::parse($csvMatch)->format('Y-m-d'); + } catch (\Exception $e) { + Log::alert($e->getMessage()); + $this->log('Error parsing date: '.$csvMatch); + } + } elseif ($this->createOrFetchAssetModel($row) != null) { + //woof this is ugly + if($eol = AssetModel::find($this->createOrFetchAssetModel($row))->eol) { + $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'purchase_date'))->addMonths($eol)->format('Y-m-d'); + } } $this->item['qty'] = $this->findCsvMatch($row, 'quantity'); From 97d6a34b8c46fa5b3166bf5f8d85f496e3193627 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Fri, 25 Aug 2023 13:51:29 -0500 Subject: [PATCH 25/54] some changes to sample csv --- sample_csvs/assets-sample.csv | 168 +++++++++++++++++----------------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/sample_csvs/assets-sample.csv b/sample_csvs/assets-sample.csv index 58cf7c213e..78f20287a0 100644 --- a/sample_csvs/assets-sample.csv +++ b/sample_csvs/assets-sample.csv @@ -1,88 +1,88 @@ Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,asset eol date -Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,Nial,,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,,,,,,10-27-28 -"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,Chase,ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,10-27-28 -Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,Chase,,9929FR08W85,,2023-03-01,2300.71,Location,,,,,Pacocha-Kiehn,10-27-28 -Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,Mabelle,neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,2022-10-26,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,10-27-28 -Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,Sumner,turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,2022-07-24,2967.97,,,,,,,10-27-28 -Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,Mabelle,,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-10-01,3819.73,,,,,,,10-27-28 -Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,Flo,blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,2022-06-25,2711.89,Location,,,,,"McGlynn, Hagenes and Bruen",10-27-28 -"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,Ward,sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,2828XJ28E95,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,2022-07-24,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,,10-27-28 -Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,Nial,orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,2534KR53Y73,vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-11,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,10-27-28 -Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,Jere,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,7055KO63K62,,2022-08-25,2448.17,Location,,,,,Lynch and Sons,10-27-28 -Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,Nobe,sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,0535QM19F37,rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,2022-12-23,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,,10-27-28 -"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,Nial,curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,7520IT24T23,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,2023-05-14,3178.59,Location,,,,,"O'Conner, Nitzsche and Aufderhar",10-27-28 -Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,Bale,molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,2427CL03K39,,2023-05-07,3322.34,,,,,,,10-27-28 -Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,Karry,egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,1075JB25N09,,2022-09-03,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,10-27-28 -"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,Tommy,,9621CJ23Y35,,2022-12-17,1614.68,Location,,,,,Roberts-Anderson,10-27-28 -Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,Rolland,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,2022-11-02,1444.69,Location,,,,,Fritsch-Abernathy,10-27-28 -Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,Kizzee,maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,2022-09-07,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,,10-27-28 -"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,Jeana,,5505YF23M46,,2023-02-10,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,,10-27-28 -Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,Sumner,,8673QP30R80,,2022-06-20,1784.66,Location,,,,,Lynch and Sons,10-27-28 -"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,Mabelle,nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,2022-12-15,668.43,Location,,,,,Russel Group,10-27-28 -Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,Illa,quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,2022-12-27,3391.42,,,,,,,10-27-28 -Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,2022-06-24,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,,10-27-28 -"Rau, O'Kon and Predovic",Grader,KUW-8075173,Hard Tile & Stone,"Kunde, Doyle and Kozey",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",3235657209,Tommy,,8752PQ41C20,,2023-04-16,2428.95,User,wtomblin2r,Waiter,Tomblin,wtomblin2r@cisco.com,,10-27-28 -"Rodriguez, Rippin and Maggio",Backhoe,KGD-2478881,Epoxy Flooring,"Upton, Feil and Jast",Krajcik LLC,Roberts-Anderson,9968615213,Sumner,,,interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,2022-11-14,2353.49,,,,,,,10-27-28 -Collins-Langworth,Backhoe,NLM-1912680,Glass & Glazing,Walker-Towne,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",2439578863,Paloma,quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum,4241FY30X65,aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo,2022-05-29,413.99,User,esargersonc,El,Sargerson,esargersonc@moonfruit.com,,10-27-28 -"Tillman, Rippin and Robel",Backhoe,HKF-2889015,Framing (Steel),Rippin-Schiller,"Upton, Feil and Jast","Nitzsche, Gislason and Douglas",1249482779,Mabelle,,7737HG97C81,nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante,2022-09-27,174.79,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,10-27-28 -Bogisich-Gerhold,Excavator,HIN-5577764,HVAC,Ankunding-Ledner,"Kutch, Johnson and Olson",Treutel Inc,5300366684,Robby,,,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia,2023-04-09,4662.35,User,bogg1s,Blakeley,Ogg,bogg1s@examiner.com,,10-27-28 -DuBuque-Jones,Excavator,RSF-1042461,Roofing (Asphalt),Abernathy-Stamm,"Stokes, Daniel and Johnson",Frami and Sons,8526994711,Jere,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean,,,2022-11-25,2356.93,,,,,,,10-27-28 -Runolfsson-McCullough,Scraper,DAK-0644656,Framing (Wood),Mosciski Inc,"Legros, Paucek and Collier",Lynch and Sons,5644034134,Mabelle,,3664GP06B10,molestie nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu,2022-10-05,3912.18,User,mnollet1,Maury,Nollet,mnollet1@ow.ly,,10-27-28 -Hilpert-Vandervort,Crawler,XWJ-0341580,Roofing (Asphalt),Ankunding-Ledner,Abernathy-Stamm,"Mills, Gleichner and Schamberger",0635168064,Chase,,9438FZ85N89,dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien,2022-08-28,4426.46,User,nhumburton1m,Noelle,Humburton,nhumburton1m@ow.ly,,10-27-28 -"Schmitt, Kuhlman and Gusikowski",Excavator,UQF-6263661,Electrical,"Upton, Feil and Jast","Kunde, Doyle and Kozey",Fritsch-Abernathy,6394370767,Ward,,0642OF31I56,adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum primis,2022-12-04,3182.1,Location,,,,,Powlowski LLC,10-27-28 -Klein Inc,Excavator,IOC-4424021,Elevator,Watsica LLC,Pacocha-Goodwin,Treutel Inc,9408196701,Beverly,,4124VH09F17,,2022-09-12,3321.66,,,,,,,10-27-28 -"Runte, Feeney and Lueilwitz",Compactor,TBU-9704770,Drilled Shafts,"Kunde, Doyle and Kozey",Rippin-Schiller,"Nitzsche, Gislason and Douglas",5300662174,Jere,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,,,2022-07-19,1573.26,User,tdoumerquef,Tobe,Doumerque,tdoumerquef@twitpic.com,,10-27-28 -Reinger LLC,Dump Truck,TTW-1274810,Masonry,"Heaney, Altenwerth and Emmerich",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",6161734867,Karry,,,,2023-03-05,2677.79,User,rtitterrell0,Rora,Titterrell,rtitterrell0@prnewswire.com,,10-27-28 -"Breitenberg, Crooks and Goldner",Grader,RIU-2781610,Drilled Shafts,Pollich LLC,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",1424455064,Nial,,6982GT82L84,,2023-03-22,4085.21,User,otaverner7,Odey,Taverner,otaverner7@discuz.net,,10-27-28 -"Rolfson, Pollich and Kertzmann",Compactor,BFO-5970934,"Doors, Frames & Hardware","Romaguera, Goldner and Crooks",Pacocha-Goodwin,Pacocha-Kiehn,9193131620,Robby,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium,3185PP20K43,gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras,2022-05-31,1819.48,,,,,,,10-27-28 -Luettgen Inc,Grader,QEY-4583797,Painting & Vinyl Wall Covering,"Upton, Feil and Jast","Kunde, Doyle and Kozey","O'Conner, Nitzsche and Aufderhar",6610625137,Debbi,,4971UO73K02,,2022-07-07,4635.63,User,glippitt22,Gregorius,Lippitt,glippitt22@yandex.ru,,10-27-28 -"Hermann, Cremin and Crona",Dragline,OPB-2390560,Ornamental Railings,"Fritsch, Sauer and Conn",Ankunding-Ledner,Treutel Inc,7358467570,Beverly,,7467PI87D35,nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-04-09,2089.47,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,,10-27-28 -Cruickshank-Blanda,Grader,CUD-4868409,Electrical and Fire Alarm,Watsica LLC,Ankunding-Ledner,Treutel Inc,7859007380,Kizzee,,0709PI47U54,,2023-01-19,484.12,,,,,,,10-27-28 -"Reilly, Yundt and Keeling",Bulldozer,ORL-2640580,RF Shielding,"Legros, Paucek and Collier",Berge Inc,Schinner Group,8731356307,Bondon,,6643DS43O77,,2023-03-29,254.99,,,,,,,10-27-28 -"Franecki, Nolan and Swift",Trencher,GFV-9868944,RF Shielding,"Kunde, Doyle and Kozey","Kunde, Doyle and Kozey",Lynch and Sons,8841110804,Karry,,1465WJ98O96,,2022-08-27,1191.44,User,acharplinge,Andreana,Charpling,acharplinge@dell.com,,10-27-28 -"Lind, Reinger and Grant",Dump Truck,KFR-9464842,Epoxy Flooring,"Botsford, Boyle and Herzog","Upton, Feil and Jast",Erdman-West,5382312507,Nial,,7440CN27Q04,amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in,2022-08-19,430.07,,,,,,,10-27-28 -Quigley Inc,Dragline,XQS-0788077,Casework,Ankunding-Ledner,"Fritsch, Sauer and Conn",Lynch and Sons,5163086523,Rolland,ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel,1663OK46D26,,2022-12-25,1308.3,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,,10-27-28 -Hudson-Graham,Dragline,APW-0602098,Waterproofing & Caulking,"Romaguera, Goldner and Crooks",Berge Inc,Waters LLC,1473905199,Mabelle,urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat,,,2022-08-18,2037.76,Location,,,,,"Mills, Gleichner and Schamberger",10-27-28 -"Schmeler, Dietrich and Buckridge",Crawler,RFX-9706298,Drilled Shafts,Krajcik LLC,Krajcik LLC,Roberts-Anderson,2238031407,Robby,ornare consequat lectus in est risus auctor sed tristique in,7387DP63Q90,tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh,2023-02-13,3395.33,Location,,,,,Erdman-West,10-27-28 -"Jast, Cassin and Hane",Grader,EQQ-2912281,Wall Protection,"Fritsch, Sauer and Conn",Krajcik LLC,Lynch and Sons,6313951394,Mabelle,sagittis sapien cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus etiam vel augue vestibulum,4541TF76I78,tempus semper est quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum primis,2022-05-25,4787.17,Location,,,,,Schinner Group,10-27-28 -Bergstrom-Block,Excavator,IEG-8406586,Masonry,Mosciski Inc,Mosciski Inc,Roberts-Anderson,6040029438,Bondon,cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit,4324BJ82Z56,,2022-09-09,2371.3,Location,,,,,Powlowski LLC,10-27-28 -"Powlowski, Lowe and Streich",Dragline,ZCB-5287486,Roofing (Asphalt),Watsica LLC,Watsica LLC,"McGlynn, Hagenes and Bruen",6324836270,Debbi,,7369JZ83X28,pede ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2022-05-30,3261.46,User,ohynson1y,Olivia,Hynson,ohynson1y@ask.com,,10-27-28 -"Purdy, Leannon and Boyer",Crawler,VVZ-9417930,Retaining Wall and Brick Pavers,"Botsford, Boyle and Herzog","Legros, Paucek and Collier",Schinner Group,1391767652,Bale,,,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper rutrum nulla,2022-06-22,807.74,User,vgunning1z,Vince,Gunning,vgunning1z@arstechnica.com,,10-27-28 -"Schowalter, Grady and Stracke",Backhoe,LHC-9749327,Fire Protection,Walker-Towne,Ankunding-Ledner,Schinner Group,3460146131,Flo,,4031MX62O09,aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2023-02-14,2051.25,User,akneath13,Arron,Kneath,akneath13@sphinn.com,,10-27-28 -Schulist-Marks,Dragline,HUM-7311338,Sitework & Site Utilities,Berge Inc,Okuneva Group,Roberts-Anderson,4146242985,Bondon,,0468AG53C12,,2022-05-20,2788.78,Location,,,,,"O'Conner, Nitzsche and Aufderhar",10-27-28 -Cole-Feeney,Trencher,LHK-1308041,"Temp Fencing, Decorative Fencing and Gates","Upton, Feil and Jast","Stokes, Daniel and Johnson",Lindgren-Marquardt,7648736489,Robby,,,massa donec dapibus duis at velit eu est congue elementum in hac habitasse,2022-11-02,2755.2,User,dkent23,Debbi,Kent,dkent23@mtv.com,,10-27-28 -O'Hara Inc,Backhoe,CIC-1996687,"Temp Fencing, Decorative Fencing and Gates","Romaguera, Goldner and Crooks","Romaguera, Goldner and Crooks",Frami and Sons,5059462108,Bale,,5053ZY27R14,placerat praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede morbi,2023-01-17,2100.84,User,kephson2f,Kimberly,Ephson,kephson2f@sina.com.cn,,10-27-28 -Rolfson-Kulas,Dump Truck,YBW-8150273,EIFS,Krajcik LLC,"Upton, Feil and Jast","Wilkinson, Waters and Kerluke",5490351215,Mabelle,,9162YL93W88,ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2023-01-14,877.57,Location,,,,,Fritsch-Abernathy,10-27-28 -Lehner-Effertz,Excavator,OFB-4987804,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Waters LLC,2712763720,Robby,,0270YA01J87,sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus,2022-09-03,3428.56,User,acansdell14,Adela,Cansdell,acansdell14@cbc.ca,,10-27-28 -"Dietrich, Von and Mante",Excavator,RXG-3730482,Elevator,Rippin-Schiller,"Botsford, Boyle and Herzog",Lindgren-Marquardt,0868073143,Jere,,8281VU07P52,,2023-01-25,713.89,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,,10-27-28 -Predovic-Roob,Bulldozer,ATA-2489950,EIFS,"Botsford, Boyle and Herzog","Romaguera, Goldner and Crooks",Frami and Sons,8905034852,Chase,platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,,,2023-02-07,1138.85,User,odella1g,Osgood,Della,odella1g@hc360.com,,10-27-28 -Adams-Larkin,Grader,SFI-7496689,"Doors, Frames & Hardware","Kutch, Johnson and Olson",Abernathy-Stamm,Lynch and Sons,3092970929,Flo,id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo,0649BJ66S09,at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac,2022-09-10,278.59,,,,,,,10-27-28 -"Beier, Grant and Thiel",Grader,GSX-1706311,Masonry,"Heaney, Altenwerth and Emmerich",Mosciski Inc,Ledner-Barrows,5141273631,Mabelle,convallis nunc proin at turpis a pede posuere nonummy integer non velit donec diam neque vestibulum eget,6967FJ73D06,sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam,2022-07-18,1732.28,Location,,,,,Fritsch-Abernathy,10-27-28 -Armstrong Group,Dump Truck,LXV-5626274,Plumbing & Medical Gas,Rippin-Schiller,Ankunding-Ledner,"Wilkinson, Waters and Kerluke",3202695143,Jeana,,5970GY37L93,purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus,2022-10-11,1981.53,User,cwinfreyl,Casper,Winfrey,cwinfreyl@adobe.com,,10-27-28 -Rodriguez-Schultz,Excavator,BRF-0336967,Structural and Misc Steel (Fabrication),Abernathy-Stamm,"Botsford, Boyle and Herzog","Torp, Kautzer and Rodriguez",8211664431,Nial,nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo rhoncus sed vestibulum,,ultrices erat tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi,2022-12-30,4924.25,User,mgooday1q,Mariellen,Gooday,mgooday1q@alexa.com,,10-27-28 -"Huels, Satterfield and Kautzer",Backhoe,CVH-2946076,Painting & Vinyl Wall Covering,Ankunding-Ledner,"Upton, Feil and Jast",Frami and Sons,0835287084,Paloma,justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus,,,2022-07-15,2406.57,,,,,,,10-27-28 -"Lueilwitz, Herzog and Runte",Skid-Steer,OTH-2531332,HVAC,Mosciski Inc,Ankunding-Ledner,Ledner-Barrows,7517530461,Paloma,,1256WA18C94,,2023-01-14,531.46,,,,,,,10-27-28 -Funk LLC,Grader,ZMB-4808007,Fire Sprinkler System,"Upton, Feil and Jast",Ankunding-Ledner,"Wilkinson, Waters and Kerluke",4467089765,Jeana,,0663SC93W29,quis orci eget orci vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2022-07-19,4741.85,,,,,,,10-27-28 -"Doyle, Kulas and Mosciski",Dump Truck,XES-9665196,Masonry & Precast,"Botsford, Boyle and Herzog",Pacocha-Goodwin,Ledner-Barrows,4220776022,Sumner,,0099EC66L98,in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis,2022-08-06,276.15,,,,,,,10-27-28 -"Robel, Johnston and Crist",Excavator,KUJ-7232314,Construction Clean and Final Clean,Ankunding-Ledner,"Romaguera, Goldner and Crooks",Fritsch-Abernathy,5757955088,Paloma,,4270AX61I99,,2022-09-21,3749.65,Location,,,,,"Wilkinson, Waters and Kerluke",10-27-28 -Wiza-Mante,Grader,UNN-0016298,Roofing (Metal),Watsica LLC,Ankunding-Ledner,Frami and Sons,6746036070,Tommy,interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis congue vivamus metus arcu adipiscing molestie,9540RE21E79,est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat,2022-08-08,4600.22,Location,,,,,Roberts-Anderson,10-27-28 -Jacobi Group,Bulldozer,JRP-9799959,Roofing (Metal),Rippin-Schiller,"Stokes, Daniel and Johnson",Russel Group,1090875903,Nobe,,5159PT28N59,,2023-05-02,3255.63,Location,,,,,Pacocha-Kiehn,10-27-28 -Murazik-Cormier,Crawler,GTI-0627775,Marlite Panels (FED),"Kutch, Johnson and Olson","Fritsch, Sauer and Conn",Powlowski LLC,7650476155,Jeana,,9055CM63Z89,,2022-06-24,1295.04,Location,,,,,"Jenkins, Goldner and Cruickshank",10-27-28 -"Simonis, Schulist and Volkman",Compactor,WEL-4481760,RF Shielding,Mosciski Inc,Rippin-Schiller,Powlowski LLC,6908782578,Bale,curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,3712NE31P89,,2022-08-02,2038.79,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,10-27-28 -Conroy-Abshire,Grader,VKB-3777629,Masonry & Precast,Krajcik LLC,Pollich LLC,Erdman-West,6651233484,Illa,duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non velit donec,,in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,2023-04-28,4988.38,,,,,,,10-27-28 -Mueller and Sons,Bulldozer,YFK-3812221,Waterproofing & Caulking,Rippin-Schiller,Berge Inc,"Mills, Gleichner and Schamberger",3679743009,Illa,sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus curabitur at ipsum ac tellus semper interdum,2077OM84Z52,,2022-09-18,3085.39,User,moscullya,Maurice,O'Scully,moscullya@engadget.com,,10-27-28 -"Turner, Schulist and Hodkiewicz",Compactor,ENN-1432777,Ornamental Railings,"Romaguera, Goldner and Crooks","Kunde, Doyle and Kozey","Mills, Gleichner and Schamberger",7184133416,Robby,,6321OY95W96,,2022-09-25,4517.54,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,10-27-28 -Dicki-Hartmann,Skid-Steer,JNS-3537485,Epoxy Flooring,Pacocha-Goodwin,Mosciski Inc,Pacocha-Kiehn,2137927703,Mabelle,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam,2809IW22A70,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,2022-09-12,4293.51,,,,,,,10-27-28 -Schoen and Sons,Dump Truck,RAA-2200532,Soft Flooring and Base,Walker-Towne,"Upton, Feil and Jast",Waters LLC,5479047972,Beverly,maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra,,,2023-01-19,1760.88,User,rsapeyb,Raquela,Sapey,rsapeyb@furl.net,,10-27-28 -"Rolfson, Champlin and Cole",Bulldozer,GDB-9523081,EIFS,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast",Frami and Sons,6544577007,Rolland,,,,2022-11-29,2769.18,,,,,,,10-27-28 -"Maggio, Wolff and Friesen",Excavator,IOH-2003935,Structural and Misc Steel (Fabrication),Okuneva Group,Abernathy-Stamm,Lindgren-Marquardt,1508089431,Flo,vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2753UJ02X37,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus,2022-08-05,3709.55,,,,,,,10-27-28 -Brekke-Hoeger,Backhoe,UPX-0286727,Plumbing & Medical Gas,"Upton, Feil and Jast",Rippin-Schiller,Lynch and Sons,6217027186,Bondon,,6387KP57B15,vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec,2023-03-21,4138.24,,,,,,,10-27-28 -Konopelski Inc,Dump Truck,NZE-5809675,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Erdman-West,8486277027,Mabelle,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus,4732FS58G78,,2023-05-11,114.69,,,,,,,10-27-28 -"Nolan, Kertzmann and Rippin",Bulldozer,YXY-3875893,RF Shielding,"Romaguera, Goldner and Crooks",Abernathy-Stamm,Frami and Sons,7979699903,Bondon,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt,4378XF72E06,,2023-04-29,1781.53,,,,,,,10-27-28 -Stroman and Sons,Skid-Steer,BDD-0117730,"Temp Fencing, Decorative Fencing and Gates",Okuneva Group,Mosciski Inc,Frami and Sons,1053653041,Karry,,0484GG78J91,odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat,2022-09-12,4854.6,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,10-27-28 -Howe-Volkman,Crawler,YMB-2902862,Masonry & Precast,"Kutch, Johnson and Olson",Krajcik LLC,Roberts-Anderson,0269899359,Nial,,2685ZN23G49,,2022-08-27,133.33,User,jdriffill2,Jeanne,Driffill,jdriffill2@google.fr,,10-27-28 -Heathcote and Sons,Skid-Steer,LWA-2897309,Exterior Signage,"Heaney, Altenwerth and Emmerich",Okuneva Group,Schinner Group,1268560442,Paloma,,8414GM02P21,,2022-12-27,4524.09,,,,,,,10-27-28 -Borer-Aufderhar,Scraper,OOY-9898294,Electrical,Pacocha-Goodwin,Berge Inc,"Nitzsche, Gislason and Douglas",4556315148,Karry,,0187NT56E91,,2022-08-21,390.85,,,,,,,10-27-28 +Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,"Macbook Pro 13""",,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,,,,,,2028-10-27 +"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,"Macbook Pro 13""",ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,2028-10-27 +Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,"Macbook Pro 13""",,9929FR08W85,,2023-03-01,2300.71,Location,,,,,Pacocha-Kiehn,2028-10-27 +Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,"Macbook Pro 13""",neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,2022-10-26,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,2028-10-27 +Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,"Macbook Pro 13""",turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,2022-07-24,2967.97,,,,,,,2028-10-27 +Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,"Macbook Pro 13""",,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-10-01,3819.73,,,,,,,2028-10-27 +Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,"Macbook Pro 13""",blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,2022-06-25,2711.89,Location,,,,,"McGlynn, Hagenes and Bruen",2028-10-27 +"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,"Macbook Pro 13""",sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,"",erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,2022-07-24,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,,2028-10-27 +Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,"Macbook Pro 13""",orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,"",vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-11,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,2028-10-27 +Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,"Macbook Pro 13""",velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,"",,2022-08-25,2448.17,Location,,,,,Lynch and Sons,2028-10-27 +Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,"Macbook Pro 13""",sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,"",rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,2022-12-23,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,,"" +"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,"Macbook Pro 13""",curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,"",amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,2023-05-14,3178.59,Location,,,,,"O'Conner, Nitzsche and Aufderhar","" +Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,"Macbook Pro 13""",molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,"",,2023-05-07,3322.34,,,,,,,"" +Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,"Macbook Pro 13""",egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,"",,2022-09-03,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,"" +"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,"Macbook Pro 13""",,"",,2022-12-17,1614.68,Location,,,,,Roberts-Anderson,"" +Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,"Macbook Pro 13""",dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,2022-11-02,1444.69,Location,,,,,Fritsch-Abernathy,"" +Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,"Macbook Pro 13""",maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,2022-09-07,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,,"" +"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,"Macbook Pro 13""",,5505YF23M46,,2023-02-10,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,,"" +Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,"Macbook Pro 13""",,8673QP30R80,,2022-06-20,1784.66,Location,,,,,Lynch and Sons,"" +"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,"Macbook Pro 13""",nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,2022-12-15,668.43,Location,,,,,Russel Group,"" +Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,"Macbook Pro 13""",quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,2022-12-27,3391.42,,,,,,,"" +Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,2022-06-24,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,,2028-10-27 +"Rau, O'Kon and Predovic",Grader,KUW-8075173,Hard Tile & Stone,"Kunde, Doyle and Kozey",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",3235657209,Tommy,,8752PQ41C20,,2023-04-16,2428.95,User,wtomblin2r,Waiter,Tomblin,wtomblin2r@cisco.com,,2028-10-27 +"Rodriguez, Rippin and Maggio",Backhoe,KGD-2478881,Epoxy Flooring,"Upton, Feil and Jast",Krajcik LLC,Roberts-Anderson,9968615213,Sumner,,,interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,2022-11-14,2353.49,,,,,,,2028-10-27 +Collins-Langworth,Backhoe,NLM-1912680,Glass & Glazing,Walker-Towne,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",2439578863,Paloma,quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum,4241FY30X65,aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo,2022-05-29,413.99,User,esargersonc,El,Sargerson,esargersonc@moonfruit.com,,2028-10-27 +"Tillman, Rippin and Robel",Backhoe,HKF-2889015,Framing (Steel),Rippin-Schiller,"Upton, Feil and Jast","Nitzsche, Gislason and Douglas",1249482779,Mabelle,,7737HG97C81,nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante,2022-09-27,174.79,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,2028-10-27 +Bogisich-Gerhold,Excavator,HIN-5577764,HVAC,Ankunding-Ledner,"Kutch, Johnson and Olson",Treutel Inc,5300366684,Robby,,,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia,2023-04-09,4662.35,User,bogg1s,Blakeley,Ogg,bogg1s@examiner.com,,2028-10-27 +DuBuque-Jones,Excavator,RSF-1042461,Roofing (Asphalt),Abernathy-Stamm,"Stokes, Daniel and Johnson",Frami and Sons,8526994711,Jere,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean,,,2022-11-25,2356.93,,,,,,,2028-10-27 +Runolfsson-McCullough,Scraper,DAK-0644656,Framing (Wood),Mosciski Inc,"Legros, Paucek and Collier",Lynch and Sons,5644034134,Mabelle,,3664GP06B10,molestie nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu,2022-10-05,3912.18,User,mnollet1,Maury,Nollet,mnollet1@ow.ly,,2028-10-27 +Hilpert-Vandervort,Crawler,XWJ-0341580,Roofing (Asphalt),Ankunding-Ledner,Abernathy-Stamm,"Mills, Gleichner and Schamberger",0635168064,Chase,,9438FZ85N89,dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien,2022-08-28,4426.46,User,nhumburton1m,Noelle,Humburton,nhumburton1m@ow.ly,,2028-10-27 +"Schmitt, Kuhlman and Gusikowski",Excavator,UQF-6263661,Electrical,"Upton, Feil and Jast","Kunde, Doyle and Kozey",Fritsch-Abernathy,6394370767,Ward,,0642OF31I56,adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum primis,2022-12-04,3182.1,Location,,,,,Powlowski LLC,2028-10-27 +Klein Inc,Excavator,IOC-4424021,Elevator,Watsica LLC,Pacocha-Goodwin,Treutel Inc,9408196701,Beverly,,4124VH09F17,,2022-09-12,3321.66,,,,,,,2028-10-27 +"Runte, Feeney and Lueilwitz",Compactor,TBU-9704770,Drilled Shafts,"Kunde, Doyle and Kozey",Rippin-Schiller,"Nitzsche, Gislason and Douglas",5300662174,Jere,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,,,2022-07-19,1573.26,User,tdoumerquef,Tobe,Doumerque,tdoumerquef@twitpic.com,,2028-10-27 +Reinger LLC,Dump Truck,TTW-1274810,Masonry,"Heaney, Altenwerth and Emmerich",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",6161734867,Karry,,,,2023-03-05,2677.79,User,rtitterrell0,Rora,Titterrell,rtitterrell0@prnewswire.com,,2028-10-27 +"Breitenberg, Crooks and Goldner",Grader,RIU-2781610,Drilled Shafts,Pollich LLC,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",1424455064,Nial,,6982GT82L84,,2023-03-22,4085.21,User,otaverner7,Odey,Taverner,otaverner7@discuz.net,,2028-10-27 +"Rolfson, Pollich and Kertzmann",Compactor,BFO-5970934,"Doors, Frames & Hardware","Romaguera, Goldner and Crooks",Pacocha-Goodwin,Pacocha-Kiehn,9193131620,Robby,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium,3185PP20K43,gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras,2022-05-31,1819.48,,,,,,,2028-10-27 +Luettgen Inc,Grader,QEY-4583797,Painting & Vinyl Wall Covering,"Upton, Feil and Jast","Kunde, Doyle and Kozey","O'Conner, Nitzsche and Aufderhar",6610625137,Debbi,,4971UO73K02,,2022-07-07,4635.63,User,glippitt22,Gregorius,Lippitt,glippitt22@yandex.ru,,2028-10-27 +"Hermann, Cremin and Crona",Dragline,OPB-2390560,Ornamental Railings,"Fritsch, Sauer and Conn",Ankunding-Ledner,Treutel Inc,7358467570,Beverly,,7467PI87D35,nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-04-09,2089.47,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,,2028-10-27 +Cruickshank-Blanda,Grader,CUD-4868409,Electrical and Fire Alarm,Watsica LLC,Ankunding-Ledner,Treutel Inc,7859007380,Kizzee,,0709PI47U54,,2023-01-19,484.12,,,,,,,2028-10-27 +"Reilly, Yundt and Keeling",Bulldozer,ORL-2640580,RF Shielding,"Legros, Paucek and Collier",Berge Inc,Schinner Group,8731356307,Bondon,,6643DS43O77,,2023-03-29,254.99,,,,,,,2028-10-27 +"Franecki, Nolan and Swift",Trencher,GFV-9868944,RF Shielding,"Kunde, Doyle and Kozey","Kunde, Doyle and Kozey",Lynch and Sons,8841110804,Karry,,1465WJ98O96,,2022-08-27,1191.44,User,acharplinge,Andreana,Charpling,acharplinge@dell.com,,2028-10-27 +"Lind, Reinger and Grant",Dump Truck,KFR-9464842,Epoxy Flooring,"Botsford, Boyle and Herzog","Upton, Feil and Jast",Erdman-West,5382312507,Nial,,7440CN27Q04,amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in,2022-08-19,430.07,,,,,,,2028-10-27 +Quigley Inc,Dragline,XQS-0788077,Casework,Ankunding-Ledner,"Fritsch, Sauer and Conn",Lynch and Sons,5163086523,Rolland,ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel,1663OK46D26,,2022-12-25,1308.3,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,,2028-10-27 +Hudson-Graham,Dragline,APW-0602098,Waterproofing & Caulking,"Romaguera, Goldner and Crooks",Berge Inc,Waters LLC,1473905199,Mabelle,urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat,,,2022-08-18,2037.76,Location,,,,,"Mills, Gleichner and Schamberger",2028-10-27 +"Schmeler, Dietrich and Buckridge",Crawler,RFX-9706298,Drilled Shafts,Krajcik LLC,Krajcik LLC,Roberts-Anderson,2238031407,Robby,ornare consequat lectus in est risus auctor sed tristique in,7387DP63Q90,tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh,2023-02-13,3395.33,Location,,,,,Erdman-West,2028-10-27 +"Jast, Cassin and Hane",Grader,EQQ-2912281,Wall Protection,"Fritsch, Sauer and Conn",Krajcik LLC,Lynch and Sons,6313951394,Mabelle,sagittis sapien cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus etiam vel augue vestibulum,4541TF76I78,tempus semper est quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum primis,2022-05-25,4787.17,Location,,,,,Schinner Group,2028-10-27 +Bergstrom-Block,Excavator,IEG-8406586,Masonry,Mosciski Inc,Mosciski Inc,Roberts-Anderson,6040029438,Bondon,cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit,4324BJ82Z56,,2022-09-09,2371.3,Location,,,,,Powlowski LLC,2028-10-27 +"Powlowski, Lowe and Streich",Dragline,ZCB-5287486,Roofing (Asphalt),Watsica LLC,Watsica LLC,"McGlynn, Hagenes and Bruen",6324836270,Debbi,,7369JZ83X28,pede ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2022-05-30,3261.46,User,ohynson1y,Olivia,Hynson,ohynson1y@ask.com,,2028-10-27 +"Purdy, Leannon and Boyer",Crawler,VVZ-9417930,Retaining Wall and Brick Pavers,"Botsford, Boyle and Herzog","Legros, Paucek and Collier",Schinner Group,1391767652,Bale,,,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper rutrum nulla,2022-06-22,807.74,User,vgunning1z,Vince,Gunning,vgunning1z@arstechnica.com,,2028-10-27 +"Schowalter, Grady and Stracke",Backhoe,LHC-9749327,Fire Protection,Walker-Towne,Ankunding-Ledner,Schinner Group,3460146131,Flo,,4031MX62O09,aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2023-02-14,2051.25,User,akneath13,Arron,Kneath,akneath13@sphinn.com,,2028-10-27 +Schulist-Marks,Dragline,HUM-7311338,Sitework & Site Utilities,Berge Inc,Okuneva Group,Roberts-Anderson,4146242985,Bondon,,0468AG53C12,,2022-05-20,2788.78,Location,,,,,"O'Conner, Nitzsche and Aufderhar",2028-10-27 +Cole-Feeney,Trencher,LHK-1308041,"Temp Fencing, Decorative Fencing and Gates","Upton, Feil and Jast","Stokes, Daniel and Johnson",Lindgren-Marquardt,7648736489,Robby,,,massa donec dapibus duis at velit eu est congue elementum in hac habitasse,2022-11-02,2755.2,User,dkent23,Debbi,Kent,dkent23@mtv.com,,2028-10-27 +O'Hara Inc,Backhoe,CIC-1996687,"Temp Fencing, Decorative Fencing and Gates","Romaguera, Goldner and Crooks","Romaguera, Goldner and Crooks",Frami and Sons,5059462108,Bale,,5053ZY27R14,placerat praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede morbi,2023-01-17,2100.84,User,kephson2f,Kimberly,Ephson,kephson2f@sina.com.cn,,2028-10-27 +Rolfson-Kulas,Dump Truck,YBW-8150273,EIFS,Krajcik LLC,"Upton, Feil and Jast","Wilkinson, Waters and Kerluke",5490351215,Mabelle,,9162YL93W88,ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2023-01-14,877.57,Location,,,,,Fritsch-Abernathy,2028-10-27 +Lehner-Effertz,Excavator,OFB-4987804,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Waters LLC,2712763720,Robby,,0270YA01J87,sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus,2022-09-03,3428.56,User,acansdell14,Adela,Cansdell,acansdell14@cbc.ca,,2028-10-27 +"Dietrich, Von and Mante",Excavator,RXG-3730482,Elevator,Rippin-Schiller,"Botsford, Boyle and Herzog",Lindgren-Marquardt,0868073143,Jere,,8281VU07P52,,2023-01-25,713.89,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,,2028-10-27 +Predovic-Roob,Bulldozer,ATA-2489950,EIFS,"Botsford, Boyle and Herzog","Romaguera, Goldner and Crooks",Frami and Sons,8905034852,Chase,platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,,,2023-02-07,1138.85,User,odella1g,Osgood,Della,odella1g@hc360.com,,2028-10-27 +Adams-Larkin,Grader,SFI-7496689,"Doors, Frames & Hardware","Kutch, Johnson and Olson",Abernathy-Stamm,Lynch and Sons,3092970929,Flo,id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo,0649BJ66S09,at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac,2022-09-10,278.59,,,,,,,2028-10-27 +"Beier, Grant and Thiel",Grader,GSX-1706311,Masonry,"Heaney, Altenwerth and Emmerich",Mosciski Inc,Ledner-Barrows,5141273631,Mabelle,convallis nunc proin at turpis a pede posuere nonummy integer non velit donec diam neque vestibulum eget,6967FJ73D06,sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam,2022-07-18,1732.28,Location,,,,,Fritsch-Abernathy,2028-10-27 +Armstrong Group,Dump Truck,LXV-5626274,Plumbing & Medical Gas,Rippin-Schiller,Ankunding-Ledner,"Wilkinson, Waters and Kerluke",3202695143,Jeana,,5970GY37L93,purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus,2022-10-11,1981.53,User,cwinfreyl,Casper,Winfrey,cwinfreyl@adobe.com,,2028-10-27 +Rodriguez-Schultz,Excavator,BRF-0336967,Structural and Misc Steel (Fabrication),Abernathy-Stamm,"Botsford, Boyle and Herzog","Torp, Kautzer and Rodriguez",8211664431,Nial,nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo rhoncus sed vestibulum,,ultrices erat tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi,2022-12-30,4924.25,User,mgooday1q,Mariellen,Gooday,mgooday1q@alexa.com,,2028-10-27 +"Huels, Satterfield and Kautzer",Backhoe,CVH-2946076,Painting & Vinyl Wall Covering,Ankunding-Ledner,"Upton, Feil and Jast",Frami and Sons,0835287084,Paloma,justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus,,,2022-07-15,2406.57,,,,,,,2028-10-27 +"Lueilwitz, Herzog and Runte",Skid-Steer,OTH-2531332,HVAC,Mosciski Inc,Ankunding-Ledner,Ledner-Barrows,7517530461,Paloma,,1256WA18C94,,2023-01-14,531.46,,,,,,,2028-10-27 +Funk LLC,Grader,ZMB-4808007,Fire Sprinkler System,"Upton, Feil and Jast",Ankunding-Ledner,"Wilkinson, Waters and Kerluke",4467089765,Jeana,,0663SC93W29,quis orci eget orci vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2022-07-19,4741.85,,,,,,,2028-10-27 +"Doyle, Kulas and Mosciski",Dump Truck,XES-9665196,Masonry & Precast,"Botsford, Boyle and Herzog",Pacocha-Goodwin,Ledner-Barrows,4220776022,Sumner,,0099EC66L98,in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis,2022-08-06,276.15,,,,,,,2028-10-27 +"Robel, Johnston and Crist",Excavator,KUJ-7232314,Construction Clean and Final Clean,Ankunding-Ledner,"Romaguera, Goldner and Crooks",Fritsch-Abernathy,5757955088,Paloma,,4270AX61I99,,2022-09-21,3749.65,Location,,,,,"Wilkinson, Waters and Kerluke",2028-10-27 +Wiza-Mante,Grader,UNN-0016298,Roofing (Metal),Watsica LLC,Ankunding-Ledner,Frami and Sons,6746036070,Tommy,interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis congue vivamus metus arcu adipiscing molestie,9540RE21E79,est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat,2022-08-08,4600.22,Location,,,,,Roberts-Anderson,2028-10-27 +Jacobi Group,Bulldozer,JRP-9799959,Roofing (Metal),Rippin-Schiller,"Stokes, Daniel and Johnson",Russel Group,1090875903,Nobe,,5159PT28N59,,2023-05-02,3255.63,Location,,,,,Pacocha-Kiehn,2028-10-27 +Murazik-Cormier,Crawler,GTI-0627775,Marlite Panels (FED),"Kutch, Johnson and Olson","Fritsch, Sauer and Conn",Powlowski LLC,7650476155,Jeana,,9055CM63Z89,,2022-06-24,1295.04,Location,,,,,"Jenkins, Goldner and Cruickshank",2028-10-27 +"Simonis, Schulist and Volkman",Compactor,WEL-4481760,RF Shielding,Mosciski Inc,Rippin-Schiller,Powlowski LLC,6908782578,Bale,curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,3712NE31P89,,2022-08-02,2038.79,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,2028-10-27 +Conroy-Abshire,Grader,VKB-3777629,Masonry & Precast,Krajcik LLC,Pollich LLC,Erdman-West,6651233484,Illa,duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non velit donec,,in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,2023-04-28,4988.38,,,,,,,2028-10-27 +Mueller and Sons,Bulldozer,YFK-3812221,Waterproofing & Caulking,Rippin-Schiller,Berge Inc,"Mills, Gleichner and Schamberger",3679743009,Illa,sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus curabitur at ipsum ac tellus semper interdum,2077OM84Z52,,2022-09-18,3085.39,User,moscullya,Maurice,O'Scully,moscullya@engadget.com,,2028-10-27 +"Turner, Schulist and Hodkiewicz",Compactor,ENN-1432777,Ornamental Railings,"Romaguera, Goldner and Crooks","Kunde, Doyle and Kozey","Mills, Gleichner and Schamberger",7184133416,Robby,,6321OY95W96,,2022-09-25,4517.54,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,2028-10-27 +Dicki-Hartmann,Skid-Steer,JNS-3537485,Epoxy Flooring,Pacocha-Goodwin,Mosciski Inc,Pacocha-Kiehn,2137927703,Mabelle,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam,2809IW22A70,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,2022-09-12,4293.51,,,,,,,2028-10-27 +Schoen and Sons,Dump Truck,RAA-2200532,Soft Flooring and Base,Walker-Towne,"Upton, Feil and Jast",Waters LLC,5479047972,Beverly,maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra,,,2023-01-19,1760.88,User,rsapeyb,Raquela,Sapey,rsapeyb@furl.net,,2028-10-27 +"Rolfson, Champlin and Cole",Bulldozer,GDB-9523081,EIFS,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast",Frami and Sons,6544577007,Rolland,,,,2022-11-29,2769.18,,,,,,,2028-10-27 +"Maggio, Wolff and Friesen",Excavator,IOH-2003935,Structural and Misc Steel (Fabrication),Okuneva Group,Abernathy-Stamm,Lindgren-Marquardt,1508089431,Flo,vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2753UJ02X37,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus,2022-08-05,3709.55,,,,,,,2028-10-27 +Brekke-Hoeger,Backhoe,UPX-0286727,Plumbing & Medical Gas,"Upton, Feil and Jast",Rippin-Schiller,Lynch and Sons,6217027186,Bondon,,6387KP57B15,vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec,2023-03-21,4138.24,,,,,,,2028-10-27 +Konopelski Inc,Dump Truck,NZE-5809675,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Erdman-West,8486277027,Mabelle,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus,4732FS58G78,,2023-05-11,114.69,,,,,,,2028-10-27 +"Nolan, Kertzmann and Rippin",Bulldozer,YXY-3875893,RF Shielding,"Romaguera, Goldner and Crooks",Abernathy-Stamm,Frami and Sons,7979699903,Bondon,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt,4378XF72E06,,2023-04-29,1781.53,,,,,,,2028-10-27 +Stroman and Sons,Skid-Steer,BDD-0117730,"Temp Fencing, Decorative Fencing and Gates",Okuneva Group,Mosciski Inc,Frami and Sons,1053653041,Karry,,0484GG78J91,odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat,2022-09-12,4854.6,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,2028-10-27 +Howe-Volkman,Crawler,YMB-2902862,Masonry & Precast,"Kutch, Johnson and Olson",Krajcik LLC,Roberts-Anderson,0269899359,Nial,,2685ZN23G49,,2022-08-27,133.33,User,jdriffill2,Jeanne,Driffill,jdriffill2@google.fr,,2028-10-27 +Heathcote and Sons,Skid-Steer,LWA-2897309,Exterior Signage,"Heaney, Altenwerth and Emmerich",Okuneva Group,Schinner Group,1268560442,Paloma,,8414GM02P21,,2022-12-27,4524.09,,,,,,,2028-10-27 +Borer-Aufderhar,Scraper,OOY-9898294,Electrical,Pacocha-Goodwin,Berge Inc,"Nitzsche, Gislason and Douglas",4556315148,Karry,,0187NT56E91,,2022-08-21,390.85,,,,,,,2028-10-27 "Hauck, Bogisich and King",Dragline,XHB-6046299,Sitework & Site Utilities,"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",9343736607,Debbi,aliquam erat volutpat in congue etiam justo etiam pretium iaculis,8559BT54S22,in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate,2022-05-25,1439.23,Location,,,,,Ledner-Barrows, "Upton, Luettgen and Mayer",Grader,JVB-8844609,Structural & Misc Steel Erection,Pollich LLC,"Kunde, Doyle and Kozey",Treutel Inc,6715000024,Karry,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper,0088HF56H55,,2022-12-17,4849.95,Location,,,,,"McGlynn, Hagenes and Bruen", Fadel Inc,Skid-Steer,VAA-1096481,Hard Tile & Stone,Mosciski Inc,Krajcik LLC,Schinner Group,2384395201,Nobe,parturient montes nascetur ridiculus mus etiam vel augue vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id,,tortor duis mattis egestas metus aenean fermentum donec ut mauris,2022-07-15,1190.44,User,tphysick3,Tiphanie,Physick,tphysick3@umn.edu,, From 30dade1fbad27ff5b66f5d1edc0860b675cfbcf1 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 6 Sep 2023 17:01:00 -0500 Subject: [PATCH 26/54] cleanup --- app/Importer/ItemImporter.php | 5 ++--- app/Observers/AssetObserver.php | 13 ++++++------- database/factories/AssetFactory.php | 1 - 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 8f979dfdee..0a03ae8b86 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -95,11 +95,10 @@ class ItemImporter extends Importer try { $this->item['asset_eol_date'] = CarbonImmutable::parse($csvMatch)->format('Y-m-d'); } catch (\Exception $e) { - Log::alert($e->getMessage()); - $this->log('Error parsing date: '.$csvMatch); + Log::info($e->getMessage()); + $this->log('Unable to parse date: '.$csvMatch); } } elseif ($this->createOrFetchAssetModel($row) != null) { - //woof this is ugly if($eol = AssetModel::find($this->createOrFetchAssetModel($row))->eol) { $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'purchase_date'))->addMonths($eol)->format('Y-m-d'); } diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 5e76a73edb..4bcbc6882f 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -130,17 +130,16 @@ class AssetObserver } //determine if explicit and set eol_explit to true - //conditions might need more work - if(!is_null($asset->asset_eol_date) && !is_null($asset->purchase_date)) { - if($asset->model->eol) { + if(!is_null($asset->asset_eol_date) && !is_null($asset->purchase_date)) { + if($asset->model->eol) { $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); if($months != $asset->model->eol) { $asset->eol_explicit = true; - } - } else { - $asset->eol_explicit = true; + } } - } + } elseif (!is_null($asset->asset_eol_date) && is_null($asset->purchase_date)) { + $asset->eol_explicit = true; + } } diff --git a/database/factories/AssetFactory.php b/database/factories/AssetFactory.php index 644d292eb6..ccb6474e5a 100644 --- a/database/factories/AssetFactory.php +++ b/database/factories/AssetFactory.php @@ -352,5 +352,4 @@ class AssetFactory extends Factory { return $this->state(['requestable' => false]); } - } From 3a63bcab73ccf3b99b5eb6db2e19071cd7deb623 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 7 Sep 2023 10:22:08 -0500 Subject: [PATCH 27/54] temporarily show on its own line --- resources/views/hardware/view.blade.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 0383404e0e..4de0b9fd18 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -656,6 +656,25 @@ @else {{ trans('general.na_no_purchase_date') }} @endif + {{--@if ($asset->eol_explicit) + + @endif--}} + + +
+
+ + Explicit EOL + +
+
+ {{ $asset->eol_explicit ? 'Yes' : 'No' }}
@endif From ccf3fe40ec79a44765b5f91d02455627eb28e5d5 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 7 Sep 2023 11:40:27 -0500 Subject: [PATCH 28/54] rm additional row --- resources/views/hardware/view.blade.php | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 4de0b9fd18..cc3f9564c1 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -656,7 +656,7 @@ @else {{ trans('general.na_no_purchase_date') }} @endif - {{--@if ($asset->eol_explicit) + @if ($asset->eol_explicit) - @endif--}} - - -
-
- - Explicit EOL - -
-
- {{ $asset->eol_explicit ? 'Yes' : 'No' }} + @endif
@endif From 53d4fd1d0b0bf6d1ee4984e75f6354bc07d7af8c Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 12 Sep 2023 18:01:33 -0500 Subject: [PATCH 29/54] purchase_date --- app/Observers/AssetObserver.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 4bcbc6882f..17e94a85bd 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -124,8 +124,8 @@ class AssetObserver public function saving(Asset $asset) { //determine if calculated eol and then calculate it - this should only happen on a new asset - if(is_null($asset->asset_eol_date) && !is_null($asset->asset_purchase_date) && !is_null($asset->model->eol)){ - $asset->asset_eol_date = $asset->purchase_date->addMonths($asset->model->eol)->format('Y-m-d'); + if(is_null($asset->asset_eol_date) && !is_null($asset->purchase_date) && !is_null($asset->model->eol)){ + $asset->asset_eol_date = $asset->purchase_date->addMonths($asset->model->eol)->format('Y-m-d'); $asset->eol_explicit = false; } From 7047869367ddac3182b272797f14c62fb021a7e7 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 12 Sep 2023 18:03:13 -0500 Subject: [PATCH 30/54] cleanup --- app/Models/Asset.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index b3dd781426..72d94cfbcc 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -89,7 +89,6 @@ class Asset extends Depreciable 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', - 'eol_explicit' => 'boolean', ]; protected $rules = [ @@ -108,8 +107,7 @@ class Asset extends Depreciable 'serial' => 'unique_serial|nullable', 'purchase_cost' => 'numeric|nullable|gte:0', 'supplier_id' => 'exists:suppliers,id|nullable', - //something not working here... - // 'asset_eol_date' => 'date_format:Y-m-d|nullable', + //'asset_eol_date' => 'date_format:Y-m-d|nullable', 'eol_explicit' => 'boolean|nullable', 'byod' => 'boolean', ]; @@ -145,6 +143,7 @@ class Asset extends Depreciable 'eol_explicit', 'last_audit_date', 'next_audit_date', + 'asset_eol_date', 'eol_explicit', ]; From e21a8b6717a9d1af0c2d3a6e5e2691ab5e6adfb6 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 12 Sep 2023 18:11:36 -0500 Subject: [PATCH 31/54] fix up this file --- app/Http/Controllers/Assets/AssetsController.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 880f6ae011..8451ab9b96 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -19,15 +19,14 @@ use Illuminate\Support\Facades\Auth; use App\View\Label; use Carbon\Carbon; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\Gate; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; use League\Csv\Reader; -use Redirect; -use Response; -use Illuminate\View\View; +use Illuminate\Support\Facades\Redirect; /** * This class controls all actions related to assets for From 70a251de550c0bfabacf100714024c251f839a5d Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 13:51:14 -0500 Subject: [PATCH 32/54] fix up gui edit --- app/Http/Controllers/Assets/AssetsController.php | 14 ++++++++++++-- .../views/partials/forms/edit/eol_date.blade.php | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 8451ab9b96..05ed7d6021 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -313,8 +313,18 @@ class AssetsController extends Controller $asset->purchase_date = $request->input('purchase_date', null); $asset->asset_eol_date = Carbon::parse($request->input('purchase_date'))->addMonths($asset->model->eol)->format('Y-m-d'); } elseif ($request->filled('asset_eol_date')) { - $asset->eol_explicit = request('eol_explicit', null); - } + $asset->asset_eol_date = $request->input('asset_eol_date', null); + $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + if($asset->model->eol) { + if($months != $asset->model->eol) { + $asset->eol_explicit = true; + } else { + $asset->eol_explicit = false; + } + } else { + $asset->eol_explicit = true; + } + } else { $asset->purchase_date = $request->input('purchase_date', null); $asset->asset_eol_date = request('asset_eol_date', $asset->present()->eol_date()); diff --git a/resources/views/partials/forms/edit/eol_date.blade.php b/resources/views/partials/forms/edit/eol_date.blade.php index 4e57610165..daa8fdf441 100644 --- a/resources/views/partials/forms/edit/eol_date.blade.php +++ b/resources/views/partials/forms/edit/eol_date.blade.php @@ -3,7 +3,7 @@
- +
{!! $errors->first('asset_eol_date', '') !!} From 951521dc8111baeeca9fff64ea4bef3a91f2de3e Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 15:20:55 -0500 Subject: [PATCH 33/54] push --- app/Http/Livewire/Importer.php | 5 +++-- app/Importer/ItemImporter.php | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/Http/Livewire/Importer.php b/app/Http/Livewire/Importer.php index 488187ec72..6fd86c0491 100644 --- a/app/Http/Livewire/Importer.php +++ b/app/Http/Livewire/Importer.php @@ -194,7 +194,8 @@ class Importer extends Component ]; $this->assets_fields = [ - 'asset_eol_date' => trans('general.eol'), + //'asset_eol_date' => trans('general.eol'), + 'asset_eol_date' => 'asset_eol_date', 'company' => trans('general.company'), 'location' => trans('general.location'), 'item_name' => trans('general.item_name_var', ['item' => trans('general.asset')]), @@ -216,7 +217,7 @@ class Importer extends Component 'manufacturer' => trans('general.manufacturer'), 'order_number' => trans('general.order_number'), 'image' => trans('general.importer.image_filename'), - 'asset_eol_date' => trans('admin/hardware/form.eol_date'), + //'asset_eol_date' => trans('admin/hardware/form.eol_date'), /** * Checkout fields: * Assets can be checked out to other assets, people, or locations, but we currently diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 0a03ae8b86..0d17ecaedb 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -99,7 +99,14 @@ class ItemImporter extends Importer $this->log('Unable to parse date: '.$csvMatch); } } elseif ($this->createOrFetchAssetModel($row) != null) { - if($eol = AssetModel::find($this->createOrFetchAssetModel($row))->eol) { + if(AssetModel::find($this->createOrFetchAssetModel($row))->eol && $this->findCsvMatch($row, 'purchase_date') != '') { + $eol = AssetModel::find($this->createOrFetchAssetModel($row))->eol; + $months = CarbonImmutable::parse($this->findCsvMatch($row, 'asset_eol_date'))->diffInMonths($this->findCsvMatch($row, 'purchase_date')); + if($months != $eol) { + $this->item['eol_explicit'] = true; + } else { + $this->item['eol_explicit'] = false; + } $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'purchase_date'))->addMonths($eol)->format('Y-m-d'); } } From 0368b9df437dbcd3ffad7e6806b8fcff95f39385 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 17:16:17 -0500 Subject: [PATCH 34/54] viola --- app/Importer/ItemImporter.php | 11 ----------- app/Observers/AssetObserver.php | 4 +++- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index 0d17ecaedb..c966c9f3c9 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -98,17 +98,6 @@ class ItemImporter extends Importer Log::info($e->getMessage()); $this->log('Unable to parse date: '.$csvMatch); } - } elseif ($this->createOrFetchAssetModel($row) != null) { - if(AssetModel::find($this->createOrFetchAssetModel($row))->eol && $this->findCsvMatch($row, 'purchase_date') != '') { - $eol = AssetModel::find($this->createOrFetchAssetModel($row))->eol; - $months = CarbonImmutable::parse($this->findCsvMatch($row, 'asset_eol_date'))->diffInMonths($this->findCsvMatch($row, 'purchase_date')); - if($months != $eol) { - $this->item['eol_explicit'] = true; - } else { - $this->item['eol_explicit'] = false; - } - $this->item['asset_eol_date'] = CarbonImmutable::parse($this->findCsvMatch($row, 'purchase_date'))->addMonths($eol)->format('Y-m-d'); - } } $this->item['qty'] = $this->findCsvMatch($row, 'quantity'); diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php index 17e94a85bd..3cbaedded2 100644 --- a/app/Observers/AssetObserver.php +++ b/app/Observers/AssetObserver.php @@ -140,7 +140,9 @@ class AssetObserver } elseif (!is_null($asset->asset_eol_date) && is_null($asset->purchase_date)) { $asset->eol_explicit = true; } - + if ((!is_null($asset->asset_eol_date)) && (!is_null($asset->purchase_date)) && (is_null($asset->model->eol))) { + $asset->eol_explicit = true; + } } } From ef64843d2ff64fbc4b9f158bd0badea814f16233 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 17:41:45 -0500 Subject: [PATCH 35/54] chunk migration, needs to be tested --- ...add_column_for_explicit_date_to_assets.php | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 1eb8d0084a..d2a8bb97fb 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -18,34 +18,37 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration Schema::table('assets', function (Blueprint $table) { $table->boolean('eol_explicit')->default(false)->after('asset_eol_date'); }); - - + + // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value - $assetsWithEolDates = Asset::whereNotNull('asset_eol_date')->get(); - foreach($assetsWithEolDates as $asset) { - if($asset->asset_eol_date && $asset->purchase_date) { - $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); - if($asset->model->eol) { - if($months != $asset->model->eol) { + $assetsWithEolDates = Asset::whereNotNull('asset_eol_date')->chunk(100, function ($assetsWithEolDates) { + foreach ($assetsWithEolDates as $asset) { + if ($asset->asset_eol_date && $asset->purchase_date) { + $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + if ($asset->model->eol) { + if ($months != $asset->model->eol) { + $asset->update(['eol_explicit' => true]); + } + } else { $asset->update(['eol_explicit' => true]); } - } else { - $asset->update(['eol_explicit' => true]); } } - } + }); unset($assetsWithEolDates); // Update the asset_eol_date column with the calculated value if it doesn't exist - $assets = Asset::whereNull('asset_eol_date')->get(); - foreach ($assets as $asset) { - $model = Asset::find($asset->id)->model; - if (!empty($model->eol)) { + $assets = Asset::whereNull('asset_eol_date')->chunk(100, function ($assets) { + foreach ($assets as $asset) { + $model = Asset::find($asset->id)->model; + if (!empty($model->eol)) { $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); $asset->update(['asset_eol_date' => $asset_eol_date]); } } - } + }); + } + /** * Reverse the migrations. From 64a9859efd26b4f692e11bd3a4b8c5cfb16a97c1 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 17:58:33 -0500 Subject: [PATCH 36/54] cleanup --- app/Importer/ItemImporter.php | 1 - ...alized_eol_and_add_column_for_explicit_date_to_assets.php | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/app/Importer/ItemImporter.php b/app/Importer/ItemImporter.php index c966c9f3c9..4e53ef60b7 100644 --- a/app/Importer/ItemImporter.php +++ b/app/Importer/ItemImporter.php @@ -245,7 +245,6 @@ class ItemImporter extends Importer $this->log('Asset Model Updated'); return $asset_model->id; - // here } $this->log('No Matching Model, Creating a new one'); diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index d2a8bb97fb..04c1e70f99 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -21,7 +21,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value - $assetsWithEolDates = Asset::whereNotNull('asset_eol_date')->chunk(100, function ($assetsWithEolDates) { + Asset::whereNotNull('asset_eol_date')->chunk(100, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); @@ -35,10 +35,9 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration } } }); - unset($assetsWithEolDates); // Update the asset_eol_date column with the calculated value if it doesn't exist - $assets = Asset::whereNull('asset_eol_date')->chunk(100, function ($assets) { + Asset::whereNull('asset_eol_date')->chunk(100, function ($assets) { foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; if (!empty($model->eol)) { From 7c9a4ac161fd0236d24baad6a2351ddb8f7a68e7 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 13 Sep 2023 18:15:13 -0500 Subject: [PATCH 37/54] immutable --- ...lized_eol_and_add_column_for_explicit_date_to_assets.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 04c1e70f99..ddcf96bb79 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -1,7 +1,7 @@ chunk(100, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { - $months = Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + $months = CarbonImmutable::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); if ($asset->model->eol) { if ($months != $asset->model->eol) { $asset->update(['eol_explicit' => true]); @@ -41,7 +41,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; if (!empty($model->eol)) { - $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); + $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); $asset->update(['asset_eol_date' => $asset_eol_date]); } } From 44441ec7031a2c8e379cf92726f03f0aa820658d Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 14 Sep 2023 14:25:02 -0500 Subject: [PATCH 38/54] up chunk size --- ...malized_eol_and_add_column_for_explicit_date_to_assets.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index ddcf96bb79..60bca98b73 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -21,7 +21,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value - Asset::whereNotNull('asset_eol_date')->chunk(100, function ($assetsWithEolDates) { + Asset::whereNotNull('asset_eol_date')->chunk(500, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { $months = CarbonImmutable::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); @@ -37,7 +37,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration }); // Update the asset_eol_date column with the calculated value if it doesn't exist - Asset::whereNull('asset_eol_date')->chunk(100, function ($assets) { + Asset::whereNull('asset_eol_date')->chunk(500, function ($assets) { foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; if (!empty($model->eol)) { From f35f9f922ee75fb4140a1548d47d5a6bf97ec108 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 14 Sep 2023 15:32:17 -0500 Subject: [PATCH 39/54] safety & catch & log --- ...and_add_column_for_explicit_date_to_assets.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 60bca98b73..a29e343086 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -5,6 +5,7 @@ use Carbon\CarbonImmutable; use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; +use Illuminate\Support\Facades\Log; class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration { @@ -24,7 +25,11 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration Asset::whereNotNull('asset_eol_date')->chunk(500, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { - $months = CarbonImmutable::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + try { + $months = CarbonImmutable::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date); + } catch (\Exception $e) { + Log::info('asset_eol_date invalid for asset '.$asset->id); + } if ($asset->model->eol) { if ($months != $asset->model->eol) { $asset->update(['eol_explicit' => true]); @@ -40,8 +45,12 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration Asset::whereNull('asset_eol_date')->chunk(500, function ($assets) { foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; - if (!empty($model->eol)) { - $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); + if (!empty($model->eol) && !empty($asset->purchase_date)) { + try { + $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); + } catch (\Exception $e) { + Log::info('purchase date invalid for asset '.$asset->id); + } $asset->update(['asset_eol_date' => $asset_eol_date]); } } From aac627592b0900797130b4a4fa4ba4298d045cc5 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 14 Sep 2023 15:43:00 -0500 Subject: [PATCH 40/54] move logic inside of try --- ...ormalized_eol_and_add_column_for_explicit_date_to_assets.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index a29e343086..a5acaa0701 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -48,10 +48,10 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration if (!empty($model->eol) && !empty($asset->purchase_date)) { try { $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); + $asset->update(['asset_eol_date' => $asset_eol_date]); } catch (\Exception $e) { Log::info('purchase date invalid for asset '.$asset->id); } - $asset->update(['asset_eol_date' => $asset_eol_date]); } } }); From afe9d43139345f46cbb2fc44484c609fd367b6b9 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 14 Sep 2023 16:00:35 -0500 Subject: [PATCH 41/54] chunk by id? --- ...malized_eol_and_add_column_for_explicit_date_to_assets.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index a5acaa0701..12c67154b8 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -22,7 +22,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value - Asset::whereNotNull('asset_eol_date')->chunk(500, function ($assetsWithEolDates) { + Asset::whereNotNull('asset_eol_date')->chunkById(500, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { try { @@ -42,7 +42,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration }); // Update the asset_eol_date column with the calculated value if it doesn't exist - Asset::whereNull('asset_eol_date')->chunk(500, function ($assets) { + Asset::whereNull('asset_eol_date')->chunkById(500, function ($assets) { foreach ($assets as $asset) { $model = Asset::find($asset->id)->model; if (!empty($model->eol) && !empty($asset->purchase_date)) { From 1cfd7673e02a01370e234e37bac770a0910d41e8 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Thu, 14 Sep 2023 16:11:24 -0500 Subject: [PATCH 42/54] change Importer.php back --- app/Http/Livewire/Importer.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/Http/Livewire/Importer.php b/app/Http/Livewire/Importer.php index 6fd86c0491..7899182a60 100644 --- a/app/Http/Livewire/Importer.php +++ b/app/Http/Livewire/Importer.php @@ -194,8 +194,6 @@ class Importer extends Component ]; $this->assets_fields = [ - //'asset_eol_date' => trans('general.eol'), - 'asset_eol_date' => 'asset_eol_date', 'company' => trans('general.company'), 'location' => trans('general.location'), 'item_name' => trans('general.item_name_var', ['item' => trans('general.asset')]), @@ -217,7 +215,7 @@ class Importer extends Component 'manufacturer' => trans('general.manufacturer'), 'order_number' => trans('general.order_number'), 'image' => trans('general.importer.image_filename'), - //'asset_eol_date' => trans('admin/hardware/form.eol_date'), + 'asset_eol_date' => trans('admin/hardware/form.eol_date'), /** * Checkout fields: * Assets can be checked out to other assets, people, or locations, but we currently From 929e107a205a7e404bb744235d1e75a2cc295649 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 18:04:16 -0500 Subject: [PATCH 43/54] rm byod from casts --- app/Models/Asset.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 72d94cfbcc..29fced4b56 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -85,7 +85,6 @@ class Asset extends Depreciable 'location_id' => 'integer', 'rtd_company_id' => 'integer', 'supplier_id' => 'integer', - 'byod' => 'boolean', 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', From 6b4f8f1813dc25d23d354c0edca97671d835bc04 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 18:07:15 -0500 Subject: [PATCH 44/54] rm duplicate fillable --- app/Models/Asset.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 29fced4b56..3fcdc88676 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -143,7 +143,6 @@ class Asset extends Depreciable 'last_audit_date', 'next_audit_date', 'asset_eol_date', - 'eol_explicit', ]; use Searchable; From 3cb906a05ffe81e25f48feec0fbe765fc4da11f7 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 18:23:06 -0500 Subject: [PATCH 45/54] pushing to switch branches and test --- ...ed_eol_and_add_column_for_explicit_date_to_assets.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index 12c67154b8..ae362a66d5 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -22,7 +22,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value - Asset::whereNotNull('asset_eol_date')->chunkById(500, function ($assetsWithEolDates) { + Asset::whereNotNull('asset_eol_date')->with('model')->chunkById(500, function ($assetsWithEolDates) { foreach ($assetsWithEolDates as $asset) { if ($asset->asset_eol_date && $asset->purchase_date) { try { @@ -42,12 +42,11 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration }); // Update the asset_eol_date column with the calculated value if it doesn't exist - Asset::whereNull('asset_eol_date')->chunkById(500, function ($assets) { + Asset::whereNull('asset_eol_date')->with('model')->chunkById(500, function ($assets) { foreach ($assets as $asset) { - $model = Asset::find($asset->id)->model; - if (!empty($model->eol) && !empty($asset->purchase_date)) { + if (!empty($asset->model->eol) && !empty($asset->purchase_date)) { try { - $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($model->eol)->format('Y-m-d'); + $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); $asset->update(['asset_eol_date' => $asset_eol_date]); } catch (\Exception $e) { Log::info('purchase date invalid for asset '.$asset->id); From 2d59517c359a359b667c4cdc4449705ce9b4c079 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 18:40:23 -0500 Subject: [PATCH 46/54] rm !empty --- ...ormalized_eol_and_add_column_for_explicit_date_to_assets.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php index ae362a66d5..ae103ba153 100644 --- a/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php +++ b/database/migrations/2023_07_13_052204_denormalized_eol_and_add_column_for_explicit_date_to_assets.php @@ -44,7 +44,7 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration // Update the asset_eol_date column with the calculated value if it doesn't exist Asset::whereNull('asset_eol_date')->with('model')->chunkById(500, function ($assets) { foreach ($assets as $asset) { - if (!empty($asset->model->eol) && !empty($asset->purchase_date)) { + if ($asset->model->eol && $asset->purchase_date) { try { $asset_eol_date = CarbonImmutable::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); $asset->update(['asset_eol_date' => $asset_eol_date]); From d65d1930e40febfbd7baf38623e7fe9afac57188 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 19:24:53 -0500 Subject: [PATCH 47/54] asset models --- app/Http/Controllers/AssetModelsController.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index 9a54bb2ace..d7a135dd76 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -92,11 +92,6 @@ class AssetModelsController extends Controller // Was it created? if ($model->save()) { - if ($request->filled('eol')) { - $newEol = $model->eol; - $model->assets()->whereNotNull('purchase_date')->where('eol_explicit', false) - ->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); - } if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))){ return redirect()->back()->withInput()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error')); @@ -186,9 +181,7 @@ class AssetModelsController extends Controller if ($model->wasChanged('eol')) { $newEol = $model->eol; $model->assets()->whereNotNull('purchase_date')->where('eol_explicit', false) - //this DB::raw is so that we can use an ->update() which is _much_ faster than foreaching - //but, laravel doesn't have a way to access a column inside an update - ->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL :newEol MONTH)', ['newEol' => $newEol])]); + ->update(['asset_eol_date' => DB::raw('DATE_ADD(purchase_date, INTERVAL ' . $newEol . ' MONTH)')]); } return redirect()->route('models.index')->with('success', trans('admin/models/message.update.success')); } From 2ace24b176f2546031394c104979edd6e30d5b9b Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Tue, 19 Sep 2023 19:38:59 -0500 Subject: [PATCH 48/54] csv header --- sample_csvs/assets-sample.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample_csvs/assets-sample.csv b/sample_csvs/assets-sample.csv index 78f20287a0..c17cac3bc8 100644 --- a/sample_csvs/assets-sample.csv +++ b/sample_csvs/assets-sample.csv @@ -1,4 +1,4 @@ -Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,asset eol date +Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,Asset EOL Date Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,"Macbook Pro 13""",,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,,,,,,2028-10-27 "Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,"Macbook Pro 13""",ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,2028-10-27 Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,"Macbook Pro 13""",,9929FR08W85,,2023-03-01,2300.71,Location,,,,,Pacocha-Kiehn,2028-10-27 From c48a47936cf61027f36a2063e69345567fe3ff7e Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 20 Sep 2023 14:00:59 -0500 Subject: [PATCH 49/54] add validation back in --- app/Models/Asset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 3fcdc88676..e2ffb7ee99 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -106,7 +106,7 @@ class Asset extends Depreciable 'serial' => 'unique_serial|nullable', 'purchase_cost' => 'numeric|nullable|gte:0', 'supplier_id' => 'exists:suppliers,id|nullable', - //'asset_eol_date' => 'date_format:Y-m-d|nullable', + 'asset_eol_date' => 'date|nullable', 'eol_explicit' => 'boolean|nullable', 'byod' => 'boolean', ]; From 7dab59c98d3dc16053b3016f6812538751f49675 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 20 Sep 2023 14:17:30 -0500 Subject: [PATCH 50/54] fix for no eol, fix for optional in view --- app/Http/Controllers/Assets/AssetsController.php | 8 ++++---- resources/views/partials/forms/edit/eol_date.blade.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 05ed7d6021..d243b3c883 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -291,10 +291,10 @@ class AssetsController extends Controller /** * Validate and process asset edit form. * - * @author [A. Gianotto] [] * @param int $assetId - * @since [v1.0] - * @return Redirect + * @return \Illuminate\Http\RedirectResponse|Redirect + *@since [v1.0] + * @author [A. Gianotto] [] */ public function update(ImageUploadRequest $request, $assetId = null) { @@ -309,7 +309,7 @@ class AssetsController extends Controller $asset->warranty_months = $request->input('warranty_months', null); $asset->purchase_cost = $request->input('purchase_cost', null); $asset->purchase_date = $request->input('purchase_date', null); - if ($request->filled('purchase_date') && !$request->filled('asset_eol_date')) { + if ($request->filled('purchase_date') && !$request->filled('asset_eol_date') && $asset->model->eol) { $asset->purchase_date = $request->input('purchase_date', null); $asset->asset_eol_date = Carbon::parse($request->input('purchase_date'))->addMonths($asset->model->eol)->format('Y-m-d'); } elseif ($request->filled('asset_eol_date')) { diff --git a/resources/views/partials/forms/edit/eol_date.blade.php b/resources/views/partials/forms/edit/eol_date.blade.php index daa8fdf441..88055cfc0e 100644 --- a/resources/views/partials/forms/edit/eol_date.blade.php +++ b/resources/views/partials/forms/edit/eol_date.blade.php @@ -3,7 +3,7 @@
- +
{!! $errors->first('asset_eol_date', '') !!} From cbef5318119c8a6a08d2b97d36e028750171e6bb Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 20 Sep 2023 14:26:49 -0500 Subject: [PATCH 51/54] parse purchase date even though it's cast --- app/Presenters/AssetPresenter.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 178632c2d4..a28df34189 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -3,6 +3,7 @@ namespace App\Presenters; use App\Models\CustomField; +use Carbon\CarbonImmutable; use DateTime; /** @@ -429,7 +430,7 @@ class AssetPresenter extends Presenter public function eol_date() { if (($this->purchase_date) && ($this->model->model) && ($this->model->model->eol)) { - return $this->purchase_date->addMonths($this->model->model->eol)->format('Y-m-d'); + return CarbonImmutable::parse($this->purchase_date)->addMonths($this->model->model->eol)->format('Y-m-d'); } } From a9123754f5917f980ad11b80f73f144bd88fc33e Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 20 Sep 2023 14:34:42 -0500 Subject: [PATCH 52/54] remove unnecessary code --- app/Http/Controllers/Assets/AssetsController.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index d243b3c883..3a1197f4a3 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -401,10 +401,6 @@ class AssetsController extends Controller if ($asset->save()) { - if($asset->wasChanged('purchase_date') && $asset->eol_explicit == false){ - $asset_eol_date = Carbon::parse($asset->purchase_date)->addMonths($asset->model->eol)->format('Y-m-d'); - $asset->update(['asset_eol_date' => $asset_eol_date]); - } return redirect()->route('hardware.show', $assetId) ->with('success', trans('admin/hardware/message.update.success')); } From 4660a2e5b7fd108a27d383c00a11b896ce8d64e5 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 20 Sep 2023 14:37:32 -0500 Subject: [PATCH 53/54] rm more duplicate --- app/Http/Controllers/Assets/AssetsController.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 3a1197f4a3..92922c4cdf 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -325,13 +325,6 @@ class AssetsController extends Controller $asset->eol_explicit = true; } } - else { - $asset->purchase_date = $request->input('purchase_date', null); - $asset->asset_eol_date = request('asset_eol_date', $asset->present()->eol_date()); - } - - - $asset->purchase_date = $request->input('purchase_date', null); $asset->supplier_id = $request->input('supplier_id', null); $asset->expected_checkin = $request->input('expected_checkin', null); From 724c054838eb80c5c633d347a6413cbb893460be Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Mon, 2 Oct 2023 12:06:24 -0700 Subject: [PATCH 54/54] Log non-compliant barcode error as debug message --- app/Models/Labels/Label.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Labels/Label.php b/app/Models/Labels/Label.php index 69f67f6760..b727c1cb18 100644 --- a/app/Models/Labels/Label.php +++ b/app/Models/Labels/Label.php @@ -374,7 +374,7 @@ abstract class Label try { $pdf->write1DBarcode($value, $type, $x, $y, $width, $height, null, ['stretch'=>true]); } catch (\Exception|TypeError $e) { - \Log::error('The 1D barcode ' . $value . ' is not compliant with the barcode type '. $type); + \Log::debug('The 1D barcode ' . $value . ' is not compliant with the barcode type '. $type); } }