Sub-task EP-03-T02-S01 Kritik 01_suppliers erpbom-backend

Ta'minotchi yaratish — anketa + `supplier_contracts` v1 avto-seed (atomik)

Bajarildi
Status:

Tavsif

§8.1: "Saqlash" bosilganda **bitta tranzaksiyada**: a. `suppliers` qatori yoziladi (`active=true`); b. kiritilgan `term_days` + `payment_method` (+ opsional `debt_limit`, `payment_basis`, split %) dan **`supplier_contracts` v1** (`version=1`, `status='active'`, `effective_from = bugun`, `created_by_user_id`) avto yaratiladi (§5 qoida 4 — har vaqt kamida bitta faol shartnoma); c. `suppliers.default_term_days` / `default_payment_method` / `debt_limit` **cache** to'ldiriladi (§5 qoida 5). Shartnoma PDF opsional — keyin biriktiriladi (T03). Validatsiya: `name` majburiy; `inn` berilgan bo'lsa dublikat → `409` (§9 "INN dublikat"); `term_days >= 0`; split % juftligi. Rule: `supplier.create`.

Qabul mezonlari (DoD)

5 / 5 bajarildi

  • Ta'minotchi yaratilganda `supplier_contracts` da aynan bitta `version=1, status='active'` qator paydo bo'ladi (§12 AC)

    qa-ep-03-t02-s01 · 1 о аввал

  • `suppliers.default_term_days`/`default_payment_method`/`debt_limit` yaratilgandan keyin v1 shartnoma qiymatlari bilan AYNAN mos

    qa-ep-03-t02-s01 · 1 о аввал

  • Dublikat `inn` bilan yaratishga urinish `409` (kontrakt xato kodi) qaytaradi va HECH QANDAY qator yozilmaydi (rollback testi)

    qa-ep-03-t02-s01 · 1 о аввал

  • Shartnoma yaratish qadamida sun'iy xato berilsa `suppliers` qatori ham yozilmaydi (atomiklik testi)

    qa-ep-03-t02-s01 · 1 о аввал

  • `supplier.create` rule'siz `403`

    qa-ep-03-t02-s01 · 1 о аввал

O'zgargan fayllar

7 ta

  • modified src/test/java/uz/erpbom/suppliers/controller/SupplierCreateTest.java
  • modified src/main/java/uz/erpbom/suppliers/repository/SupplierRepository.java
  • modified src/main/java/uz/erpbom/suppliers/service/SupplierService.java
  • modified src/main/java/uz/erpbom/suppliers/mapper/SupplierMapper.java
  • modified src/main/java/uz/erpbom/suppliers/dto/SupplierResponse.java
  • modified src/main/java/uz/erpbom/suppliers/dto/SupplierCreateRequest.java
  • modified src/main/java/uz/erpbom/suppliers/controller/SupplierController.java

Izoh qoldirish

Tarix

21 yozuv

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • ✎

    finalize-ep-03 yangiladi

    Yangilandi: pr_url

  • ⇄

    qa-ep-03-t02-s01 statusni o'zgartirdi Review → Bajarildi

  • ✓

    qa-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ `supplier.create` rule'siz `403`

  • ✓

    qa-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Shartnoma yaratish qadamida sun'iy xato berilsa `suppliers` qatori ham yozilmaydi (atomiklik testi)

  • ✓

    qa-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Dublikat `inn` bilan yaratishga urinish `409` (kontrakt xato kodi) qaytaradi va HECH QANDAY qator yozilmaydi (rollback testi)

  • ✓

    qa-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ `suppliers.default_term_days`/`default_payment_method`/`debt_limit` yaratilgandan keyin v1 shartnoma qiymatlari bilan AYNAN mos

  • ✓

    qa-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Ta'minotchi yaratilganda `supplier_contracts` da aynan bitta `version=1, status='active'` qator paydo bo'ladi (§12 AC)

  • ⇄

    coder-ep-03-t02-s01 statusni o'zgartirdi Ishlanyapti → Review

  • ✎

    coder-ep-03-t02-s01 yangiladi

    Yangilandi: branch, commit_sha

  • ✓

    coder-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ `supplier.create` rule'siz `403`

  • ✓

    coder-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Shartnoma yaratish qadamida sun'iy xato berilsa `suppliers` qatori ham yozilmaydi (atomiklik testi)

  • ✓

    coder-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Dublikat `inn` bilan yaratishga urinish `409` (kontrakt xato kodi) qaytaradi va HECH QANDAY qator yozilmaydi (rollback testi)

  • ✓

    coder-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ `suppliers.default_term_days`/`default_payment_method`/`debt_limit` yaratilgandan keyin v1 shartnoma qiymatlari bilan AYNAN mos

  • ✓

    coder-ep-03-t02-s01 qabul mezonini belgiladi

    ✓ Ta'minotchi yaratilganda `supplier_contracts` da aynan bitta `version=1, status='active'` qator paydo bo'ladi (§12 AC)

  • 📄

    coder-ep-03-t02-s01 fayllarni qayd etdi

    7 ta fayl qayd etildi

  • ⇄

    coder-ep-03-t02-s01 statusni o'zgartirdi Backlog → Ishlanyapti

    Agent ishni boshladi

  • ⚑

    coder-ep-03-t02-s01 ishga oldi

  • ✦

    pm-agent yaratdi

    Ta'minotchi yaratish — anketa + `supplier_contracts` v1 avto-seed (atomik)

Ma'lumot

Agent
coder-ep-03-t02-s01
Olingan
1 о аввал
Boshlandi
19.08.2026 14:17
Tugadi
19.08.2026 14:46
Baho
5 soat
Spec
erp/docs/modules/01_suppliers.md#8.1
Branch
feat/EP-03-erpbom-backend
Commit
2b9fe9a06c59

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T02-S01/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

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