Sub-task EP-02-T03-S05 Kritik 02_products erpbom-backend

Variant yaratish orkestratsiyasi — majburiy validatsiya (qoida 18) + active/soft-delete

Bajarildi
Status:

Tavsif

§8.1 to'liq oqim: variant **faqat** quyidagilar bilan birga `active=true` saqlanadi — Tovar1: resept+marshrut (qoida 26 to'liq) + kamida 1 narx + har operatsiya uchun ishbay; Tovar2: resept + kamida 1 narx; Tovar0: validatsiyasiz. Bitta tranzaksiyada — qisman saqlash yo'q (hammasi yoki hech narsa). `active`↔toggle va soft-delete endpointlari ham shu yerda.

Qabul mezonlari (DoD)

4 / 4 bajarildi

  • Tovar1 marshrutsiz yaratishga urinish butunlay rad etiladi (hech narsa saqlanmaydi — tranzaksiya testi)

    qa-ep-02-t03-s05 · 1 о аввал

  • Tovar2 ishbaysiz (kutilgan holat) muvaffaqiyatli saqlanadi

    qa-ep-02-t03-s05 · 1 о аввал

  • Barcha shart bajarilgan Tovar1 saqlanadi va `active=true` qaytadi

    qa-ep-02-t03-s05 · 1 о аввал

  • `toggle_active` false qilganda ro'yxat endpointida (default filtr) ko'rinmay qoladi, to'g'ridan-to'g'ri GET by id da ko'rinadi

    qa-ep-02-t03-s05 · 1 о аввал

O'zgargan fayllar

5 ta

  • modified src/test/java/uz/erpbom/products/controller/ProductVariantOrchestrationIntegrationTest.java
  • modified src/main/java/uz/erpbom/products/service/ProductVariantService.java
  • modified src/main/java/uz/erpbom/products/dto/VariantPieceRateInput.java
  • modified src/main/java/uz/erpbom/products/dto/ProductVariantCreateRequest.java
  • modified src/main/java/uz/erpbom/products/controller/ProductVariantController.java

Izoh qoldirish

Tarix

23 yozuv

  • ✎

    finalize-ep-02 yangiladi

    Yangilandi: commit_sha

  • ⇄

    qa-ep-02-t03-s05 statusni o'zgartirdi Review → Bajarildi

  • ✓

    qa-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ `toggle_active` false qilganda ro'yxat endpointida (default filtr) ko'rinmay qoladi, to'g'ridan-to'g'ri GET by id da ko'rinadi

  • ✓

    qa-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Barcha shart bajarilgan Tovar1 saqlanadi va `active=true` qaytadi

  • ✓

    qa-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Tovar2 ishbaysiz (kutilgan holat) muvaffaqiyatli saqlanadi

  • ✓

    qa-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Tovar1 marshrutsiz yaratishga urinish butunlay rad etiladi (hech narsa saqlanmaydi — tranzaksiya testi)

  • ⇄

    coder-ep-02-t03-s05 statusni o'zgartirdi Ishlanyapti → Review

  • ✎

    coder-ep-02-t03-s05 yangiladi

    Yangilandi: branch, commit_sha

  • ✓

    coder-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ `toggle_active` false qilganda ro'yxat endpointida (default filtr) ko'rinmay qoladi, to'g'ridan-to'g'ri GET by id da ko'rinadi

  • ✓

    coder-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Barcha shart bajarilgan Tovar1 saqlanadi va `active=true` qaytadi

  • ✓

    coder-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Tovar2 ishbaysiz (kutilgan holat) muvaffaqiyatli saqlanadi

  • ✓

    coder-ep-02-t03-s05 qabul mezonini belgiladi

    ✓ Tovar1 marshrutsiz yaratishga urinish butunlay rad etiladi (hech narsa saqlanmaydi — tranzaksiya testi)

  • 📄

    coder-ep-02-t03-s05 fayllarni qayd etdi

    5 ta fayl qayd etildi

  • ⇄

    coder-ep-02-t03-s05 statusni o'zgartirdi Backlog → Ishlanyapti

    Agent ishni boshladi

  • ⚑

    coder-ep-02-t03-s05 ishga oldi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T05

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T04

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T03-S03

  • ✎

    pm-agent yangiladi

    Yangilandi: estimate_hours

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T05

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T04

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-02-T03-S03

  • ✦

    pm-agent yaratdi

    Variant yaratish orkestratsiyasi — majburiy validatsiya (qoida 18) + active/soft-delete

Ma'lumot

Agent
coder-ep-02-t03-s05
Olingan
1 о аввал
Boshlandi
19.08.2026 06:11
Tugadi
19.08.2026 06:32
Baho
6 soat
Spec
erp/docs/modules/02_products.md#5
Branch
feat/EP-02-erpbom-backend
Commit
4b90a3e35337

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-02-T03-S05/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

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