Esasy mazmuna geç
Ähli proýektler

ERP analitikasy · Algoritmler

Logo Tiger ERP üçin pul akymlarynyň analitikasy

Kompaniýanyň Logo Tiger ERP bazasynyň üstündäki analitika serwisi: kassa, bank, hasaplaşyk hasaplary we ammar hereketleri boýunça pullaryň nireden gelendigini we haýsy proýektleri maliýeleşdirendigini dikeldýär.

Meniň rolum
Backend programmist. Baglanyşdyrmak we möçberleri degişli etmek logikasyny, toplumlaýyn işlemegi we hasabat interfeýsini döretdim.
Tehnologiýalar
  • Go
  • Echo
  • GORM
  • MSSQL
  • Logo Tiger
  • WebSocket

Mesele

ERP-de pul kassalaryň, banklaryň, hasaplaşyk hasaplarynyň, geçirimleriň we ammaryň üsti bilen hereket edýär, her resminama bolsa diňe özüne gönüden-göni bagly resminamany bilýär. Ýolbaşçylara proýekt derejesinde jogaplar gerekdi: haýsy girdeji hakykatda haýsy proýekti we näçe möçberde maliýeleşdirdi.

Arhitektura

Logo Tiger ERP üçin pul akymlarynyň analitikasy — Arhitektura diagrammasyLogo TigerMSSQL movementsLinkingvirman · ref · FIFOAttributiongraph traversalWeb UIWebSocket progressResultsMSSQLWriter pool4 workers · batchesExcelreports
Serwis ERP-iň MSSQL bazasyndan hereketleri GORM we ýörite view-lar arkaly okaýar, resminamalary pul akymynyň zynjyrlaryna baglanyşdyrýar, möçberleri proýektlere degişli etmek üçin bu zynjyrlary giňligine (breadth-first) aýlanýar we netijeleri toplumlaýyn yzyna ýazýar. Serwerde döredilýän interfeýs (Echo + HTML şablonlary) akym agaçlaryny görkezýär we hasaplamanyň ösüşini WebSocket arkaly iberýär; netijeler Excel-e eksport edilýär.

Esasy çözgütler

  1. 01Bir düzgüniň ýerine birnäçe baglanyşdyrma strategiýasy

    Näme üçin
    Hakyky ERP maglumatlarynda resminamalar dürli usullar bilen baglanyşýar — hasaplaryň arasyndaky geçirimler, ene we çeşme salgylanmalary ýa-da hiç hili aç-açan baglanyşyk ýok. Her ýagdaýyň öz strategiýasy bar, ätiýaçlyk usul hökmünde FIFO boýunça paýlamak ulanylýar.
    Kompromis
    Ylalaşykly saklamaly düzgünler köpelýär, netijeler bolsa ERP-däki maglumatlaryň hiline bagly.
  2. 02Zynjyr boýunça iň dar ýere görä paýlamak

    Näme üçin
    Birnäçe ädimden geçýän pul öz ýolundaky iň kiçi möçberden köp zady maliýeleşdirip bilmeýär, şonuň üçin aýlanyş her zynjyr boýunça şol minimumy göterýär we diňe şony degişli edýär.
  3. 03Ýazmak üçin çäklendirilen concurrency

    Näme üçin
    Netijeler 4 workerden ybarat kesgitli howuz tarapyndan 1 000 setirlik köp setirli INSERT-ler bilen ýazylýar, ilkinji ýalňyşlyk bolsa context arkaly galanlaryny ýatyrýar. Ýazmak çaltlanýar, ERP bazasyna düşýän ýük bolsa öňünden çaklap bolýan bolup galýar.

Näme döretdim

  • MSSQL-de Logo Tiger-iň hereket tablisalaryny we ýörite SQL view-laryny okaýar
  • Dört baglanyşdyrma strategiýasy: geçirimler (virman), ene salgylanma, çeşme salgylanma we FIFO boýunça paýlamak
  • Pul akymynyň zynjyrlary boýunça möçberleri olaryň iň dar ýerine (bottleneck) görä paýlaýan graf aýlanyşy
  • Köpçülikleýin ýazmak üçin çäklendirilen worker howuzy: 1 000 setirlik toplumlar, 4 worker, ilkinji ýalňyşlykda ýatyrmak
  • Uzak hasaplamalaryň dowamynda WebSocket arkaly göni ösüş görkezijisi; akym agaçlary we Excel-e eksport