cry-klikvet-logic 1.0.221 → 1.0.223
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 +65 -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,19 @@
|
|
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
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
11
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
12
|
+
var m = o[Symbol.asyncIterator], i;
|
13
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
14
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
15
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
16
|
+
};
|
1
17
|
import { Repo } from 'cry-db';
|
2
18
|
import { ObjectID } from './ObjectId.mjs';
|
3
19
|
import { izracunajNovoMaloprodajnoCeno } from './izracunajNovoMaloprodajnoCeno.mjs';
|
@@ -8,236 +24,223 @@ import { lahkoImaZalogo } from './lahkoImaZalogo.mjs';
|
|
8
24
|
import { zeleniPribitek } from './zeleniPribitek.mjs';
|
9
25
|
import { dodajSerijskeStevilke } from './serije.mjs';
|
10
26
|
import dayjs from './dayjs.mjs';
|
11
|
-
export
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
dav: 0,
|
24
|
-
nbc: 0,
|
25
|
-
davki: [],
|
26
|
-
status: "zaključena",
|
27
|
-
};
|
28
|
-
const skladisce = await mongo.findOne("skladisca", { _id: blagovnica.skladisce_id });
|
29
|
-
const razknjizujObDobavi = (!(skladisce?.neRazknjizujObDobavi)) && !(nastavitve.neRazknjizujObDobavi);
|
30
|
-
let n = 0;
|
31
|
-
for await (let postavka of blagovnica.postavke) {
|
32
|
-
if (postavka.kategorija === "storitev")
|
33
|
-
continue;
|
34
|
-
if (postavka.neRazknjizi)
|
35
|
-
continue;
|
36
|
-
if (!postavka.artikel_id) {
|
37
|
-
console.error('spremeniZalogoZaDobavo: artikel nima id-ja', postavka.naziv);
|
38
|
-
continue;
|
39
|
-
}
|
40
|
-
let vecEnakih = blagovnica.postavke.filter(p => p.artikel_id.toString() === postavka.artikel_id.toString()).length > 1;
|
41
|
-
let zeObstajaIz = vecEnakih ? false : await mongo.findOne("spremembaZaloge", {
|
42
|
-
artikel_id: postavka.artikel_id,
|
27
|
+
export function spremeniZalogoZaDobavo(blagovnica, nastavitve, mongo) {
|
28
|
+
var _a, e_1, _b, _c;
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
30
|
+
let avtomatskaRazknjizba = {
|
31
|
+
_id: Repo.newid().toHexString(),
|
32
|
+
opis: `samodejna poraba za dobavo ${blagovnica.zapSt}`,
|
33
|
+
predhodnja_id: blagovnica._id,
|
34
|
+
datum: new Date(),
|
35
|
+
vrsta: "poraba",
|
36
|
+
izvedel: blagovnica.izvedel,
|
37
|
+
postavke: [],
|
38
|
+
lokacija_id: blagovnica.lokacija_id,
|
43
39
|
skladisce_id: blagovnica.skladisce_id,
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
40
|
+
zapSt: "SEQ_NEXT",
|
41
|
+
dav: 0,
|
42
|
+
nbc: 0,
|
43
|
+
davki: [],
|
44
|
+
status: "zaključena",
|
45
|
+
};
|
46
|
+
const skladisce = yield mongo.findOne("skladisca", { _id: blagovnica.skladisce_id });
|
47
|
+
const razknjizujObDobavi = (!(skladisce === null || skladisce === void 0 ? void 0 : skladisce.neRazknjizujObDobavi)) && !(nastavitve.neRazknjizujObDobavi);
|
48
|
+
let n = 0;
|
49
|
+
try {
|
50
|
+
for (var _d = true, _e = __asyncValues(blagovnica.postavke), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
51
|
+
_c = _f.value;
|
52
|
+
_d = false;
|
53
|
+
let postavka = _c;
|
54
|
+
if (postavka.kategorija === "storitev")
|
55
|
+
continue;
|
56
|
+
if (postavka.neRazknjizi)
|
57
|
+
continue;
|
58
|
+
if (!postavka.artikel_id) {
|
59
|
+
console.error('spremeniZalogoZaDobavo: artikel nima id-ja', postavka.naziv);
|
60
|
+
continue;
|
61
|
+
}
|
62
|
+
let vecEnakih = blagovnica.postavke.filter(p => p.artikel_id.toString() === postavka.artikel_id.toString()).length > 1;
|
63
|
+
let zeObstajaIz = vecEnakih ? false : yield mongo.findOne("spremembaZaloge", {
|
64
|
+
artikel_id: postavka.artikel_id,
|
65
|
+
skladisce_id: blagovnica.skladisce_id,
|
66
|
+
dokument_id: blagovnica._id
|
67
|
+
});
|
68
|
+
if (zeObstajaIz) {
|
69
|
+
console.error("spremeniZalogoZaDobavo: postavka že razknjižena za blagovnico " + blagovnica._id, {
|
70
|
+
artikel_id: postavka.artikel_id,
|
71
|
+
skladisce_id: blagovnica.skladisce_id,
|
72
|
+
dokument_id: blagovnica._id
|
73
|
+
});
|
74
|
+
continue;
|
75
|
+
}
|
76
|
+
;
|
77
|
+
let artikel = yield mongo.findOne("artikli", { _id: postavka.artikel_id });
|
78
|
+
if (!artikel) {
|
79
|
+
console.error(`ni artikla za razkljižbo od dobavi: ${postavka.artikel_id} - ${postavka.naziv}`);
|
80
|
+
continue;
|
81
|
+
}
|
82
|
+
if (artikel.zadnjaInventura && dayjs(artikel.zadnjaInventura).isAfter(blagovnica.datum)) {
|
83
|
+
console.warn(`preskoči knjižbo dobave po zadnji inventuri (datum računa ${dayjs(blagovnica.datum).format("D.M.YYYY")}, artikel ${artikel._id} ${artikel.naziv}, zadnja inventura ${dayjs(artikel.zadnjaInventura).format("D.M.YYYY")}`);
|
84
|
+
continue;
|
85
|
+
}
|
86
|
+
let z = yield mongo.findOne("zaloga", { skladisce_id: blagovnica.skladisce_id, artikel_id: postavka.artikel_id });
|
87
|
+
let zaloga = z || { _id: new ObjectID().toHexString(), artikel_id: artikel._id, skladisce_id: blagovnica.skladisce_id, zaloga: 0, nbc: 0, vrednost: 0 };
|
88
|
+
if (!postavka.enotaFaktor)
|
89
|
+
throw new Error("postavka dobave mora vsebovati polje enotaFaktor");
|
90
|
+
const faktorEnote = postavka.enotaFaktor || 1;
|
91
|
+
const kolicina = postavka.kolicina * faktorEnote;
|
92
|
+
const stara_nbc = artikel.nbc || 0;
|
93
|
+
const zadnja_nbc = artikel.zadnjaNbc || stara_nbc;
|
94
|
+
const sprememba = preracunajNabavo({
|
95
|
+
vrstaSpremembe: 1 /* VrstaSpremembeZaloge.NABAVA */,
|
96
|
+
zaloga,
|
97
|
+
kolicina: kolicina,
|
98
|
+
stara_nbc,
|
99
|
+
nova_nbc: postavka.nbcN / faktorEnote,
|
100
|
+
});
|
101
|
+
zaloga = vpisiSprememboZalogePoNabavi(zaloga, sprememba);
|
102
|
+
let imaZalogo = lahkoImaZalogo(artikel, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, /*zaDobavo*/ true);
|
103
|
+
if (imaZalogo) {
|
104
|
+
yield vpisiSprememboZaloge(artikel, razknjizujObDobavi, nastavitve, mongo, zaloga, sprememba, blagovnica, avtomatskaRazknjizba, postavka, kolicina, postavka.nbcN / faktorEnote, n++);
|
105
|
+
}
|
106
|
+
yield spremeniMpcArtikla(artikel, postavka, nastavitve, sprememba, zadnja_nbc, stara_nbc, postavka.nbc0 / faktorEnote, blagovnica.datum, blagovnica.dobavitelj_id, mongo);
|
107
|
+
if (nastavitve.spremljamoSerijske && postavka.stevilkeZdravil) {
|
108
|
+
yield dodajSerijskeStevilke({
|
109
|
+
artikel_id: postavka.artikel_id,
|
110
|
+
skladisce_id: blagovnica.skladisce_id,
|
111
|
+
vir: "dobava",
|
112
|
+
dokument_id: blagovnica._id,
|
113
|
+
stevilo: postavka.kolicina * postavka.enotaFaktor,
|
114
|
+
uporabnik: blagovnica.izvedel,
|
115
|
+
serijske: postavka.stevilkeZdravil,
|
116
|
+
}, mongo);
|
117
|
+
}
|
118
|
+
preracunajPostavkoDobave(postavka);
|
119
|
+
}
|
53
120
|
}
|
54
|
-
;
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
121
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
122
|
+
finally {
|
123
|
+
try {
|
124
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
125
|
+
}
|
126
|
+
finally { if (e_1) throw e_1.error; }
|
59
127
|
}
|
60
|
-
if (
|
61
|
-
|
62
|
-
|
128
|
+
if (avtomatskaRazknjizba.postavke.length) {
|
129
|
+
let ss = izracunajSestevkeBlagovniceRazenDobave(avtomatskaRazknjizba.postavke);
|
130
|
+
avtomatskaRazknjizba.razknjizena = new Date();
|
131
|
+
avtomatskaRazknjizba.status = "zaključena";
|
132
|
+
avtomatskaRazknjizba.dav = ss.dav;
|
133
|
+
avtomatskaRazknjizba.nbc = ss.nbc;
|
134
|
+
razpisiDatum(avtomatskaRazknjizba.datum, avtomatskaRazknjizba);
|
135
|
+
yield mongo.upsert("blagovnice", { _id: avtomatskaRazknjizba._id }, avtomatskaRazknjizba);
|
136
|
+
}
|
137
|
+
return false;
|
138
|
+
});
|
139
|
+
}
|
140
|
+
function vpisiSprememboZaloge(artikel, razknjizujObDobavi, nastavitve, mongo, zaloga, sprememba, blagovnica, avtomatskaRazknjizba, postavka, kolicina, nova_nbc, n) {
|
141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
142
|
+
const razknjizimoTakoj = (artikel.kategorija === "zdravilo"
|
143
|
+
&& razknjizujObDobavi
|
144
|
+
&& (artikel.zalogoRazknjizi == "ob dobavi"
|
145
|
+
||
|
146
|
+
(artikel.zalogoRazknjizi == undefined && nastavitve.razknjizbaZdravil == "ob dobavi"))) || (artikel.kategorija === "izdelek"
|
147
|
+
&& razknjizujObDobavi
|
148
|
+
&& (artikel.zalogoRazknjizi == "ob dobavi"
|
149
|
+
||
|
150
|
+
(artikel.zalogoRazknjizi == undefined && nastavitve.razknjizbaIzdelkov == "ob dobavi")));
|
151
|
+
if (razknjizimoTakoj) {
|
152
|
+
yield mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
153
|
+
nbc: sprememba.nbc.nova,
|
154
|
+
zaloga: sprememba.zaloga.stara,
|
155
|
+
vrednost: sprememba.vrednostZaloge.stara,
|
156
|
+
});
|
63
157
|
}
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
const stara_nbc = artikel.nbc || 0;
|
71
|
-
const zadnja_nbc = artikel.zadnjaNbc || stara_nbc;
|
72
|
-
const sprememba = preracunajNabavo({
|
73
|
-
vrstaSpremembe: 1 /* VrstaSpremembeZaloge.NABAVA */,
|
74
|
-
zaloga,
|
75
|
-
kolicina: kolicina,
|
76
|
-
stara_nbc,
|
77
|
-
nova_nbc: postavka.nbcN / faktorEnote,
|
78
|
-
});
|
79
|
-
zaloga = vpisiSprememboZalogePoNabavi(zaloga, sprememba);
|
80
|
-
let imaZalogo = lahkoImaZalogo(artikel, nastavitve.razknjizbaZdravil, nastavitve.razknjizbaIzdelkov, /*zaDobavo*/ true);
|
81
|
-
if (imaZalogo) {
|
82
|
-
await vpisiSprememboZaloge(artikel, razknjizujObDobavi, nastavitve, mongo, zaloga, sprememba, blagovnica, avtomatskaRazknjizba, postavka, kolicina, postavka.nbcN / faktorEnote, n++);
|
158
|
+
else {
|
159
|
+
yield mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
160
|
+
nbc: sprememba.nbc.nova,
|
161
|
+
zaloga: sprememba.zaloga.nova,
|
162
|
+
vrednost: sprememba.vrednostZaloge.nova,
|
163
|
+
});
|
83
164
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
165
|
+
let datum = new Date(new Date().valueOf() + n);
|
166
|
+
let datumDokumenta = new Date(blagovnica.datum);
|
167
|
+
yield mongo.insert("spremembaZaloge", Object.assign(Object.assign({ _id: new ObjectID().toHexString(), datum: new Date(datum) }, razpisiDatum(datum)), { datumDokumenta, artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id, dokument_id: blagovnica._id, kategorija: artikel.kategorija, vrstaSpremembe: sprememba.vrstaSpremembe, vrstaDogodka: blagovnica.vrsta, partner_id: blagovnica.dobavitelj_id, zaloga: sprememba.zaloga, vrednostZaloge: sprememba.vrednostZaloge, nbc: sprememba.nbc, dst: artikel.dstIn || artikel.dst }));
|
168
|
+
if (razknjizimoTakoj) {
|
169
|
+
yield mongo.insert("spremembaZaloge", Object.assign(Object.assign({ _id: new ObjectID().toHexString(), datum: datum }, razpisiDatum(datum)), { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id, dokument_id: blagovnica._id, datumDokumenta, kategorija: artikel.kategorija, vrstaSpremembe: -1 /* VrstaSpremembeZaloge.PORABA */, vrstaDogodka: 'poraba', partner_id: blagovnica.dobavitelj_id, zaloga: { stara: sprememba.zaloga.nova, nova: sprememba.zaloga.stara, sprememba: -sprememba.zaloga.sprememba }, vrednostZaloge: { stara: sprememba.vrednostZaloge.nova, nova: sprememba.vrednostZaloge.stara, sprememba: -sprememba.vrednostZaloge.sprememba }, nbc: { stara: sprememba.nbc.nova, nova: sprememba.nbc.nova, sprememba: 0 }, dst: artikel.dstIn || artikel.dst }));
|
170
|
+
avtomatskaRazknjizba.postavke.push({
|
87
171
|
artikel_id: postavka.artikel_id,
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
172
|
+
kategorija: postavka.kategorija,
|
173
|
+
naziv: postavka.naziv,
|
174
|
+
enota: artikel.enotaZaloge || artikel.enotaNabave || "",
|
175
|
+
kolicina: kolicina,
|
176
|
+
nbc: nova_nbc,
|
177
|
+
dst: postavka.dst,
|
178
|
+
tnbc: kolicina * nova_nbc,
|
179
|
+
tdav: kolicina * nova_nbc * postavka.dst,
|
180
|
+
stevilkeZdravil: postavka.stevilkeZdravil,
|
181
|
+
enotaFaktor: postavka.enotaFaktor,
|
182
|
+
});
|
95
183
|
}
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
avtomatskaRazknjizba.razknjizena = new Date();
|
101
|
-
avtomatskaRazknjizba.status = "zaključena";
|
102
|
-
avtomatskaRazknjizba.dav = ss.dav;
|
103
|
-
avtomatskaRazknjizba.nbc = ss.nbc;
|
104
|
-
razpisiDatum(avtomatskaRazknjizba.datum, avtomatskaRazknjizba);
|
105
|
-
await mongo.upsert("blagovnice", { _id: avtomatskaRazknjizba._id }, avtomatskaRazknjizba);
|
106
|
-
}
|
107
|
-
return false;
|
108
|
-
}
|
109
|
-
async function vpisiSprememboZaloge(artikel, razknjizujObDobavi, nastavitve, mongo, zaloga, sprememba, blagovnica, avtomatskaRazknjizba, postavka, kolicina, nova_nbc, n) {
|
110
|
-
const razknjizimoTakoj = (artikel.kategorija === "zdravilo"
|
111
|
-
&& razknjizujObDobavi
|
112
|
-
&& (artikel.zalogoRazknjizi == "ob dobavi"
|
113
|
-
||
|
114
|
-
(artikel.zalogoRazknjizi == undefined && nastavitve.razknjizbaZdravil == "ob dobavi"))) || (artikel.kategorija === "izdelek"
|
115
|
-
&& razknjizujObDobavi
|
116
|
-
&& (artikel.zalogoRazknjizi == "ob dobavi"
|
117
|
-
||
|
118
|
-
(artikel.zalogoRazknjizi == undefined && nastavitve.razknjizbaIzdelkov == "ob dobavi")));
|
119
|
-
if (razknjizimoTakoj) {
|
120
|
-
await mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
121
|
-
nbc: sprememba.nbc.nova,
|
122
|
-
zaloga: sprememba.zaloga.stara,
|
123
|
-
vrednost: sprememba.vrednostZaloge.stara,
|
124
|
-
});
|
125
|
-
}
|
126
|
-
else {
|
127
|
-
await mongo.upsert("zaloga", { artikel_id: artikel._id, skladisce_id: zaloga.skladisce_id }, {
|
128
|
-
nbc: sprememba.nbc.nova,
|
129
|
-
zaloga: sprememba.zaloga.nova,
|
130
|
-
vrednost: sprememba.vrednostZaloge.nova,
|
131
|
-
});
|
132
|
-
}
|
133
|
-
let datum = new Date(new Date().valueOf() + n);
|
134
|
-
let datumDokumenta = new Date(blagovnica.datum);
|
135
|
-
await mongo.insert("spremembaZaloge", {
|
136
|
-
_id: new ObjectID().toHexString(),
|
137
|
-
datum: new Date(datum),
|
138
|
-
...razpisiDatum(datum),
|
139
|
-
datumDokumenta,
|
140
|
-
artikel_id: artikel._id,
|
141
|
-
skladisce_id: zaloga.skladisce_id,
|
142
|
-
dokument_id: blagovnica._id,
|
143
|
-
kategorija: artikel.kategorija,
|
144
|
-
vrstaSpremembe: sprememba.vrstaSpremembe,
|
145
|
-
vrstaDogodka: blagovnica.vrsta,
|
146
|
-
partner_id: blagovnica.dobavitelj_id,
|
147
|
-
zaloga: sprememba.zaloga,
|
148
|
-
vrednostZaloge: sprememba.vrednostZaloge,
|
149
|
-
nbc: sprememba.nbc,
|
150
|
-
dst: artikel.dstIn || artikel.dst,
|
184
|
+
// if (Math.abs(round2(postavka.tnbc - sprememba.vrednostZaloge.sprememba)) > .1)
|
185
|
+
// console.log("dobava: postavka.tnbc - sprememba.vrednostZaloge.sprememba,",postavka.tnbc, sprememba.vrednostZaloge.sprememba)
|
186
|
+
// if (Math.abs(round2(sprememba.vrednostZaloge.stara + sprememba.vrednostZaloge.sprememba - sprememba.vrednostZaloge.nova)) > .2)
|
187
|
+
// console.log("račun spr", artikel._id, (artikel as any).naziv, zaloga.vrednost, "-", sprememba.vrednostZaloge.nova, "=", zaloga.vrednost - sprememba.vrednostZaloge.nova)
|
151
188
|
});
|
152
|
-
if (razknjizimoTakoj) {
|
153
|
-
await mongo.insert("spremembaZaloge", {
|
154
|
-
_id: new ObjectID().toHexString(),
|
155
|
-
datum: datum,
|
156
|
-
...razpisiDatum(datum),
|
157
|
-
artikel_id: artikel._id,
|
158
|
-
skladisce_id: zaloga.skladisce_id,
|
159
|
-
dokument_id: blagovnica._id,
|
160
|
-
datumDokumenta,
|
161
|
-
kategorija: artikel.kategorija,
|
162
|
-
vrstaSpremembe: -1 /* VrstaSpremembeZaloge.PORABA */,
|
163
|
-
vrstaDogodka: 'poraba',
|
164
|
-
partner_id: blagovnica.dobavitelj_id,
|
165
|
-
zaloga: { stara: sprememba.zaloga.nova, nova: sprememba.zaloga.stara, sprememba: -sprememba.zaloga.sprememba },
|
166
|
-
vrednostZaloge: { stara: sprememba.vrednostZaloge.nova, nova: sprememba.vrednostZaloge.stara, sprememba: -sprememba.vrednostZaloge.sprememba },
|
167
|
-
nbc: { stara: sprememba.nbc.nova, nova: sprememba.nbc.nova, sprememba: 0 },
|
168
|
-
dst: artikel.dstIn || artikel.dst,
|
169
|
-
});
|
170
|
-
avtomatskaRazknjizba.postavke.push({
|
171
|
-
artikel_id: postavka.artikel_id,
|
172
|
-
kategorija: postavka.kategorija,
|
173
|
-
naziv: postavka.naziv,
|
174
|
-
enota: artikel.enotaZaloge || artikel.enotaNabave || "",
|
175
|
-
kolicina: kolicina,
|
176
|
-
nbc: nova_nbc,
|
177
|
-
dst: postavka.dst,
|
178
|
-
tnbc: kolicina * nova_nbc,
|
179
|
-
tdav: kolicina * nova_nbc * postavka.dst,
|
180
|
-
stevilkeZdravil: postavka.stevilkeZdravil,
|
181
|
-
enotaFaktor: postavka.enotaFaktor,
|
182
|
-
});
|
183
|
-
}
|
184
|
-
// if (Math.abs(round2(postavka.tnbc - sprememba.vrednostZaloge.sprememba)) > .1)
|
185
|
-
// console.log("dobava: postavka.tnbc - sprememba.vrednostZaloge.sprememba,",postavka.tnbc, sprememba.vrednostZaloge.sprememba)
|
186
|
-
// if (Math.abs(round2(sprememba.vrednostZaloge.stara + sprememba.vrednostZaloge.sprememba - sprememba.vrednostZaloge.nova)) > .2)
|
187
|
-
// console.log("račun spr", artikel._id, (artikel as any).naziv, zaloga.vrednost, "-", sprememba.vrednostZaloge.nova, "=", zaloga.vrednost - sprememba.vrednostZaloge.nova)
|
188
189
|
}
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
if (
|
196
|
-
|
197
|
-
|
190
|
+
function spremeniMpcArtikla(artikel, postavka, nastavitve, sprememba, zadnja_nbc, stara_nbc, nova_nbc, datum, dobavitelj_id, mongo) {
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
192
|
+
/* spremeni ceno artikla, če je tako zaželeno */
|
193
|
+
let novi_pribitek = undefined;
|
194
|
+
let nova_mpc = undefined;
|
195
|
+
let razlog;
|
196
|
+
if (!postavka.mpcPreskoci) {
|
197
|
+
if (nastavitve.posodobiCeneObDobavi === "dobava") {
|
198
|
+
nova_mpc = izracunajNovoMaloprodajnoCeno(zadnja_nbc, nova_nbc, nastavitve, artikel);
|
199
|
+
razlog = "preračun";
|
200
|
+
}
|
201
|
+
if (postavka.mpcZakleni !== artikel.mpcLocked) {
|
202
|
+
postavka.mpcZakleni = postavka.mpcZakleni;
|
203
|
+
}
|
204
|
+
if (postavka.mpcNastavi) {
|
205
|
+
nova_mpc = Number(postavka.mpcNastavi.toFixed(nastavitve.zaokrozitevCen));
|
206
|
+
novi_pribitek = zeleniPribitek({ mpc: nova_mpc, nbc: nova_nbc, dst: artikel.dst || 0 });
|
207
|
+
// postavka.mpcZakleni = true;
|
208
|
+
razlog = "nastavi mpc";
|
209
|
+
}
|
210
|
+
else if (postavka.pribitekNastavi) {
|
211
|
+
novi_pribitek = postavka.pribitekNastavi;
|
212
|
+
nova_mpc = nova_nbc * (1 + novi_pribitek) * (1 + artikel.dst);
|
213
|
+
razlog = "nastavi pribitek";
|
214
|
+
}
|
198
215
|
}
|
199
|
-
|
200
|
-
|
216
|
+
let a = {
|
217
|
+
nbc: sprememba.nbc.nova,
|
218
|
+
zadnjaNbc: nova_nbc,
|
219
|
+
zadnjaDobava: datum,
|
220
|
+
zadnjiDobavitelj: dobavitelj_id,
|
221
|
+
};
|
222
|
+
if (nova_mpc) {
|
223
|
+
a.mpc = nova_mpc;
|
224
|
+
a.zadnjaNbcObSpremembiMpc = a.zadnjaNbc;
|
225
|
+
yield mongo.insert("spremembeCen", {
|
226
|
+
ob_dobavi: true,
|
227
|
+
razlog,
|
228
|
+
artikel_id: artikel._id,
|
229
|
+
datum: new Date(),
|
230
|
+
stara_mpc: artikel.mpc,
|
231
|
+
nova_mpc,
|
232
|
+
stara_nbc,
|
233
|
+
nova_nbc,
|
234
|
+
nalepka: false,
|
235
|
+
});
|
201
236
|
}
|
202
|
-
if (postavka.
|
203
|
-
|
204
|
-
novi_pribitek = zeleniPribitek({ mpc: nova_mpc, nbc: nova_nbc, dst: artikel.dst || 0 });
|
205
|
-
// postavka.mpcZakleni = true;
|
206
|
-
razlog = "nastavi mpc";
|
237
|
+
if (postavka.mpcZakleni) {
|
238
|
+
a.mpcLocked = true;
|
207
239
|
}
|
208
|
-
|
209
|
-
|
210
|
-
nova_mpc = nova_nbc * (1 + novi_pribitek) * (1 + artikel.dst);
|
211
|
-
razlog = "nastavi pribitek";
|
240
|
+
if (novi_pribitek) {
|
241
|
+
a.zeleniPribitek = novi_pribitek;
|
212
242
|
}
|
213
|
-
|
214
|
-
|
215
|
-
nbc: sprememba.nbc.nova,
|
216
|
-
zadnjaNbc: nova_nbc,
|
217
|
-
zadnjaDobava: datum,
|
218
|
-
zadnjiDobavitelj: dobavitelj_id,
|
219
|
-
};
|
220
|
-
if (nova_mpc) {
|
221
|
-
a.mpc = nova_mpc;
|
222
|
-
a.zadnjaNbcObSpremembiMpc = a.zadnjaNbc;
|
223
|
-
await mongo.insert("spremembeCen", {
|
224
|
-
ob_dobavi: true,
|
225
|
-
razlog,
|
226
|
-
artikel_id: artikel._id,
|
227
|
-
datum: new Date(),
|
228
|
-
stara_mpc: artikel.mpc,
|
229
|
-
nova_mpc,
|
230
|
-
stara_nbc,
|
231
|
-
nova_nbc,
|
232
|
-
nalepka: false,
|
233
|
-
});
|
234
|
-
}
|
235
|
-
if (postavka.mpcZakleni) {
|
236
|
-
a.mpcLocked = true;
|
237
|
-
}
|
238
|
-
if (novi_pribitek) {
|
239
|
-
a.zeleniPribitek = novi_pribitek;
|
240
|
-
}
|
241
|
-
await mongo.upsert("artikli", { _id: artikel._id }, a);
|
243
|
+
yield mongo.upsert("artikli", { _id: artikel._id }, a);
|
244
|
+
});
|
242
245
|
}
|
243
246
|
//# sourceMappingURL=spremeniZalogoZaDobavo.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"spremeniZalogoZaDobavo.mjs","sourceRoot":"","sources":["../src/spremeniZalogoZaDobavo.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAQxF,OAAO,EAAE,sCAAsC,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEtH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,
|
1
|
+
{"version":3,"file":"spremeniZalogoZaDobavo.mjs","sourceRoot":"","sources":["../src/spremeniZalogoZaDobavo.mts"],"names":[],"mappings":"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"}
|