Hoan thien core finance v2
This commit is contained in:
158
NEXT_SESSION.md
Normal file
158
NEXT_SESSION.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# HQLAND - HƯỚNG DẪN PHIÊN LÀM VIỆC TIẾP THEO
|
||||
|
||||
> File này giúp AI Agent nhanh chóng bắt nhịp khi bạn chuyển sang máy tính khác.
|
||||
> **Cập nhật:** 24/04/2026
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ THÔNG BÁO QUAN TRỌNG
|
||||
|
||||
Có **26 file thay đổi CHƯA COMMIT**. Bạn cần commit hoặc stash trước khi chuyển máy, nếu không sẽ mất toàn bộ công việc vừa làm!
|
||||
|
||||
```bash
|
||||
# Cách 1: Commit ngay (KHUYẾN NGHỊ)
|
||||
git add -A
|
||||
git commit -m "Hoan thien core finance v2"
|
||||
|
||||
# Cách 2: Hoặc stash để commit sau
|
||||
git stash -u
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 1. NHỮNG GÌ VỪA HOÀN THÀNH (Phiên hiện tại)
|
||||
|
||||
### ✅ Fix lỗi quan trọng
|
||||
- **EditAction not found:** Đã sửa namespace `Filament\Actions\EditAction` (không phải `Filament\Tables\Actions\EditAction`)
|
||||
- **User quyền truy cập:** Thêm `FilamentUser` interface vào `User.php`
|
||||
|
||||
### ✅ ContractForm + Tự động tạo lịch
|
||||
- Migration mới: `payment_template_id` trong bảng `contracts`
|
||||
- `payment_template_id` đã lưu vào DB, không còn `dehydrated(false)`
|
||||
- Tự động tạo lịch thanh toán khi tạo HĐ mới
|
||||
|
||||
### ✅ PaymentForm Validation
|
||||
- Số tiền thu không vượt quá công nợ đợt TT / công nợ HĐ
|
||||
- Helper text hiển thị công nợ còn lại
|
||||
- Fix lỗi khi edit payment (kiểm tra `instanceof Payment`)
|
||||
|
||||
### ✅ PaymentsTable
|
||||
- Thêm cột: Loại đợt, Trạng thái đối soát (Đủ/Thiếu/Thừa), Còn thiếu
|
||||
|
||||
### ✅ ContractsTable
|
||||
- Thêm cột: `paid_amount`, `remaining_amount`
|
||||
- `ContractResource` giờ delegate về `ContractsTable` Schemas
|
||||
|
||||
### ✅ Hiệu năng
|
||||
- Fix N+1 query ở `PaymentScheduleItem::getPaidAmountAttribute()` (kiểm tra `relationLoaded`)
|
||||
|
||||
### ✅ Command mới
|
||||
- `php artisan contracts:generate-schedules {--force}` - Tạo lịch hàng loạt cho 139 HĐ
|
||||
|
||||
### ✅ Resources mới
|
||||
- `PaymentFineResource` - Quản lý tiền phạt
|
||||
- `AppendixResource` - Quản lý phụ lục HĐ
|
||||
- `SettlementResource` - Quản lý quyết toán & sổ đỏ
|
||||
|
||||
### ✅ Discount Engine
|
||||
- `DiscountEngine::calculate()` - Tính chiết khấu tự động
|
||||
- Accessor `final_value` trong Contract model
|
||||
- Hiển thị giá trị sau chiết khấu cả khi create và edit
|
||||
|
||||
### ✅ Dashboard
|
||||
- `ContractStatsOverview` - 5 chỉ số tài chính tổng quan
|
||||
- `UpcomingPaymentsTable` - Danh sách đợt TT sắp đến hạn (30 ngày)
|
||||
|
||||
---
|
||||
|
||||
## 2. CẤU HÌNH DATABASE (QUAN TRỌNG)
|
||||
|
||||
### Database chính (Production)
|
||||
- **Connection:** pgsql
|
||||
- **Host:** 127.0.0.1 (từ host machine)
|
||||
- **Database:** laravel
|
||||
- **Username/Password:** sail / password
|
||||
|
||||
### Database test
|
||||
- **Database:** laravel_testing (đã tạo, migrations đã chạy)
|
||||
- **Chạy test:** `DB_HOST=127.0.0.1 ./vendor/bin/pest`
|
||||
|
||||
### Lệnh chạy Artisan
|
||||
- `DB_HOST=127.0.0.1 php artisan tinker`
|
||||
- `DB_HOST=127.0.0.1 php artisan migrate` (KHÔNG dùng `migrate:fresh`!)
|
||||
|
||||
---
|
||||
|
||||
## 3. CÁC FILE CHƯA COMMIT
|
||||
|
||||
### Modified (17 file)
|
||||
```
|
||||
AGENTS.md
|
||||
app/Console/Commands/ImportContractsComplex.php
|
||||
app/Filament/Resources/Contracts/ContractResource.php
|
||||
app/Filament/Resources/Contracts/Pages/CreateContract.php
|
||||
app/Filament/Resources/Contracts/Schemas/ContractForm.php
|
||||
app/Filament/Resources/Contracts/Tables/ContractsTable.php
|
||||
app/Filament/Resources/Payments/PaymentResource.php
|
||||
app/Filament/Resources/Payments/Schemas/PaymentForm.php
|
||||
app/Filament/Resources/Payments/Tables/PaymentsTable.php
|
||||
app/Models/Contract.php
|
||||
app/Models/PaymentScheduleItem.php
|
||||
app/Models/User.php
|
||||
app/Providers/Filament/AdminPanelProvider.php
|
||||
```
|
||||
|
||||
### Untracked mới (9 file/folder)
|
||||
```
|
||||
app/Console/Commands/GenerateContractSchedules.php
|
||||
app/Filament/Resources/Appendices/
|
||||
app/Filament/Resources/PaymentFines/
|
||||
app/Filament/Resources/Settlements/
|
||||
app/Filament/Widgets/
|
||||
app/Services/DiscountEngine.php
|
||||
database/migrations/2026_04_24_083000_add_payment_template_id_to_contracts.php
|
||||
tests/Feature/ContractResourceRenderTest.php
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. VIỆC CẦN LÀM TIẾP THEO (Checklist)
|
||||
|
||||
### 🟡 Trung bình ưu tiên
|
||||
- [ ] **Notification:** Cảnh báo đợt thanh toán sắp đến hạn (30/7/3 ngày)
|
||||
- [ ] **Export Excel:** Xuất báo cáo công nợ khách hàng
|
||||
- [ ] **Báo cáo theo Dự án:** Thống kê bán hàng, thanh toán theo dự án
|
||||
|
||||
### 🟢 Thấp ưu tiên
|
||||
- [ ] **Audit Log:** Lưu lịch sử sửa HĐ, thu tiền
|
||||
- [ ] **Queue:** Generate schedules qua queue nếu >1000 HĐ
|
||||
- [ ] **Email/SMS:** Tự động nhắc thanh toán
|
||||
- [ ] **Advanced Filter:** Tìm HĐ theo khoảng giá trị, ngày ký
|
||||
|
||||
---
|
||||
|
||||
## 5. CÂU LỆNH TEST QUAN TRỌNG
|
||||
|
||||
```bash
|
||||
# Test toàn bộ
|
||||
DB_HOST=127.0.0.1 ./vendor/bin/pest
|
||||
|
||||
# Test cụ thể
|
||||
DB_HOST=127.0.0.1 ./vendor/bin/pest --filter="ContractFinanceFlowTest"
|
||||
|
||||
# Test render (kiểm tra không bị lỗi class not found)
|
||||
DB_HOST=127.0.0.1 ./vendor/bin/pest --filter="ContractResourceRenderTest"
|
||||
```
|
||||
|
||||
**Kết quả hiện tại:** 9 tests passed, 0 failed.
|
||||
|
||||
---
|
||||
|
||||
## 6. TÀI KHOẢN ĐĂNG NHẬP
|
||||
|
||||
- **Email:** admin@phuongtc.com
|
||||
- **Password:** 1Qazxsw2@!321
|
||||
|
||||
---
|
||||
|
||||
*Lưu ý: Commit ngay lập tức trước khi tắt máy hoặc chuyển sang máy khác!*
|
||||
Reference in New Issue
Block a user