cry-klikvet-logic 1.0.225 → 1.0.226
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.d.mts.map +1 -1
- package/dist/dopisiSerijskeNaNapravi.mjs +32 -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 +243 -338
- 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/models/Serijske.d.mts +1 -1
- package/dist/models/Serijske.d.mts.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.d.mts +1 -1
- package/dist/parseSerijaStr.d.mts.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 +20 -52
- 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.d.mts +5 -5
- package/dist/serije.d.mts.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/types/DbFunctions.d.mts +1 -1
- package/dist/types/DbFunctions.d.mts.map +1 -1
- package/dist/types/ZalogaDbAccessor.d.mts +2 -2
- package/dist/types/ZalogaDbAccessor.d.mts.map +1 -1
- package/dist/types/nastavitve.d.mts +6 -6
- package/dist/types/nastavitve.d.mts.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.d.mts +2 -2
- package/dist/zalogaDbAccessorInMem.d.mts.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,125 +1,110 @@
|
|
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 { expect } from "chai";
|
11
2
|
import { spremeniZalogoNaPodlagiBlagovnice } from "../spremeniZalogo.mjs";
|
12
3
|
import { zalogaDbAccessorInMem } from "../zalogaDbAccessorInMem.mjs";
|
13
4
|
let fakedb = zalogaDbAccessorInMem();
|
14
5
|
fakedb.clearDb();
|
15
6
|
function round(n = 0, to) { return Number(n.toFixed(to)); }
|
16
|
-
describe('spremeni prodajno ceno na podlagi nastavitve artikla', function () {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
7
|
+
describe('spremeni prodajno ceno na podlagi nastavitve artikla', async function () {
|
8
|
+
let skladisce_id = "s1";
|
9
|
+
let artikel_id1 = "z1";
|
10
|
+
let nastavitve = {
|
11
|
+
zaokrozitevCen: 2,
|
12
|
+
pribitekCeneNaIzdelke: .31,
|
13
|
+
pribitekCeneNaZdravila: .22,
|
14
|
+
pragZaSprememboCenObPocenitvi: .105,
|
15
|
+
pragZaSprememboCenObPodrazitvi: .105,
|
16
|
+
posodobiCeneObDobavi: "dobava",
|
17
|
+
razknjizbaZdravil: "ob dobavi"
|
18
|
+
};
|
19
|
+
await fakedb.upsert("artikli", { _id: artikel_id1 }, {
|
20
|
+
_id: artikel_id1,
|
21
|
+
kategorija: "zdravilo",
|
22
|
+
zalogoRazknjizi: "ob prodaji",
|
23
|
+
nbc: undefined,
|
24
|
+
enotaZaloge: "amp",
|
25
|
+
enotaFaktor: 12,
|
26
|
+
enotaNabave: "škl",
|
27
|
+
dst: .22,
|
28
|
+
mpc: undefined,
|
29
|
+
zeleniPribitek: .13,
|
30
|
+
});
|
31
|
+
it("dobavi prvo rundo, ignoriramo previsok rabat", async function () {
|
32
|
+
let r = {
|
33
|
+
_id: "dob-1",
|
34
|
+
skladisce_id,
|
35
|
+
datum: new Date(),
|
36
|
+
vrsta: 'dobava',
|
37
|
+
lokacija_id: "lok1",
|
38
|
+
zapSt: 1,
|
39
|
+
dav: 0,
|
40
|
+
davki: [],
|
41
|
+
nbc: 0,
|
42
|
+
izvedel: "rok",
|
43
|
+
dobavitelj_id: "dob-1",
|
44
|
+
status: "izdana",
|
45
|
+
postavke: [
|
46
|
+
{
|
47
|
+
artikel_id: artikel_id1,
|
48
|
+
kolicina: 3,
|
49
|
+
naziv: "Izdelek 1",
|
50
|
+
kategorija: "zdravilo",
|
51
|
+
nbc0: 6,
|
52
|
+
rbt: .95,
|
53
|
+
dst: .22,
|
54
|
+
enota: "škl",
|
55
|
+
nbcN: 6 * (1 - .95),
|
56
|
+
tnbc: 6 * (1 - .95) * 3,
|
57
|
+
tdav: 0,
|
58
|
+
enotaFaktor: 12,
|
59
|
+
},
|
60
|
+
]
|
61
|
+
};
|
62
|
+
await spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
63
|
+
let z1 = await fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
64
|
+
expect(z1?.zaloga).to.eq(36);
|
65
|
+
expect(round(z1?.vrednost, 4)).to.eq(round(3 * .05 * 6, 4));
|
66
|
+
let a1 = await fakedb.findOne("artikli", { _id: artikel_id1 });
|
67
|
+
expect(round(a1?.nbc, 4)).to.equal(round(6 * .05 / 12, 4));
|
68
|
+
expect(a1?.mpc).to.equal(round(6 * 1.22 * 1.13 / 12, 2));
|
69
|
+
});
|
70
|
+
it("dobavi drugo rundo, upoštevamo rabat", async function () {
|
71
|
+
let r = {
|
72
|
+
_id: "dob-1",
|
73
|
+
skladisce_id,
|
74
|
+
datum: new Date(),
|
75
|
+
vrsta: 'dobava',
|
76
|
+
lokacija_id: "lok1",
|
77
|
+
zapSt: 1,
|
78
|
+
dav: 0,
|
79
|
+
davki: [],
|
80
|
+
nbc: 0,
|
81
|
+
izvedel: "rok",
|
82
|
+
dobavitelj_id: "dob-1",
|
83
|
+
status: "izdana",
|
84
|
+
postavke: [
|
85
|
+
{
|
86
|
+
artikel_id: artikel_id1,
|
87
|
+
kolicina: 3,
|
88
|
+
naziv: "Izdelek 1",
|
89
|
+
kategorija: "zdravilo",
|
90
|
+
nbc0: 6,
|
91
|
+
rbt: .8,
|
92
|
+
dst: .095,
|
93
|
+
enota: "škl",
|
94
|
+
nbcN: 6 * (1 - .8),
|
95
|
+
tnbc: 6 * (1 - .8) * 3,
|
96
|
+
tdav: 0,
|
97
|
+
enotaFaktor: 12,
|
98
|
+
},
|
99
|
+
]
|
28
100
|
};
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
enotaNabave: "škl",
|
37
|
-
dst: .22,
|
38
|
-
mpc: undefined,
|
39
|
-
zeleniPribitek: .13,
|
40
|
-
});
|
41
|
-
it("dobavi prvo rundo, ignoriramo previsok rabat", function () {
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
43
|
-
let r = {
|
44
|
-
_id: "dob-1",
|
45
|
-
skladisce_id,
|
46
|
-
datum: new Date(),
|
47
|
-
vrsta: 'dobava',
|
48
|
-
lokacija_id: "lok1",
|
49
|
-
zapSt: 1,
|
50
|
-
dav: 0,
|
51
|
-
davki: [],
|
52
|
-
nbc: 0,
|
53
|
-
izvedel: "rok",
|
54
|
-
dobavitelj_id: "dob-1",
|
55
|
-
status: "izdana",
|
56
|
-
postavke: [
|
57
|
-
{
|
58
|
-
artikel_id: artikel_id1,
|
59
|
-
kolicina: 3,
|
60
|
-
naziv: "Izdelek 1",
|
61
|
-
kategorija: "zdravilo",
|
62
|
-
nbc0: 6,
|
63
|
-
rbt: .95,
|
64
|
-
dst: .22,
|
65
|
-
enota: "škl",
|
66
|
-
nbcN: 6 * (1 - .95),
|
67
|
-
tnbc: 6 * (1 - .95) * 3,
|
68
|
-
tdav: 0,
|
69
|
-
enotaFaktor: 12,
|
70
|
-
},
|
71
|
-
]
|
72
|
-
};
|
73
|
-
yield spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
74
|
-
let z1 = yield fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
75
|
-
expect(z1 === null || z1 === void 0 ? void 0 : z1.zaloga).to.eq(36);
|
76
|
-
expect(round(z1 === null || z1 === void 0 ? void 0 : z1.vrednost, 4)).to.eq(round(3 * .05 * 6, 4));
|
77
|
-
let a1 = yield fakedb.findOne("artikli", { _id: artikel_id1 });
|
78
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.nbc, 4)).to.equal(round(6 * .05 / 12, 4));
|
79
|
-
expect(a1 === null || a1 === void 0 ? void 0 : a1.mpc).to.equal(round(6 * 1.22 * 1.13 / 12, 2));
|
80
|
-
});
|
81
|
-
});
|
82
|
-
it("dobavi drugo rundo, upoštevamo rabat", function () {
|
83
|
-
return __awaiter(this, void 0, void 0, function* () {
|
84
|
-
let r = {
|
85
|
-
_id: "dob-1",
|
86
|
-
skladisce_id,
|
87
|
-
datum: new Date(),
|
88
|
-
vrsta: 'dobava',
|
89
|
-
lokacija_id: "lok1",
|
90
|
-
zapSt: 1,
|
91
|
-
dav: 0,
|
92
|
-
davki: [],
|
93
|
-
nbc: 0,
|
94
|
-
izvedel: "rok",
|
95
|
-
dobavitelj_id: "dob-1",
|
96
|
-
status: "izdana",
|
97
|
-
postavke: [
|
98
|
-
{
|
99
|
-
artikel_id: artikel_id1,
|
100
|
-
kolicina: 3,
|
101
|
-
naziv: "Izdelek 1",
|
102
|
-
kategorija: "zdravilo",
|
103
|
-
nbc0: 6,
|
104
|
-
rbt: .8,
|
105
|
-
dst: .095,
|
106
|
-
enota: "škl",
|
107
|
-
nbcN: 6 * (1 - .8),
|
108
|
-
tnbc: 6 * (1 - .8) * 3,
|
109
|
-
tdav: 0,
|
110
|
-
enotaFaktor: 12,
|
111
|
-
},
|
112
|
-
]
|
113
|
-
};
|
114
|
-
yield spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
115
|
-
let z1 = yield fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
116
|
-
expect(z1 === null || z1 === void 0 ? void 0 : z1.zaloga).to.eq(36 + 36);
|
117
|
-
expect(z1 === null || z1 === void 0 ? void 0 : z1.vrednost).to.eq(round(3 * .05 * 6 + 6 * (1 - .8) * 3, 4));
|
118
|
-
let a1 = yield fakedb.findOne("artikli", { _id: artikel_id1 });
|
119
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.nbc, 4)).to.equal(round((6 * .05 * 3 + 3 * .2 * 6) / 72, 4));
|
120
|
-
expect(a1 === null || a1 === void 0 ? void 0 : a1.mpc).to.equal(round(6 * 1.22 * 1.13 / 12, 2));
|
121
|
-
});
|
122
|
-
});
|
101
|
+
await spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
102
|
+
let z1 = await fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
103
|
+
expect(z1?.zaloga).to.eq(36 + 36);
|
104
|
+
expect(z1?.vrednost).to.eq(round(3 * .05 * 6 + 6 * (1 - .8) * 3, 4));
|
105
|
+
let a1 = await fakedb.findOne("artikli", { _id: artikel_id1 });
|
106
|
+
expect(round(a1?.nbc, 4)).to.equal(round((6 * .05 * 3 + 3 * .2 * 6) / 72, 4));
|
107
|
+
expect(a1?.mpc).to.equal(round(6 * 1.22 * 1.13 / 12, 2));
|
123
108
|
});
|
124
109
|
});
|
125
110
|
//# sourceMappingURL=sprememba-cene4.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sprememba-cene4.mjs","sourceRoot":"","sources":["../../src/test/sprememba-cene4.mts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"sprememba-cene4.mjs","sourceRoot":"","sources":["../../src/test/sprememba-cene4.mts"],"names":[],"mappings":"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"}
|
@@ -5,128 +5,113 @@
|
|
5
5
|
za potrebe spremembe MPC
|
6
6
|
|
7
7
|
*/
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
15
|
-
});
|
16
|
-
};
|
17
8
|
import { expect } from "chai";
|
18
9
|
import { spremeniZalogoNaPodlagiBlagovnice } from "../spremeniZalogo.mjs";
|
19
10
|
import { zalogaDbAccessorInMem } from "../zalogaDbAccessorInMem.mjs";
|
20
11
|
let fakedb = zalogaDbAccessorInMem();
|
21
12
|
fakedb.clearDb();
|
22
13
|
function round(n = 0, to) { return Number(n.toFixed(to)); }
|
23
|
-
describe('rabat ne vpliva na prodajne cene', function () {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
14
|
+
describe('rabat ne vpliva na prodajne cene', async function () {
|
15
|
+
let skladisce_id = "s1";
|
16
|
+
let artikel_id1 = "z1";
|
17
|
+
let nastavitve = {
|
18
|
+
zaokrozitevCen: 2,
|
19
|
+
pribitekCeneNaIzdelke: .7,
|
20
|
+
pribitekCeneNaZdravila: .7,
|
21
|
+
pragZaSprememboCenObPocenitvi: .105,
|
22
|
+
pragZaSprememboCenObPodrazitvi: .105,
|
23
|
+
posodobiCeneObDobavi: "dobava",
|
24
|
+
razknjizbaZdravil: "ob prodaji"
|
25
|
+
};
|
26
|
+
await fakedb.upsert("artikli", { _id: artikel_id1 }, {
|
27
|
+
_id: artikel_id1,
|
28
|
+
kategorija: "zdravilo",
|
29
|
+
zalogoRazknjizi: "ob prodaji",
|
30
|
+
nbc: undefined,
|
31
|
+
enotaZaloge: "tbl",
|
32
|
+
enotaFaktor: 50,
|
33
|
+
enotaNabave: "pak",
|
34
|
+
dst: 9.5 / 100,
|
35
|
+
zeleniPribitek: .70,
|
36
|
+
});
|
37
|
+
it("dobavi prvo rundo, ignoriramo previsok rabat", async function () {
|
38
|
+
let r = {
|
39
|
+
_id: "dob-1",
|
40
|
+
skladisce_id,
|
41
|
+
datum: new Date(),
|
42
|
+
vrsta: 'dobava',
|
43
|
+
lokacija_id: "lok1",
|
44
|
+
zapSt: 1,
|
45
|
+
dav: 0,
|
46
|
+
davki: [],
|
47
|
+
nbc: 0,
|
48
|
+
izvedel: "rok",
|
49
|
+
dobavitelj_id: "dob-1",
|
50
|
+
status: "izdana",
|
51
|
+
postavke: [
|
52
|
+
{
|
53
|
+
artikel_id: artikel_id1,
|
54
|
+
kolicina: 1,
|
55
|
+
naziv: "Izdelek 1",
|
56
|
+
kategorija: "zdravilo",
|
57
|
+
nbc0: 27.50,
|
58
|
+
rbt: 0,
|
59
|
+
dst: .095,
|
60
|
+
enota: "pak",
|
61
|
+
nbcN: 27.50,
|
62
|
+
tnbc: 6 * (1 - .95) * 3,
|
63
|
+
tdav: 0,
|
64
|
+
enotaFaktor: 50,
|
65
|
+
},
|
66
|
+
]
|
67
|
+
};
|
68
|
+
await spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
69
|
+
let z1 = await fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
70
|
+
expect(z1?.zaloga).to.eq(50);
|
71
|
+
expect(round(z1?.vrednost, 2)).to.eq(round(50 * .55, 2));
|
72
|
+
let a1 = await fakedb.findOne("artikli", { _id: artikel_id1 });
|
73
|
+
expect(round(a1?.nbc, 2)).to.eq(round(.55, 2));
|
74
|
+
expect(round(a1?.mpc, 2)).to.eq(round(.55 * 1.7 * 1.095, 2));
|
75
|
+
});
|
76
|
+
it("dobavi drugo rundo, rabat se ne sme upoštevati", async function () {
|
77
|
+
let RABAT = .05;
|
78
|
+
let r = {
|
79
|
+
_id: "dob-1",
|
80
|
+
skladisce_id,
|
81
|
+
datum: new Date(),
|
82
|
+
vrsta: 'dobava',
|
83
|
+
lokacija_id: "lok1",
|
84
|
+
zapSt: 1,
|
85
|
+
dav: 0,
|
86
|
+
davki: [],
|
87
|
+
nbc: 0,
|
88
|
+
izvedel: "rok",
|
89
|
+
dobavitelj_id: "dob-1",
|
90
|
+
status: "izdana",
|
91
|
+
postavke: [
|
92
|
+
{
|
93
|
+
artikel_id: artikel_id1,
|
94
|
+
kolicina: 1,
|
95
|
+
naziv: "Izdelek 1",
|
96
|
+
kategorija: "zdravilo",
|
97
|
+
nbc0: 27.50,
|
98
|
+
rbt: RABAT,
|
99
|
+
dst: .095,
|
100
|
+
enota: "pak",
|
101
|
+
nbcN: 27.50 * (1 - RABAT),
|
102
|
+
tnbc: 0,
|
103
|
+
tdav: 0,
|
104
|
+
enotaFaktor: 50,
|
105
|
+
},
|
106
|
+
]
|
35
107
|
};
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
enotaNabave: "pak",
|
44
|
-
dst: 9.5 / 100,
|
45
|
-
zeleniPribitek: .70,
|
46
|
-
});
|
47
|
-
it("dobavi prvo rundo, ignoriramo previsok rabat", function () {
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
49
|
-
let r = {
|
50
|
-
_id: "dob-1",
|
51
|
-
skladisce_id,
|
52
|
-
datum: new Date(),
|
53
|
-
vrsta: 'dobava',
|
54
|
-
lokacija_id: "lok1",
|
55
|
-
zapSt: 1,
|
56
|
-
dav: 0,
|
57
|
-
davki: [],
|
58
|
-
nbc: 0,
|
59
|
-
izvedel: "rok",
|
60
|
-
dobavitelj_id: "dob-1",
|
61
|
-
status: "izdana",
|
62
|
-
postavke: [
|
63
|
-
{
|
64
|
-
artikel_id: artikel_id1,
|
65
|
-
kolicina: 1,
|
66
|
-
naziv: "Izdelek 1",
|
67
|
-
kategorija: "zdravilo",
|
68
|
-
nbc0: 27.50,
|
69
|
-
rbt: 0,
|
70
|
-
dst: .095,
|
71
|
-
enota: "pak",
|
72
|
-
nbcN: 27.50,
|
73
|
-
tnbc: 6 * (1 - .95) * 3,
|
74
|
-
tdav: 0,
|
75
|
-
enotaFaktor: 50,
|
76
|
-
},
|
77
|
-
]
|
78
|
-
};
|
79
|
-
yield spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
80
|
-
let z1 = yield fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
81
|
-
expect(z1 === null || z1 === void 0 ? void 0 : z1.zaloga).to.eq(50);
|
82
|
-
expect(round(z1 === null || z1 === void 0 ? void 0 : z1.vrednost, 2)).to.eq(round(50 * .55, 2));
|
83
|
-
let a1 = yield fakedb.findOne("artikli", { _id: artikel_id1 });
|
84
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.nbc, 2)).to.eq(round(.55, 2));
|
85
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.mpc, 2)).to.eq(round(.55 * 1.7 * 1.095, 2));
|
86
|
-
});
|
87
|
-
});
|
88
|
-
it("dobavi drugo rundo, rabat se ne sme upoštevati", function () {
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
90
|
-
let RABAT = .05;
|
91
|
-
let r = {
|
92
|
-
_id: "dob-1",
|
93
|
-
skladisce_id,
|
94
|
-
datum: new Date(),
|
95
|
-
vrsta: 'dobava',
|
96
|
-
lokacija_id: "lok1",
|
97
|
-
zapSt: 1,
|
98
|
-
dav: 0,
|
99
|
-
davki: [],
|
100
|
-
nbc: 0,
|
101
|
-
izvedel: "rok",
|
102
|
-
dobavitelj_id: "dob-1",
|
103
|
-
status: "izdana",
|
104
|
-
postavke: [
|
105
|
-
{
|
106
|
-
artikel_id: artikel_id1,
|
107
|
-
kolicina: 1,
|
108
|
-
naziv: "Izdelek 1",
|
109
|
-
kategorija: "zdravilo",
|
110
|
-
nbc0: 27.50,
|
111
|
-
rbt: RABAT,
|
112
|
-
dst: .095,
|
113
|
-
enota: "pak",
|
114
|
-
nbcN: 27.50 * (1 - RABAT),
|
115
|
-
tnbc: 0,
|
116
|
-
tdav: 0,
|
117
|
-
enotaFaktor: 50,
|
118
|
-
},
|
119
|
-
]
|
120
|
-
};
|
121
|
-
yield spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
122
|
-
let z1 = yield fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
123
|
-
expect(z1 === null || z1 === void 0 ? void 0 : z1.zaloga).to.eq(100);
|
124
|
-
expect(round(z1 === null || z1 === void 0 ? void 0 : z1.vrednost, 2)).to.eq(round(27.50 + 27.50 * (1 - RABAT), 2));
|
125
|
-
let a1 = yield fakedb.findOne("artikli", { _id: artikel_id1 });
|
126
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.nbc, 2)).to.eq(round((27.50 + 27.50 * (1 - RABAT)) / 100, 2));
|
127
|
-
expect(round(a1 === null || a1 === void 0 ? void 0 : a1.mpc, 2)).to.eq(round(27.50 * 1.095 * 1.7 / 50, 2));
|
128
|
-
});
|
129
|
-
});
|
108
|
+
await spremeniZalogoNaPodlagiBlagovnice(r, nastavitve, fakedb);
|
109
|
+
let z1 = await fakedb.findOne("zaloga", { skladisce_id, artikel_id: artikel_id1 });
|
110
|
+
expect(z1?.zaloga).to.eq(100);
|
111
|
+
expect(round(z1?.vrednost, 2)).to.eq(round(27.50 + 27.50 * (1 - RABAT), 2));
|
112
|
+
let a1 = await fakedb.findOne("artikli", { _id: artikel_id1 });
|
113
|
+
expect(round(a1?.nbc, 2)).to.eq(round((27.50 + 27.50 * (1 - RABAT)) / 100, 2));
|
114
|
+
expect(round(a1?.mpc, 2)).to.eq(round(27.50 * 1.095 * 1.7 / 50, 2));
|
130
115
|
});
|
131
116
|
});
|
132
117
|
//# sourceMappingURL=sprememba-cene5.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sprememba-cene5.mjs","sourceRoot":"","sources":["../../src/test/sprememba-cene5.mts"],"names":[],"mappings":"AACA;;;;;;EAME
|
1
|
+
{"version":3,"file":"sprememba-cene5.mjs","sourceRoot":"","sources":["../../src/test/sprememba-cene5.mts"],"names":[],"mappings":"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"}
|