Fix Komisi

This commit is contained in:
R
2023-04-06 06:49:04 +07:00
parent 97486da90f
commit 3ff0cc1b29
5 changed files with 65 additions and 2 deletions

View File

@@ -21,7 +21,7 @@ class PaymentController extends Controller
// return $request->toArray();
$appointments = Appointment::query()
->where('sPaymentStatus', 'settlement')
->with(['healthCare', 'detail', 'user', 'doctor', 'doctor.user']);
->with(['healthCare', 'healthCare.commission', 'detail', 'user', 'doctor', 'doctor.user']);
if ($request->has('search')) {
$appointments->where(function ($query) use ($request) {

View File

@@ -14,7 +14,12 @@ class LinksehatPaymentResource extends JsonResource
*/
public function toArray($request)
{
return parent::toArray($request);
$data = parent::toArray($request);
$data['share_komisi'] = $this->share_komisi;
$data['share_konsultasi'] = $this->share_konsultasi;
return $data;
// return [
// // 'healthcare_name' => $this->healthCare->name ?? '',

View File

@@ -115,6 +115,32 @@ class Appointment extends Model
);
}
protected function shareKonsultasi(): Attribute
{
return Attribute::make(
get: function() {
return ((float) $this->detail->sPaymentDetails['gross_amount'] ?? 0) - $this->nAdminFee;
}
);
}
protected function shareKomisi(): Attribute
{
return Attribute::make(
get: function() {
// return $this->healthCare->commission;
if ( $this->nIDJenisBooking == 3 ) { // Telekonsultasi Sekarang
return $this->shareKonsultasi * ($this->healthCare->commission->nCommissionATC) / 100;
}
else if ( $this->nIDJenisBooking == 2 ) { // Telekonsultasi
return $this->shareKonsultasi * ($this->healthCare->commission->nCommissionTC) / 100;
}
else { // Walk In
return $this->shareKonsultasi * ($this->nCommission) / 100;
}
}
);
}
public function appointmentDetail()
{

View File

@@ -20,6 +20,11 @@ class Healthcare extends Model
protected $primaryKey = 'nID';
public function commission()
{
return $this->hasOne(HealthcareCommission::class, 'nIDHealthcare', 'nID')->where('sStatus', 1);
}
public function jadwalDokter()
{
return $this->hasMany(JadwalDokter::class, 'nIDHealthCare', 'nID');

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Models\OLDLMS;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class HealthcareCommission extends Model
{
use HasFactory, SoftDeletes;
const CREATED_AT = 'dCreateOn';
const UPDATED_AT = 'dUpdateOn';
const DELETED_AT = 'dDeleteOn';
protected $connection = 'oldlms';
protected $table = 'tx_healthcare_commission';
protected $primaryKey = 'nID';
public function healthcare()
{
return $this->belongsTo(Healthcare::class, 'nIDHealthcare', 'nID');
}
}