cry-klikvet-logic 0.10.237 → 0.10.239
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/davkiRacuna.d.ts +3 -0
- package/dist/davkiRacuna.d.ts.map +1 -0
- package/dist/davkiRacuna.js +23 -0
- package/dist/davkiRacuna.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/maint/poknjiziVsoZgodovino.js +5 -4
- package/dist/maint/poknjiziVsoZgodovino.js.map +1 -1
- package/dist/nazivStranke.d.ts +4 -0
- package/dist/nazivStranke.d.ts.map +1 -0
- package/dist/nazivStranke.js +11 -0
- package/dist/nazivStranke.js.map +1 -0
- package/dist/q-promet.d.ts +2 -2
- package/dist/sestaviNaslov.d.ts +4 -0
- package/dist/sestaviNaslov.d.ts.map +1 -0
- package/dist/sestaviNaslov.js +17 -0
- package/dist/sestaviNaslov.js.map +1 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.d.ts.map +1 -1
- package/dist/spremeniZalogoNaPodlagiRacuna.js +1 -0
- package/dist/spremeniZalogoNaPodlagiRacuna.js.map +1 -1
- package/dist/strankaRacuna.d.ts +33 -0
- package/dist/strankaRacuna.d.ts.map +1 -0
- package/dist/strankaRacuna.js +22 -0
- package/dist/strankaRacuna.js.map +1 -0
- package/dist/test/serijske.js +1 -0
- package/dist/test/serijske.js.map +1 -1
- package/dist/types/Dobavnica.d.ts +2 -1
- package/dist/types/Dobavnica.d.ts.map +1 -1
- package/dist/types/racun.d.ts +4 -2
- package/dist/types/racun.d.ts.map +1 -1
- package/dist/types/zaracunajDobavnice.d.ts +14 -0
- package/dist/types/zaracunajDobavnice.d.ts.map +1 -0
- package/dist/types/zaracunajDobavnice.js +2 -0
- package/dist/types/zaracunajDobavnice.js.map +1 -0
- package/dist/zaracunajDobavnice.d.ts +7 -0
- package/dist/zaracunajDobavnice.d.ts.map +1 -0
- package/dist/zaracunajDobavnice.js +126 -0
- package/dist/zaracunajDobavnice.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,126 @@
|
|
1
|
+
import { arrayToObject } from "cry-helpers";
|
2
|
+
import { sestejRacun } from "./maint/popraviNabaveCeneNaRacunih.js";
|
3
|
+
import { Mongo } from "cry-db";
|
4
|
+
import dayjs from "./dayjs.js";
|
5
|
+
import { davkiRacuna } from "./davkiRacuna.js";
|
6
|
+
function racunDobavnice({ mongo, dobavnica, samoZaGmid, racuni, odprtiRacuni, stranka, lokacija_id, naprava_id, izdal, }) {
|
7
|
+
// poišči med delovnimi racuni
|
8
|
+
let key = dobavnica.stranka_id;
|
9
|
+
if (samoZaGmid)
|
10
|
+
key += dobavnica.gmid;
|
11
|
+
let racun = racuni[key];
|
12
|
+
// poišči med odprtimi računi
|
13
|
+
if (!racun)
|
14
|
+
racun = Object.values(odprtiRacuni).find(r => r.stranka?._id === dobavnica.stranka_id && !r._deleted && (!samoZaGmid || r.gmid === dobavnica.gmid));
|
15
|
+
if (!racun) {
|
16
|
+
racun = {
|
17
|
+
_id: mongo.newId()?.toHexString(),
|
18
|
+
zapSt: "SEQ_NEXT",
|
19
|
+
lokacija_id: lokacija_id,
|
20
|
+
naprava_id: naprava_id,
|
21
|
+
izdal: izdal,
|
22
|
+
zbirnik: true,
|
23
|
+
postavke: [],
|
24
|
+
stranka,
|
25
|
+
odprtIz: "zaracunajDobavnico",
|
26
|
+
izPredracuna_id: dobavnica.izPredracuna_id,
|
27
|
+
izPredracuna_st: dobavnica.izPredracuna_st,
|
28
|
+
izDobavnice_id: dobavnica._id,
|
29
|
+
izDobavnice_st: dobavnica.stevilka,
|
30
|
+
opomba: dobavnica.opomba,
|
31
|
+
pripis: dobavnica.pripis,
|
32
|
+
datum: dayjs(dobavnica.datumDokumenta || dobavnica.datum).endOf("month").toDate(),
|
33
|
+
datumStoritve: dayjs(dobavnica.datumDokumenta || dobavnica.datum).endOf("month").toDate(),
|
34
|
+
dodan: new Date(),
|
35
|
+
gmid: samoZaGmid ? dobavnica.gmid : undefined,
|
36
|
+
};
|
37
|
+
}
|
38
|
+
racuni[key] = racun;
|
39
|
+
return racun;
|
40
|
+
}
|
41
|
+
export async function zaracunajDobavnice(params) {
|
42
|
+
let racuni = {};
|
43
|
+
let napake = [];
|
44
|
+
const batchNumber = Math.round(new Date().valueOf() / 1000);
|
45
|
+
const _ts = new Date().valueOf();
|
46
|
+
try {
|
47
|
+
let mongo = new Mongo(params.tenant, params.server);
|
48
|
+
let dobavnice = await mongo.find("dobavnice", { _id: { $in: params.dobavnice_ids } });
|
49
|
+
let stranke = await mongo.find("stranke", { _id: { $in: dobavnice.map(d => d.stranka_id) } });
|
50
|
+
let odprtiRacuni = await mongo.find("odprtiRacuni", { _id: { $in: dobavnice.map(d => d.stranka_id) } });
|
51
|
+
let strankeObj = arrayToObject(stranke, "_id");
|
52
|
+
let odprtiRacuniObj = arrayToObject(odprtiRacuni, "_id");
|
53
|
+
for await (let dobavnica of dobavnice) {
|
54
|
+
try {
|
55
|
+
let stranka = strankeObj[dobavnica.stranka_id];
|
56
|
+
let samoZaGmidStranke = stranka?.zaracunajVsakGmidPosebej;
|
57
|
+
let racun = racunDobavnice({
|
58
|
+
mongo, dobavnica,
|
59
|
+
samoZaGmid: params.samoZaGmid || (samoZaGmidStranke && dobavnica.gmid),
|
60
|
+
racuni,
|
61
|
+
stranka,
|
62
|
+
lokacija_id: params.lokacija_id,
|
63
|
+
naprava_id: params.naprava_id,
|
64
|
+
izdal: params.izdal,
|
65
|
+
odprtiRacuni: odprtiRacuniObj,
|
66
|
+
});
|
67
|
+
racun.batchNumber = batchNumber;
|
68
|
+
if (params.emitToSocket && !racuni[racun._id]) {
|
69
|
+
// prevzemi račun
|
70
|
+
let channel = `prevzem/${params.tenant}/racuni/${racun._id}`;
|
71
|
+
let message = { kdo: params.izdal, naprava: params.naprava_id, localSessionId: new Date().valueOf().toLocaleString() };
|
72
|
+
params.emitToSocket("publish", { channel, message });
|
73
|
+
}
|
74
|
+
dobavnica.postavke.forEach(p => {
|
75
|
+
racun.postavke ||= [];
|
76
|
+
racun.postavke.push({
|
77
|
+
...p,
|
78
|
+
neRazknjiziObIzdajiRacuna: true,
|
79
|
+
terenNamen: dobavnica.namen,
|
80
|
+
poDokumentu: "dobavnica " + dobavnica.stevilka,
|
81
|
+
izPredracuna_id: dobavnica.izPredracuna_id,
|
82
|
+
izPredracuna_st: dobavnica.izPredracuna_st,
|
83
|
+
izDobavnice_id: dobavnica._id,
|
84
|
+
izDobavnice_st: dobavnica.stevilka,
|
85
|
+
});
|
86
|
+
});
|
87
|
+
let spremebaDobavnice = {
|
88
|
+
_id: dobavnica._id,
|
89
|
+
status: "zaračunana",
|
90
|
+
zaracunanaDne: new Date(),
|
91
|
+
zaracunanaNaRacun: racun._id,
|
92
|
+
zaracunal: params.izdal,
|
93
|
+
batchNumber,
|
94
|
+
};
|
95
|
+
await mongo.updateOne("dobavnice", { _id: dobavnica._id }, spremebaDobavnice);
|
96
|
+
}
|
97
|
+
catch (err) {
|
98
|
+
console.error("zaracunajDobavnice: ni uspelo za dobavnico ", dobavnica);
|
99
|
+
napake.push(`napaka pri dobavnici: ${dobavnica.stevilka || dobavnica?._id}: ${err.message || err}`);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
for await (let racun of Object.values(racuni)) {
|
103
|
+
try {
|
104
|
+
sestejRacun(racun);
|
105
|
+
davkiRacuna(racun.postavke);
|
106
|
+
racun.izdal = params.izdal;
|
107
|
+
racun.datum = new Date();
|
108
|
+
racun.zbirnik = true;
|
109
|
+
racun.strniZbirnik = true;
|
110
|
+
await mongo.save("odprtiRacuni", { _id: racun._id }, { ...racun, ...(params.dodatnaPoljaRacuna || {}) });
|
111
|
+
}
|
112
|
+
catch (err) {
|
113
|
+
napake.push(`napaka pri računu za dobavnico: ${racun.izDobavnice_st || racun?._id}: ${err.message || err}`);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
catch (err) {
|
118
|
+
napake.push(`napaka zaračunavanja: ${err.message || err}`);
|
119
|
+
}
|
120
|
+
return {
|
121
|
+
batchNumber,
|
122
|
+
napake,
|
123
|
+
cas: (new Date().valueOf() - _ts) / 1000,
|
124
|
+
};
|
125
|
+
}
|
126
|
+
//# sourceMappingURL=zaracunajDobavnice.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"zaracunajDobavnice.js","sourceRoot":"","sources":["../src/zaracunajDobavnice.ts"],"names":[],"mappings":"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"}
|