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