cry-klikvet-logic 1.0.222 → 1.0.224
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/anonimizirajPodatke.mjs +423 -655
- package/dist/anonimizirajPodatke.mjs.map +1 -1
- package/dist/besediloKarence.mjs +13 -16
- package/dist/besediloKarence.mjs.map +1 -1
- package/dist/blagovnicaZaSpremembeZaloge.mjs +61 -64
- package/dist/blagovnicaZaSpremembeZaloge.mjs.map +1 -1
- package/dist/certs.mjs +13 -26
- package/dist/certs.mjs.map +1 -1
- package/dist/dopisiSerijskeNaNapravi.mjs +33 -65
- package/dist/dopisiSerijskeNaNapravi.mjs.map +1 -1
- package/dist/ensureIndexes.mjs +143 -159
- package/dist/ensureIndexes.mjs.map +1 -1
- package/dist/fmtDateRange.mjs +4 -5
- package/dist/fmtDateRange.mjs.map +1 -1
- package/dist/idjiArtiklovKiImajoLahkoZalogo.mjs +12 -23
- package/dist/idjiArtiklovKiImajoLahkoZalogo.mjs.map +1 -1
- package/dist/karticaArtikla.mjs +126 -141
- package/dist/karticaArtikla.mjs.map +1 -1
- package/dist/koledar.mjs +24 -35
- package/dist/koledar.mjs.map +1 -1
- package/dist/maint/nastaviNbcArtiklomIzMpc.mjs +27 -58
- package/dist/maint/nastaviNbcArtiklomIzMpc.mjs.map +1 -1
- package/dist/maint/poisciNapakeVSpremembiZaloge.mjs +49 -60
- package/dist/maint/poisciNapakeVSpremembiZaloge.mjs.map +1 -1
- package/dist/maint/poknjiziVsoZgodovino.mjs +236 -337
- package/dist/maint/poknjiziVsoZgodovino.mjs.map +1 -1
- package/dist/maint/popraviNabaveCeneNaRacunih.mjs +16 -48
- package/dist/maint/popraviNabaveCeneNaRacunih.mjs.map +1 -1
- package/dist/maint/popraviNabavneCeneNaInventurah.mjs +14 -46
- package/dist/maint/popraviNabavneCeneNaInventurah.mjs.map +1 -1
- package/dist/nazivStranke.mjs +1 -2
- package/dist/nazivStranke.mjs.map +1 -1
- package/dist/neuporabljeno.mjs +25 -59
- package/dist/neuporabljeno.mjs.map +1 -1
- package/dist/parseSerijaStr.mjs +12 -9
- package/dist/parseSerijaStr.mjs.map +1 -1
- package/dist/pobrisiZgodovinoNaDan.mjs +17 -28
- package/dist/pobrisiZgodovinoNaDan.mjs.map +1 -1
- package/dist/podatkiRejca.mjs +113 -124
- package/dist/podatkiRejca.mjs.map +1 -1
- package/dist/poisciSerijskeZaNapravo.mjs +19 -51
- package/dist/poisciSerijskeZaNapravo.mjs.map +1 -1
- package/dist/polnaInventura.mjs +110 -131
- package/dist/polnaInventura.mjs.map +1 -1
- package/dist/porabaZaDobavnico.mjs +16 -1
- package/dist/porabaZaDobavnico.mjs.map +1 -1
- package/dist/porabaZaObravnavo.mjs +22 -10
- package/dist/porabaZaObravnavo.mjs.map +1 -1
- package/dist/preveriKnjizenjeZalogeArtikla.mjs +97 -111
- package/dist/preveriKnjizenjeZalogeArtikla.mjs.map +1 -1
- package/dist/q-blagovnice.mjs +12 -24
- package/dist/q-blagovnice.mjs.map +1 -1
- package/dist/q-isciPoObravnavah.mjs +25 -36
- package/dist/q-isciPoObravnavah.mjs.map +1 -1
- package/dist/q-isciPoRacunih.mjs +26 -37
- package/dist/q-isciPoRacunih.mjs.map +1 -1
- package/dist/q-mojPromet.mjs +24 -35
- package/dist/q-mojPromet.mjs.map +1 -1
- package/dist/q-porabaZdravil.mjs +110 -113
- package/dist/q-porabaZdravil.mjs.map +1 -1
- package/dist/q-prodano.mjs +36 -47
- package/dist/q-prodano.mjs.map +1 -1
- package/dist/q-prodanoPorabljeno.mjs +47 -48
- package/dist/q-prodanoPorabljeno.mjs.map +1 -1
- package/dist/q-promet.mjs +24 -35
- package/dist/q-promet.mjs.map +1 -1
- package/dist/q-racunovodji.mjs +229 -239
- package/dist/q-racunovodji.mjs.map +1 -1
- package/dist/q-skupineIzdelkov.mjs +20 -31
- package/dist/q-skupineIzdelkov.mjs.map +1 -1
- package/dist/q-skupineStrank.mjs +20 -31
- package/dist/q-skupineStrank.mjs.map +1 -1
- package/dist/q-strankeKlasificiraj.mjs +58 -69
- package/dist/q-strankeKlasificiraj.mjs.map +1 -1
- package/dist/q-strankeZadnjiObiski.mjs +22 -33
- package/dist/q-strankeZadnjiObiski.mjs.map +1 -1
- package/dist/q-zakljucek-blagajne.mjs +135 -150
- package/dist/q-zakljucek-blagajne.mjs.map +1 -1
- package/dist/razknjiziBlagovnico.mjs +46 -57
- package/dist/razknjiziBlagovnico.mjs.map +1 -1
- package/dist/razknjiziDobavnico.mjs +47 -58
- package/dist/razknjiziDobavnico.mjs.map +1 -1
- package/dist/serije.mjs +76 -97
- package/dist/serije.mjs.map +1 -1
- package/dist/skladisceLokacije.mjs +10 -21
- package/dist/skladisceLokacije.mjs.map +1 -1
- package/dist/smsCepljen.mjs +19 -28
- package/dist/smsCepljen.mjs.map +1 -1
- package/dist/smsCepljenjaNaDan.mjs +60 -67
- package/dist/smsCepljenjaNaDan.mjs.map +1 -1
- package/dist/smsNarocen.mjs +18 -26
- package/dist/smsNarocen.mjs.map +1 -1
- package/dist/smsNaroceniNaDan.mjs +40 -48
- package/dist/smsNaroceniNaDan.mjs.map +1 -1
- package/dist/spremembaZalogeZaObdobje.mjs +78 -91
- package/dist/spremembaZalogeZaObdobje.mjs.map +1 -1
- package/dist/spremeniZalogo.mjs +125 -132
- package/dist/spremeniZalogo.mjs.map +1 -1
- package/dist/spremeniZalogoNaPodlagiRacuna.mjs +122 -140
- package/dist/spremeniZalogoNaPodlagiRacuna.mjs.map +1 -1
- package/dist/spremeniZalogoZaDobavo.mjs +218 -221
- package/dist/spremeniZalogoZaDobavo.mjs.map +1 -1
- package/dist/spremeniZalogoZaInventuro.mjs +131 -136
- package/dist/spremeniZalogoZaInventuro.mjs.map +1 -1
- package/dist/spremeniZalogoZaPrenos.mjs +83 -114
- package/dist/spremeniZalogoZaPrenos.mjs.map +1 -1
- package/dist/spremeniZalogoZaPrevzem.mjs +69 -103
- package/dist/spremeniZalogoZaPrevzem.mjs.map +1 -1
- package/dist/strankaInfo.mjs +11 -22
- package/dist/strankaInfo.mjs.map +1 -1
- package/dist/support/poisciSpremembeMpc.js +26 -32
- package/dist/support/poisciSpremembeMpc.js.map +1 -1
- package/dist/test/dvojne-dobave.mjs +150 -163
- package/dist/test/dvojne-dobave.mjs.map +1 -1
- package/dist/test/memdb.mjs +29 -46
- package/dist/test/memdb.mjs.map +1 -1
- package/dist/test/mesane-enote.mjs +49 -62
- package/dist/test/mesane-enote.mjs.map +1 -1
- package/dist/test/prestavitev.mjs +108 -123
- package/dist/test/prestavitev.mjs.map +1 -1
- package/dist/test/serijske.mjs +303 -328
- package/dist/test/serijske.mjs.map +1 -1
- package/dist/test/sprememba-cene.mjs +213 -234
- package/dist/test/sprememba-cene.mjs.map +1 -1
- package/dist/test/sprememba-cene2.mjs +137 -154
- package/dist/test/sprememba-cene2.mjs.map +1 -1
- package/dist/test/sprememba-cene3.mjs +138 -155
- package/dist/test/sprememba-cene3.mjs.map +1 -1
- package/dist/test/sprememba-cene4.mjs +100 -115
- package/dist/test/sprememba-cene4.mjs.map +1 -1
- package/dist/test/sprememba-cene5.mjs +100 -115
- package/dist/test/sprememba-cene5.mjs.map +1 -1
- package/dist/test/sprememba-cene6.mjs +141 -158
- package/dist/test/sprememba-cene6.mjs.map +1 -1
- package/dist/test/tuja-zaloga.mjs +108 -123
- package/dist/test/tuja-zaloga.mjs.map +1 -1
- package/dist/test/zaloge.mjs +150 -173
- package/dist/test/zaloge.mjs.map +1 -1
- package/dist/test/zaloge2.mjs +160 -177
- package/dist/test/zaloge2.mjs.map +1 -1
- package/dist/updatePotrditevBrejosti.mjs +1 -1
- package/dist/updatePotrditevBrejosti.mjs.map +1 -1
- package/dist/updatePresusitve.mjs +1 -1
- package/dist/updatePresusitve.mjs.map +1 -1
- package/dist/updateStatusOsemenitve.mjs +1 -1
- package/dist/updateStatusOsemenitve.mjs.map +1 -1
- package/dist/vseSkladiscaLokacij.mjs +9 -20
- package/dist/vseSkladiscaLokacij.mjs.map +1 -1
- package/dist/vsotaDobavZaObdobje.mjs +35 -47
- package/dist/vsotaDobavZaObdobje.mjs.map +1 -1
- package/dist/zakljuciBlagovnico.mjs +46 -57
- package/dist/zakljuciBlagovnico.mjs.map +1 -1
- package/dist/zalogaDbAccessorInMem.mjs +58 -86
- package/dist/zalogaDbAccessorInMem.mjs.map +1 -1
- package/dist/zalogaNaDan.mjs +27 -59
- package/dist/zalogaNaDan.mjs.map +1 -1
- package/dist/zalogaNaDanIzracunana.mjs +36 -48
- package/dist/zalogaNaDanIzracunana.mjs.map +1 -1
- package/dist/zalogaPoDnevih.mjs +34 -36
- package/dist/zalogaPoDnevih.mjs.map +1 -1
- package/dist/zapisiPorabeZaDobavnice.mjs +61 -92
- package/dist/zapisiPorabeZaDobavnice.mjs.map +1 -1
- package/dist/zapisiPorabeZaObravnave.mjs +58 -89
- package/dist/zapisiPorabeZaObravnave.mjs.map +1 -1
- package/dist/zapisiPoraboZaObravnavo.mjs +51 -62
- package/dist/zapisiPoraboZaObravnavo.mjs.map +1 -1
- package/dist/zapisiZalogoPoDnevih.mjs +67 -110
- package/dist/zapisiZalogoPoDnevih.mjs.map +1 -1
- package/dist/zapisiZalogoPoDnevih_old.mjs +86 -140
- package/dist/zapisiZalogoPoDnevih_old.mjs.map +1 -1
- package/dist/zaracunajDobavnice.mjs +155 -193
- package/dist/zaracunajDobavnice.mjs.map +1 -1
- package/dist/zavarovanje.mjs +2 -4
- package/dist/zavarovanje.mjs.map +1 -1
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.mjs +17 -30
- package/dist/zbrisiZalogoArtiklovKiJeNeMorejoImeti.mjs.map +1 -1
- package/dist/zdruziOdprteRacune.mjs +34 -61
- package/dist/zdruziOdprteRacune.mjs.map +1 -1
- package/dist/zdruziPaciente.mjs +57 -85
- package/dist/zdruziPaciente.mjs.map +1 -1
- package/dist/zdruziStranke.mjs +143 -193
- package/dist/zdruziStranke.mjs.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
@@ -1,12 +1,3 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import { Mongo } from "cry-db";
|
11
2
|
import { arrayToObject } from "cry-helpers";
|
12
3
|
import dayjs from "./dayjs.mjs";
|
@@ -16,49 +7,50 @@ const SMS_DNI_PREJ = 3;
|
|
16
7
|
* Iz baze nabere podatke o naročenih pacientih,
|
17
8
|
* katerim je potrebno poslati SMS sporočilo na nek dan.
|
18
9
|
*/
|
19
|
-
export function smsNaroceniNaDan({ tenant, dan, resend }) {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
10
|
+
export async function smsNaroceniNaDan({ tenant, dan, resend }) {
|
11
|
+
let mongo = new Mongo(tenant);
|
12
|
+
let nastavitve = (await mongo.findOne("nastavitve", {}));
|
13
|
+
if (!nastavitve)
|
14
|
+
return [];
|
15
|
+
if (!nastavitve.opomnikiNarocanje)
|
16
|
+
return [];
|
17
|
+
let naDan = dayjs(dan).add(nastavitve.opomnikiDniPredNarocanje ?? SMS_DNI_PREJ, "day");
|
18
|
+
let query = {
|
19
|
+
datum: {
|
20
|
+
$gte: naDan.startOf("day").toDate(),
|
21
|
+
$lte: naDan.endOf("day").toDate(),
|
22
|
+
},
|
23
|
+
opomnikPoslji: true,
|
24
|
+
opomnikStevilka: { $exists: true },
|
25
|
+
smsOddaja_id: { $exists: false },
|
26
|
+
sprejet: { $exists: false },
|
27
|
+
_deleted: { $exists: false },
|
28
|
+
};
|
29
|
+
if (resend) {
|
30
|
+
console.log("resending SMSes for ", tenant);
|
31
|
+
delete query.smsOddaja_id;
|
32
|
+
query.smsOddaja_napaka = { $exists: true };
|
33
|
+
}
|
34
|
+
let naroceni = await mongo.find("naroceni", query);
|
35
|
+
if (!naroceni.length)
|
36
|
+
return [];
|
37
|
+
let pacienti = arrayToObject(await mongo.find("pacienti", { _id: { $in: naroceni.map(n => n.pacient_id) } }, { project: { ime: true, vrsta: true, spol: true, mrtev: true, stranka_id: true, _deleted: true } }), "_id");
|
38
|
+
let lokacije = arrayToObject(await mongo.find("lokacije", { _id: { $in: naroceni.map(n => n.lokacija_id) } }, { project: { ime: true, naslov: true, telefon: true } }), "_id");
|
39
|
+
let res = naroceni.map(narocen => {
|
40
|
+
return {
|
41
|
+
narocen,
|
42
|
+
pacient: pacienti[narocen.pacient_id],
|
43
|
+
...smsNarocenBesedilo({
|
52
44
|
narocen,
|
53
45
|
pacient: pacienti[narocen.pacient_id],
|
54
46
|
lokacija: lokacije[narocen.lokacija_id],
|
55
47
|
nastavitve: nastavitve,
|
56
|
-
})
|
57
|
-
}
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
48
|
+
}),
|
49
|
+
};
|
50
|
+
}).filter(p => p?.pacient && !p.pacient.mrtev && !p.pacient._deleted && !p.pacient.oddan);
|
51
|
+
let stranke = arrayToObject(await mongo.find("stranke", { _id: { $in: res.map(r => r.pacient.stranka_id) } }, { project: { gdprSoglasjeNacin: 1 } }), "_id");
|
52
|
+
res = res.filter(r => stranke[r.pacient.stranka_id].gdprSoglasjeNacin !== "ne poda");
|
53
|
+
return res;
|
62
54
|
}
|
63
55
|
// (async () => {
|
64
56
|
// let ret = await smsNaroceniNaDan({ tenant: 'zvitorepka', dan: new Date(), resend: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"smsNaroceniNaDan.mjs","sourceRoot":"","sources":["../src/smsNaroceniNaDan.mts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"smsNaroceniNaDan.mjs","sourceRoot":"","sources":["../src/smsNaroceniNaDan.mts"],"names":[],"mappings":"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"}
|
@@ -1,100 +1,87 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import { Repo } from "cry-db";
|
11
2
|
import { arrayToObject } from "cry-helpers";
|
12
3
|
import dayjs from "./dayjs.mjs";
|
13
4
|
import { idjiArtiklovKiImajoLahkoZalogo } from "./idjiArtiklovKiImajoLahkoZalogo.mjs";
|
14
5
|
import { vsaSkladiscaLokacij } from "./vseSkladiscaLokacij.mjs";
|
15
|
-
export function spremembaZalogeZaObdobje(spec) {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
spec.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
$
|
71
|
-
_id,
|
72
|
-
sprememba: { $sum: "$vrednostZaloge.sprememba" },
|
73
|
-
},
|
6
|
+
export async function spremembaZalogeZaObdobje(spec) {
|
7
|
+
spec.odDne = dayjs(spec.odDne).startOf("day").toDate();
|
8
|
+
spec.doDne = dayjs(spec.doDne).endOf("day").toDate();
|
9
|
+
const allTimeCriteria = [
|
10
|
+
{ datum: { $gte: spec.odDne } },
|
11
|
+
{ datum: { $lt: spec.doDne } },
|
12
|
+
];
|
13
|
+
// match št.računa and time criteria
|
14
|
+
let $match = { $and: allTimeCriteria };
|
15
|
+
if (spec.lokacije && !(spec.skladisca?.length)) {
|
16
|
+
spec.skladisca = await vsaSkladiscaLokacij(spec.lokacije, spec.tenant);
|
17
|
+
}
|
18
|
+
if (spec.skladisca?.length)
|
19
|
+
$match.skladisce_id = { $in: spec.skladisca };
|
20
|
+
if (spec.kategorije?.length)
|
21
|
+
$match.kategorija = { $in: spec.kategorije };
|
22
|
+
if (spec.vrste?.length)
|
23
|
+
$match.vrstaDogodka = { $in: spec.vrste };
|
24
|
+
if (spec.razenVrst?.length)
|
25
|
+
$match.vrstaDogodka = { $nin: spec.razenVrst };
|
26
|
+
if (spec.samoArtikliKiImajoLahkoSedajZalogo) {
|
27
|
+
// samo artikli, ki lahko imajo zalogo
|
28
|
+
let mozni = await idjiArtiklovKiImajoLahkoZalogo(spec.tenant, spec.samoKonsignacija);
|
29
|
+
$match.artikel_id = { $in: mozni };
|
30
|
+
}
|
31
|
+
let _id = {};
|
32
|
+
let proj = { _id: 0, sprememba: 1 };
|
33
|
+
if (spec.poDokumentih) {
|
34
|
+
_id.dokument_id = "$dokument_id";
|
35
|
+
_id.partner_id = "$partner_id";
|
36
|
+
_id.datum = "$datum";
|
37
|
+
proj.dokument_id = "$_id.dokument_id";
|
38
|
+
proj.partner_id = "$_id.partner_id";
|
39
|
+
proj.datum = "$_id.datum";
|
40
|
+
spec.poVrstah = true;
|
41
|
+
spec.poSkladiscih = true;
|
42
|
+
}
|
43
|
+
if (spec.poVrstah) {
|
44
|
+
_id.vrsta = "$vrstaDogodka";
|
45
|
+
proj.vrsta = "$_id.vrsta";
|
46
|
+
}
|
47
|
+
if (spec.poKategorijah) {
|
48
|
+
_id.kategorija = "$kategorija";
|
49
|
+
proj.kategorija = "$_id.kategorija";
|
50
|
+
}
|
51
|
+
if (spec.poSkladiscih || spec.skladisca?.length) {
|
52
|
+
_id.skladisce_id = "$skladisce_id";
|
53
|
+
proj.skladisce_id = "$_id.skladisce_id";
|
54
|
+
}
|
55
|
+
let repo = new Repo("spremembaZaloge", spec.tenant);
|
56
|
+
let spremembe = await repo.aggregate([
|
57
|
+
{ $match },
|
58
|
+
{
|
59
|
+
$group: {
|
60
|
+
_id,
|
61
|
+
sprememba: { $sum: "$vrednostZaloge.sprememba" },
|
74
62
|
},
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
});
|
63
|
+
},
|
64
|
+
{ $project: proj, },
|
65
|
+
]);
|
66
|
+
await repo.close();
|
67
|
+
if (spec.poDokumentih) {
|
68
|
+
let idjiBlag = spremembe.filter((s) => s.vrsta !== "prodaja").map((s) => s.dokument_id).filter(a => a).map(a => a.toString());
|
69
|
+
let idjiRac = spremembe.filter((s) => s.vrsta == "prodaja").map((s) => s.dokument_id).filter(a => a).map(a => a.toString());
|
70
|
+
let repoB = new Repo("blagovnice", spec.tenant);
|
71
|
+
let repoR = new Repo("racuni", spec.tenant);
|
72
|
+
let blagovnice = await repoB.find({ _id: { $in: idjiBlag } }, { project: { dokumentDobavitelja: 1 }, sort: { datum: 1 } });
|
73
|
+
let racuni = await repoR.find({ _id: { $in: idjiRac } }, { project: { stevilka: 1 }, sort: { datum: 1 } });
|
74
|
+
let blagObj = arrayToObject(blagovnice, "_id");
|
75
|
+
let racObj = arrayToObject(racuni, "_id");
|
76
|
+
await repoB.close();
|
77
|
+
await repoR.close();
|
78
|
+
spremembe.forEach((s) => {
|
79
|
+
let dokument = blagObj[s.dokument_id]?.dokumentDobavitelja || racObj[s.dokument_id]?.stevilka;
|
80
|
+
if (dokument)
|
81
|
+
s.dokument = dokument;
|
82
|
+
});
|
83
|
+
}
|
84
|
+
return spremembe;
|
98
85
|
}
|
99
86
|
// (async function go() {
|
100
87
|
// let vzd = await spremembaZalogeZaObdobje({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"spremembaZalogeZaObdobje.mjs","sourceRoot":"","sources":["../src/spremembaZalogeZaObdobje.mts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"spremembaZalogeZaObdobje.mjs","sourceRoot":"","sources":["../src/spremembaZalogeZaObdobje.mts"],"names":[],"mappings":"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"}
|
package/dist/spremeniZalogo.mjs
CHANGED
@@ -1,12 +1,3 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import { ObjectID } from './ObjectId.mjs';
|
11
2
|
import { preracunajPorabo, vpisiSprememboZaloge } from "./preracunajZalogo.mjs";
|
12
3
|
import { razpisiDatum } from './razpisiDatum.mjs';
|
@@ -41,138 +32,140 @@ export function knjiziPoEnotiNabave(vrsta) {
|
|
41
32
|
// return d
|
42
33
|
// }
|
43
34
|
var artikliBlagovnice = {};
|
44
|
-
export function naloziArtikleBlagovnice(blagovnca, mongo) {
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
}
|
54
|
-
});
|
35
|
+
export async function naloziArtikleBlagovnice(blagovnca, mongo) {
|
36
|
+
let ids = blagovnca.postavke.map(p => p.artikel_id);
|
37
|
+
artikliBlagovnice = {};
|
38
|
+
try {
|
39
|
+
artikliBlagovnice = arrayToObject(await mongo.find("artikli", { _id: { $in: ids }, _deleted: { $ne: "hack" } }), "_id");
|
40
|
+
}
|
41
|
+
catch (err) {
|
42
|
+
console.error("naloziArtikleBlagovnice: ", err);
|
43
|
+
}
|
55
44
|
}
|
56
|
-
export function poisciArtikel(_id, mongo, errorText) {
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
return artikel;
|
68
|
-
});
|
45
|
+
export async function poisciArtikel(_id, mongo, errorText) {
|
46
|
+
let artikel = (artikliBlagovnice[_id])
|
47
|
+
||
|
48
|
+
await mongo.findOne("artikli", { _id, _deleted: { $ne: "hack" } });
|
49
|
+
if (!artikel) {
|
50
|
+
console.error(errorText);
|
51
|
+
return null;
|
52
|
+
}
|
53
|
+
if (artikel.vodenjeZaloge === "brez")
|
54
|
+
return null;
|
55
|
+
return artikel;
|
69
56
|
}
|
70
|
-
export function poisciInPreusmeriArtikel(_id, faktorRazknjizbe, mongo, errorText) {
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
57
|
+
export async function poisciInPreusmeriArtikel(_id, faktorRazknjizbe, mongo, errorText) {
|
58
|
+
let artikel = (artikliBlagovnice[_id]) || (await mongo.findOne("artikli", { _id }));
|
59
|
+
if (!artikel) {
|
60
|
+
console.error(errorText);
|
61
|
+
return { artikel: null, faktorRazknjizbe: 0 };
|
62
|
+
}
|
63
|
+
if (artikel.vodenjeZaloge === "brez")
|
64
|
+
return { artikel: null, faktorRazknjizbe: 0 };
|
65
|
+
if (artikel.vodenjeZaloge === "tam") {
|
66
|
+
if (!artikel.razknjiziZalogo) {
|
67
|
+
console.error(`artikel ${_id} preusmeja na neobstoječi => ${artikel.razknjiziZalogo}`);
|
78
68
|
return { artikel: null, faktorRazknjizbe: 0 };
|
79
|
-
if (artikel.vodenjeZaloge === "tam") {
|
80
|
-
if (!artikel.razknjiziZalogo) {
|
81
|
-
console.error(`artikel ${_id} preusmeja na neobstoječi => ${artikel.razknjiziZalogo}`);
|
82
|
-
return { artikel: null, faktorRazknjizbe: 0 };
|
83
|
-
}
|
84
|
-
return poisciInPreusmeriArtikel(artikel.razknjiziZalogo, faktorRazknjizbe * (artikel.faktorRazknjizbe || 1), mongo, errorText);
|
85
69
|
}
|
86
|
-
return
|
87
|
-
}
|
70
|
+
return poisciInPreusmeriArtikel(artikel.razknjiziZalogo, faktorRazknjizbe * (artikel.faktorRazknjizbe || 1), mongo, errorText);
|
71
|
+
}
|
72
|
+
return { artikel, faktorRazknjizbe };
|
88
73
|
}
|
89
|
-
export function _poknjiziPoraboZaloge(zaloga, blagovniDogodek, postavka, stara_nbc, mongo, artikel, blagovnica) {
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
stara_nbc,
|
99
|
-
});
|
100
|
-
zaloga = vpisiSprememboZaloge(zaloga, sprememba);
|
101
|
-
yield mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
102
|
-
nbc: stara_nbc,
|
103
|
-
zaloga: sprememba.zaloga.nova,
|
104
|
-
vrednost: sprememba.vrednostZaloge.nova,
|
105
|
-
});
|
106
|
-
let datum = new Date(new Date().valueOf());
|
107
|
-
let datumDokumenta = new Date(blagovnica.datum);
|
108
|
-
yield mongo.insert("spremembaZaloge", Object.assign(Object.assign({ _id: new ObjectID().toHexString(), datum: datum }, razpisiDatum(datum)), { datumDokumenta, artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id, dokument_id: blagovnica._id, vrstaSpremembe: sprememba.vrstaSpremembe, vrstaDogodka: blagovniDogodek, kategorija: artikel.kategorija,
|
109
|
-
//partner_id: blagovnica.?._id,
|
110
|
-
zaloga: sprememba.zaloga, vrednostZaloge: sprememba.vrednostZaloge, nbc: { stara: stara_nbc, nova: stara_nbc, sprememba: 0 }, dst: artikel.dstIn || artikel.dst }));
|
111
|
-
// if (Math.abs(round2(zaloga.vrednost - sprememba.vrednostZaloge.nova)) > .2)
|
112
|
-
// console.log(blagovniDogodek," razlika zaloge", artikel._id, (artikel as any).naziv, zaloga.vrednost, "-", sprememba.vrednostZaloge.nova, "=", zaloga.vrednost - sprememba.vrednostZaloge.nova)
|
113
|
-
return zaloga;
|
74
|
+
export async function _poknjiziPoraboZaloge(zaloga, blagovniDogodek, postavka, stara_nbc, mongo, artikel, blagovnica) {
|
75
|
+
let faktor = knjiziPoEnotiNabave(blagovnica.vrsta) ? (postavka.enotaFaktor || 1) : 1;
|
76
|
+
// novo
|
77
|
+
faktor = postavka.enotaFaktor || 1;
|
78
|
+
let sprememba = preracunajPorabo({
|
79
|
+
vrstaSpremembe: blagovniDogodek === "vnos" ? 1 /* VrstaSpremembeZaloge.NABAVA */ : -1 /* VrstaSpremembeZaloge.PORABA */,
|
80
|
+
zaloga,
|
81
|
+
kolicina: postavka.kolicina * faktor,
|
82
|
+
stara_nbc,
|
114
83
|
});
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
84
|
+
zaloga = vpisiSprememboZaloge(zaloga, sprememba);
|
85
|
+
await mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
86
|
+
nbc: stara_nbc,
|
87
|
+
zaloga: sprememba.zaloga.nova,
|
88
|
+
vrednost: sprememba.vrednostZaloge.nova,
|
89
|
+
});
|
90
|
+
let datum = new Date(new Date().valueOf());
|
91
|
+
let datumDokumenta = new Date(blagovnica.datum);
|
92
|
+
await mongo.insert("spremembaZaloge", {
|
93
|
+
_id: new ObjectID().toHexString(),
|
94
|
+
datum: datum,
|
95
|
+
...razpisiDatum(datum),
|
96
|
+
datumDokumenta,
|
97
|
+
artikel_id: artikel._id,
|
98
|
+
skladisce_id: zaloga.skladisce_id,
|
99
|
+
dokument_id: blagovnica._id,
|
100
|
+
vrstaSpremembe: sprememba.vrstaSpremembe,
|
101
|
+
vrstaDogodka: blagovniDogodek,
|
102
|
+
kategorija: artikel.kategorija,
|
103
|
+
//partner_id: blagovnica.?._id,
|
104
|
+
zaloga: sprememba.zaloga,
|
105
|
+
vrednostZaloge: sprememba.vrednostZaloge,
|
106
|
+
nbc: { stara: stara_nbc, nova: stara_nbc, sprememba: 0 },
|
107
|
+
dst: artikel.dstIn || artikel.dst,
|
122
108
|
});
|
109
|
+
// if (Math.abs(round2(zaloga.vrednost - sprememba.vrednostZaloge.nova)) > .2)
|
110
|
+
// console.log(blagovniDogodek," razlika zaloge", artikel._id, (artikel as any).naziv, zaloga.vrednost, "-", sprememba.vrednostZaloge.nova, "=", zaloga.vrednost - sprememba.vrednostZaloge.nova)
|
111
|
+
return zaloga;
|
123
112
|
}
|
124
|
-
export function
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
catch (err) {
|
171
|
-
console.error("napaka knjižbe blagovnice", err.message || err, err);
|
172
|
-
// if (!inTransaction)
|
173
|
-
// await mongo.abortTransaction()
|
113
|
+
export async function ignorirajNarocilo(blagovnica, mongo) {
|
114
|
+
console.error("Ignoriram spremembo zaloge na podlagi naročila ", blagovnica._id);
|
115
|
+
// prevent compiler error:
|
116
|
+
mongo.findOne("artikli", { noop: 1 });
|
117
|
+
return false;
|
118
|
+
}
|
119
|
+
export async function spremeniZalogoNaPodlagiBlagovnice(blagovnica, nastavitve, mongo, opts) {
|
120
|
+
if (!blagovnica)
|
121
|
+
return;
|
122
|
+
if (blagovnica.razknjizena)
|
123
|
+
return;
|
124
|
+
if (blagovnica.razknjizbaPreskocena)
|
125
|
+
return;
|
126
|
+
if (blagovnica.vrsta === "naročilo")
|
127
|
+
return;
|
128
|
+
if (blagovnica.navidezniPrevzem)
|
129
|
+
return;
|
130
|
+
if (opts && opts.pustiNbcInventure === undefined)
|
131
|
+
opts.pustiNbcInventure = (blagovnica.vrsta === "inventura" && !dayjs(blagovnica.datumDokumenta).isSame(new Date(), "day"));
|
132
|
+
// let inTransaction = mongo.inTransaction && await mongo.inTransaction()
|
133
|
+
try {
|
134
|
+
// if (!inTransaction)
|
135
|
+
// await mongo.startTransaction()
|
136
|
+
let actions = {
|
137
|
+
dobava: () => spremeniZalogoZaDobavo(blagovnica, nastavitve, mongo),
|
138
|
+
poraba: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
139
|
+
prevzem: () => spremeniZalogoZaPrevzem(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
140
|
+
odpis: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
141
|
+
izdaja: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
142
|
+
vračilo: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
143
|
+
iznos: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
144
|
+
vnos: () => spremeniZalogoZaPorabo(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
145
|
+
inventura: () => spremeniZalogoZaInventuro(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo, opts),
|
146
|
+
prenos: () => spremeniZalogoZaPrenos(blagovnica, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, !!nastavitve.spremljamoSerijske, mongo),
|
147
|
+
"naročilo": () => ignorirajNarocilo(blagovnica, mongo),
|
148
|
+
};
|
149
|
+
if (!actions[blagovnica.vrsta])
|
150
|
+
throw new Error(`ni funkcije za knjižbo blagovnice ${blagovnica.vrsta} ${blagovnica._id}`);
|
151
|
+
let update = {
|
152
|
+
razknjizena: new Date()
|
153
|
+
};
|
154
|
+
let vpisaliSmoSerijeNaPostavke = await actions[blagovnica.vrsta](blagovnica, mongo);
|
155
|
+
if (vpisaliSmoSerijeNaPostavke) {
|
156
|
+
update.postavke = blagovnica.postavke;
|
157
|
+
if (blagovnica.vrsta === "prevzem" && blagovnica.serijskeVpisaneNaNapravo)
|
158
|
+
update.serijskeVpisaneNaNapravo = blagovnica.serijskeVpisaneNaNapravo;
|
174
159
|
}
|
175
|
-
|
160
|
+
await mongo.upsert("blagovnice", { _id: blagovnica._id }, update);
|
161
|
+
// if (!inTransaction)
|
162
|
+
// await mongo.commitTransaction()
|
163
|
+
}
|
164
|
+
catch (err) {
|
165
|
+
console.error("napaka knjižbe blagovnice", err.message || err, err);
|
166
|
+
// if (!inTransaction)
|
167
|
+
// await mongo.abortTransaction()
|
168
|
+
}
|
176
169
|
}
|
177
170
|
// (async function () {
|
178
171
|
// let mongo = new Mongo("max")
|