Add checklists for tasks 11 to 14 covering credit ledger, treatment course, cancellation policies, and event utilization
- Created checklist for task 11: Package and Credit Ledger - Created checklist for task 12: Treatment Course - Created checklist for task 13: Cancellation Policy, No-Show, and Waitlist - Created checklist for task 14: Domain Events and Utilization Reports
This commit is contained in:
@@ -128,6 +128,24 @@ JSON هفتگی per `(doctor, clinic)`، هر روز چند `session` با
|
||||
- تنها منبعی که تداخلش بررسی میشود پزشک است؛ اگر دو سرویس همزمان به یک پرسنل
|
||||
یا یک دستگاه نیاز داشته باشند، سیستم متوجه نمیشود.
|
||||
|
||||
### ۲-۵ب حالت سرویسی **نیمهکاره** است — پنج شکاف در چرخهٔ عمر نوبت
|
||||
|
||||
مسیر **رزرو** کار میکند، ولی بقیهٔ چرخهٔ عمر نه. اینها پیشنیاز موتور چندمنبعیاند و
|
||||
تسکهای [۰۰](task-00-service-mode-completion/) و [۰۰ب](task-00b-nobat724-service-mode/)
|
||||
میبندندشان:
|
||||
|
||||
| # | شکاف | محل |
|
||||
|---|---|---|
|
||||
| ۱ | `PATCH /appointment/{uuid}` مدت دلخواه میپذیرد؛ بافر را نادیده میگیرد؛ فقط `service_item_uuid` تکی را بهروز میکند در حالی که `service_items` (ManyToMany) دستنخورده میماند | [AppointmentController.php:1077](../../../src/Appointment/Controller/AppointmentController.php) |
|
||||
| ۲ | `AppointmentEditPage` سه فیلد آزاد `date`/`start`/`end` دارد و هیچ `ServiceSlotPicker` ای ندارد — منشی نوبت ۴۵ دقیقهای را ۲۰ دقیقه میکند و سیستم قبول میکند | [AppointmentEditPage.tsx:74](../../../assets/admin/pages/AppointmentEditPage.tsx) |
|
||||
| ۳ | نوبت رزرو (`is_reserve`) صریحاً از حالت سرویسی حذف شده (`serviceMode = mode === 'service' && !isReserve`) و مسیر تبدیل رزرو به نوبت سرویسی وجود ندارد | [NewAppointmentDrawer.tsx:72](../../../assets/admin/components/NewAppointmentDrawer.tsx) |
|
||||
| ۴ | سایت عمومی چهار رنگ hard-code در مرحلهٔ انتخاب سرویس دارد (`#5559CE`, `#3B3B3B`, `#7A7A7A`, `bg-white`) و در دارکمود میشکند؛ همچنین مدت را **موازی با بکاند** حساب میکند | `nobat724_front/components/appointment/service/index.js` |
|
||||
| ۵ | پنل کاربر سایت نام سرویس و مدت نوبت را نشان نمیدهد و مسیر جابهجایی سرویسآگاه ندارد | `nobat724_front/.../turns/Card.js` · `isTurnsDetails/*` |
|
||||
|
||||
نکتهٔ ۴ دو مشکل در یک فایل است: انحراف از دیزاینسیستم، و منبع دوم حقیقت برای مدت.
|
||||
دومی مهمتر است — وقتی تسک ۰۴ فرمول را به «زمان تنها / زمان اضافه» عوض کند، سایت عدد
|
||||
قدیمی نشان میدهد و بیمار مدتی میبیند که با مدت واقعی نوبتش نمیخواند.
|
||||
|
||||
### ۲-۶ ثبت نوبت و همزمانی
|
||||
|
||||
[src/Appointment/Entity/Appointment.php](../../../src/Appointment/Entity/Appointment.php):
|
||||
@@ -182,6 +200,7 @@ no_show, following_up, salon` + `AppointmentEvent` برای تاریخچه. تق
|
||||
|
||||
| بخش مستند | دارد | ندارد | تسک |
|
||||
|---|---|---|---|
|
||||
| — نوبتدهی سرویسی موجود | مسیر رزرو (پنل + سایت) | ویرایش، جابهجایی، رزرو، پنل بیمار، دیزاینسیستم سایت | **۰۰، ۰۰ب** |
|
||||
| ۴ کلینیک/شعبه/اتاق | tenant دوسطحی | Branch، Room، ساعت کاری شعبه | ۰۱ |
|
||||
| ۵ تعریف خدمات | سرویس، قیمت، مدت، بیمه | گروه آیتم، دو نوع زمان، ناسازگاری، override شعبه | ۰۴ |
|
||||
| ۶ منابع | پرسنل بدون تقویم | نوع منبع، ظرفیت، مهارت، استخر، نیازمندی | ۰۲، ۰۳ |
|
||||
@@ -222,14 +241,27 @@ no_show, following_up, salon` + `AppointmentEvent` برای تاریخچه. تق
|
||||
## ۵. ترتیب اجرا
|
||||
|
||||
```
|
||||
۰۱ شعبه/اتاق ─┬─ ۰۲ منابع و مهارت ── ۰۳ تقویم منبع ─┐
|
||||
└─ ۰۴ کاتالوگ خدمات v2 ── ۰۵ بخشهای نوبت ─┴─ ۰۶ جستجوی وقت ── ۰۷ رزرو و ثبت
|
||||
│
|
||||
۰۸ قیمتگذاری و snapshot ────────────────┘
|
||||
│
|
||||
۰۹ موتور قوانین ── ۱۰ فرم و sandbox قانون
|
||||
│
|
||||
۱۱ پکیج و دفتر اعتبار ── ۱۲ دوره درمان ── ۱۳ لغو/عدمحضور/لیست انتظار
|
||||
│
|
||||
۱۴ رویدادها و گزارش بهرهوری
|
||||
۰۰ تکمیل سرویسی (clinicpro) ── ۰۰ب سازگارسازی سایت ← فاز ۰، پیشنیاز بقیه
|
||||
│
|
||||
├─ ۰۱ شعبه/اتاق ─┬─ ۰۲ منابع و مهارت ── ۰۳ تقویم منبع ─┐
|
||||
│ └─ ۰۴ کاتالوگ v2 ── ۰۵ بخشهای نوبت ─┴─ ۰۶ جستجوی وقت ── ۰۷ رزرو و ثبت
|
||||
│ │
|
||||
│ ۰۸ قیمتگذاری و snapshot ───────────────┘
|
||||
│ │
|
||||
│ ۰۹ موتور قوانین ── ۱۰ فرم و sandbox قانون
|
||||
│ │
|
||||
│ ۱۱ پکیج و دفتر اعتبار ── ۱۲ دوره درمان ── ۱۳ لغو/عدمحضور/انتظار
|
||||
│ │
|
||||
└──────────────────────── ۱۴ رویدادها و گزارش بهرهوری
|
||||
```
|
||||
|
||||
**فاز ۰ اختیاری نیست.** اگر حالت `resource` روی حالت `service` نیمهکاره ساخته شود، هر
|
||||
باگ موجود سرویسی به موتور جدید ارث میرسد و تشخیص منبعش غیرممکن میشود.
|
||||
|
||||
## ۶. سه قاعدهٔ حاکم بر همهٔ تسکها
|
||||
|
||||
| سند | چه میگوید |
|
||||
|---|---|
|
||||
| [_shared/red-lines.md](_shared/red-lines.md) | منطق اسلاتی به هیچ عنوان دستکاری نمیشود · فهرست کامل فایلهای قفلشده · تست `--group=slot-mode-frozen` |
|
||||
| [_shared/ui-conventions.md](_shared/ui-conventions.md) | هر صفحه یا بخش جدید عیناً با دیزاینسیستم موجود — توکنها، کامپوننتهای `ui/`، پنج قاعدهٔ غیرقابلمذاکره |
|
||||
| [_shared/definition-of-done.md](_shared/definition-of-done.md) | هیچ تسکی بدون تکمیل چکلیستش تمام نیست — ✅ 🔄 ⏳ ⚠️ |
|
||||
|
||||
Reference in New Issue
Block a user