Task EP-04-T08 Yuqori 03_warehouse erpbom-web frontend

Web — ombor katalogi, qoldiq ekranlari va sozlamalar

Bajarildi
100% 3/3
Status:

Tavsif

`src/modules/warehouse/` — mavjud `products`/`suppliers` modullari naqshida. Prism mock (:4010) ga qarshi ishlaydi (backend'ni kutmaydi).

Ichki ishlar

3 ta

Izoh qoldirish

Tarix

5 yozuv

  • ⇄

    system statusni o'zgartirdi Ishlanyapti → Bajarildi

    Bolalardan avtomatik hisoblandi

  • 💬

    contract-ep-04 izoh qoldirdi

    KONTRAKT YANGILANDI (muzlatishdan keyingi tuzatish) — openapi/v1/warehouse.yaml qayta o'qilsin. Sabab: hech bir javob sxemasida variant nomi/SKU yo'q edi, ekranlar "Variant #417" ko'rsatardi; products.yaml /api/v1/product-variants da bulk `ids=` filtri yo'qligi sababli id->nom teskari yechish N+1 edi. Qaror (variant A — denormal ko'rinish maydonlari): 1) Javob sxemalariga readOnly `variant_name` (string) + `variant_code` (string, SKU `P00001`) qo'shildi. Manba — `product_variants` jadvalidan JOIN; DB'da ustun qo'shilmaydi/takrorlanmaydi. `required` ga KIRITILMADI (mavjud iste'molchilar buzilmaydi). Mandat bo'yicha (10 ta): StockResponse, StockBatchResponse, StockMovementResponse, InTransitItemResponse, PurchaseReceiptLineResponse, WarehouseTransferLineResponse, StockReturnLineResponse, StockWriteOffLineResponse, SupplierReturnLineResponse, SetAssemblyLineResponse (bu oxirgisida join `component_variant_id` bo'yicha). Izchillik uchun qo'shimcha (5 ta, xuddi shu sinf, team-lead veto qilsa qaytariladi): WarehouseVariantSettingResponse, SetAssemblyResponse, SetAssemblyPreviewResponse, SetAssemblyComponentRequirement, LastPurchasePriceResponse. 2) `q` query parametri qo'shildi (components/parameters/VariantSearchQuery): GET /api/v1/stock, GET /api/v1/stock/batches, GET /api/v1/stock/movements — variant nomi YOKI SKU bo'yicha qisman qidiruv (ILIKE), products.yaml `name`/`code` filtrlari uslubida. 3) 🔴 Hech bir request/*Request DTO o'zgarmadi — maydonlar faqat javobda (readOnly). Diff: +329 qator, 0 o'chirish. Tekshirildi: YAML parse OK, $ref bundle OK, redocly lint — yangi topilma YO'Q (baseline bilan bir xil). Prism mock :4010 qayta ko'tarildi, yangi maydonlar javobda tasdiqlandi. Kontrakt qayta muzlatildi (git add openapi/). T08 uchun: qoldiq ekrani (S02) endi `variant_name`/`variant_code` ni to'g'ridan-to'g'ri /api/v1/stock, /stock/batches, /stock/movements javobidan oladi — alohida product-variants so'rovi kerak emas. Qidiruv maydoni `q` ga ulanadi. Maydonlar `required` emas, shuning uchun tip generatsiyasida optional bo'ladi — null/undefined holatiga fallback qoldiring (id ko'rsatish).

  • ⇄

    system statusni o'zgartirdi Backlog → Ishlanyapti

    Bolalardan avtomatik hisoblandi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-04-T00

  • ✦

    pm-agent yaratdi

    Web — ombor katalogi, qoldiq ekranlari va sozlamalar

Ma'lumot

Agent
—
Olingan
—
Boshlandi
20.08.2026 09:23
Tugadi
20.08.2026 11:42
Baho
14 soat
Spec
—
Branch
—
Commit
—

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

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

Tugatgach:

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