cry-klikvet-logic 0.10.8 → 0.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calcTimeQuery.d.ts +2 -0
- package/dist/calcTimeQuery.d.ts.map +1 -0
- package/dist/calcTimeQuery.js +18 -0
- package/dist/calcTimeQuery.js.map +1 -0
- package/dist/certs.d.ts +14 -0
- package/dist/certs.d.ts.map +1 -0
- package/dist/certs.js +38 -0
- package/dist/certs.js.map +1 -0
- package/dist/davki.d.ts +7 -0
- package/dist/davki.d.ts.map +1 -0
- package/dist/davki.js +14 -0
- package/dist/davki.js.map +1 -0
- package/dist/dayjs.d.ts +3 -0
- package/dist/dayjs.d.ts.map +1 -0
- package/dist/dayjs.js +10 -0
- package/dist/dayjs.js.map +1 -0
- package/dist/ensureIndexes.d.ts +2 -0
- package/dist/ensureIndexes.d.ts.map +1 -0
- package/dist/ensureIndexes.js +150 -0
- package/dist/ensureIndexes.js.map +1 -0
- package/dist/idjiArtiklovKiImajoLahkoZalogo.d.ts +2 -0
- package/dist/idjiArtiklovKiImajoLahkoZalogo.d.ts.map +1 -0
- package/dist/idjiArtiklovKiImajoLahkoZalogo.js +18 -0
- package/dist/idjiArtiklovKiImajoLahkoZalogo.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/izracunajNovoMaloprodajnoCeno.d.ts +5 -0
- package/dist/izracunajNovoMaloprodajnoCeno.d.ts.map +1 -0
- package/dist/izracunajNovoMaloprodajnoCeno.js +24 -0
- package/dist/izracunajNovoMaloprodajnoCeno.js.map +1 -0
- package/dist/karticaArtikla.d.ts +24 -0
- package/dist/karticaArtikla.d.ts.map +1 -0
- package/dist/karticaArtikla.js +199 -0
- package/dist/karticaArtikla.js.map +1 -0
- package/dist/koledar.d.ts +13 -0
- package/dist/koledar.d.ts.map +1 -0
- package/dist/koledar.js +38 -0
- package/dist/koledar.js.map +1 -0
- package/dist/lahkoImaZalogo.d.ts +4 -0
- package/dist/lahkoImaZalogo.d.ts.map +1 -0
- package/dist/lahkoImaZalogo.js +20 -0
- package/dist/lahkoImaZalogo.js.map +1 -0
- package/dist/neuporabljeno.d.ts +5 -0
- package/dist/neuporabljeno.d.ts.map +1 -0
- package/dist/neuporabljeno.js +40 -0
- package/dist/neuporabljeno.js.map +1 -0
- package/dist/poknjiziVsoZgodovino.d.ts +54 -0
- package/dist/poknjiziVsoZgodovino.d.ts.map +1 -0
- package/dist/poknjiziVsoZgodovino.js +223 -0
- package/dist/poknjiziVsoZgodovino.js.map +1 -0
- package/dist/polnaInventura.d.ts +5 -0
- package/dist/polnaInventura.d.ts.map +1 -0
- package/dist/polnaInventura.js +132 -0
- package/dist/polnaInventura.js.map +1 -0
- package/dist/preracunajPostavkoBlagovnice.d.ts +21 -0
- package/dist/preracunajPostavkoBlagovnice.d.ts.map +1 -0
- package/dist/preracunajPostavkoBlagovnice.js +54 -0
- package/dist/preracunajPostavkoBlagovnice.js.map +1 -0
- package/dist/preracunajZalogo.d.ts +117 -0
- package/dist/preracunajZalogo.d.ts.map +1 -0
- package/dist/preracunajZalogo.js +110 -0
- package/dist/preracunajZalogo.js.map +1 -0
- package/dist/q-blagovnice.d.ts +10 -0
- package/dist/q-blagovnice.d.ts.map +1 -0
- package/dist/q-blagovnice.js +32 -0
- package/dist/q-blagovnice.js.map +1 -0
- package/dist/q-isciPoObravnavah.d.ts +35 -0
- package/dist/q-isciPoObravnavah.d.ts.map +1 -0
- package/dist/q-isciPoObravnavah.js +140 -0
- package/dist/q-isciPoObravnavah.js.map +1 -0
- package/dist/q-isciPoRacunih.d.ts +112 -0
- package/dist/q-isciPoRacunih.d.ts.map +1 -0
- package/dist/q-isciPoRacunih.js +167 -0
- package/dist/q-isciPoRacunih.js.map +1 -0
- package/dist/q-mojPromet.d.ts +24 -0
- package/dist/q-mojPromet.d.ts.map +1 -0
- package/dist/q-mojPromet.js +87 -0
- package/dist/q-mojPromet.js.map +1 -0
- package/dist/q-porabaZdravil.d.ts +33 -0
- package/dist/q-porabaZdravil.d.ts.map +1 -0
- package/dist/q-porabaZdravil.js +187 -0
- package/dist/q-porabaZdravil.js.map +1 -0
- package/dist/q-prodano.d.ts +27 -0
- package/dist/q-prodano.d.ts.map +1 -0
- package/dist/q-prodano.js +120 -0
- package/dist/q-prodano.js.map +1 -0
- package/dist/q-prodanoPorabljeno.d.ts +13 -0
- package/dist/q-prodanoPorabljeno.d.ts.map +1 -0
- package/dist/q-prodanoPorabljeno.js +74 -0
- package/dist/q-prodanoPorabljeno.js.map +1 -0
- package/dist/q-promet.d.ts +276 -0
- package/dist/q-promet.d.ts.map +1 -0
- package/dist/q-promet.js +337 -0
- package/dist/q-promet.js.map +1 -0
- package/dist/q-racunovodji.d.ts +28 -0
- package/dist/q-racunovodji.d.ts.map +1 -0
- package/dist/q-racunovodji.js +240 -0
- package/dist/q-racunovodji.js.map +1 -0
- package/dist/q-skupineIzdelkov.d.ts +12 -0
- package/dist/q-skupineIzdelkov.d.ts.map +1 -0
- package/dist/q-skupineIzdelkov.js +58 -0
- package/dist/q-skupineIzdelkov.js.map +1 -0
- package/dist/q-skupineStrank.d.ts +12 -0
- package/dist/q-skupineStrank.d.ts.map +1 -0
- package/dist/q-skupineStrank.js +58 -0
- package/dist/q-skupineStrank.js.map +1 -0
- package/dist/q-strankeKlasificiraj.d.ts +7 -0
- package/dist/q-strankeKlasificiraj.d.ts.map +1 -0
- package/dist/q-strankeKlasificiraj.js +80 -0
- package/dist/q-strankeKlasificiraj.js.map +1 -0
- package/dist/q-strankeZadnjiObiski.d.ts +6 -0
- package/dist/q-strankeZadnjiObiski.d.ts.map +1 -0
- package/dist/q-strankeZadnjiObiski.js +40 -0
- package/dist/q-strankeZadnjiObiski.js.map +1 -0
- package/dist/q-zakljucek-blagajne.d.ts +35 -0
- package/dist/q-zakljucek-blagajne.d.ts.map +1 -0
- package/dist/q-zakljucek-blagajne.js +113 -0
- package/dist/q-zakljucek-blagajne.js.map +1 -0
- package/dist/razknjiziBlagovnico.d.ts +3 -0
- package/dist/razknjiziBlagovnico.d.ts.map +1 -0
- package/dist/razknjiziBlagovnico.js +56 -0
- package/dist/razknjiziBlagovnico.js.map +1 -0
- package/dist/razpisiDatum.d.ts +17 -0
- package/dist/razpisiDatum.d.ts.map +1 -0
- package/dist/razpisiDatum.js +57 -0
- package/dist/razpisiDatum.js.map +1 -0
- package/dist/spremembaZalogeZaObdobje.d.ts +16 -0
- package/dist/spremembaZalogeZaObdobje.d.ts.map +1 -0
- package/dist/spremembaZalogeZaObdobje.js +105 -0
- package/dist/spremembaZalogeZaObdobje.js.map +1 -0
- package/dist/spremeniZalogo.d.ts +44 -0
- package/dist/spremeniZalogo.d.ts.map +1 -0
- package/dist/spremeniZalogo.js +153 -0
- package/dist/spremeniZalogo.js.map +1 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.d.ts +5 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.d.ts.map +1 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.js +79 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.js.map +1 -0
- package/dist/spremeniZalogoZaDobavo.d.ts +5 -0
- package/dist/spremeniZalogoZaDobavo.d.ts.map +1 -0
- package/dist/spremeniZalogoZaDobavo.js +198 -0
- package/dist/spremeniZalogoZaDobavo.js.map +1 -0
- package/dist/spremeniZalogoZaInventuro.d.ts +5 -0
- package/dist/spremeniZalogoZaInventuro.d.ts.map +1 -0
- package/dist/spremeniZalogoZaInventuro.js +67 -0
- package/dist/spremeniZalogoZaInventuro.js.map +1 -0
- package/dist/spremeniZalogoZaPorabo.d.ts +5 -0
- package/dist/spremeniZalogoZaPorabo.d.ts.map +1 -0
- package/dist/spremeniZalogoZaPorabo.js +26 -0
- package/dist/spremeniZalogoZaPorabo.js.map +1 -0
- package/dist/spremeniZalogoZaPrenos.d.ts +5 -0
- package/dist/spremeniZalogoZaPrenos.d.ts.map +1 -0
- package/dist/spremeniZalogoZaPrenos.js +49 -0
- package/dist/spremeniZalogoZaPrenos.js.map +1 -0
- package/dist/strankaInfo.d.ts +11 -0
- package/dist/strankaInfo.d.ts.map +1 -0
- package/dist/strankaInfo.js +24 -0
- package/dist/strankaInfo.js.map +1 -0
- package/dist/support/poisciSpremembeMpc.d.ts +11 -0
- package/dist/support/poisciSpremembeMpc.d.ts.map +1 -0
- package/dist/support/poisciSpremembeMpc.js +59 -0
- package/dist/support/poisciSpremembeMpc.js.map +1 -0
- package/dist/test/memdb.d.ts +2 -0
- package/dist/test/memdb.d.ts.map +1 -0
- package/dist/test/memdb.js +38 -0
- package/dist/test/memdb.js.map +1 -0
- package/dist/test/mesane-enote.d.ts +2 -0
- package/dist/test/mesane-enote.d.ts.map +1 -0
- package/dist/test/mesane-enote.js +67 -0
- package/dist/test/mesane-enote.js.map +1 -0
- package/dist/test/prestavitev.d.ts +2 -0
- package/dist/test/prestavitev.d.ts.map +1 -0
- package/dist/test/prestavitev.js +124 -0
- package/dist/test/prestavitev.js.map +1 -0
- package/dist/test/sprememba-cene.d.ts +2 -0
- package/dist/test/sprememba-cene.d.ts.map +1 -0
- package/dist/test/sprememba-cene.js +219 -0
- package/dist/test/sprememba-cene.js.map +1 -0
- package/dist/test/sprememba-cene2.d.ts +2 -0
- package/dist/test/sprememba-cene2.d.ts.map +1 -0
- package/dist/test/sprememba-cene2.js +146 -0
- package/dist/test/sprememba-cene2.js.map +1 -0
- package/dist/test/sprememba-cene3.d.ts +2 -0
- package/dist/test/sprememba-cene3.d.ts.map +1 -0
- package/dist/test/sprememba-cene3.js +147 -0
- package/dist/test/sprememba-cene3.js.map +1 -0
- package/dist/test/sprememba-cene4.d.ts +2 -0
- package/dist/test/sprememba-cene4.d.ts.map +1 -0
- package/dist/test/sprememba-cene4.js +110 -0
- package/dist/test/sprememba-cene4.js.map +1 -0
- package/dist/test/sprememba-cene5.d.ts +2 -0
- package/dist/test/sprememba-cene5.d.ts.map +1 -0
- package/dist/test/sprememba-cene5.js +117 -0
- package/dist/test/sprememba-cene5.js.map +1 -0
- package/dist/test/sprememba-cene6.d.ts +2 -0
- package/dist/test/sprememba-cene6.d.ts.map +1 -0
- package/dist/test/sprememba-cene6.js +150 -0
- package/dist/test/sprememba-cene6.js.map +1 -0
- package/dist/test/tuja-zaloga.d.ts +2 -0
- package/dist/test/tuja-zaloga.d.ts.map +1 -0
- package/dist/test/tuja-zaloga.js +124 -0
- package/dist/test/tuja-zaloga.js.map +1 -0
- package/dist/test/zaloge.d.ts +2 -0
- package/dist/test/zaloge.d.ts.map +1 -0
- package/dist/test/zaloge.js +162 -0
- package/dist/test/zaloge.js.map +1 -0
- package/dist/test/zaloge2.d.ts +2 -0
- package/dist/test/zaloge2.d.ts.map +1 -0
- package/dist/test/zaloge2.js +177 -0
- package/dist/test/zaloge2.js.map +1 -0
- package/dist/types/CommandForDevice.d.ts +14 -0
- package/dist/types/CommandForDevice.d.ts.map +1 -0
- package/dist/types/CommandForDevice.js +3 -0
- package/dist/types/CommandForDevice.js.map +1 -0
- package/dist/types/GlavaDokumenta.d.ts +9 -0
- package/dist/types/GlavaDokumenta.d.ts.map +1 -0
- package/dist/types/GlavaDokumenta.js +3 -0
- package/dist/types/GlavaDokumenta.js.map +1 -0
- package/dist/types/Obvestilo.d.ts +35 -0
- package/dist/types/Obvestilo.d.ts.map +1 -0
- package/dist/types/Obvestilo.js +3 -0
- package/dist/types/Obvestilo.js.map +1 -0
- package/dist/types/SpecifikacijaNeuporabljenega.d.ts +8 -0
- package/dist/types/SpecifikacijaNeuporabljenega.d.ts.map +1 -0
- package/dist/types/SpecifikacijaNeuporabljenega.js +3 -0
- package/dist/types/SpecifikacijaNeuporabljenega.js.map +1 -0
- package/dist/types/SpecifikacijaPolneInventure.d.ts +12 -0
- package/dist/types/SpecifikacijaPolneInventure.d.ts.map +1 -0
- package/dist/types/SpecifikacijaPolneInventure.js +3 -0
- package/dist/types/SpecifikacijaPolneInventure.js.map +1 -0
- package/dist/types/SpremembaCene.d.ts +16 -0
- package/dist/types/SpremembaCene.d.ts.map +1 -0
- package/dist/types/SpremembaCene.js +3 -0
- package/dist/types/SpremembaCene.js.map +1 -0
- package/dist/types/VrstaRazknjizbeZdravila.d.ts +2 -0
- package/dist/types/VrstaRazknjizbeZdravila.d.ts.map +1 -0
- package/dist/types/VrstaRazknjizbeZdravila.js +3 -0
- package/dist/types/VrstaRazknjizbeZdravila.js.map +1 -0
- package/dist/types/VrstaSpremembeZaloge.d.ts +6 -0
- package/dist/types/VrstaSpremembeZaloge.d.ts.map +1 -0
- package/dist/types/VrstaSpremembeZaloge.js +3 -0
- package/dist/types/VrstaSpremembeZaloge.js.map +1 -0
- package/dist/types/VrsteDokumentov.d.ts +7 -0
- package/dist/types/VrsteDokumentov.d.ts.map +1 -0
- package/dist/types/VrsteDokumentov.js +4 -0
- package/dist/types/VrsteDokumentov.js.map +1 -0
- package/dist/types/ZalogaDbAccessor.d.ts +12 -0
- package/dist/types/ZalogaDbAccessor.d.ts.map +1 -0
- package/dist/types/ZalogaDbAccessor.js +3 -0
- package/dist/types/ZalogaDbAccessor.js.map +1 -0
- package/dist/types/artikel.d.ts +76 -0
- package/dist/types/artikel.d.ts.map +1 -0
- package/dist/types/artikel.js +42 -0
- package/dist/types/artikel.js.map +1 -0
- package/dist/types/blagajna.d.ts +16 -0
- package/dist/types/blagajna.d.ts.map +1 -0
- package/dist/types/blagajna.js +3 -0
- package/dist/types/blagajna.js.map +1 -0
- package/dist/types/blagovnica.d.ts +116 -0
- package/dist/types/blagovnica.d.ts.map +1 -0
- package/dist/types/blagovnica.js +3 -0
- package/dist/types/blagovnica.js.map +1 -0
- package/dist/types/cepljenje.d.ts +29 -0
- package/dist/types/cepljenje.d.ts.map +1 -0
- package/dist/types/cepljenje.js +3 -0
- package/dist/types/cepljenje.js.map +1 -0
- package/dist/types/diagnoza.d.ts +6 -0
- package/dist/types/diagnoza.d.ts.map +1 -0
- package/dist/types/diagnoza.js +3 -0
- package/dist/types/diagnoza.js.map +1 -0
- package/dist/types/enota.d.ts +14 -0
- package/dist/types/enota.d.ts.map +1 -0
- package/dist/types/enota.js +12 -0
- package/dist/types/enota.js.map +1 -0
- package/dist/types/lokacija.d.ts +9 -0
- package/dist/types/lokacija.d.ts.map +1 -0
- package/dist/types/lokacija.js +3 -0
- package/dist/types/lokacija.js.map +1 -0
- package/dist/types/nalepka.d.ts +22 -0
- package/dist/types/nalepka.d.ts.map +1 -0
- package/dist/types/nalepka.js +3 -0
- package/dist/types/nalepka.js.map +1 -0
- package/dist/types/naprava.d.ts +18 -0
- package/dist/types/naprava.d.ts.map +1 -0
- package/dist/types/naprava.js +3 -0
- package/dist/types/naprava.js.map +1 -0
- package/dist/types/narocen.d.ts +14 -0
- package/dist/types/narocen.d.ts.map +1 -0
- package/dist/types/narocen.js +3 -0
- package/dist/types/narocen.js.map +1 -0
- package/dist/types/naslov.d.ts +11 -0
- package/dist/types/naslov.d.ts.map +1 -0
- package/dist/types/naslov.js +3 -0
- package/dist/types/naslov.js.map +1 -0
- package/dist/types/nastavitve.d.ts +39 -0
- package/dist/types/nastavitve.d.ts.map +1 -0
- package/dist/types/nastavitve.js +3 -0
- package/dist/types/nastavitve.js.map +1 -0
- package/dist/types/obravnava.d.ts +75 -0
- package/dist/types/obravnava.d.ts.map +1 -0
- package/dist/types/obravnava.js +13 -0
- package/dist/types/obravnava.js.map +1 -0
- package/dist/types/pacient.d.ts +21 -0
- package/dist/types/pacient.d.ts.map +1 -0
- package/dist/types/pacient.js +3 -0
- package/dist/types/pacient.js.map +1 -0
- package/dist/types/partnerji.d.ts +14 -0
- package/dist/types/partnerji.d.ts.map +1 -0
- package/dist/types/partnerji.js +4 -0
- package/dist/types/partnerji.js.map +1 -0
- package/dist/types/pasma.d.ts +6 -0
- package/dist/types/pasma.d.ts.map +1 -0
- package/dist/types/pasma.js +3 -0
- package/dist/types/pasma.js.map +1 -0
- package/dist/types/poslovalnica.d.ts +20 -0
- package/dist/types/poslovalnica.d.ts.map +1 -0
- package/dist/types/poslovalnica.js +3 -0
- package/dist/types/poslovalnica.js.map +1 -0
- package/dist/types/protokol.d.ts +15 -0
- package/dist/types/protokol.d.ts.map +1 -0
- package/dist/types/protokol.js +3 -0
- package/dist/types/protokol.js.map +1 -0
- package/dist/types/racun.d.ts +166 -0
- package/dist/types/racun.d.ts.map +1 -0
- package/dist/types/racun.js +3 -0
- package/dist/types/racun.js.map +1 -0
- package/dist/types/shared.d.ts +24 -0
- package/dist/types/shared.d.ts.map +1 -0
- package/dist/types/shared.js +3 -0
- package/dist/types/shared.js.map +1 -0
- package/dist/types/skladisce.d.ts +8 -0
- package/dist/types/skladisce.d.ts.map +1 -0
- package/dist/types/skladisce.js +3 -0
- package/dist/types/skladisce.js.map +1 -0
- package/dist/types/stranka.d.ts +26 -0
- package/dist/types/stranka.d.ts.map +1 -0
- package/dist/types/stranka.js +3 -0
- package/dist/types/stranka.js.map +1 -0
- package/dist/types/uporabnik.d.ts +23 -0
- package/dist/types/uporabnik.d.ts.map +1 -0
- package/dist/types/uporabnik.js +3 -0
- package/dist/types/uporabnik.js.map +1 -0
- package/dist/types/vrsta.d.ts +7 -0
- package/dist/types/vrsta.d.ts.map +1 -0
- package/dist/types/vrsta.js +3 -0
- package/dist/types/vrsta.js.map +1 -0
- package/dist/types/vrstaObravnave.d.ts +9 -0
- package/dist/types/vrstaObravnave.d.ts.map +1 -0
- package/dist/types/vrstaObravnave.js +3 -0
- package/dist/types/vrstaObravnave.js.map +1 -0
- package/dist/types/zaloga.d.ts +44 -0
- package/dist/types/zaloga.d.ts.map +1 -0
- package/dist/types/zaloga.js +3 -0
- package/dist/types/zaloga.js.map +1 -0
- package/dist/vrsteDokumentov.d.ts +9 -0
- package/dist/vrsteDokumentov.d.ts.map +1 -0
- package/dist/vrsteDokumentov.js +31 -0
- package/dist/vrsteDokumentov.js.map +1 -0
- package/dist/zakljuciBlagovnico.d.ts +4 -0
- package/dist/zakljuciBlagovnico.d.ts.map +1 -0
- package/dist/zakljuciBlagovnico.js +61 -0
- package/dist/zakljuciBlagovnico.js.map +1 -0
- package/dist/zalogaDbAccessorInMem.d.ts +8 -0
- package/dist/zalogaDbAccessorInMem.d.ts.map +1 -0
- package/dist/zalogaDbAccessorInMem.js +75 -0
- package/dist/zalogaDbAccessorInMem.js.map +1 -0
- package/dist/zalogaNaDan.d.ts +8 -0
- package/dist/zalogaNaDan.d.ts.map +1 -0
- package/dist/zalogaNaDan.js +40 -0
- package/dist/zalogaNaDan.js.map +1 -0
- package/dist/zalogaNaDanIzracunana.d.ts +7 -0
- package/dist/zalogaNaDanIzracunana.d.ts.map +1 -0
- package/dist/zalogaNaDanIzracunana.js +66 -0
- package/dist/zalogaNaDanIzracunana.js.map +1 -0
- package/dist/zalogaPoDnevih.d.ts +9 -0
- package/dist/zalogaPoDnevih.d.ts.map +1 -0
- package/dist/zalogaPoDnevih.js +59 -0
- package/dist/zalogaPoDnevih.js.map +1 -0
- package/dist/zapisiZalogoPoDnevih.d.ts +4 -0
- package/dist/zapisiZalogoPoDnevih.d.ts.map +1 -0
- package/dist/zapisiZalogoPoDnevih.js +107 -0
- package/dist/zapisiZalogoPoDnevih.js.map +1 -0
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.d.ts +2 -0
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.d.ts.map +1 -0
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.js +32 -0
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.js.map +1 -0
- package/dist/zeleniPribitek.d.ts +6 -0
- package/dist/zeleniPribitek.d.ts.map +1 -0
- package/dist/zeleniPribitek.js +12 -0
- package/dist/zeleniPribitek.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
interface MojPrometParams {
|
2
|
+
odDne: Date;
|
3
|
+
doDne: Date;
|
4
|
+
username: string | string[];
|
5
|
+
rounding: number;
|
6
|
+
stevilka: string;
|
7
|
+
}
|
8
|
+
declare function createAggregationPipeline({ odDne, doDne, stevilka, username, rounding }: Partial<MojPrometParams>): {
|
9
|
+
pipeline: any[];
|
10
|
+
match: any;
|
11
|
+
};
|
12
|
+
declare function execPipeline(pipeline: object[], tenant: string): Promise<{
|
13
|
+
ok: boolean;
|
14
|
+
data: unknown;
|
15
|
+
executionMs: number;
|
16
|
+
error?: undefined;
|
17
|
+
} | {
|
18
|
+
ok: boolean;
|
19
|
+
error: unknown;
|
20
|
+
data?: undefined;
|
21
|
+
executionMs?: undefined;
|
22
|
+
}>;
|
23
|
+
export { createAggregationPipeline, execPipeline, };
|
24
|
+
//# sourceMappingURL=q-mojPromet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-mojPromet.d.ts","sourceRoot":"","sources":["../src/q-mojPromet.ts"],"names":[],"mappings":"AAQA,UAAW,eAAe;IACtB,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,yBAAyB,CAC9B,EACI,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAY,EAEf,EAAE,OAAO,CAAC,eAAe,CAAC;;;EAgD9B;AAED,iBAAe,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAC,MAAM,EAAC,MAAM;;;;;;;;;;GA0B3D;AAED,OAAO,EACH,yBAAyB,EACzB,YAAY,GACf,CAAC"}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.execPipeline = exports.createAggregationPipeline = void 0;
|
4
|
+
const cry_helpers_1 = require("cry-helpers");
|
5
|
+
const cry_db_1 = require("cry-db");
|
6
|
+
const perf_hooks_1 = require("perf_hooks");
|
7
|
+
let log = new cry_helpers_1.Log(['KLIKVET', 'KLIKVET-PROMET']);
|
8
|
+
function createAggregationPipeline({ odDne, doDne, stevilka, username, rounding = 0 }) {
|
9
|
+
// COMPOSE PIPELINE NOW
|
10
|
+
let pipeline = [];
|
11
|
+
// match št.računa and time criteria
|
12
|
+
let match = { $match: { datum: { $gte: new Date(odDne), $lte: new Date(doDne) } } };
|
13
|
+
if (stevilka)
|
14
|
+
match.$match.stevilka = new RegExp(stevilka, "g");
|
15
|
+
pipeline.push(match);
|
16
|
+
function kriterijUporabnika(polje) {
|
17
|
+
if (!username || username.length === 0)
|
18
|
+
return {};
|
19
|
+
if (username instanceof Array) {
|
20
|
+
return { [polje]: { $in: username } };
|
21
|
+
}
|
22
|
+
else
|
23
|
+
return { [polje]: username };
|
24
|
+
}
|
25
|
+
function neposredno(polje) {
|
26
|
+
return [
|
27
|
+
{ $match: kriterijUporabnika(polje) },
|
28
|
+
{ $group: { _id: { kdo: `$${polje}` }, promet: { $sum: "$mpc" }, popusti: { $sum: "$pop" } } },
|
29
|
+
{ $project: { _id: 0, kdo: "$_id.kdo", promet: { $round: ["$promet", rounding] }, popusti: { $round: ["$popusti", rounding] } } },
|
30
|
+
];
|
31
|
+
}
|
32
|
+
function posredno() {
|
33
|
+
return [
|
34
|
+
{ $unwind: "$postavke" },
|
35
|
+
{ $match: kriterijUporabnika("postavke.dodal") },
|
36
|
+
{ $group: { _id: { kdo: "$postavke.dodal" }, promet: { $sum: "$postavke.tmpc" }, popusti: { $sum: "$postavke.tpop" } } },
|
37
|
+
{ $project: { _id: 0, kdo: "$_id.kdo", promet: { $round: ["$promet", rounding] }, popusti: { $round: ["$popusti", rounding] } } },
|
38
|
+
];
|
39
|
+
}
|
40
|
+
pipeline.push({
|
41
|
+
$facet: {
|
42
|
+
dodal: posredno(),
|
43
|
+
izdal: neposredno("izdal"),
|
44
|
+
odprl: neposredno("odprl"),
|
45
|
+
}
|
46
|
+
});
|
47
|
+
log.trace("aggregation pipeline created", pipeline);
|
48
|
+
return { pipeline, match: match.$match };
|
49
|
+
}
|
50
|
+
exports.createAggregationPipeline = createAggregationPipeline;
|
51
|
+
async function execPipeline(pipeline, tenant) {
|
52
|
+
if (!tenant)
|
53
|
+
throw new Error("q-prodano: must specify tenant");
|
54
|
+
let repo = new cry_db_1.Repo('racuni', tenant);
|
55
|
+
try {
|
56
|
+
let start = perf_hooks_1.performance.now();
|
57
|
+
let ret = await repo.aggregate(pipeline);
|
58
|
+
let end = perf_hooks_1.performance.now();
|
59
|
+
await repo.close();
|
60
|
+
return {
|
61
|
+
ok: true,
|
62
|
+
data: ret[0],
|
63
|
+
executionMs: end - start,
|
64
|
+
};
|
65
|
+
}
|
66
|
+
catch (err) {
|
67
|
+
console.error(err);
|
68
|
+
log.error('q-prodano aggregation exec error', err);
|
69
|
+
return {
|
70
|
+
ok: false,
|
71
|
+
error: err,
|
72
|
+
};
|
73
|
+
}
|
74
|
+
}
|
75
|
+
exports.execPipeline = execPipeline;
|
76
|
+
// (async function() {
|
77
|
+
// console.time('aggregation')
|
78
|
+
// let pipeline = createAggregationPipeline({
|
79
|
+
// timeQuery: "2021",
|
80
|
+
// // username: "katja"
|
81
|
+
// })
|
82
|
+
// console.dir(pipeline,{depth:20,colors:1});
|
83
|
+
// let result = await execPipeline(pipeline.pipeline, "max")
|
84
|
+
// console.dir(result.data, { depth: 10, colors: 1 })
|
85
|
+
// process.exit(1)
|
86
|
+
// })();
|
87
|
+
//# sourceMappingURL=q-mojPromet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-mojPromet.js","sourceRoot":"","sources":["../src/q-mojPromet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Id } from './types/shared';
|
2
|
+
import { VrstaBlagovnice } from "./types/VrsteDokumentov";
|
3
|
+
interface PorabaZdrailParams {
|
4
|
+
tenant: string;
|
5
|
+
skladisca?: Id[];
|
6
|
+
timeQuery: string;
|
7
|
+
}
|
8
|
+
export declare function prodajaZdravil(spec?: Partial<PorabaZdrailParams>): Promise<Prodaja[]>;
|
9
|
+
export declare function dobavaZdravil(spec?: Partial<PorabaZdrailParams>): Promise<Poraba[]>;
|
10
|
+
export declare function porabaZdravil(spec?: Partial<PorabaZdrailParams>): Promise<Poraba[]>;
|
11
|
+
interface PodatkiZaArtikel {
|
12
|
+
artikel_id: Id;
|
13
|
+
skladisce_id?: string;
|
14
|
+
porabe: Record<string, number>;
|
15
|
+
skupaj: number;
|
16
|
+
}
|
17
|
+
interface Poraba {
|
18
|
+
vrsta: VrstaBlagovnice;
|
19
|
+
artikel_id: Id;
|
20
|
+
skladisce_id?: Id;
|
21
|
+
poraba: number;
|
22
|
+
}
|
23
|
+
interface Prodaja {
|
24
|
+
artikel_id: Id;
|
25
|
+
skladisce_id?: Id;
|
26
|
+
poraba: number;
|
27
|
+
}
|
28
|
+
export declare function porabaInProdajaZdravil(spec?: Partial<PorabaZdrailParams>): Promise<{
|
29
|
+
zdruzeno: PodatkiZaArtikel[];
|
30
|
+
vrste: unknown[];
|
31
|
+
}>;
|
32
|
+
export {};
|
33
|
+
//# sourceMappingURL=q-porabaZdravil.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-porabaZdravil.d.ts","sourceRoot":"","sources":["../src/q-porabaZdravil.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,UAAU,kBAAkB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAeD,wBAAsB,cAAc,CAAC,IAAI,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAsChG;AAGD,wBAAsB,aAAa,CAAC,IAAI,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuC7F;AAID,wBAAsB,aAAa,CAAE,IAAI,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAwChG;AAED,UAAU,gBAAgB;IACtB,UAAU,EAAE,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,MAAM;IACZ,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,OAAO;IACb,UAAU,EAAE,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB;AA4CD,wBAAsB,sBAAsB,CAAC,IAAI,GAAE,OAAO,CAAC,kBAAkB,CAAM;;;GAMlF"}
|
@@ -0,0 +1,187 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.porabaInProdajaZdravil = exports.porabaZdravil = exports.dobavaZdravil = exports.prodajaZdravil = void 0;
|
4
|
+
const cry_db_1 = require("cry-db");
|
5
|
+
const cry_dateranges_1 = require("cry-dateranges");
|
6
|
+
function calcTimeQuery(timeQuery) {
|
7
|
+
let timeRanges = (0, cry_dateranges_1.times)(timeQuery);
|
8
|
+
return [
|
9
|
+
timeRanges.dates.query,
|
10
|
+
timeRanges.dayMonths.query,
|
11
|
+
timeRanges.years.query,
|
12
|
+
timeRanges.months.query,
|
13
|
+
timeRanges.days.query,
|
14
|
+
timeRanges.weekdays.query,
|
15
|
+
timeRanges.hours.query,
|
16
|
+
].flat().filter(k => Object.keys(k).length);
|
17
|
+
}
|
18
|
+
async function prodajaZdravil(spec = {}) {
|
19
|
+
spec.timeQuery = spec.timeQuery || new Date().getFullYear().toString();
|
20
|
+
const allTimeCriteria = calcTimeQuery(spec.timeQuery);
|
21
|
+
let matchSkladisce = spec.skladisca?.length ? { skladisce_id: "$skladisce_id" } : {};
|
22
|
+
let projectSkladisce = spec.skladisca?.length ? { skladisce_id: "$_id.skladisce_id" } : {};
|
23
|
+
let match = {
|
24
|
+
$match: {
|
25
|
+
$and: allTimeCriteria,
|
26
|
+
}
|
27
|
+
};
|
28
|
+
if (spec.skladisca?.length)
|
29
|
+
match.$match.$and.push({ skladisce_id: { $in: spec.skladisca.map(s => cry_db_1.Repo.objectid(s)) } });
|
30
|
+
let pipeline = [
|
31
|
+
match,
|
32
|
+
{ $unwind: "$postavke" },
|
33
|
+
{ $match: { "postavke.kategorija": "zdravilo" } },
|
34
|
+
{
|
35
|
+
$group: {
|
36
|
+
_id: { artikel_id: "$postavke.artikel_id", ...matchSkladisce },
|
37
|
+
poraba: { $sum: "$postavke.kolicina" },
|
38
|
+
}
|
39
|
+
},
|
40
|
+
{
|
41
|
+
$project: {
|
42
|
+
artikel_id: "$_id.artikel_id",
|
43
|
+
poraba: { $round: ["$poraba", 2] },
|
44
|
+
...projectSkladisce,
|
45
|
+
_id: 0
|
46
|
+
}
|
47
|
+
}
|
48
|
+
];
|
49
|
+
// console.dir(pipeline, { depth: 10 });
|
50
|
+
let repo = new cry_db_1.Repo('racuni', spec.tenant);
|
51
|
+
let ret = await repo.aggregate(pipeline);
|
52
|
+
await repo.close();
|
53
|
+
return ret;
|
54
|
+
}
|
55
|
+
exports.prodajaZdravil = prodajaZdravil;
|
56
|
+
async function dobavaZdravil(spec = {}) {
|
57
|
+
spec.timeQuery = spec.timeQuery || new Date().getFullYear().toString();
|
58
|
+
const allTimeCriteria = calcTimeQuery(spec.timeQuery);
|
59
|
+
let matchSkladisce = spec.skladisca?.length ? { skladisce_id: "$skladisce_id" } : {};
|
60
|
+
let projectSkladisce = spec.skladisca?.length ? { skladisce_id: "$_id.skladisce_id" } : {};
|
61
|
+
let match = {
|
62
|
+
$match: {
|
63
|
+
$and: allTimeCriteria,
|
64
|
+
}
|
65
|
+
};
|
66
|
+
match.$match.$and.push({ vrsta: "dobava" });
|
67
|
+
if (spec.skladisca?.length)
|
68
|
+
match.$match.$and.push({ skladisce_id: { $in: spec.skladisca.map(s => cry_db_1.Repo.objectid(s)) } });
|
69
|
+
let pipeline = [
|
70
|
+
match,
|
71
|
+
{ $unwind: "$postavke" },
|
72
|
+
{ $match: { "postavke.kategorija": "zdravilo" } },
|
73
|
+
{
|
74
|
+
$group: {
|
75
|
+
_id: { vrsta: "$vrsta", artikel_id: "$postavke.artikel_id", ...matchSkladisce },
|
76
|
+
poraba: { $sum: "$postavke.kolicina" },
|
77
|
+
}
|
78
|
+
},
|
79
|
+
{
|
80
|
+
$project: {
|
81
|
+
artikel_id: "$_id.artikel_id",
|
82
|
+
vrsta: "$_id.vrsta",
|
83
|
+
poraba: { $round: ["$poraba", 2] },
|
84
|
+
...projectSkladisce,
|
85
|
+
_id: 0
|
86
|
+
}
|
87
|
+
}
|
88
|
+
];
|
89
|
+
// console.dir(pipeline, {depth:10});
|
90
|
+
let repo = new cry_db_1.Repo('blagovnice', spec.tenant);
|
91
|
+
let ret = await repo.aggregate(pipeline);
|
92
|
+
await repo.close();
|
93
|
+
return ret;
|
94
|
+
}
|
95
|
+
exports.dobavaZdravil = dobavaZdravil;
|
96
|
+
async function porabaZdravil(spec = {}) {
|
97
|
+
spec.timeQuery = spec.timeQuery || new Date().getFullYear().toString();
|
98
|
+
const allTimeCriteria = calcTimeQuery(spec.timeQuery);
|
99
|
+
let matchSkladisce = spec.skladisca?.length ? { skladisce_id: "$skladisce_id" } : {};
|
100
|
+
let projectSkladisce = spec.skladisca?.length ? { skladisce_id: "$_id.skladisce_id" } : {};
|
101
|
+
let match = {
|
102
|
+
$match: {
|
103
|
+
$and: allTimeCriteria,
|
104
|
+
}
|
105
|
+
};
|
106
|
+
match.$match.$and.push({ vrsta: { $not: { $in: ["dobava", /*"vnos", "iznos", "prenos", */ "naročilo"] } } });
|
107
|
+
if (spec.skladisca?.length)
|
108
|
+
match.$match.$and.push({ skladisce_id: { $in: spec.skladisca.map(s => cry_db_1.Repo.objectid(s)) } });
|
109
|
+
let pipeline = [
|
110
|
+
match,
|
111
|
+
{ $unwind: "$postavke" },
|
112
|
+
{ $match: { "postavke.kategorija": "zdravilo" } },
|
113
|
+
{
|
114
|
+
$group: {
|
115
|
+
_id: { vrsta: "$vrsta", artikel_id: "$postavke.artikel_id", ...matchSkladisce },
|
116
|
+
poraba: { $sum: "$postavke.kolicina" },
|
117
|
+
}
|
118
|
+
},
|
119
|
+
{
|
120
|
+
$project: {
|
121
|
+
artikel_id: "$_id.artikel_id",
|
122
|
+
vrsta: "$_id.vrsta",
|
123
|
+
poraba: { $round: ["$poraba", 2] },
|
124
|
+
...projectSkladisce,
|
125
|
+
_id: 0
|
126
|
+
}
|
127
|
+
}
|
128
|
+
];
|
129
|
+
// console.dir(pipeline, {depth:10});
|
130
|
+
let repo = new cry_db_1.Repo('blagovnice', spec.tenant);
|
131
|
+
let ret = await repo.aggregate(pipeline);
|
132
|
+
await repo.close();
|
133
|
+
return ret;
|
134
|
+
}
|
135
|
+
exports.porabaZdravil = porabaZdravil;
|
136
|
+
function zdruzi(porabe, prodaje) {
|
137
|
+
let key = (ZaArtikel) => `${ZaArtikel.artikel_id}-${ZaArtikel.skladisce_id || ''}`;
|
138
|
+
let zdruzenoObj = {};
|
139
|
+
let vseVrste = new Set();
|
140
|
+
porabe.forEach(p => {
|
141
|
+
zdruzenoObj[key(p)] = zdruzenoObj[key(p)] || {
|
142
|
+
artikel_id: p.artikel_id,
|
143
|
+
skladisce_id: p.skladisce_id,
|
144
|
+
porabe: {},
|
145
|
+
skupaj: 0
|
146
|
+
};
|
147
|
+
zdruzenoObj[key(p)].porabe[p.vrsta] = (zdruzenoObj[key(p)].porabe[p.vrsta] || 0) + p.poraba;
|
148
|
+
vseVrste.add(p.vrsta);
|
149
|
+
});
|
150
|
+
let vrste = Array.from(vseVrste).sort();
|
151
|
+
prodaje.forEach(p => {
|
152
|
+
zdruzenoObj[key(p)] = zdruzenoObj[key(p)] || {
|
153
|
+
artikel_id: p.artikel_id,
|
154
|
+
skladisce_id: p.skladisce_id,
|
155
|
+
porabe: { prodaja: 0 },
|
156
|
+
skupaj: 0,
|
157
|
+
};
|
158
|
+
zdruzenoObj[key(p)].porabe.prodaja = (zdruzenoObj[key(p)].porabe.prodaja || 0) + p.poraba;
|
159
|
+
});
|
160
|
+
let zdruzeno = Object.values(zdruzenoObj);
|
161
|
+
// počisti
|
162
|
+
for (let artikel of zdruzeno) {
|
163
|
+
if (!artikel.skladisce_id)
|
164
|
+
delete artikel.skladisce_id;
|
165
|
+
artikel.skupaj = Object.values(artikel.porabe).reduce((p, c) => p + c, 0);
|
166
|
+
}
|
167
|
+
vrste.unshift("prodaja");
|
168
|
+
return { zdruzeno, vrste };
|
169
|
+
}
|
170
|
+
async function porabaInProdajaZdravil(spec = {}) {
|
171
|
+
let poraba = await porabaZdravil(spec);
|
172
|
+
let prodaja = await prodajaZdravil(spec);
|
173
|
+
return zdruzi(poraba, prodaja);
|
174
|
+
}
|
175
|
+
exports.porabaInProdajaZdravil = porabaInProdajaZdravil;
|
176
|
+
// (async function() {
|
177
|
+
// let oboje = await porabaInProdajaZdravil({
|
178
|
+
// tenant: "zvitorepka",
|
179
|
+
// // skladisca: ["5fbec4984692f458bb067f30"]
|
180
|
+
// })
|
181
|
+
// console.dir(oboje, { depth: 10 });
|
182
|
+
// let csv = createCsv(oboje.zdruzeno, { headersOnly: false, prettyPrint: true, exportIdFields: true })
|
183
|
+
// for (let i = 0; i < oboje.zdruzeno.length && i < 2; i++)
|
184
|
+
// console.log(csv[i])
|
185
|
+
// process.exit(0)
|
186
|
+
// })();
|
187
|
+
//# sourceMappingURL=q-porabaZdravil.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-porabaZdravil.js","sourceRoot":"","sources":["../src/q-porabaZdravil.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Kategorija } from './types/shared';
|
2
|
+
interface PorabljenoParams {
|
3
|
+
odDne: Date;
|
4
|
+
doDne: Date;
|
5
|
+
rounding: number;
|
6
|
+
skladisca: string[];
|
7
|
+
lokacije: string[];
|
8
|
+
kategorije: Kategorija[];
|
9
|
+
stevilka: string | undefined;
|
10
|
+
}
|
11
|
+
declare function createAggregationPipeline({ odDne, doDne, stevilka, kategorije, skladisca, lokacije, }: Partial<PorabljenoParams>): {
|
12
|
+
pipeline: any[];
|
13
|
+
match: any;
|
14
|
+
};
|
15
|
+
declare function execPipeline(pipeline: object[], tenant: string): Promise<{
|
16
|
+
ok: boolean;
|
17
|
+
data: unknown[];
|
18
|
+
executionMs: number;
|
19
|
+
error?: undefined;
|
20
|
+
} | {
|
21
|
+
ok: boolean;
|
22
|
+
error: unknown;
|
23
|
+
data?: undefined;
|
24
|
+
executionMs?: undefined;
|
25
|
+
}>;
|
26
|
+
export { createAggregationPipeline, execPipeline, };
|
27
|
+
//# sourceMappingURL=q-prodano.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-prodano.d.ts","sourceRoot":"","sources":["../src/q-prodano.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,UAAU,gBAAgB;IACtB,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,iBAAS,yBAAyB,CAC9B,EACI,KAAK,EACL,KAAK,EACL,QAAoB,EACpB,UAAe,EACf,SAAc,EACd,QAAa,GAChB,EAAE,OAAO,CAAC,gBAAgB,CAAC;;;EA0E/B;AAED,iBAAe,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAC,MAAM,EAAC,MAAM;;;;;;;;;;GAuC3D;AAED,OAAO,EACH,yBAAyB,EACzB,YAAY,GACf,CAAC"}
|
@@ -0,0 +1,120 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.execPipeline = exports.createAggregationPipeline = void 0;
|
4
|
+
const cry_helpers_1 = require("cry-helpers");
|
5
|
+
const cry_db_1 = require("cry-db");
|
6
|
+
const perf_hooks_1 = require("perf_hooks");
|
7
|
+
let log = new cry_helpers_1.Log(['KLIKVET', 'KLIKVET-PROMET']);
|
8
|
+
function createAggregationPipeline({ odDne, doDne, stevilka = undefined, kategorije = [], skladisca = [], lokacije = [], }) {
|
9
|
+
// COMPOSE PIPELINE NOW
|
10
|
+
let pipeline = [];
|
11
|
+
// match št.računa and time criteria
|
12
|
+
let match = { $match: { datum: { $gte: new Date(odDne), $lte: new Date(doDne) } } };
|
13
|
+
if (stevilka)
|
14
|
+
match.$match.stevilka = new RegExp(stevilka, "g");
|
15
|
+
pipeline.push(match);
|
16
|
+
if (skladisca?.length)
|
17
|
+
pipeline.push({
|
18
|
+
$match: {
|
19
|
+
skladisce: { $in: skladisca }
|
20
|
+
}
|
21
|
+
});
|
22
|
+
if (lokacije?.length)
|
23
|
+
pipeline.push({
|
24
|
+
$match: {
|
25
|
+
lokacija_id: { $in: lokacije }
|
26
|
+
}
|
27
|
+
});
|
28
|
+
// unwind postavke
|
29
|
+
pipeline.push({ $unwind: '$postavke' });
|
30
|
+
if (!(kategorije?.length)) {
|
31
|
+
kategorije = ["izdelek", "potrošni material", "zdravilo"];
|
32
|
+
}
|
33
|
+
if (kategorije.length)
|
34
|
+
pipeline.push({
|
35
|
+
$match: {
|
36
|
+
"postavke.kategorija": { $in: kategorije }
|
37
|
+
}
|
38
|
+
});
|
39
|
+
pipeline.push({ $group: {
|
40
|
+
_id: {
|
41
|
+
artikel_id: "$postavke.artikel_id",
|
42
|
+
naziv: "$postavke.opis",
|
43
|
+
kategorija: "$postavke.kategorija",
|
44
|
+
enota: "$postavke.enota",
|
45
|
+
zadnjiDobavitelj: "$postavke.zadnjiDobavitelj",
|
46
|
+
skupine: "$postavke.skupine",
|
47
|
+
},
|
48
|
+
kolicina: { $sum: '$postavke.kolicina' },
|
49
|
+
}
|
50
|
+
});
|
51
|
+
pipeline.push({
|
52
|
+
$project: {
|
53
|
+
artikel_id: "$_id.artikel_id",
|
54
|
+
naziv: "$_id.naziv",
|
55
|
+
kategorija: "$_id.kategorija",
|
56
|
+
enota: "$_id.enota",
|
57
|
+
zadnjiDobavitelj: "$_id.zadnjiDobavitelj",
|
58
|
+
prodano: "$kolicina",
|
59
|
+
skupine: 1,
|
60
|
+
_id: 0,
|
61
|
+
}
|
62
|
+
});
|
63
|
+
pipeline.push({
|
64
|
+
$sort: {
|
65
|
+
naziv: 1,
|
66
|
+
}
|
67
|
+
});
|
68
|
+
log.trace("aggregation pipeline created", pipeline);
|
69
|
+
return { pipeline, match: match.$match };
|
70
|
+
}
|
71
|
+
exports.createAggregationPipeline = createAggregationPipeline;
|
72
|
+
async function execPipeline(pipeline, tenant) {
|
73
|
+
if (!tenant)
|
74
|
+
throw new Error("q-prodano: must specify tenant");
|
75
|
+
try {
|
76
|
+
let repo = new cry_db_1.Repo('racuni', tenant);
|
77
|
+
let start = perf_hooks_1.performance.now();
|
78
|
+
/**
|
79
|
+
*
|
80
|
+
* BUG in MONGO
|
81
|
+
*
|
82
|
+
* larger aggregations fail with error
|
83
|
+
* Cannot run getMore on cursor ..., which was created in session ..., without an lsid
|
84
|
+
* unless we "prewarm" Repo by calling this dummy aggregation first
|
85
|
+
*
|
86
|
+
*/
|
87
|
+
await repo.aggregate([{ $limit: 1 }]);
|
88
|
+
let ret = await repo.aggregate(pipeline);
|
89
|
+
let end = perf_hooks_1.performance.now();
|
90
|
+
await repo.close();
|
91
|
+
return {
|
92
|
+
ok: true,
|
93
|
+
data: ret,
|
94
|
+
executionMs: end - start,
|
95
|
+
};
|
96
|
+
}
|
97
|
+
catch (err) {
|
98
|
+
console.error(err);
|
99
|
+
log.error('q-prodano aggregation exec error', err);
|
100
|
+
return {
|
101
|
+
ok: false,
|
102
|
+
error: err,
|
103
|
+
};
|
104
|
+
}
|
105
|
+
}
|
106
|
+
exports.execPipeline = execPipeline;
|
107
|
+
// (async function() {
|
108
|
+
// console.time('aggregation')
|
109
|
+
// let pipeline = createAggregationPipeline({
|
110
|
+
// odDne: new Date("2021-01-01"),
|
111
|
+
// doDne: new Date("2021-02-05"),
|
112
|
+
// kategorije: ["izdelek", "zdravilo"],
|
113
|
+
// lokacije: ["5fa8cd63c3029fdc40b5bb35"]
|
114
|
+
// })
|
115
|
+
// console.dir(pipeline,{depth:20,colors:1});
|
116
|
+
// let result = await execPipeline(pipeline.pipeline, "max")
|
117
|
+
// console.dir(result.data, { depth: 10, colors: 1 })
|
118
|
+
// process.exit(1)
|
119
|
+
// })();
|
120
|
+
//# sourceMappingURL=q-prodano.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-prodano.js","sourceRoot":"","sources":["../src/q-prodano.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Id } from "cry-db/dist/types";
|
2
|
+
import { VrstaPoslovnegaDogodka } from "./types/VrsteDokumentov";
|
3
|
+
export declare function prodanoInPorabljeno(spec: {
|
4
|
+
tenant: string;
|
5
|
+
poArtiklih: boolean;
|
6
|
+
poSkladiscih: boolean;
|
7
|
+
poVrstah: boolean;
|
8
|
+
poDst: boolean;
|
9
|
+
timeQuery?: string;
|
10
|
+
skladisca?: Id[];
|
11
|
+
vrste?: VrstaPoslovnegaDogodka[];
|
12
|
+
}): Promise<unknown[]>;
|
13
|
+
//# sourceMappingURL=q-prodanoPorabljeno.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-prodanoPorabljeno.d.ts","sourceRoot":"","sources":["../src/q-prodanoPorabljeno.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,wBAAsB,mBAAmB,CACpC,IAAI,EAAE;IACH,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpC,sBAgEJ"}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.prodanoInPorabljeno = void 0;
|
4
|
+
const cry_db_1 = require("cry-db");
|
5
|
+
const calcTimeQuery_1 = require("./calcTimeQuery");
|
6
|
+
async function prodanoInPorabljeno(spec) {
|
7
|
+
spec.timeQuery = spec.timeQuery || new Date().getFullYear().toString();
|
8
|
+
if (!(spec.vrste?.length)) {
|
9
|
+
spec.vrste = ["poraba", "izdaja", "odpis", "vračilo", "inventura", "iznos", "vnos", "prodaja"];
|
10
|
+
}
|
11
|
+
let pipeline = [];
|
12
|
+
const allTimeCriteria = (0, calcTimeQuery_1.calcTimeQuery)(spec.timeQuery);
|
13
|
+
let repo = new cry_db_1.Repo("spremembaZaloge", spec.tenant);
|
14
|
+
let match = { $match: { $and: allTimeCriteria } };
|
15
|
+
pipeline.push(match);
|
16
|
+
if (spec.vrste.length)
|
17
|
+
pipeline.push({
|
18
|
+
$match: {
|
19
|
+
vrstaDogodka: { $in: spec.vrste }
|
20
|
+
}
|
21
|
+
});
|
22
|
+
if (spec.skladisca?.length)
|
23
|
+
pipeline.push({
|
24
|
+
$match: {
|
25
|
+
skladisce: { $in: spec.skladisca }
|
26
|
+
}
|
27
|
+
});
|
28
|
+
let artikel_gid = spec.poArtiklih ? { artikel_id: "$artikel_id" } : {};
|
29
|
+
let vrste_gid = spec.poVrstah ? { vrstaDogodka: "$vrstaDogodka" } : {};
|
30
|
+
let dst_gid = spec.poDst ? { dst: "$dst" } : {};
|
31
|
+
let artikel_grp = spec.poArtiklih ? { spremembaZaloge: { $sum: "$zaloga.sprememba" } } : {};
|
32
|
+
let artikel_prj = spec.poArtiklih ? { artikel_id: "$_id.artikel_id", spremembaZaloge: 1 } : {};
|
33
|
+
let skladisce_gid = spec.poSkladiscih ? { skladisce_id: "$skladisce_id" } : {};
|
34
|
+
let skladisce_prj = spec.poSkladiscih ? { skladisce_id: "$_id.skladisce_id" } : {};
|
35
|
+
let dst_prj = spec.poDst ? { dst: "$_id.dst" } : {};
|
36
|
+
let vrste_prj = spec.poVrstah ? { vrsta: "$_id.vrstaDogodka" } : {};
|
37
|
+
pipeline.push({
|
38
|
+
$group: {
|
39
|
+
_id: { ...skladisce_gid, ...artikel_gid, ...vrste_gid, ...dst_gid, },
|
40
|
+
...artikel_grp,
|
41
|
+
spremembaVrednosti: { $sum: "$vrednostZaloge.sprememba" },
|
42
|
+
}
|
43
|
+
});
|
44
|
+
pipeline.push({
|
45
|
+
$project: {
|
46
|
+
...skladisce_prj,
|
47
|
+
...artikel_prj,
|
48
|
+
...dst_prj,
|
49
|
+
...vrste_prj,
|
50
|
+
spremembaVrednosti: 1,
|
51
|
+
_id: 0,
|
52
|
+
}
|
53
|
+
});
|
54
|
+
console.dir(pipeline, { depth: 10 });
|
55
|
+
let ret = repo.aggregate(pipeline);
|
56
|
+
await repo.close();
|
57
|
+
return ret;
|
58
|
+
}
|
59
|
+
exports.prodanoInPorabljeno = prodanoInPorabljeno;
|
60
|
+
// (async function() {
|
61
|
+
// console.time("čas")
|
62
|
+
// let res = await prodanoInPorabljeno({
|
63
|
+
// timeQuery: "11.1.2021",
|
64
|
+
// tenant: "zvitorepka",
|
65
|
+
// poArtiklih: false,
|
66
|
+
// poSkladiscih: false,
|
67
|
+
// poDst: false,
|
68
|
+
// poVrstah: true,
|
69
|
+
// vrste: ["poraba"],
|
70
|
+
// })
|
71
|
+
// console.dir(res,{depth:10});
|
72
|
+
// process.exit(0)
|
73
|
+
// })()
|
74
|
+
//# sourceMappingURL=q-prodanoPorabljeno.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"q-prodanoPorabljeno.js","sourceRoot":"","sources":["../src/q-prodanoPorabljeno.ts"],"names":[],"mappings":"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"}
|