Skip to content

Commit f0349bb

Browse files
refactor(Models): enhance property annotations and add query methods for Contract, EmployeePayment, and Invoice models
1 parent 3a8cb55 commit f0349bb

3 files changed

Lines changed: 63 additions & 12 deletions

File tree

app/Models/Contract.php

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,31 @@
77
use Illuminate\Database\Eloquent\Relations\BelongsTo;
88

99
/**
10-
* @property-read \App\Models\EmployeeInfo|null $employeeInfo
10+
* @property int $id
11+
* @property int $employee_info_id
12+
* @property string $start_date
13+
* @property string $end_date
14+
* @property string $rate_type
15+
* @property string $rate
16+
* @property string $contract_type
17+
* @property \Illuminate\Support\Carbon|null $created_at
18+
* @property \Illuminate\Support\Carbon|null $updated_at
19+
* @property-read \App\Models\EmployeeInfo $employeeInfo
1120
* @property-read mixed $duration
12-
* @property-read mixed $total_earnings
21+
*
1322
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract newModelQuery()
1423
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract newQuery()
1524
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract query()
25+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereContractType($value)
26+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereCreatedAt($value)
27+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereEmployeeInfoId($value)
28+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereEndDate($value)
29+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereId($value)
30+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereRate($value)
31+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereRateType($value)
32+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereStartDate($value)
33+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Contract whereUpdatedAt($value)
34+
*
1635
* @mixin \Eloquent
1736
*/
1837
class Contract extends Model
@@ -34,14 +53,6 @@ public function getDurationAttribute()
3453
return Carbon::parse($this->start_date)->diffForHumans($this->end_date);
3554
}
3655

37-
/**
38-
* Calculate total earnings for the contract based on rate type.
39-
*/
40-
public function getTotalEarningsAttribute($monthYear)
41-
{
42-
return $this->rate_type === 'monthly' ? $this->rate : $this->rate * Carbon::parse($monthYear)->daysInMonth;
43-
}
44-
4556
public function employeeInfo(): BelongsTo
4657
{
4758
return $this->belongsTo(EmployeeInfo::class);

app/Models/EmployeePayment.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,28 @@
66
use Illuminate\Database\Eloquent\Relations\BelongsTo;
77

88
/**
9-
* @property-read \App\Models\EmployeeInfo|null $employeeInfo
9+
* @property int $id
10+
* @property int $employee_info_id
11+
* @property string|null $payment_date
12+
* @property string $amount
13+
* @property string $payment_method
14+
* @property string|null $transaction_reference
15+
* @property \Illuminate\Support\Carbon|null $created_at
16+
* @property \Illuminate\Support\Carbon|null $updated_at
17+
* @property-read \App\Models\EmployeeInfo $employeeInfo
18+
*
1019
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment newModelQuery()
1120
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment newQuery()
1221
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment query()
22+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereAmount($value)
23+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereCreatedAt($value)
24+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereEmployeeInfoId($value)
25+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereId($value)
26+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment wherePaymentDate($value)
27+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment wherePaymentMethod($value)
28+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereTransactionReference($value)
29+
* @method static \Illuminate\Database\Eloquent\Builder<static>|EmployeePayment whereUpdatedAt($value)
30+
*
1331
* @mixin \Eloquent
1432
*/
1533
class EmployeePayment extends Model

app/Models/Invoice.php

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,32 @@
55
use Illuminate\Database\Eloquent\Model;
66

77
/**
8-
* @property-read \App\Models\PatientInfo|null $patientInfo
8+
* @property int $id
9+
* @property int $patient_info_id
10+
* @property string $consultation_date
11+
* @property string|null $notes
12+
* @property string $due_date
13+
* @property string $amount
14+
* @property string $payment_method
15+
* @property string $status
16+
* @property \Illuminate\Support\Carbon|null $created_at
17+
* @property \Illuminate\Support\Carbon|null $updated_at
18+
* @property-read \App\Models\PatientInfo $patientInfo
19+
*
920
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice newModelQuery()
1021
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice newQuery()
1122
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice query()
23+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereAmount($value)
24+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereConsultationDate($value)
25+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereCreatedAt($value)
26+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereDueDate($value)
27+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereId($value)
28+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereNotes($value)
29+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice wherePatientInfoId($value)
30+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice wherePaymentMethod($value)
31+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereStatus($value)
32+
* @method static \Illuminate\Database\Eloquent\Builder<static>|Invoice whereUpdatedAt($value)
33+
*
1234
* @mixin \Eloquent
1335
*/
1436
class Invoice extends Model

0 commit comments

Comments
 (0)