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.
Files changed (42) hide show
  1. package/dist/davkiRacuna.d.ts +3 -0
  2. package/dist/davkiRacuna.d.ts.map +1 -0
  3. package/dist/davkiRacuna.js +23 -0
  4. package/dist/davkiRacuna.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/maint/poknjiziVsoZgodovino.js +5 -4
  10. package/dist/maint/poknjiziVsoZgodovino.js.map +1 -1
  11. package/dist/nazivStranke.d.ts +4 -0
  12. package/dist/nazivStranke.d.ts.map +1 -0
  13. package/dist/nazivStranke.js +11 -0
  14. package/dist/nazivStranke.js.map +1 -0
  15. package/dist/q-promet.d.ts +2 -2
  16. package/dist/sestaviNaslov.d.ts +4 -0
  17. package/dist/sestaviNaslov.d.ts.map +1 -0
  18. package/dist/sestaviNaslov.js +17 -0
  19. package/dist/sestaviNaslov.js.map +1 -0
  20. package/dist/spremeniZalogoNaPodlagiRacuna.d.ts.map +1 -1
  21. package/dist/spremeniZalogoNaPodlagiRacuna.js +1 -0
  22. package/dist/spremeniZalogoNaPodlagiRacuna.js.map +1 -1
  23. package/dist/strankaRacuna.d.ts +33 -0
  24. package/dist/strankaRacuna.d.ts.map +1 -0
  25. package/dist/strankaRacuna.js +22 -0
  26. package/dist/strankaRacuna.js.map +1 -0
  27. package/dist/test/serijske.js +1 -0
  28. package/dist/test/serijske.js.map +1 -1
  29. package/dist/types/Dobavnica.d.ts +2 -1
  30. package/dist/types/Dobavnica.d.ts.map +1 -1
  31. package/dist/types/racun.d.ts +4 -2
  32. package/dist/types/racun.d.ts.map +1 -1
  33. package/dist/types/zaracunajDobavnice.d.ts +14 -0
  34. package/dist/types/zaracunajDobavnice.d.ts.map +1 -0
  35. package/dist/types/zaracunajDobavnice.js +2 -0
  36. package/dist/types/zaracunajDobavnice.js.map +1 -0
  37. package/dist/zaracunajDobavnice.d.ts +7 -0
  38. package/dist/zaracunajDobavnice.d.ts.map +1 -0
  39. package/dist/zaracunajDobavnice.js +126 -0
  40. package/dist/zaracunajDobavnice.js.map +1 -0
  41. package/package.json +1 -1
  42. 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cry-klikvet-logic",
3
- "version": "0.10.237",
3
+ "version": "0.10.239",
4
4
  "description": "klik.vet business logic",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",