cry-klikvet-logic 1.0.225 → 1.0.227
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 +436 -653
- package/dist/anonimizirajPodatke.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 -158
- package/dist/ensureIndexes.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 +245 -337
- package/dist/maint/poknjiziVsoZgodovino.mjs.map +1 -1
- package/dist/maint/popraviNabaveCeneNaRacunih.mjs +17 -48
- package/dist/maint/popraviNabaveCeneNaRacunih.mjs.map +1 -1
- package/dist/maint/popraviNabavneCeneNaInventurah.mjs +15 -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/neuporabljeno.mjs +26 -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/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 +112 -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 +16 -1
- package/dist/porabaZaObravnavo.mjs.map +1 -1
- package/dist/preveriKnjizenjeZalogeArtikla.mjs +97 -110
- package/dist/preveriKnjizenjeZalogeArtikla.mjs.map +1 -1
- package/dist/q-blagovnice.mjs +12 -23
- 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 +25 -36
- package/dist/q-isciPoRacunih.mjs.map +1 -1
- package/dist/q-mojPromet.mjs +23 -34
- package/dist/q-mojPromet.mjs.map +1 -1
- package/dist/q-porabaZdravil.mjs +110 -110
- package/dist/q-porabaZdravil.mjs.map +1 -1
- package/dist/q-prodano.mjs +33 -44
- package/dist/q-prodano.mjs.map +1 -1
- package/dist/q-prodanoPorabljeno.mjs +47 -47
- 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 +132 -147
- 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 +75 -94
- 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 -27
- package/dist/smsCepljen.mjs.map +1 -1
- package/dist/smsCepljenjaNaDan.mjs +60 -66
- 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 -47
- package/dist/smsNaroceniNaDan.mjs.map +1 -1
- package/dist/spremembaZalogeZaObdobje.mjs +79 -90
- package/dist/spremembaZalogeZaObdobje.mjs.map +1 -1
- package/dist/spremeniZalogo.mjs +125 -132
- package/dist/spremeniZalogo.mjs.map +1 -1
- package/dist/spremeniZalogoNaPodlagiRacuna.mjs +123 -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 +132 -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 +70 -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 -46
- 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 -85
- package/dist/zalogaDbAccessorInMem.mjs.map +1 -1
- package/dist/zalogaNaDan.mjs +28 -59
- package/dist/zalogaNaDan.mjs.map +1 -1
- package/dist/zalogaNaDanIzracunana.mjs +36 -47
- package/dist/zalogaNaDanIzracunana.mjs.map +1 -1
- package/dist/zalogaPoDnevih.mjs +34 -35
- 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 +87 -140
- package/dist/zapisiZalogoPoDnevih_old.mjs.map +1 -1
- package/dist/zaracunajDobavnice.mjs +151 -184
- package/dist/zaracunajDobavnice.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 +39 -67
- package/dist/zdruziPaciente.mjs.map +1 -1
- package/dist/zdruziStranke.mjs +103 -148
- package/dist/zdruziStranke.mjs.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
@@ -1,19 +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
|
-
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
|
-
};
|
17
1
|
import { Mongo } from "cry-db";
|
18
2
|
import cloneDeep from "lodash.clonedeep";
|
19
3
|
import { addToArray, arrayToObject, inBatches, js, percentFormat, round2 } from "cry-helpers";
|
@@ -46,348 +30,272 @@ updates.racuni : _id,razknjizen
|
|
46
30
|
updates.racuni example: {"_id":"5fc2e033364409171dd54b3d","razknjizen":"2020-11-29T00:09:30.417Z"}
|
47
31
|
|
48
32
|
*/
|
49
|
-
export function poknjiziVsoZgodovino(db, server, nastavitve, opts = {
|
33
|
+
export async function poknjiziVsoZgodovino(db, server, nastavitve, opts = {
|
50
34
|
neRazknjizujObDobavi: true,
|
51
35
|
neSpreminjajProdajnihCen: true,
|
52
36
|
popraviDatumeBlagovnicaNaDatumeDokumentov: true,
|
53
37
|
samoDokumenti: [],
|
54
38
|
}) {
|
55
|
-
var _a,
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
if (p.enotaFaktor !== 1) {
|
82
|
-
console.log('!! enotaFaktor', inv.opis, p.naziv, p.enotaFaktor);
|
83
|
-
}
|
39
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
40
|
+
if (opts.neRazknjizujObDobavi) {
|
41
|
+
nastavitve.neRazknjizujObDobavi = true;
|
42
|
+
}
|
43
|
+
if (opts.neSpreminjajProdajnihCen) {
|
44
|
+
nastavitve.pragZaSprememboCenObPocenitvi = undefined;
|
45
|
+
nastavitve.pragZaSprememboCenObPodrazitvi = undefined;
|
46
|
+
nastavitve.posodobiCeneObDobavi = "ročno";
|
47
|
+
}
|
48
|
+
const mongo = new Mongo(db, server);
|
49
|
+
let queryDokumentov = { _deleted: { $exists: false } };
|
50
|
+
// poišči prve inventure
|
51
|
+
let prveInventure = (await mongo.find("blagovnice", {
|
52
|
+
vrsta: "inventura",
|
53
|
+
datum: {
|
54
|
+
$gte: dayjs(opts.odInventureNaDan).startOf("day").toDate(),
|
55
|
+
$lte: dayjs(opts.odInventureNaDan).endOf("day").toDate(),
|
56
|
+
},
|
57
|
+
}, { project: { vrsta: 1, datum: 1, datumDokumenta: 1, postavke: 1 }, sort: { datum: 1 } }));
|
58
|
+
let artikli_ids = addToArray(...prveInventure.map(i => i.postavke.map(p => p.artikel_id.toString())));
|
59
|
+
let queryArtiklov = { $in: artikli_ids };
|
60
|
+
const odDatuma = (prveInventure[0]).datum;
|
61
|
+
for (let inv of prveInventure) {
|
62
|
+
for (let p of inv.postavke) {
|
63
|
+
if (p.enotaFaktor !== 1) {
|
64
|
+
console.log('!! enotaFaktor', inv.opis, p.naziv, p.enotaFaktor);
|
84
65
|
}
|
85
66
|
}
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
yield mongo.upsert("blagovnice", { _id: b._id }, {
|
113
|
-
datum: b.datum,
|
114
|
-
_popravekDatuma: new Date()
|
115
|
-
});
|
116
|
-
}
|
117
|
-
}
|
118
|
-
}
|
119
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
120
|
-
finally {
|
121
|
-
try {
|
122
|
-
if (!_s && !_a && (_b = blagovnice_1.return)) yield _b.call(blagovnice_1);
|
123
|
-
}
|
124
|
-
finally { if (e_1) throw e_1.error; }
|
125
|
-
}
|
126
|
-
}
|
127
|
-
let lokacije = yield mongo.find("lokacije", {});
|
128
|
-
yield mongo.close();
|
129
|
-
let zdruzeno = [];
|
130
|
-
if (!((_k = opts.samoDokumenti) === null || _k === void 0 ? void 0 : _k.length) || opts.samoDokumenti.includes("račun"))
|
131
|
-
racuni.forEach(racun => zdruzeno.push({ datum: racun.datum, racun }));
|
132
|
-
blagovnice.forEach(blagovnica => {
|
133
|
-
var _a;
|
134
|
-
if (!((_a = opts.samoDokumenti) === null || _a === void 0 ? void 0 : _a.length) || opts.samoDokumenti.includes(blagovnica.vrsta)) {
|
135
|
-
zdruzeno.push({
|
136
|
-
datum: blagovnica.datum,
|
137
|
-
blagovnica,
|
138
|
-
datumDokumenta: blagovnica.dokumentDobavitelja || blagovnica.datum
|
67
|
+
}
|
68
|
+
if (!!opts.artikel)
|
69
|
+
artikli_ids = [opts.artikel];
|
70
|
+
queryDokumentov["postavke.artikel_id"] = queryArtiklov;
|
71
|
+
queryDokumentov.datum = { $gte: odDatuma };
|
72
|
+
await mongo.update("artikli", { _id: queryArtiklov }, { $unset: { zadnjaInventura: 1 } });
|
73
|
+
let artikli = arrayToObject(await mongo.findAll("artikli", { _id: queryArtiklov }), "_id");
|
74
|
+
let queryRacunov = cloneDeep(queryDokumentov);
|
75
|
+
if (opts.stevilkeRacunov)
|
76
|
+
queryRacunov.stevilka = opts.stevilkeRacunov;
|
77
|
+
let racuni = await mongo.find("racuni", queryRacunov);
|
78
|
+
let blagovnice = await mongo.find("blagovnice", queryDokumentov);
|
79
|
+
console.log('racuni.length', racuni.length);
|
80
|
+
console.log('blagovnice.length', blagovnice.length);
|
81
|
+
if (opts.popraviDatumeBlagovnicaNaDatumeDokumentov) {
|
82
|
+
for await (let blagovnica of blagovnice) {
|
83
|
+
let b = blagovnica;
|
84
|
+
if (!b.datumDokumenta)
|
85
|
+
continue;
|
86
|
+
if (!dayjs(b.datumDokumenta).isSame(b.datum, "day")) {
|
87
|
+
let novi = new Date(dayjs(b.datumDokumenta).format("YYYY-MM-DD HH:mm").replace("00:00", " 21:05"));
|
88
|
+
b.datum = novi;
|
89
|
+
console.log("POPRAVEK DATUMA BLAGOVNICE", b.datum, ">", novi);
|
90
|
+
await mongo.upsert("blagovnice", { _id: b._id }, {
|
91
|
+
datum: b.datum,
|
92
|
+
_popravekDatuma: new Date()
|
139
93
|
});
|
140
94
|
}
|
141
|
-
});
|
142
|
-
// omeji na artikle, ki so v prvih inventurah
|
143
|
-
racuni.forEach(r => r.postavke = r.postavke.filter(p => { var _a; return artikli_ids.includes((_a = p.artikel_id) === null || _a === void 0 ? void 0 : _a.toString()); }));
|
144
|
-
blagovnice.forEach(r => r.postavke = (r.postavke.filter(p => { var _a; return artikli_ids.includes((_a = p.artikel_id) === null || _a === void 0 ? void 0 : _a.toString()); })));
|
145
|
-
racuni = racuni.filter(r => r.postavke.length > 0);
|
146
|
-
blagovnice = blagovnice.filter(r => r.postavke.length > 0);
|
147
|
-
console.log("dokumenti brez datuma", zdruzeno.filter(a => !a.datum));
|
148
|
-
zdruzeno.sort((a, b) => a.datum.valueOf() - b.datum.valueOf());
|
149
|
-
for (let a of zdruzeno) {
|
150
|
-
if (a.racun && a.racun.postavke.length === 0)
|
151
|
-
console.log('račun brez postavk', a.racun.datum, a.racun.zapSt);
|
152
|
-
if (a.blagovnica && a.blagovnica.postavke.length === 0)
|
153
|
-
console.log('račun brez postavk', a.blagovnica.datum, a.blagovnica.zapSt);
|
154
95
|
}
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
}
|
96
|
+
}
|
97
|
+
let lokacije = await mongo.find("lokacije", {});
|
98
|
+
await mongo.close();
|
99
|
+
let zdruzeno = [];
|
100
|
+
if (!((_a = opts.samoDokumenti) === null || _a === void 0 ? void 0 : _a.length) || opts.samoDokumenti.includes("račun"))
|
101
|
+
racuni.forEach(racun => zdruzeno.push({ datum: racun.datum, racun }));
|
102
|
+
blagovnice.forEach(blagovnica => {
|
103
|
+
var _a;
|
104
|
+
if (!((_a = opts.samoDokumenti) === null || _a === void 0 ? void 0 : _a.length) || opts.samoDokumenti.includes(blagovnica.vrsta)) {
|
105
|
+
zdruzeno.push({
|
106
|
+
datum: blagovnica.datum,
|
107
|
+
blagovnica,
|
108
|
+
datumDokumenta: blagovnica.dokumentDobavitelja || blagovnica.datum
|
109
|
+
});
|
170
110
|
}
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
111
|
+
});
|
112
|
+
// omeji na artikle, ki so v prvih inventurah
|
113
|
+
racuni.forEach(r => r.postavke = r.postavke.filter(p => { var _a; return artikli_ids.includes((_a = p.artikel_id) === null || _a === void 0 ? void 0 : _a.toString()); }));
|
114
|
+
blagovnice.forEach(r => r.postavke = (r.postavke.filter(p => { var _a; return artikli_ids.includes((_a = p.artikel_id) === null || _a === void 0 ? void 0 : _a.toString()); })));
|
115
|
+
racuni = racuni.filter(r => r.postavke.length > 0);
|
116
|
+
blagovnice = blagovnice.filter(r => r.postavke.length > 0);
|
117
|
+
console.log("dokumenti brez datuma", zdruzeno.filter(a => !a.datum));
|
118
|
+
zdruzeno.sort((a, b) => a.datum.valueOf() - b.datum.valueOf());
|
119
|
+
for (let a of zdruzeno) {
|
120
|
+
if (a.racun && a.racun.postavke.length === 0)
|
121
|
+
console.log('račun brez postavk', a.racun.datum, a.racun.zapSt);
|
122
|
+
if (a.blagovnica && a.blagovnica.postavke.length === 0)
|
123
|
+
console.log('račun brez postavk', a.blagovnica.datum, a.blagovnica.zapSt);
|
124
|
+
}
|
125
|
+
let dbObj = {
|
126
|
+
zaloga: {},
|
127
|
+
artikli: artikli,
|
128
|
+
spremembaZaloge: {},
|
129
|
+
updates: { artikli: {}, blagovnice: {}, racuni: {}, zaloga: {} },
|
130
|
+
inserts: { spremembaZaloge: {} },
|
131
|
+
};
|
132
|
+
let inMemDb = zalogaDbAccessorInMem(dbObj);
|
133
|
+
for await (let loc of lokacije) {
|
134
|
+
await inMemDb.insert("lokacije", loc);
|
135
|
+
}
|
136
|
+
let tekocaZaloga = 0;
|
137
|
+
let obdelano = 0;
|
138
|
+
for await (let dokument of zdruzeno) {
|
139
|
+
if ((obdelano++) % 100 === 0)
|
140
|
+
console.log(`dokument ${obdelano}/zdruzeno.length`);
|
141
|
+
if (dokument.blagovnica) {
|
142
|
+
await spremeniZalogoNaPodlagiBlagovnice(dokument.blagovnica, nastavitve, inMemDb, opts);
|
177
143
|
}
|
178
|
-
|
179
|
-
|
180
|
-
try {
|
181
|
-
for (var _u = true, zdruzeno_1 = __asyncValues(zdruzeno), zdruzeno_1_1; zdruzeno_1_1 = yield zdruzeno_1.next(), _g = zdruzeno_1_1.done, !_g; _u = true) {
|
182
|
-
_j = zdruzeno_1_1.value;
|
183
|
-
_u = false;
|
184
|
-
let dokument = _j;
|
185
|
-
if ((obdelano++) % 100 === 0)
|
186
|
-
console.log(`dokument ${obdelano}/zdruzeno.length`);
|
187
|
-
if (dokument.blagovnica) {
|
188
|
-
yield spremeniZalogoNaPodlagiBlagovnice(dokument.blagovnica, nastavitve, inMemDb, opts);
|
189
|
-
}
|
190
|
-
else if (dokument.racun) {
|
191
|
-
yield spremeniZalogoNaPodlagiRacuna(dokument.racun, nastavitve, inMemDb);
|
192
|
-
}
|
193
|
-
let novaTekocaZaloga = Object.values(dbObj.zaloga).reduce((p, c) => p + (c.vrednost || 0), 0);
|
194
|
-
let spremembaTekoceZaloge = novaTekocaZaloga - tekocaZaloga;
|
195
|
-
tekocaZaloga = novaTekocaZaloga;
|
196
|
-
if (true)
|
197
|
-
console.log(dayjs(dokument.datum).format("DD.MM.YYYY"), js(((_l = dokument.blagovnica) === null || _l === void 0 ? void 0 : _l.opis) || ((_m = dokument.blagovnica) === null || _m === void 0 ? void 0 : _m.vrsta) || ((_o = dokument.racun) === null || _o === void 0 ? void 0 : _o.stevilka), (_p = dokument.blagovnica) === null || _p === void 0 ? void 0 : _p.opomba), round2(spremembaTekoceZaloge), "->", round2(tekocaZaloga));
|
198
|
-
if (Math.abs(spremembaTekoceZaloge / tekocaZaloga) > 0.10) {
|
199
|
-
console.log('sprememba tekoče zaloge za ', percentFormat(spremembaTekoceZaloge / tekocaZaloga), round2(spremembaTekoceZaloge), ' / ', round2(tekocaZaloga), ((_q = dokument.racun) === null || _q === void 0 ? void 0 : _q.stevilka) || ((_r = dokument.blagovnica) === null || _r === void 0 ? void 0 : _r.vrsta), ' na dan ', dayjs(dokument.datum).format("DD.MM.YYYY"));
|
200
|
-
}
|
201
|
-
}
|
144
|
+
else if (dokument.racun) {
|
145
|
+
await spremeniZalogoNaPodlagiRacuna(dokument.racun, nastavitve, inMemDb);
|
202
146
|
}
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
147
|
+
let novaTekocaZaloga = Object.values(dbObj.zaloga).reduce((p, c) => p + (c.vrednost || 0), 0);
|
148
|
+
let spremembaTekoceZaloge = novaTekocaZaloga - tekocaZaloga;
|
149
|
+
tekocaZaloga = novaTekocaZaloga;
|
150
|
+
if (true)
|
151
|
+
console.log(dayjs(dokument.datum).format("DD.MM.YYYY"), js(((_b = dokument.blagovnica) === null || _b === void 0 ? void 0 : _b.opis) || ((_c = dokument.blagovnica) === null || _c === void 0 ? void 0 : _c.vrsta) || ((_d = dokument.racun) === null || _d === void 0 ? void 0 : _d.stevilka), (_e = dokument.blagovnica) === null || _e === void 0 ? void 0 : _e.opomba), round2(spremembaTekoceZaloge), "->", round2(tekocaZaloga));
|
152
|
+
if (Math.abs(spremembaTekoceZaloge / tekocaZaloga) > 0.10) {
|
153
|
+
console.log('sprememba tekoče zaloge za ', percentFormat(spremembaTekoceZaloge / tekocaZaloga), round2(spremembaTekoceZaloge), ' / ', round2(tekocaZaloga), ((_f = dokument.racun) === null || _f === void 0 ? void 0 : _f.stevilka) || ((_g = dokument.blagovnica) === null || _g === void 0 ? void 0 : _g.vrsta), ' na dan ', dayjs(dokument.datum).format("DD.MM.YYYY"));
|
209
154
|
}
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
console.log('tekocaZaloga', tekocaZaloga);
|
217
|
-
return { dbObj, artikli_ids, odDatuma };
|
155
|
+
}
|
156
|
+
// prestavi datume spremebe zaloge
|
157
|
+
Object.values(dbObj.spremembaZaloge).forEach(s => {
|
158
|
+
if (s.datumDokumenta)
|
159
|
+
s.datum = s.datumDokumenta;
|
160
|
+
razpisiDatum(s.datum);
|
218
161
|
});
|
162
|
+
console.log('tekocaZaloga', tekocaZaloga);
|
163
|
+
return { dbObj, artikli_ids, odDatuma };
|
219
164
|
}
|
220
|
-
export function shraniZgodovinoVBazo(db, dbObj, server = "", odDatuma, zaArtikle = []) {
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
{
|
232
|
-
|
233
|
-
|
234
|
-
yield mongo.insertMany("spremembaZaloge", batch);
|
235
|
-
console.log('spremembaZaloge: zapisano ', sent++, " od ", nbatches);
|
236
|
-
}
|
237
|
-
}
|
238
|
-
{
|
239
|
-
let batch_size = 1000, sent = 0, nbatches = Object.values(dbObj.zaloga).length / batch_size;
|
240
|
-
for (let batch of inBatches(Object.values(dbObj.zaloga), batch_size)) {
|
241
|
-
yield mongo.insertMany("zaloga", batch);
|
242
|
-
console.log('zaloga: zapisano ', sent++, " od ", nbatches);
|
243
|
-
}
|
165
|
+
export async function shraniZgodovinoVBazo(db, dbObj, server = "", odDatuma, zaArtikle = []) {
|
166
|
+
let mongo = new Mongo(db, server);
|
167
|
+
console.time("zapisujem podatke v bazo");
|
168
|
+
const query = odDatuma ? { datum: { $gte: odDatuma } } : {};
|
169
|
+
await mongo.hardDelete("zaloga", { artikel_id: { $in: zaArtikle } });
|
170
|
+
await mongo.hardDelete("zalogaNaDan", query);
|
171
|
+
await mongo.hardDelete("zalogaNaDanKonsignacija", query);
|
172
|
+
await mongo.hardDelete("spremembeCen", { ...query, artikel_id: { $in: zaArtikle } });
|
173
|
+
await mongo.hardDelete("spremembaZaloge", { ...query, artikel_id: { $in: zaArtikle } });
|
174
|
+
{
|
175
|
+
let batch_size = 1000, sent = 0, nbatches = Object.values(dbObj.spremembaZaloge).length / batch_size;
|
176
|
+
for (let batch of inBatches(Object.values(dbObj.spremembaZaloge), batch_size)) {
|
177
|
+
await mongo.insertMany("spremembaZaloge", batch);
|
178
|
+
console.log('spremembaZaloge: zapisano ', sent++, " od ", nbatches);
|
244
179
|
}
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
let d = _c;
|
252
|
-
yield mongo.upsert("artikli", { _id: d._id }, d);
|
253
|
-
if (++i % 100 === 0)
|
254
|
-
console.log(i);
|
255
|
-
}
|
180
|
+
}
|
181
|
+
{
|
182
|
+
let batch_size = 1000, sent = 0, nbatches = Object.values(dbObj.zaloga).length / batch_size;
|
183
|
+
for (let batch of inBatches(Object.values(dbObj.zaloga), batch_size)) {
|
184
|
+
await mongo.insertMany("zaloga", batch);
|
185
|
+
console.log('zaloga: zapisano ', sent++, " od ", nbatches);
|
256
186
|
}
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
}
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
}
|
281
|
-
finally { if (e_5) throw e_5.error; }
|
282
|
-
}
|
283
|
-
console.log('zapisujem račune', Object.values(dbObj.updates.racuni || {}).length);
|
284
|
-
i = 0;
|
285
|
-
try {
|
286
|
-
for (var _r = true, _s = __asyncValues(Object.values(dbObj.updates.racuni || {})), _t; _t = yield _s.next(), _g = _t.done, !_g; _r = true) {
|
287
|
-
_j = _t.value;
|
288
|
-
_r = false;
|
289
|
-
let d = _j;
|
290
|
-
yield mongo.upsert("racuni", { _id: d._id }, d);
|
291
|
-
if (++i % 100 === 0)
|
292
|
-
console.log(i);
|
293
|
-
}
|
294
|
-
}
|
295
|
-
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
296
|
-
finally {
|
297
|
-
try {
|
298
|
-
if (!_r && !_g && (_h = _s.return)) yield _h.call(_s);
|
299
|
-
}
|
300
|
-
finally { if (e_6) throw e_6.error; }
|
301
|
-
}
|
302
|
-
console.timeEnd("zapisujem podatke v bazo");
|
303
|
-
});
|
187
|
+
}
|
188
|
+
let i = 0;
|
189
|
+
console.log('zapisujem artikle', Object.values(dbObj.updates.artikli).length);
|
190
|
+
for await (let d of Object.values(dbObj.updates.artikli)) {
|
191
|
+
await mongo.upsert("artikli", { _id: d._id }, d);
|
192
|
+
if (++i % 100 === 0)
|
193
|
+
console.log(i);
|
194
|
+
}
|
195
|
+
console.log('zapisujem blagovnice', Object.values(dbObj.updates.blagovnice || {}).length);
|
196
|
+
i = 0;
|
197
|
+
for await (let d of Object.values(dbObj.updates.blagovnice || {})) {
|
198
|
+
await mongo.upsert("blagovnice", { _id: d._id }, d);
|
199
|
+
if (++i % 100 === 0)
|
200
|
+
console.log(i);
|
201
|
+
}
|
202
|
+
console.log('zapisujem račune', Object.values(dbObj.updates.racuni || {}).length);
|
203
|
+
i = 0;
|
204
|
+
for await (let d of Object.values(dbObj.updates.racuni || {})) {
|
205
|
+
await mongo.upsert("racuni", { _id: d._id }, d);
|
206
|
+
if (++i % 100 === 0)
|
207
|
+
console.log(i);
|
208
|
+
}
|
209
|
+
console.timeEnd("zapisujem podatke v bazo");
|
304
210
|
}
|
305
211
|
//@ts-ignore
|
306
|
-
function start(tenant, spec, server = "") {
|
212
|
+
async function start(tenant, spec, server = "") {
|
307
213
|
var _a, _b, _c, _d;
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
console.timeEnd("čas");
|
362
|
-
});
|
214
|
+
const DB = tenant;
|
215
|
+
let mongo = new Mongo(DB, server);
|
216
|
+
let zalogaPoArtiklih = await mongo.find("zaloga", {});
|
217
|
+
let zalogaPoArtiklihObj = arrayToObject(zalogaPoArtiklih, "artikel_id");
|
218
|
+
let zacetnaVrednostZaloge = zalogaPoArtiklih.reduce((p, c) => p + (c.vrednost || 0), 0);
|
219
|
+
console.log('knjižim vso zgodovino za: ', DB, server);
|
220
|
+
console.time("čas");
|
221
|
+
// if (DB==="lax") await laxNastaviZacetneNbc(mongo);
|
222
|
+
let nastavitve = await mongo.findOne("nastavitve", {});
|
223
|
+
await mongo.update("racuni", {}, { $unset: { razknjizen: 1 } });
|
224
|
+
await mongo.update("blagovnice", {}, { $unset: { razknjizena: 1 } });
|
225
|
+
await mongo.update("artikli", {}, { $unset: { zadnjaInventura: 1 } });
|
226
|
+
if (!nastavitve) {
|
227
|
+
console.error("Ne najdem nastavitev");
|
228
|
+
process.exit(1);
|
229
|
+
}
|
230
|
+
let res = await poknjiziVsoZgodovino(DB, server, nastavitve, spec);
|
231
|
+
console.log('res.zaloga.length', Object.values(res.dbObj.zaloga || {}).length);
|
232
|
+
console.log('res.dbObj.artikli.length', Object.values(res.dbObj.artikli || {}).length);
|
233
|
+
console.log('res.dbObj.spremembaZaloge', Object.values(res.dbObj.spremembaZaloge || {}).length);
|
234
|
+
console.log('res.dbObj.updates.artikli.length', Object.values(((_a = res.dbObj.updates) === null || _a === void 0 ? void 0 : _a.artikli) || {}).length);
|
235
|
+
console.log('res.dbObj.updates.blagovnice.length', Object.values(((_b = res.dbObj.updates) === null || _b === void 0 ? void 0 : _b.blagovnice) || {}).length);
|
236
|
+
console.log('res.dbObj.updates.racuni.length', Object.values(((_c = res.dbObj.updates) === null || _c === void 0 ? void 0 : _c.racuni) || {}).length);
|
237
|
+
console.log('res.dbObj.updates.zaloga.length', Object.values(((_d = res.dbObj.updates) === null || _d === void 0 ? void 0 : _d.zaloga) || {}).length);
|
238
|
+
console.log('res.db.obje.inserts.spremembaZaloge.length', res.dbObj.inserts.spremembaZaloge.length);
|
239
|
+
console.timeLog("čas");
|
240
|
+
console.log('pišem v bazo');
|
241
|
+
await shraniZgodovinoVBazo(DB, res.dbObj, server, res.odDatuma, res.artikli_ids);
|
242
|
+
await zapisiZalogoPoDnevih({ tenant: DB, server, dniNazaj: Math.abs(dayjs().diff(res.odDatuma, "day")) + 1 });
|
243
|
+
let zalogaPoArtiklih2 = await mongo.find("zaloga", {});
|
244
|
+
let zalogaPoArtiklihObj2 = arrayToObject(zalogaPoArtiklih2, "artikel_id");
|
245
|
+
let koncnaVrednostZaloge = zalogaPoArtiklih2.reduce((p, c) => p + (c.vrednost || 0), 0);
|
246
|
+
let spremembaPoArtiklih = Object.keys(zalogaPoArtiklihObj).map(a => {
|
247
|
+
return {
|
248
|
+
artikel_id: a,
|
249
|
+
prej: zalogaPoArtiklihObj[a],
|
250
|
+
zdaj: zalogaPoArtiklihObj2[a],
|
251
|
+
dzaloga: round2(zalogaPoArtiklihObj[a].zaloga - zalogaPoArtiklihObj2[a].zaloga),
|
252
|
+
dnbc: round2(zalogaPoArtiklihObj[a].nbc - zalogaPoArtiklihObj2[a].nbc),
|
253
|
+
dvrednost: round2(zalogaPoArtiklihObj[a].vrednost - zalogaPoArtiklihObj2[a].vrednost) || 0,
|
254
|
+
};
|
255
|
+
}).sort((a, b) => Math.abs(a.dvrednost - b.dvrednost));
|
256
|
+
let vsotaSprememb = round2(spremembaPoArtiklih.reduce((p, c) => p + c.dvrednost, 0));
|
257
|
+
let vsotaSpremembAbs = round2(spremembaPoArtiklih.reduce((p, c) => p + Math.abs(c.dvrednost), 0));
|
258
|
+
spremembaPoArtiklih.filter(a => a.dzaloga).forEach(a => console.log(a.artikel_id, "nbc", a.dnbc, "zal", a.dzaloga, "eur", a.dvrednost));
|
259
|
+
console.log('zalogaPoArtiklih.length', zalogaPoArtiklih.length);
|
260
|
+
console.log('zalogaPoArtiklih2.length', zalogaPoArtiklih2.length);
|
261
|
+
console.log('zacetnaVrednostZaloge', round2(zacetnaVrednostZaloge));
|
262
|
+
console.log('koncnaVrednostZaloge', round2(koncnaVrednostZaloge));
|
263
|
+
console.log('razlika', round2(koncnaVrednostZaloge - zacetnaVrednostZaloge));
|
264
|
+
console.log('vsotaSprememb', vsotaSprememb);
|
265
|
+
console.log('vsotaSpremembAbs', vsotaSpremembAbs);
|
266
|
+
console.timeEnd("čas");
|
363
267
|
}
|
364
268
|
;
|
365
|
-
(function () {
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
269
|
+
// (async function () {
|
270
|
+
// // run
|
271
|
+
// // db.blagovnice.updateOne({_id: ObjectId("675c8f2c5e0c616586d1f54d")}, { $set: { datum: new Date("2024-12-14T13:17"),datumDokumenta: new Date("2024-12-14T13:17") }})
|
272
|
+
// if (false) await start(
|
273
|
+
// "etv",
|
274
|
+
// {
|
275
|
+
// artikel: undefined,
|
276
|
+
// neRazknjizujObDobavi: true, // ne naredi samodejnih porab ob dobavi
|
277
|
+
// neSpreminjajProdajnihCen: true,
|
278
|
+
// popraviDatumeBlagovnicaNaDatumeDokumentov: true,
|
279
|
+
// odInventureNaDan: new Date("2024-12-14T12:00"),
|
280
|
+
// ponovnaKnjizbaZgodovineDELNA: true,
|
281
|
+
// // samoDokumenti: ["inventura"],
|
282
|
+
// },
|
283
|
+
// "mongodb://192.168.88.60:27017,192.168.88.61:27017,192.168.88. 62:27017/?replicaSet=rs0",
|
284
|
+
// )
|
285
|
+
// if (true) await start(
|
286
|
+
// "svp",
|
287
|
+
// {
|
288
|
+
// artikel: undefined,
|
289
|
+
// neRazknjizujObDobavi: true, // ne naredi samodejnih porab ob dobavi
|
290
|
+
// neSpreminjajProdajnihCen: true,
|
291
|
+
// popraviDatumeBlagovnicaNaDatumeDokumentov: true,
|
292
|
+
// odInventureNaDan: new Date("2024-12-14T12:00"),
|
293
|
+
// ponovnaKnjizbaZgodovineDELNA: true,
|
294
|
+
// // samoDokumenti: ["inventura"],
|
295
|
+
// },
|
296
|
+
// // "mongodb://192.168.88.60:27017,192.168.88.61:27017,192.168.88. 62:27017/?replicaSet=rs0",
|
297
|
+
// )
|
298
|
+
// console.log('koniec');
|
299
|
+
// process.exit(0)
|
300
|
+
// })();
|
393
301
|
//# sourceMappingURL=poknjiziVsoZgodovino.mjs.map
|