Let cheques be received or paid without an invoice, and remind staff three days before due date.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-11 11:34:49 +03:30
co-authored by Cursor
parent 9a991fc1f1
commit 9beaed96e8
18 changed files with 982 additions and 61 deletions
@@ -0,0 +1,38 @@
# چک خروجی و یادآوری سررسید — برنامه پیاده‌سازی
> اجرا در همین نشست؛ کامیت فقط اگر کاربر بخواهد.
**Goal:** دفتر چک دریافتی/پرداختی + یادآوری یک‌بار سه روز قبل از سررسید.
**Architecture:** فیلد `direction` و `reminderNotifiedAt` روی `Cheque`. زمان‌بند `@nestjs/schedule` ساعت ۸ تهران. متن و تشخیص روز در `cheque-reminder.util.ts`.
**Tech Stack:** Prisma, NestJS, Vue 3, `@nestjs/schedule`, SMS موجود، اعلان موجود.
## Global Constraints
- npm workspaces؛ Prisma فقط از `apps/api`
- متن پیامک با `یادآوری منتکت:` و حداکثر ۱۶۰ نویسه
- پرداختی به فاکتور وصل نمی‌شود؛ چک فاکتور همیشه `in`
- بدون سند حسابداری
## Files
- `apps/api/prisma/schema.prisma` + migration `20260911120000_cheque_direction_reminder`
- `packages/shared/src/index.ts`
- `apps/api/src/finance/cheque-reminder.util.ts`
- `apps/api/src/finance/__tests__/cheque-reminder.check.ts`
- `apps/api/src/finance/cheque-reminders.service.ts`
- `apps/api/src/finance/{cheques.service,dto,finance.controller,finance.module}.ts`
- `apps/api/src/invoices/invoices.service.ts`
- `apps/api/src/app.module.ts`
- `apps/api/package.json` (`@nestjs/schedule`)
- `apps/web/src/views/ChequesView.vue`
## Tasks
1. util + unit check (روز تهران، متن پیامک)
2. schema/migration + shared types
3. API create/list direction؛ فاکتور `direction: in`
4. ChequeRemindersService + cron
5. UI تب و مودال پرداخت
6. `npm run build -w @mento/shared`، migrate، generate، unit check