Period Lock - prototype (2nd demo based on PM feedback)

This commit is contained in:
Dillon Ngo
2025-11-19 07:13:15 +08:00
parent ddda929049
commit c2eefe806a
27 changed files with 737 additions and 15 deletions
+15 -1
View File
@@ -4,8 +4,10 @@ namespace App\Http\Resources;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\DocumentType;
use App\Classes\ValueObjects\Constants\KVPKey;
use App\Classes\ValueObjects\Constants\TransactionType;
use App\Models\Booking;
use App\Models\KeyValuePair;
use App\Models\Transaction;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
@@ -32,6 +34,16 @@ class GroupResource extends JsonResource
if(!$this->issuerCompany){
dd($this->id);
}
$ui_payments_complete_currecy_orders_is_locked = ($this->status === 3)
? KeyValuePair::whereNull('owner_type')->whereNull('owner_id')
->whereIn('key', [KVPKey::UI_PAYMENTS_COMPLETE_CURRENCY_ORDERS_IS_LOCKED])->where('value', 1)->first()
: null;
$ui_payments_open_currecy_orders_is_locked = ($this->status === 0 || $this->status === 1 || $this->status === 2)
? KeyValuePair::whereNull('owner_type')->whereNull('owner_id')
->whereIn('key', [KVPKey::UI_PAYMENTS_OPEN_CURRENCY_ORDERS_IS_LOCKED])->where('value', 1)->first()
: null;
return [
'id' => $this->id,
'original_amount' => (float) $this->original_amount,
@@ -55,7 +67,9 @@ class GroupResource extends JsonResource
'documents' => [
'currency_order' => new DocumentResource($this->documents()->where('document_type', DocumentType::CURRENCY_VENDOR_ORDER)->first()),
'purchase_order' => new DocumentResource($this->documents()->where('document_type', DocumentType::BULK_PURCHASE_ORDER)->first())
]
],
'ui_payments_complete_currecy_orders_is_locked' => $ui_payments_complete_currecy_orders_is_locked ? 1 : 0,
'ui_payments_open_currecy_orders_is_locked' => $ui_payments_open_currecy_orders_is_locked ? 1 : 0,
];
}
}