V41 — money_transfers + cash_counts + external_drivers
Tavsif
Texnik ko'rsatma
Agent uchun
Qabul mezonlari (DoD)
3 / 3 bajarildi
-
`from_account_id = to_account_id` bo'lgan o'tkazma yozib bo'lmaydi
qa-ep-11-t01-s04 · 1 о аввал
-
`transfer_type='conversion'` da `exchange_rate` NULL bo'lsa rad etiladi
qa-ep-11-t01-s04 · 1 о аввал
-
Migratsiya toza bazada o'tadi va idempotent
qa-ep-11-t01-s04 · 1 о аввал
O'zgargan fayllar
2 ta
-
modified
src/test/java/uz/erpbom/finance/MoneyTransfersCashCountsExternalDriversMigrationTest.java -
modified
src/main/resources/db/migration/V41__money_transfers_cash_counts_external_drivers.sql
Izoh qoldirish
Tarix
26 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
-
⇄
qa-ep-11-t01-s04 statusni o'zgartirdi Review → Bajarildi
-
💬
qa-ep-11-t01-s04 izoh qoldirdi
QA (mustaqil tekshiruv, izolyatsiyalangan worktree). Baseline 41/41 yashil. Mutatsiya: 9 mutant — 7 oldi, 2 TIRIK QOLDI (fixture xilma-xilligi). (1) chk_money_transfers_accounts_distinct ni `transfer_type <> internal OR ...` ga toraytirganda birorta test yiqilmadi — 4037 faqat internal+bank+UZS+draft kombinatsiyasida sinalgan edi. (2) chk_cash_counts_notes_required_on_difference ni `difference <= 0 OR ...` ga toraytirganda ham birorta test yiqilmadi — notes majburiyligi faqat MUSBAT farqda (ortiqcha) sinalgan edi. Ikkala boshliqqa test yozildi: conversionWithSameAccountIsRejected (conversion+cash+USD+pending_approval) va shortageWithoutNotesIsRejected (manfiy farq, USD, resolution=expense). Qayta mutatsiyada ikkalasi mutantni oldirdi. Yakuniy: 43/43 yashil, V41 SQL asl holida (diff bosh), MUTANT qoldigi yoq. Barcha assertThatThrownBy xabarlaridagi constraint nomlari kozlangan constraint ekani alohida tekshirildi (zeroAmountFromIsRejected da amount_from/amount_to CHECKlari ikkalasi buziladi, lekin mutant baribir oladi). technical_notes: transfer_group_id uuid ustuni SQL da bor, ammo birorta test uni qamramaydi (AC emas — kichik kuzatuv, keyingi S/entity bosqichida yopilsin). ASOSIY DARAXTGA KOCHIRILDI: /var/www/apps/erpbom-backend/src/test/java/uz/erpbom/finance/MoneyTransfersCashCountsExternalDriversMigrationTest.java (+49 qator, commit qilinmagan).
-
✓
qa-ep-11-t01-s04 qabul mezonini belgiladi
✓ Migratsiya toza bazada o'tadi va idempotent
-
✓
qa-ep-11-t01-s04 qabul mezonini belgiladi
✓ `transfer_type='conversion'` da `exchange_rate` NULL bo'lsa rad etiladi
-
✓
qa-ep-11-t01-s04 qabul mezonini belgiladi
✓ `from_account_id = to_account_id` bo'lgan o'tkazma yozib bo'lmaydi
-
✎
coder-ep-11-t01-s04 yangiladi
Yangilandi: branch, commit_sha
-
⇄
coder-ep-11-t01-s04 statusni o'zgartirdi Ishlanyapti → Review
-
✓
coder-ep-11-t01-s04 qabul mezonini belgiladi
✓ Migratsiya toza bazada o'tadi va idempotent
-
✓
coder-ep-11-t01-s04 qabul mezonini belgiladi
✓ `transfer_type='conversion'` da `exchange_rate` NULL bo'lsa rad etiladi
-
✓
coder-ep-11-t01-s04 qabul mezonini belgiladi
✓ `from_account_id = to_account_id` bo'lgan o'tkazma yozib bo'lmaydi
-
📄
coder-ep-11-t01-s04 fayllarni qayd etdi
2 ta fayl qayd etildi
-
⇄
coder-ep-11-t01-s04 statusni o'zgartirdi Tayyor → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-11-t01-s04 ishga oldi
-
⇄
worker-ep-11-t01 statusni o'zgartirdi Ishlanyapti → Tayyor
Ish bo'shatildi
-
⚐
worker-ep-11-t01 bo'shatdi
-
⇄
coder-ep-11-t01-s01 statusni o'zgartirdi Tayyor → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-11-t01-s01 ishga oldi
-
⚐
worker-ep-11-t01 bo'shatdi
-
⇄
worker-ep-11-t01 statusni o'zgartirdi Ishlanyapti → Tayyor
-
⇄
coder-ep-11-t01-s01 statusni o'zgartirdi Backlog → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-11-t01-s01 ishga oldi
-
✦
pm-agent yaratdi
V41 — money_transfers + cash_counts + external_drivers
Ma'lumot
- Agent
- coder-ep-11-t01-s04
- Olingan
- 1 о аввал
- Boshlandi
- 04.09.2026 06:32
- Tugadi
- 04.09.2026 09:41
- Baho
- 4 soat
- Spec
- erp/docs/modules/08_finance.md#2.11
- Branch
- feat/EP-11-erpbom-backend
- Commit
- 92ceeb4e5be5
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-T01-S04/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-11-T01-S04/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'