@fleetbase/fleetops-engine 0.4.21 → 0.4.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/composer.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetbase/fleetops-api",
3
- "version": "0.4.21",
3
+ "version": "0.4.22",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "keywords": [
6
6
  "fleetbase-extension",
package/extension.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "Fleet-Ops",
3
- "version": "0.4.21",
3
+ "version": "0.4.22",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "repository": "https://github.com/fleetbase/fleetops",
6
6
  "license": "MIT",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleetbase/fleetops-engine",
3
- "version": "0.4.21",
3
+ "version": "0.4.22",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "fleetbase": {
6
6
  "route": "fleet-ops"
@@ -36,6 +36,7 @@ class FixInvalidPolymorphicRelationTypeNamespaces extends Command
36
36
  ['model' => \Fleetbase\FleetOps\Models\Order::class, 'columns' => ['customer_type', 'facilitator_type']],
37
37
  ['model' => \Fleetbase\FleetOps\Models\Place::class, 'columns' => ['owner_type']],
38
38
  ['model' => \Fleetbase\FleetOps\Models\Entity::class, 'columns' => ['customer_type']],
39
+ ['model' => \Fleetbase\FleetOps\Models\PurchaseRate::class, 'columns' => ['customer_type']],
39
40
  ];
40
41
 
41
42
  foreach ($models as $modelConfig) {
@@ -33,7 +33,10 @@ class TrackOrderDistanceAndTime extends Command
33
33
  date_default_timezone_set('UTC');
34
34
 
35
35
  // Determine the provider
36
- $provider = $this->option('provider') ?? config('fleetops.distance_matrix.provider');
36
+ $provider = $this->option('provider');
37
+ if (!$provider) {
38
+ $provider = config('fleetops.distance_matrix.provider');
39
+ }
37
40
  $this->info("Using '{$provider}' as the provider for calculations.");
38
41
 
39
42
  // Get all active/ready orders
@@ -60,15 +63,30 @@ class TrackOrderDistanceAndTime extends Command
60
63
  }
61
64
 
62
65
  /**
63
- * Fetches active orders.
66
+ * Retrieves active orders that meet specific criteria.
67
+ *
68
+ * This method returns a collection of active orders with the following conditions:
69
+ * - Not in 'completed' or 'canceled' status.
70
+ * - Not marked as deleted (`deleted_at` is null).
71
+ * - Associated with a company (`company_uuid` is not null).
72
+ * - The order process has started (`started` is not null).
73
+ * - Contains a payload (`payload` relationship exists).
74
+ * - Created within the past month.
64
75
  *
65
- * @return \Illuminate\Database\Eloquent\Collection
76
+ * The result includes related payload data, waypoints, and information about pickup and dropoff points.
77
+ * Global scopes are not applied to this query.
78
+ *
79
+ * @return \Illuminate\Database\Eloquent\Collection collection of relevant Order objects
66
80
  */
67
81
  protected function getActiveOrders()
68
82
  {
83
+ $oneMonthAgo = Carbon::now()->subMonth();
84
+
69
85
  return Order::whereNotIn('status', ['completed', 'canceled'])
70
86
  ->whereNull('deleted_at')
71
87
  ->whereNotNull('company_uuid')
88
+ ->whereNotNull('started')
89
+ ->where('created_at', '>=', $oneMonthAgo)
72
90
  ->whereHas('payload')
73
91
  ->with(['payload', 'payload.waypoints', 'payload.pickup', 'payload.dropoff'])
74
92
  ->withoutGlobalScopes()
@@ -3,6 +3,7 @@
3
3
  namespace Fleetbase\FleetOps\Models;
4
4
 
5
5
  use Fleetbase\Casts\Json;
6
+ use Fleetbase\Casts\PolymorphicType;
6
7
  use Fleetbase\FleetOps\Casts\Point;
7
8
  use Fleetbase\FleetOps\Support\Geocoding;
8
9
  use Fleetbase\FleetOps\Support\Utils;
@@ -114,8 +115,9 @@ class Place extends Model
114
115
  * @var array
115
116
  */
116
117
  protected $casts = [
117
- 'meta' => Json::class,
118
- 'location' => Point::class,
118
+ 'meta' => Json::class,
119
+ 'location' => Point::class,
120
+ 'owner_type' => PolymorphicType::class,
119
121
  ];
120
122
 
121
123
  /**
@@ -3,6 +3,7 @@
3
3
  namespace Fleetbase\FleetOps\Models;
4
4
 
5
5
  use Fleetbase\Casts\Json;
6
+ use Fleetbase\Casts\PolymorphicType;
6
7
  use Fleetbase\FleetOps\Support\Utils;
7
8
  use Fleetbase\Models\Model;
8
9
  use Fleetbase\Traits\HasApiModelBehavior;
@@ -57,7 +58,8 @@ class PurchaseRate extends Model
57
58
  * @var array
58
59
  */
59
60
  protected $casts = [
60
- 'meta' => Json::class,
61
+ 'meta' => Json::class,
62
+ 'customer_type' => PolymorphicType::class,
61
63
  ];
62
64
 
63
65
  /**