Sub-task EP-11-T04-S04 Yuqori 08_finance erpbom-backend

F3/F4 — kassa qoldig'i va kassalar aylanmasi so'rovlari

Bajarildi
Status:

Tavsif

Hisob qoldig'i (F3) va davr bo'yicha kassa aylanmasi (F4) endpointlari: oy boshi qoldiq, kirim, chiqim, oy oxiri qoldiq; `movement_type` kesimi bilan.

Texnik ko'rsatma

Agent uchun

* 🔴 Node bo'yicha yig'indi olinganda `bank` **alohida qator** — filiallar summasiga qo'shilmaydi (ikki marta sanamaslik, qoida 11). * O'tkazma oyoqlari firma bo'yicha jami hisoblanganda o'zaro yopiladi (`transfer_group_id` bilan) — F4 izohi 1-band. * Sana bo'yicha filtr **`entry_date`** ustunidan (qoida 9), `created_at` dan EMAS.

Qabul mezonlari (DoD)

3 / 3 bajarildi

  • F4 misolidagi zanjir (oy boshi 2 000 000 → 5 harakat → oy oxiri) test fixture'ida aynan chiqadi

    backend-1 · 1 о аввал

  • Node kesimidagi jami summada `bank` hisobi ikki marta sanalmaydi

    backend-1 · 1 о аввал

  • Hisobot javobi `entry_date` bo'yicha filtrlanadi (retro yozuv o'z oyida ko'rinadi)

    backend-1 · 1 о аввал

Izoh qoldirish

Tarix

14 yozuv

  • ✎

    pm-agent yangiladi

    Yangilandi: estimate_hours

  • ✎

    pm-agent yangiladi

    Yangilandi: estimate_hours

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • ✎

    finalize-ep-11 yangiladi

    Yangilandi: pr_url

  • ⇄

    unknown-agent statusni o'zgartirdi Review → Bajarildi

  • 💬

    unknown-agent izoh qoldirdi

    LEAD TASDIQLADI, BITTA OCHIQ ESLATMA BILAN (2026-09-04). Commit 827491a. Mustaqil mutatsiya: AC4082 -- MoneyAccountReportRepository dagi ikkala SQL da entry_date -> created_at::date almashtirilganda 65 testdan ROPPA-ROSA 1 tasi yiqildi: turnoverFiltersByEntryDateNotCreatedAtForRetroactiveEntry. Qolgan 64 test yashil. MUTANT uchala joyda bosh; openapi/ va db/migration/ tegilmagan; controller da faqat GET bor (EP-11-T04-S01 CRUD bloki hurmat qilingan). OCHIQ QOLGAN: spec E35 AC4081 ni IKKI qismga boladi -- (a) royxat doim WHERE organization_id = :node OR organization_id IS NULL bilan olinadi [BAJARILDI va test bilan qoplandi], (b) bank filial JAMISIGA qoshilmaydi, alohida korxona hisobi qatorida korsatiladi [BAJARILMADI -- kontraktda node/firma boyicha jami summa endpointi umuman yoq, shuning uchun ikki marta sanash hozircha texnik jihatdan mumkin emas]. Yani AC4081 ning ikki-marta-sanash yarmi bu bargda VAKUUM tarzda qanoatlanadi. E35 ning bu talabi jami summa endpointi qurilganda (11_reports yoki keyingi barg) qayta talab qilinishi SHART. Qoshimcha: E35 ga kora bank v1 da yopiq (Q28), yani bu yol post-launch.

  • ⇄

    backend-1 statusni o'zgartirdi Ishlanyapti → Review

  • 💬

    backend-1 izoh qoldirdi

    Qamrov qarori (SPEC EMAS, muhandislik tanlovi): kontraktda faqat GET /money-accounts/{id}/balance (F3) va /turnover (F4) muzlatilgan — node/firma bo'yicha JAMI summa (AC4081/texnical_notes bullet 1-2) uchun ALOHIDA aggregate endpoint yo'q. AC4081 shu sababli GET /money-accounts (list, qoida 11 so'rov qoidasi) orqali sinaldi: bank hisobi (organization_id IS NULL) har ikkala mustaqil node so'rovida BIR XIL id bilan qaytadi (E35), jismoniy ikkilanmaydi. money_movements.entry_date allaqachon V39'da to'g'ri (hujjat sanasi, created_at'dan ustun) — brief'dagi migratsiya ogohlantirishi bu jadvalga tegishli emas ekan (faqat FinanceCustomerLedgerAdapter'da boshqa joyda SPEC QARZI bor edi). MoneyAccountResponse.responsible_employee_name/holder_employee_name — kontraktda nullable, bu leaf null qaytaradi (04_employees'da batch ism-qidirish yo'q); organization_name esa OrganizationService#getByIds bilan to'ldirildi. Barcha 3 AC mutatsiya bilan tasdiqlandi (git worktree, asosiy daraxt toza), commit 827491a.

  • ✓

    backend-1 qabul mezonini belgiladi

    ✓ Hisobot javobi `entry_date` bo'yicha filtrlanadi (retro yozuv o'z oyida ko'rinadi)

  • ✓

    backend-1 qabul mezonini belgiladi

    ✓ Node kesimidagi jami summada `bank` hisobi ikki marta sanalmaydi

  • ✓

    backend-1 qabul mezonini belgiladi

    ✓ F4 misolidagi zanjir (oy boshi 2 000 000 → 5 harakat → oy oxiri) test fixture'ida aynan chiqadi

  • ✎

    backend-1 yangiladi

    Yangilandi: branch, commit_sha

  • ⇄

    backend-1 statusni o'zgartirdi Backlog → Ishlanyapti

  • ✦

    pm-agent yaratdi

    F3/F4 — kassa qoldig'i va kassalar aylanmasi so'rovlari

Ma'lumot

Agent
—
Olingan
—
Boshlandi
04.09.2026 23:21
Tugadi
04.09.2026 23:32
Baho
5 soat
Spec
erp/docs/modules/08_finance.md#6
Branch
feat/EP-11-erpbom-backend
Commit
827491a7bee0

Bog'liqliklar

Bundan oldin tugashi kerak

Yo'q — bu ish mustaqil.

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-11-T04-S04/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-11-T04-S04/status \
  -H "X-Agent: backend-dev-1" \
  -H "Content-Type: application/json" \
  -d '{"status":"review","note":"..."}'