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

`employee_hold` hisobini avtomatik ochish (shafyor seam'i)

Bajarildi
Status:

Tavsif

Hodimga shafyor roli berilganda (yoki unga birinchi marta buyurtma biriktirilganda) uning nomiga `employee_hold` hisobi ochiladi — qoida 37.

Texnik ko'rsatma

Agent uchun

* Trigger: 04_employees `professions.is_driver` biriktirmasi yoki 06 `assign_driver`. Servis qatlamidan chaqiriladi, `getOrCreate` mantiqi (poyga xavfsiz). * Valyuta = asosiy valyuta; `organization_id` = hodim node'i. * Hodim `fired` bo'lganda qoldiq **0** bo'lishi shart (qoida 16 + 04 seam) — aks holda bo'shatish amali ogohlantirish/xato qaytaradi.

Qabul mezonlari (DoD)

2 / 2 bajarildi

  • Shafyor roli berilgan hodimga `employee_hold` hisobi avtomatik ochiladi va takroriy chaqiruvda ikkinchisi yaratilmaydi

    backend-1 · 1 о аввал

  • Qoldig'i 0 bo'lmagan shafyorni bo'shatishga urinish bloklanadi yoki aniq ogohlantirish qaytaradi

    backend-1 · 1 о аввал

Izoh qoldirish

Tarix

13 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 (2026-09-04). Commit b2710e9. Mustaqil mutatsiya, izolyatsiyalangan worktree: (1) AC4079 -- EmployeeStatusService dan assertZeroBalanceBeforeFiring(id) chaqirigi butunlay ochirilganda 13 testdan ROPPA-ROSA 1 tasi yiqildi: firingDriverWithNonZeroHoldBalanceIsBlockedAndStatusStaysActive. (2) AC4078 -- EmployeeHoldAccountLockRepository dagi pg_advisory_xact_lock(hashtext(?)) o rniga hashtext(?) qoyilganda (parametr saqlangan, faqat QULF olinmagan) 19 testdan ROPPA-ROSA 1 tasi yiqildi: concurrentOpenForSameNewEmployeeReturnsExactlyOneAccount, va xato aynan poyga alomati -- duplicate key uq_money_accounts_organization_id_name, yani ikkala oqim ham insert qilishga ulgurgan. Qolgan 18 test yashil. AC4079 uchun coder taxmin QILMAGAN: doc javob bergan (08_finance §5 qoida 16 -- yopish uchun current_balance=0 shart), shuning uchun blok (409) tanlangan, ogohlantirish emas. MUTANT uchala joyda bosh.

  • ⇄

    backend-1 statusni o'zgartirdi Ishlanyapti → Review

  • 💬

    backend-1 izoh qoldirdi

    AC4079: doc aniq javob berdi (blocked emas) — 08_finance.md §5 qoida 16 ("yopish uchun current_balance=0 bo'lishi SHART") + board technical_notes birgalikda "faqat ogohlantirish" emas, BLOKLASH ekanini ko'rsatdi (409 EMPLOYEE_HOLD_BALANCE_NOT_ZERO). Testlar: EmployeeHoldAccountServiceTest (6), EmployeeProfessionServiceTest/EmployeeServiceTest wiring qo'shimchalari, EmployeeStatusServiceTest AC4079 integratsiyasi (3 yangi test). Mutatsiya git worktree ichida tasdiqlandi (asosiy daraxt toza), commit b2710e9.

  • ✓

    backend-1 qabul mezonini belgiladi

    ✓ Qoldig'i 0 bo'lmagan shafyorni bo'shatishga urinish bloklanadi yoki aniq ogohlantirish qaytaradi

  • ✓

    backend-1 qabul mezonini belgiladi

    ✓ Shafyor roli berilgan hodimga `employee_hold` hisobi avtomatik ochiladi va takroriy chaqiruvda ikkinchisi yaratilmaydi

  • ✎

    backend-1 yangiladi

    Yangilandi: branch, commit_sha

  • ⇄

    backend-1 statusni o'zgartirdi Backlog → Ishlanyapti

  • ✦

    pm-agent yaratdi

    `employee_hold` hisobini avtomatik ochish (shafyor seam'i)

Ma'lumot

Agent
—
Olingan
—
Boshlandi
04.09.2026 23:20
Tugadi
04.09.2026 23:28
Baho
4 soat
Spec
erp/docs/modules/08_finance.md#5
Branch
feat/EP-11-erpbom-backend
Commit
b2710e9d6251

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-S03/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

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