Skip to content

30 хоногийн хөгжүүлэлтийн төлөвлөгөө — v2

Хугацаа: 2026.09.01 – 09.30 · Загвар: төр–хувийн хэвшлийн түншлэл (ТХТ) · Суурь: системийн шаардлага · дэлхийн жишиг · «PetroNet-ийн бүрэн төлөвлөгөө» (plan/petronet-plan.md, дотоод)

v1-ээс юу өөрчлөгдөв. v1 нь «юуг эхэлж барих» гэдгийг зөв хэлсэн. v2 нь түүн дээр дөрвөн зүйл нэмж байна: (1) кодын бодит төлөвийг хэмжсэн, (2) дэлхийн жишгээс гарсан арван хоёр шийдвэр, (3) долоо хоног биш өдрийн нарийвчлалтай хуваарь, хүлээн авах тоон шалгуур, (4) «PetroNet-ийн бүрэн төлөвлөгөө» (plan/petronet-plan.md, дотоод)-той уялдуулсан дараалал — тэр баримтын Фаз 0–1-ийн юу нь энэ сард багтахыг нэр заан шийдсэн.

Шаардлагын бүрэн жагсаалт нь гэрээний үүрэг биш, зорилтот төлөв. Энэ баримт нь эхний 30 хоногт юуг нь барихыг хэлнэ.

Таамаглал: 3 хөгжүүлэгч (2 backend/full-stack, 1 frontend) + хагас цагийн аналист/PM. Баг өөр бол §4-ийн хуваарь биш, §3-ын хүлээн авах шалгуур нь хэлэлцэх зүйл — хамрах хүрээг хасна, чанарыг бууруулахгүй.


0. Хийгдсэн — 2026.08.31

Энэ бол төлөвлөгөө биш, бүртгэл. Доорхи зүйлс репод байна, тесттэй, бодит Postgres дээр ажилласан:

Юу Хаана Төлөв
Бүртгэл: улсын дугаар, статус, ХУР-ын баталгаа 00009_registry_products_policy.sql ✔
Бүтээгдэхүүний толь — JODI ангилалтай, 7 төрөл petro_products ✔
Зохицуулагчийн эрх — хүснэгт + petro_is_oversight() бодлого 00009 ✔
Бодлого өгөгдөл болов — лимит, хүлцэл, хугацаа petro_policy, policy.go ✔
ШТС-ын техникийн тооллого (A/B/C/D) registry.go ✔
Тайлангийн үе, ирүүлэлт, мөр, дүгнэлт 00010_reports_and_movements.sql ✔
Шалгалтын дүрмүүд — тэнцэл, тасралт, багтаамж, хазайлт, хэмжил зүй validation.go (+9 тест) ✔
15 °C-ийн залруулга — ASTM D1250 / API MPMS 11.1 volume.go (+3 тест) ✔
Хувилбар ба хэш гинж report.go ✔
Excel загвар гаргах, ачаалах excel.go ✔
Хяналтын workflow — батлах, буцаах, дөрвөн нүд review.go ✔
Удирдах үйлдэл — объект түдгэлзүүлэх, хөдөлгөөн маргах review.go, movement.go ✔
Хөдөлгөөн — улсын дугаар, хаагдах төлөв, зөрүү movement.go ✔
Улсын өдрийн нэгтгэл, хамрах хүрээ, хоногийн нөөц oversight.go, petro_daily_national ✔
Өгөгдөл ирээгүйн илрүүлэлт oversight.go + petro.coverage_gaps тайлан ✔
Нөхцөлдүүлэлт ΔA–ΔE (ΔB, ΔC ажиллаж байна) oversight.go ✔
7 тайлан — Excel/CSV, хуваарь, и-мэйл платформын хөдөлгүүр дээр reports.go ✔
Нээлттэй өгөгдөл — өдрийн нэгтгэл /api/v1/petro/public/daily ✔
Хуваарьт ажил — үе үүсгэх, нэгтгэл дахин тооцох jobs.go ✔
ААН-ийн тайлангийн дэлгэц frontend/app/petro/report ✔
Зохицуулагчийн дэлгэц frontend/app/petro/oversight ✔

Тест: Go 43 тест (12 нь бодит Postgres дээр — мөрийн түвшний тусгаарлалт, дөрвөн нүд, хувилбар, хэш гинж, хамрах хүрээ, хөдөлгөөний зөрүү), frontend 170. (Frontend-ийн тоо 176-аас буурсан нь регресс биш: нүүр хуудсыг PetroNet-ийнх болгоход цөмийн платформын landing-ийн хэсгүүд ба тэдгээрийн тест хамт хасагдав.)

Үлдсэн (эхний сарын хамрах хүрээнд): ААН-ийн eID нэвтрэлт ба нэгдэх бодлого, petro-import-ыг mpetro-гийн бодит жагсаалтад тохируулах, dev/staging тусгаарлалт, ачааллын тест, OWASP чеклист, сургалтын материал, ХУР ба гаалийн албан хүсэлт, эрх зүйн багц.


1. Хаана байна вэ — 2026.08.31-ний хэмжилт

modules/petro: 3,326 мөр Go (тестээс бусад), 7 миграц, 11 хүснэгт. frontend: 73 хуудас. Платформын цөм нь dependency, энэ репод цөмийн код байхгүй.

Барьсан зүйл нь нийлүүлэлтийн гинжний загвар:

гааль (petro_customs_shipments) → бааз (petro_depots, petro_depot_tanks,
  petro_depot_receipts) → тээвэр (petro_dispatch_trips) → ШТС (petro_stations,
  petro_station_inventory, petro_station_receipts) → иргэн (petro_entitlements,
  petro_vouchers) · нэмэлт: petro_batches, routes

Хоёр зарчим нь аль хэдийн кодод суусан бөгөөд энэ нь дэлхийн жишигтэй санамсаргүй таарсан хоёр газар:

  • Литрийн талбар байхгүй. Түвшин нь хүлээн авалтуудын нийлбэр; түүнийг дарж бичих талбар нь доорх бүх баримтыг зөвлөмж болгоно (depots/page.tsx)
  • Мэдүүлсэн ба хэмжсэн хоёр тоо тусад нь. Хүлээн авалт нь ачааны бичгийн тоо ба хэмжигчийн тоо хоёрыг зэрэг хадгална — зөрүү нь өөрөө өгөгдөл (receipt.go, depot.go)

Шаардлагын хамрах хүрээ

Шаардлага Төлөв Хэзээ
§3.1 М1 Нэгдсэн хяналтын самбар Хэсэгчлэн — Prometheus метрик бий, самбар үгүй 3-р д/х
§3.1 М2 Газрын зурагт мониторинг Иргэний зураг бий; төрийн харагдац дутуу 3-р д/х
§3.1 М3 Эрсдэлийн хяналт Үгүй 3-р д/х
§3.1 М4 Аналитик харагдац Үгүй 3-р д/х (v1)
§3.2 М1 Импортын хяналт Загвар бий, гаалийн интеграцгүй Гааль → 2-р сар
§3.2 М2 Нөөцийн хяналт Бий —
§3.2 М3 Тайлангийн удирдлага Үгүй 2–3-р д/х — сарын гол ажил
§3.2 М4 Объектын бүртгэл Бий; эзэмшигч, ХУР баталгаажуулалт дутуу 1-р д/х
§3.2 М5 Техникийн дүгнэлт Үгүй 2-р сар
§3.2 М6 Хяналтын үйл ажиллагааны бүртгэл Үгүй 3-р сар
§3.2 М7 Хэрэглэгч, эрх, аудит Бий (платформ) —
§3.3 ААН портал Үгүй 1–2-р д/х
§3.4 Мобайл шалгалт Үгүй 3-р сар
§4.1–4.3 Архитектур, API Бий (модуль, REST/JSON, OAuth2/JWT, RBAC) OpenAPI → 4-р д/х
§4.4 IoT/MQTT Үгүй; талбарын бүтэц 2-р д/х-д схемд орно 2-р сар
§4.5 Гүйцэтгэл (≤3с/≤1с/1000) Хэмжигдээгүй 4-р д/х
§4.6 Uptime, backup, failover Бий —
§4.7 Аюулгүй байдал Ихэнх бий; pentest дутуу 4-р д/х (захиалга)
§4.8 UI/UX, responsive, монгол Бий —
§4.9 Container, CI/CD Бий; dev/staging тусгаарлалт дутуу 1-р д/х

Гинжний зургаан үе — хянахаас гадна удирдах

Систем нь ажиглалтын самбар биш. Үе шат бүрт харах ба үйлдэл хийх хоёр багана байна; зөвхөн эхнийх нь байвал энэ нь тайлангийн сан, систем биш.

Үе шат Хянах Удирдах (үйлдэл) 1-р сар
Импорт Гэрээ, захиалга, тонн, үнэ, ирэх хугацаа Импортын төлөвлөгөө батлах, хуваарилалт Загвар бий; гар бүртгэл + тайлан
Хил Гаалийн мэдүүлэг, партийн дугаар, чанарын үзүүлэлт Мэдүүлгийг баталгаажуулах, зөрүү тэмдэглэх Гар бүртгэл; гаалийн интеграц 2-р сард
Терминал Савны түвшин, чөлөөт багтаамж, улсын нөөц Хүлээн авалт бүртгэх, савны статус, түдгэлзүүлэх Бий (depot_receipts) + шалгалт
Тээвэр Автоцистерн, замнал, ETA, зөрсөн зогсолт Хөдөлгөөн нээх, хаах, зөрүүтэй гэж тэмдэглэх petro_movements — 2-р д/х
ШТС Үлдэгдэл, үнэ, хошуу, дараалал Хүлээн авалт, үнэ, статус, тусгай зөвшөөрөл Бий (station_receipts, grades)
Түгээлт Борлуулалт, иргэний эрх, ваучер Эрх олгох, ваучер, хязгаар тогтоох Бий (entitlements, vouchers)

Зохицуулагчийн талын удирдах үйлдлүүд нь энэ сард нэмэгдэнэ: тайлан батлах, буцаах, объект түдгэлзүүлэх, хөдөлгөөнийг хаах, зөрүүтэй гэж тэмдэглэх, эрсдэлийн жагсаалтаас даалгавар үүсгэх — бүгд аудитын мөртэй.

Хоёр баримт, нэг систем — хамрах хүрээ ба нарийвчлал

«PetroNet-ийн бүрэн төлөвлөгөө» (plan/petronet-plan.md, дотоод) нь өөр эхлэлийг санал болгодог: POS → өгөгдөл → харагдац → ваучер → хяналт. Тэр нь буруу биш — эцсийн үнэн нь түгээгүүрийн тоолуур дээр байдаг. Гэхдээ хоёр зам нь өөр зүйлийг эрт өгдөг:

Хамрах хүрээний зам (энэ сар) Нарийвчлалын зам (2–4-р сар)
Эх үүсвэр ААН-ийн тайлан, Excel, веб форм POS, хошуу, ATG
Хэдэн объект 1500 ШТС — долоо хоногт 20–30 ШТС — сард
Нарийвчлал Өдөрт нэг мөр, ±1–2% Гүйлгээ тутам, ±0.3%
Юуг өгдөг «Хаана хэдэн литр байна» — улсын зураг «Хаана алдагдаж байна» — гүйлгээний үнэн
Өртөг Код ба дагалдан ажиллах хүн ШТС тутамд $700–1,200 тоног төхөөрөмж

Дараалал нь: хамрах хүрээ эхэлнэ, нарийвчлал дагана. Грек ч гэсэн хошууны системд хоёр жилийн шаталсан хугацаа тавьсан. Нэг сард 1500 ШТС-д төхөөрөмж суулгах боломжгүй; нэг сард 1500 ШТС-ыг тайлагнуулах боломжтой.

Гэхдээ хоёр зам нь нэг өгөгдлийн загвар дээр нийлэх ёстой: тайлангийн мөр болон ATG-ийн заалт хоёр ижил талбар (түвшин, температур, нягт, 15 °C литр) бөглөнө; ялгаа нь зөвхөн source багана. Ингэвэл 2-р сард мэдрэгч ирэхэд шилжүүлэх миграц биш, шинэ мөр л нэмэгдэнэ.

Модулийн бүтэц — нэг модуль хэвээр

Бүрэн төлөвлөгөө 14 модуль санал болгосон (pos, pump, tank, voucher, allocation, oversight …). Энэ сард салгахгүй: бүгд modules/petro дотор, нэг миграцын түүхтэй. Салгах шалтгаан нь одоо байхгүй — нэг баг, нэг байрлуулалт, нэг эрхийн загвар. Салгах цаг нь ирмэгийн агент (edge/) гарч, өөрийн хувилбарын мөчлөгтэй болох үе.

Нэг өгүүлбэрээр: нийлүүлэлтийн гинж баригдсан, зохицуулалтын гогцоо дутуу — ААН өөрөө тайлагнаж, төр шалгаж, буцааж, батлах урсгал.


2. Дэлхийн жишгээс гарсан арван хоёр шийдвэр

Бүрэн үндэслэл нь BENCHMARKS.md-д. Энэ сард кодод нөлөөлөх нь:

# Шийдвэр Хаанаас Хаана хэрэгжинэ
1 Хамрах хүрээ бол KPI — «хэдэн объект тайлагнав» нь дашбоардын эхний мөр Гана, 2025 аудит 3-р д/х, дашбоард
2 Өдөр тутмын, тасалдалгүй цуваа — амралтын өдрийг оруулаад Кени, 2026 Сенат 2-р д/х, тайлангийн үе
3 Хөдөлгөөн төвтэй хяналт — давтагдашгүй дугаар, хаагдах төлөв, зөрүү ЕХ EMCS 2-р д/х, petro_movements
4 JODI-гийн толь бичиг — imports / closing stocks / deliveries; литр ба тонн зэрэг JODI, IEA MOS 1-р д/х, petro_products
5 Тэнцлийн тэгшитгэл шалгалт — SIR-ийн хялбаршуулсан хувилбар EPA UST SIR 2-р д/х, validation.go
6 Ажиглалт ба тооцооллыг тусад нь — түвшин, температур, нягт нь түүхийгээрээ API MPMS 3.1B/12/21 2-р д/х, тайлангийн мөр
7 Store-and-forward-ын гэрээг одоо тогтоох, хэрэгжүүлэлт нь 2-р сард Sparkplug B 3.0 2-р д/х, төхөөрөмжийн бүртгэл
8 ХУР-ын өргөдөл 1-р долоо хоногт — хүнд нь код биш, зөвшөөрөл X-Road 1-р д/х, PM
9 15 °C-ийн залруулга 1-р сард — Монголын +35…−40 далайцад залруулгагүй тэнцэл нь дуу чимээ ASTM D1250 / ISO 91 2-р д/х, volume.go
10 Бодлого бол өгөгдөл — лимит, хүлцэл, хуваарь нь petro_policy дотор; өөрчлөхөд байршуулалт хийхгүй Иран, Малайз, ТХТ-ийн туршлага 2-р д/х
11 Тайлагналын давхарга эхэлж, хошуу дараа нь — Грек ч 2 жилийн шаталсан хугацаа тавьсан Грек AADE, Бразил SIMP Сарын дараалал
12 Big-bang байхгүй, идемпотент заавал — Шри Ланкын 2026 оны уналтын гурван шалтгаан Sri Lanka Fuel Pass Тасралтгүй

3. 30 хоногийн зорилго ба хүлээн авах шалгуур

Гинж: ААН тайлангаа өгнө → систем шалгана → төрийн ажилтан батална → шийдвэр гаргагч бодит зургийг харна → тайлагнаагүй нь нэрээрээ гарна.

Энэ гинж бүтэн ажиллавал систем амьд. IoT, гааль, мобайл, BI бүгд үүн дээр нэмэгдэнэ — доор нь биш.

Хүлээн авах шалгуур (09.30-ны байдлаар)

# Шалгуур Зорилт
1 Порталд нэвтэрч, өөрийн объектоо баталгаажуулсан ААН ≥ 20 (сарын эцэст ≥ 50 урилгатай)
2 Эзэмшигчтэй холбогдсон ШТС/бааз ≥ 300 объект
3 Тайлангийн хамрах хүрээ (тайлагнасан ÷ бүртгэлтэй) ≥ 80%, сүүлийн 2 долоо хоногт
4 Хугацаандаа ирсэн тайлан (timeliness) ≥ 80%
5 Автомат шалгалтаар илэрсэн зөрчил засагдах дундаж хугацаа < 24 цаг
6 Дашбоардын хариу (p95) ≤ 3 с
7 API-ийн хариу (p95, 1000 зэрэг хэрэглэгч) ≤ 1 с
8 Өгөгдөл ирээгүйн жагсаалт Өдөр бүр 08:00-д и-мэйлээр, гараар биш
9 Улсын нөөцийн хоногийн нөөц (days of supply) Бүтээгдэхүүн тус бүрээр, өдөр бүр
10 Нээлттэй өгөгдөл Өдөр тутмын нэгтгэл JSON/CSV-ээр нийтэд
11 Зохицуулагчийн удирдах үйлдэл системд — батлах, буцаах, түдгэлзүүлэх, хөдөлгөөн хаах Бүгд аудиттай, гараас гадуур биш
12 Нөхцөлдүүлэлт ΔB, ΔC өдөр бүр тооцогдоно Хүлцэл: 0.3% / 0.5%
13 ШТС-ын техникийн тооллогын хамрах хүрээ ≥ 200 объект, A/B/C/D ангилалтай

Аль нэг нь хангагдаагүй бол шалтгааныг нь бичнэ — тоог нь өөрчлөхгүй.


4. Хамрах хүрээнд БАЙХГҮЙ

Эдгээрийг хойшлуулж байгаа нь чухал биш гэсэн үг биш: эхний гинж ажиллаагүй байхад тэдгээр нь ямар ч үнэ цэн өгөхгүй.

Юу Хэзээ Яагаад хойш
IoT / MQTT / ATG нэвтрүүлэлт 2-р сар Талбарын төхөөрөмжийн судалгаа, тендер шаардана. Гар тайлан эхлээд ажиллах ёстой. Талбарын бүтэц нь энэ сард схемд орно
Гаалийн интеграц 2–3-р сар Гадаад хамаарал. Өргөдөл 1-р д/х-д, код нь хожим
ХУР-аас автомат баталгаажуулалт 2-р сар Гараар бүртгэсэн ч эхний сар ажиллана
Мобайл шалгалтын апп 3-р сар Хяналтын ажилтан эхлээд вэбээр ажиллана
Data warehouse / BI 3-р сар Аналитик хийх өгөгдөл эхлээд хуримтлагдана
Time-series сан (Timescale) ATG-той хамт Өдөрт нэг мөр нь Postgres-т багтана
Бүтэн SIR (30 хоногийн статистик) ATG-той хамт Өдрийн тэнцэл нь энэ сард ажиллана; статистик хазайлт нь өгөгдөл хуримтлагдсаны дараа. 15 °C-ийн залруулга нь хойшлохгүй — 2-р д/х-д орно
Техникийн дүгнэлт (§3.2 М5) 2-р сар Бүртгэл (М4) бэлэн болсны дараа
POS, хошууны драйвер, ирмэгийн агент 3-р сар Энэ сард зөвхөн тооллого. Драйвер бичихээс өмнө ямар төхөөрөмж байгааг мэдэх ёстой («бүрэн төлөвлөгөө» (plan/petronet-plan.md, дотоод) §6)

5. Долоо хоног тутмын хуваарь

09.01 ─── 09.06  1-р д/х  Бүртгэл ба эзэмшил      ААН нэвтэрч, объектоо хардаг
09.07 ─── 09.13  2-р д/х  Тайлан орж ирэх          Тайлан ирж, шалгагдаж, буцдаг
09.14 ─── 09.20  3-р д/х  Төрийн харагдац          Батлагдаж, дашбоард дээр гардаг
09.21 ─── 09.27  4-р д/х  Тогтворжуулалт           Хурд, аюулгүй байдал, сургалт
09.28 ─── 09.30  Төгсгөл  Нэвтрүүлэлт              50+ ААН, хүлээлгэн өгөх

1-р долоо хоног · 09.01–09.06 — бүртгэл ба эзэмшил

Шинэ registry модуль барихгүй: petro_stations, petro_depots, petro_depot_tanks түүний ажлыг хийж байна. Дутуу нь эзэмшил ба гадны нэвтрэлт.

Өдөр Ажил Гаралт
09.01 00009_registry.sql — owner_org_id, national_code (улсын давтагдашгүй дугаар), hur_verified_at, status; индексүүд Миграц, go test ./... ногоон
09.01 ХУР ба гаальд холболтын албан хүсэлт (PM) Илгээсэн бичиг
09.02 petro_products — JODI-той нийцсэн бүтээгдэхүүний толь: код, JODI ангилал, анхдагч нягт, нэгж Миграц + seed
09.02–03 ААН-ийн нэвтрэлт: eID + байгууллагын муж, on_request нэгдэх бодлого, petro.report.submit эрх Портал руу нэвтэрнэ
09.03–04 ААН портал v0: өөрийн объектын жагсаалт, дэлгэрэнгүй, засварын хүсэлт /portal хуудсууд
09.03 Эрх зүйн багц — ЗГ-ын тогтоол, техникийн журам, мэдээлэл солилцооны гэрээний төслийг зохицуулагчид өгөх 4 төсөл (PM)
09.04–05 cmd/petro-import — mpetro-гийн бодит жагсаалт: --dry-run, зөрүүний тайлан, давхардал таних Импортын лог, 1500 ШТС
09.04 Хандалтын түвшин L1–L9 — иргэн, оператор, сүлжээ, импортлогч, аймаг, яам, ТЕГ, ГЕГ, аудитор Эрхийн матриц
09.05 dev/staging орчин тусгаарлах (§4.9) staging.petronet.mn
09.05 ШТС-ын техникийн тооллого эхлүүлэх — түгээгүүрийн брэнд, протокол, ATG, интернэт (A/B/C/D ангилал) Асуумж порталд, 2-р сарын IoT-ийн суурь
09.06 Эхний 5 ААН-ийг гараар дагаж оруулах 5 амьд хэрэглэгч

Долоо хоногийн шалгуур: 20 ААН нэвтэрч, өөрийн ШТС, баазаа харж, буруу мэдээллийг нь заасан байна. Эзэмшигчгүй объектын тоо тодорхой.

2-р долоо хоног · 09.07–09.13 — тайлан орж ирэх

Өдөр Ажил Гаралт
09.07 00010_reports.sql — petro_report_periods, petro_report_submissions (төлөв, хувилбар, файл), petro_report_lines, petro_validation_findings Миграц
09.07 petro_movements — хөдөлгөөний давтагдашгүй дугаар, эхлэх/хаагдах төлөв (EMCS-ийн загвар) Миграц
09.08 Тайлангийн мөрийн бүтэц: объект, бүтээгдэхүүн, нээлтийн үлдэгдэл, хүлээн авалт, борлуулалт, хаалтын үлдэгдэл, үнэ, ажиглалтын температур, нягт report.go
09.08–09 Веб форм — өдөр тутмын үлдэгдэл ба борлуулалт; өмнөх өдрийн хаалт нь өнөөдрийн нээлт болж урьдчилан бөглөгдөнө /portal/report
09.09–10 Excel загвар (нэг загвар, хатуу багана) + ачаалалт, мөр тус бүрийн алдааны буцаалт .xlsx загвар, parser
09.10–11 validation.go — дүрмүүд: заавал талбар, тоон муж, тэнцлийн тэгшитгэл, савны багтаамжаас хэтрэлт, өмнөх үеэс хазайлт (z-score), үнийн үсрэлт Дүрэм тус бүрд ширээн тест
09.11 Автомат мэдэгдэл: буцаалт, хугацаа дөхсөн сануулга (платформын notification) И-мэйл ирнэ
09.11 15 °C-ийн залруулга — ажиглалтын литр → стандарт литр, нягт ба температураар volume.go + ширээн тест
09.12 Бодлого бол өгөгдөл — лимит, хүлцэл, эцсийн хугацаа petro_policy (jsonb, хувилбартай) Байршуулалтгүй өөрчлөлт
09.12 Төхөөрөмжийн бүртгэлийн хүснэгт (petro_devices) — ирээдүйн ATG-д зориулж, одоо хоосон Миграц
09.13 20 ААН-тэй эхний бодит тайлангийн өдөр 20 ирүүлэлт

Долоо хоногийн шалгуур: 20 ААН эхний тайлангаа илгээж, систем алдаатайг нь мөрөөр нь буцаасан; засварласан хувилбар нь өмнөхийг устгалгүй хадгалагдсан.

3-р долоо хоног · 09.14–09.20 — төрийн харагдац

Өдөр Ажил Гаралт
09.14 Хяналтын workflow: хүлээн авах / буцаах / батлах, аудит бүртгэлтэй; батлагч ≠ илгээгч review.go
09.15 Яамны ажлын дэлгэц: хүлээгдэж буй тайлан, шүүлт, багц үйлдэл /oversight/queue
09.15–16 petro_daily_national materialized view — өдөр × бүтээгдэхүүн × аймаг: нөөц, хэрэглээ, хоногийн нөөц Миграц + cron refresh
09.16–17 Дашбоард v1: улсын нөөц, бүсийн тархалт, импортын урсгал, хамрах хүрээний мөр эхэнд /dashboard
09.17 Эрсдэлийн хяналт: нөөц дуусах анхааруулга, өгөгдөл ирээгүйн илрүүлэлт, эрсдэл өндөртэй жагсаалт /dashboard/risk
09.17 Удирдах үйлдлүүд: объект түдгэлзүүлэх, хөдөлгөөн хаах/зөрүүтэй гэх, эрсдэлийн жагсаалтаас даалгавар Аудиттай үйлдэл
09.18 Өдөр бүр 08:00-ийн и-мэйл: тайлагнаагүй байгууллага, зөрүүтэй мөр Хуваарьт ажил
09.18 Нөхцөлдүүлэлтийн самбар — ΔB, ΔC өдөр бүр, хүлцэл давсанд кейс /oversight/reconciliation
09.18–19 Excel экспорт — nexus.RegisterReport-оор 6 тайлан (импорт, үлдэгдэл, жижиглэн, бөөн, үнэ, баланс) Тайлангийн жагсаалт
09.19 Хуурамчлалын хамгаалалт (хөнгөн) — ирүүлэлтийн hash chain, өдрийн anchor, дугаарын завсрын дохиолол Аудитын гинж
09.19 Газрын зураг дээр нөөцийн түвшинг өнгөөр (§3.1 М2) Төрийн зураг
09.20 Нээлттэй өгөгдөл: өдөр тутмын нэгтгэл JSON/CSV /api/v1/petro/public/daily

Долоо хоногийн шалгуур: яамны ажилтан өдрийн ажлаа системд хийж байна — Excel-ээр биш.

4-р долоо хоног · 09.21–09.27 — тогтворжуулалт

Өдөр Ажил Гаралт
09.21–22 Ачааллын тест (k6): 1000 зэрэг хэрэглэгч; индекс, урьдчилсан нэгтгэл, кэш Хэмжсэн p95
09.22 Grafana-д SLO панель: API p95, дашбоард p95, uptime, өгөгдлийн саатал Самбар
09.23 Аюулгүй байдал: OWASP ASVS L2 чеклист, эрхийн матрицын автомат тест, rate limit, нууцын шалгалт Чеклистийн үр дүн
09.23 Хөндлөнгийн pentest захиалах (§5.5) Гэрээ, хуваарь
09.24 OpenAPI 3.1 тодорхойлолт нийтлэх (§4.3, §5.8) docs.petronet.mn/api
09.25 Сургалт: ААН-д 5 минутын видео + 2 хуудас заавар Баримт
09.26 Сургалт: төрийн ажилтны гарын авлага, администраторын runbook docs/
09.27 Нөөцлөлт, сэргээлтийн бодит сургуулилт Тайлан

Төгсгөл · 09.28–09.30 — нэвтрүүлэлт

Өдөр Ажил
09.28 50+ ААН руу өргөжүүлэх; гараар дагаж ажиллах хуваарь
09.29 mpetro-той зэрэгцээ ажиллах горим, түүхэн өгөгдлийн шилжүүлгийн төлөвлөгөө
09.30 Хүлээлгэн өгөх: KPI самбар, эх код, баримт, 2-р сарын төлөвлөгөө

6. Өгөгдлийн загварын нэмэлт

Хүснэгт Гол багана Яагаад
petro_products код, JODI ангилал, нэгж, анхдагч нягт Толь бичгийг зохиохгүй, зээлнэ (§2.4)
petro_report_periods төрөл, давтамж (өдөр/7 хоног/сар), эхлэл, төгсгөл, эцсийн хугацаа §3.2 М3-ын «уян хатан давтамж»
petro_report_submissions үе, байгууллага, төлөв, хувилбар, илгээгч, файл, илгээсэн цаг Хувилбар нь өмнөхийг устгахгүй
petro_report_lines объект, бүтээгдэхүүн, нээлт, хүлээн авалт, борлуулалт, хаалт, үнэ, темп, нягт Ажиглалт ба тооцоолол тусдаа (§2.6)
petro_validation_findings мөр, дүрэм, хүндрэл, мессеж Буцаалт нь «алдаатай» биш, аль мөр, яагаад
petro_movements дугаар, эх, хүрэх, бүтээгдэхүүн, мэдүүлсэн, хүлээн авсан, төлөв, хаагдсан цаг EMCS-ийн хөдөлгөөн (§2.3)
petro_devices сав, төхөөрөмжийн дугаар, протокол, сүүлийн холбоо ATG ирэхэд бэлэн, одоо хоосон
petro_daily_national (MV) огноо, бүтээгдэхүүн, аймаг, нөөц, хэрэглээ, хоногийн нөөц Дашбоард ≤3с (§4.5)

Зарчим: түүхий утга үргэлж хадгалагдана. Залруулсан тоо нь эргэж тайлагдахгүй бол тэр нь өгөгдөл биш, дүгнэлт.

Нөхцөлдүүлэлт — таван тэнцэл

Загварын жинхэнэ зорилго нь тайлан хадгалах биш, зөрүүг тоо болгох. Бүгд 15 °C-т шилжүүлсэн литрээр:

Гаальд мэдүүлсэн   − Терминалд хүлээн авсан                    = ΔA  хилийн алдагдал
Терминалаас ачсан  − ШТС-д хүлээн авсан                        = ΔB  тээврийн алдагдал
ШТС-д хүлээн авсан − Түгээсэн − Савны үлдэгдлийн өөрчлөлт      = ΔC  ШТС-ын алдагдал
Түгээсэн           − e-Barimt-аар бүртгэгдсэн                  = ΔD  татварын зөрүү
Ваучераар олгосон  − Түгээсэн                                  = ΔE  ваучерийн зөрчил

Хүлцэл: ΔA ≤ 0.3% · ΔB ≤ 0.3% · ΔC ≤ 0.5% · ΔD ≈ 0 · ΔE ≤ 0.2%. Хэтэрвэл автомат кейс үүсч, зохицуулагчийн дараалалд орно.

Тэнцэл Эх өгөгдөл Есдүгээр сард
ΔA Гаалийн мэдүүлэг ↔ терминалын хүлээн авалт Хэсэгчлэн — мэдүүлэг гараар орно, автомат нь 2-р сард
ΔB Хөдөлгөөний мэдүүлсэн ↔ хүлээн авсан литр Бий — petro_movements дээр өдөр бүр
ΔC ШТС-ын нээлт + хүлээн авалт − борлуулалт = хаалт Бий — тайлангийн шалгалтын гол дүрэм
ΔD Түгээсэн ↔ e-Barimt 3-р сар — POS/e-Barimt интеграцтай хамт
ΔE Ваучер ↔ түгээсэн 3-р сар — ваучер идэвхжсэний дараа

ΔB ба ΔC хоёр нь гар тайлангаас гарна — тиймээс энэ сард. Тэдгээр нь «хаана алдагдаж байгаа нь мэдэгддэггүй» гэдэг асуудлыг эхний удаа тоо болгоно.


7. Архитектурын шийдвэрүүд

Шийдвэр Сонголт Шалтгаан Хэзээ дахин үзэх
Модуль vs шинэ сервис Nexus модуль Нэг binary, нэг байрлуулалт, нэг эрхийн загвар 1000+ ААН, эсвэл IoT-ийн ачаалал тусгаарлалт шаардвал
Тайлангийн хөдөлгүүр Платформынхыг ашиглана (RegisterReport) Excel/CSV, хуваарь, и-мэйл, байгууллага хоорондын хуваалцалт аль хэдийн бий —
Time-series Хойшлуулна Өдөрт нэг мөр нь Postgres-т багтана ATG-ийн эхний 100 төхөөрөмж
Excel Нэг хатуу загвар Чөлөөт формат нь эхний өдрөөс өгөгдлийн чанарыг алдах явдал ААН-ийн ERP шууд API-аар холбогдох үед
Дашбоард Урьдчилан нэгтгэсэн MV ≤3 секунд; ажиллаж байгаа сан дээр том асуулга явуулахгүй Аймгийн задаргаа хүрэлцэхгүй болбол
Хөдөлгөөний дугаар Улсын хэмжээнд давтагдашгүй EMCS-ийн ARC-ийн үүрэг: маргаан нэг дугаар дээр төвлөрнө —
IoT протокол MQTT + Sparkplug-ийн зарчмууд §4.4-ийн буфер, алдагдалгүй дамжуулалт нь store-and-forward Бүтэн Sparkplug — 2-р сар
Бодлого (лимит, хүлцэл, хугацаа) Өгөгдөл, код биш — petro_policy, хувилбартай Хүлцэл өөрчлөх нь байршуулалт байх ёсгүй; түүх нь хадгалагдана —
Модулийн задрал Нэг modules/petro Нэг баг, нэг байрлуулалт, нэг миграцын түүх Ирмэгийн агент өөрийн хувилбарын мөчлөгтэй болох үед
Нээлттэй өгөгдөл Нэгтгэсэн түвшинд, компанийн задаргаагүй Компанийн өдөр тутмын нөөц нь өрсөлдөгчийн уншлага (metrics.go-ийн адил зарчим) Хуулиар шаардвал

8. Чанар, аюулгүй байдал, гүйцэтгэл

Юу Хэрхэн Хэзээ
Шалгалтын дүрэм бүр Ширээн тест (validation_test.go) — дүрэм нэмэх нь мөр нэмэх Тасралтгүй
Миграц Бодит сангийн хуулбар дээр up/down Долоо хоног бүр
Эрхийн матриц Маршрутын бодлогын автомат тест — нээлттэй маршрут санамсаргүй нэмэгдэхгүй CI
Интеграцийн тест depot_integration_test.go, station_integration_test.go загвараар тайлан, workflow-д 2–3-р д/х
Ачаалал k6, 1000 зэрэг хэрэглэгч, бодит хэмжээний өгөгдөл дээр 4-р д/х
OWASP ASVS L2 чеклист + SECURITY.md-ийн журам 4-р д/х
Pentest Хөндлөнгийн байгууллага (§5.5) Захиалга 4-р д/х, үр дүн 2-р сар
Нөөцлөлт Сэргээлтийн сургуулилт, зөвхөн скрипт биш 09.27

9. Хэмжүүр — юуг өдөр бүр хардаг вэ

Хэмжүүр Тодорхойлолт Зорилт Хаана
Хамрах хүрээ Тайлагнасан ÷ бүртгэлтэй объект ≥ 80% Дашбоардын 1-р мөр
Хугацаа Эцсийн хугацаанаас өмнө ирсэн ÷ бүгд ≥ 80% Дашбоард
Эхний удаад тэнцсэн Шалгалтад шууд тэнцсэн ÷ бүгд ≥ 60%, өсөх Дашбоард
Зөрүү Тэнцлийн тэгшитгэлээс хүлцлээс гадуур объект < 10% Эрсдэлийн хуудас
Хоногийн нөөц Улсын нөөц ÷ өдрийн дундаж хэрэглээ Хэмжинэ, зорилтгүй Дашбоард, нийтэд
API p95 / дашбоард p95 Prometheus гистограм ≤1с / ≤3с Grafana
Uptime Сарын бэлэн байдал ≥ 99.5% Grafana
Өгөгдлийн саатал Илгээснээс дашбоард хүртэл ≤ 5 мин Grafana

Эхний гурав нь өгөгдлийн доторх дүгнэлтээс урд байрлана: бүрэн бус өгөгдөл дээрх сайхан график нь буруу шийдвэрийн хамгийн хямд эх сурвалж.


10. Эрсдэл

Эрсдэл Магадлал Сааруулалт
ААН холбогдохгүй — албадах эрх байхгүй Өндөр Эхний 20-г гараар дагана: утсаар, очиж. Тэдэнд ашигтай зүйлийг (өөрийн сүлжээний харагдац, тайлангийн автоматжуулалт) эхэлж өгнө
Excel-ийн эмх замбараагүй байдал Өндөр Нэг хатуу загвар; гажсаныг татгалзаж, аль мөр, яагаад гэдгийг заана
Одоо байгаа өгөгдлийн чанар (mpetro) Өндөр «Эх хэлбэрээр» хадгална; цэвэрлэгээг тусдаа бүртгэнэ; зөрүүг нуухгүй
ХУР/гаалийн зөвшөөрөл удаашрах Дунд Өргөдөл 1-р өдөр. Эхний сар гар бүртгэлээр ажиллана — блоклохгүй
Нэг сард хэт их амлах Дунд §4-ийн «байхгүй» жагсаалт нь гэрээ. Өөрчлөх нь ярианы асуудал, чимээгүй нэмэх асуудал биш
Ажиллагааны өр Дунд Модуль бүр тесттэй, миграцтай, баримттай. Бид өөрсдөө ажиллуулна — хурдан бичээд дараа цэвэрлэх арга энд ажиллахгүй
Хамрах хүрээ унах (Ганагийн жишиг) Дунд Хамрах хүрээ нь KPI, өдөр бүр и-мэйлээр гарна
Гүйцэтгэл 4-р д/х-д хангагдахгүй Бага Урьдчилсан нэгтгэл эхнээсээ; индексийг миграцтай хамт
Big-bang нэвтрүүлэлт (Шри Ланкын алдаа) Дунд 20 → 50 → бүх ААН. Ирүүлэлт бүр идемпотент түлхүүртэй; буцах төлөвлөгөө үе шат бүрд
Түгээгүүрийн протокол хаалттай/лицензтэй (Gilbarco, Wayne) Өндөр Энэ сард тооллого л хийнэ; лицензийн хууль зүйн шалгалт 2-р сард. Стандартаа IFSF гэж зарлана
Залруулгагүй литрээр тэнцэл тооцох Өндөр 15 °C-ийн залруулга 2-р д/х-д; түүнгүйгээр 0.5%-ийн хүлцэл утгагүй

11. 30 хоногийн дараа

Сар Гол ажил
2-р сар IoT/MQTT (ATG туршилт 10 объект), ирмэгийн агентын прототип, гаалийн интеграц, ХУР-ын баталгаажуулалт, техникийн дүгнэлт (§3.2 М5), pentest-ийн засварууд
3-р сар POS ба хошууны эхний хоёр драйвер (IFSF, импульс/гар), 20–30 ШТС-ын пилот, мобайл шалгалтын апп (§3.4), хяналтын бүртгэл (М6), ΔD/ΔE тэнцэл, e-Barimt
4-р сар+ Драйверын өргөтгөл (Gilbarco, Wayne, Tokheim), аймгаар шатлан нэвтрүүлэх, DWH/BI, бүтэн SIR, JODI руу автомат тайлагналт, ваучерын горим («бүрэн төлөвлөгөө» (plan/petronet-plan.md, дотоод) Фаз 2–4)

12. Эхлэх — 09.01-ний өглөө

  1. 00009_registry.sql — эзэмшил, улсын дугаар, статус
  2. ХУР ба гаальд албан хүсэлт илгээх (PM)
  3. petro_products толь — JODI-той нийцүүлж seed хийх
  4. ААН-ийн нэвтрэлтийн зам (eID + байгууллагын муж)
  5. petro-import-ыг mpetro-гийн бодит жагсаалт дээр --dry-run-аар ажиллуулах
  6. Эхний 5 ААН-ийг утсаар урих
  7. Эрх зүйн багцын төслийг зохицуулагчид өгөх (ЗГ-ын тогтоол, техникийн журам)
  8. ШТС-ын техникийн тооллогын асуумжийг порталд байрлуулах

13. Нээлттэй асуудал — хариулт хэрэгтэй

# Асуулт Хэнээс Хэзээ хүртэл
1 Багийн бүрэлдэхүүн — 3 хөгжүүлэгч мөн үү Дотооддоо 09.01
2 Эхний 20 ААН-ийн жагсаалт хэн гаргах вэ Яам 09.03
3 mpetro-гийн өгөгдөлд хандах эрх, формат Яам 09.02
4 Excel загварыг яам батлах уу, эсвэл бид тогтоох уу Яам 09.09
5 Нээлттэй өгөгдлийн задаргааны түвшин (компани харагдах уу) Яам, эрх зүй 09.18
6 Тайлангийн давтамж — өдөр тутам эсэх (Кений жишиг) Яам 09.07
7 POS-ыг ШТС-д хэрхэн тараах вэ — үнэгүй, хуваарилсан төлбөр, албадлага Яам, ТХТ 09.20
8 Хаалттай протоколын лиценз — үйлдвэрлэгчтэй гэрээ юу, IFSF gateway юу Дотооддоо 09.30

Энэ баримтын дараагийн хувилбар нь хийгдсэнийг тэмдэглэнэ — төлөвлөснийг биш.