[FEAT] 實作公共事業費逾期提醒、租戶自訂通知設定及發送測試信功能
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 56s
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 56s
This commit is contained in:
@@ -34,13 +34,16 @@ class UtilityFeeController extends Controller
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'transaction_date' => 'required|date',
|
||||
'transaction_date' => 'nullable|date',
|
||||
'due_date' => 'required|date',
|
||||
'category' => 'required|string|max:255',
|
||||
'amount' => 'required|numeric|min:0',
|
||||
'invoice_number' => 'nullable|string|max:255',
|
||||
'description' => 'nullable|string',
|
||||
]);
|
||||
|
||||
$validated['payment_status'] = $this->determineStatus($validated);
|
||||
|
||||
$fee = UtilityFee::create($validated);
|
||||
|
||||
activity()
|
||||
@@ -55,13 +58,16 @@ class UtilityFeeController extends Controller
|
||||
public function update(Request $request, UtilityFee $utility_fee)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'transaction_date' => 'required|date',
|
||||
'transaction_date' => 'nullable|date',
|
||||
'due_date' => 'required|date',
|
||||
'category' => 'required|string|max:255',
|
||||
'amount' => 'required|numeric|min:0',
|
||||
'invoice_number' => 'nullable|string|max:255',
|
||||
'description' => 'nullable|string',
|
||||
]);
|
||||
|
||||
$validated['payment_status'] = $this->determineStatus($validated);
|
||||
|
||||
$utility_fee->update($validated);
|
||||
|
||||
activity()
|
||||
@@ -73,6 +79,22 @@ class UtilityFeeController extends Controller
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
/**
|
||||
* 判定繳費狀態
|
||||
*/
|
||||
private function determineStatus(array $data): string
|
||||
{
|
||||
if (!empty($data['transaction_date'])) {
|
||||
return UtilityFee::STATUS_PAID;
|
||||
}
|
||||
|
||||
if (!empty($data['due_date']) && now()->startOfDay()->gt(\Illuminate\Support\Carbon::parse($data['due_date']))) {
|
||||
return UtilityFee::STATUS_OVERDUE;
|
||||
}
|
||||
|
||||
return UtilityFee::STATUS_PENDING;
|
||||
}
|
||||
|
||||
public function destroy(UtilityFee $utility_fee)
|
||||
{
|
||||
activity()
|
||||
|
||||
Reference in New Issue
Block a user