js-klikvet-logic-worker 2.3.17 → 2.3.18
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/{index.js → index.mjs} +6 -5
- package/package.json +10 -10
- package/{worker.js → worker.mjs} +194 -25
package/{index.js → index.mjs}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
//@ts-check
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import assert from 'assert'
|
|
3
|
+
import { KlikvetLogicWorker } from './worker.mjs'
|
|
4
|
+
import dotenv from "dotenv"
|
|
5
|
+
dotenv.config()
|
|
5
6
|
assert(process.env.VETERINE, "določi veterine v .env")
|
|
6
7
|
|
|
7
8
|
const veterine = process.env.VETERINE.split(',').map(a => a.trim()).filter(a => !!a)
|
|
@@ -13,7 +14,7 @@ if (!veterine.length) {
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
if (gsm) console.log("GSM za SMSe", gsm)
|
|
16
|
-
console.log('veterine',veterine);
|
|
17
17
|
|
|
18
|
-
const { KlikvetLogicWorker } = require('./worker');
|
|
19
18
|
new KlikvetLogicWorker({ veterine, gsm }).start()
|
|
19
|
+
|
|
20
|
+
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "js-klikvet-logic-worker",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.18",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"cry-db": "^2.
|
|
8
|
-
"cry-ebus2": "^3.
|
|
9
|
-
"cry-helpers": "^2.1.
|
|
10
|
-
"cry-klikvet-logic": "^0.10.
|
|
7
|
+
"cry-db": "^2.2.4",
|
|
8
|
+
"cry-ebus2": "^3.1.23",
|
|
9
|
+
"cry-helpers": "^2.1.103",
|
|
10
|
+
"cry-klikvet-logic": "^0.10.306",
|
|
11
11
|
"cry-local-query": "^1.0.12",
|
|
12
|
-
"dotenv": "^16.
|
|
12
|
+
"dotenv": "^16.3.1",
|
|
13
13
|
"lodash.clonedeep": ">=4.5.0",
|
|
14
|
-
"make-dir": "^
|
|
14
|
+
"make-dir": "^4.0.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@types/lodash.clonedeep": "^4.5.
|
|
18
|
-
"chai": "^4.3.
|
|
19
|
-
"mocha": "^10.
|
|
17
|
+
"@types/lodash.clonedeep": "^4.5.9",
|
|
18
|
+
"chai": "^4.3.10",
|
|
19
|
+
"mocha": "^10.2.0"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
22
|
"test": "mocha"
|
package/{worker.js → worker.mjs}
RENAMED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
const DEFAULT_SERVICE_NAME = 'klikvet'
|
|
4
4
|
|
|
5
|
-
const Helpers = require('cry-helpers');
|
|
6
|
-
const logic = require('cry-klikvet-logic');
|
|
7
|
-
const { Worker, Client } = require('cry-ebus2')
|
|
8
5
|
/** @type {any} */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
import assert from 'assert'
|
|
7
|
+
import * as logic from 'cry-klikvet-logic'
|
|
8
|
+
import clonedeep from 'lodash.clonedeep'
|
|
9
|
+
import packageJson from './package.json' assert { type: "json" }
|
|
10
|
+
import makeDir from 'make-dir'
|
|
11
|
+
import fs from 'fs'
|
|
12
|
+
import path from 'path'
|
|
13
|
+
import { Worker, Client } from 'cry-ebus2'
|
|
14
|
+
import { Mongo } from 'cry-db'
|
|
15
|
+
import { arrayToObject, dedup, Log, serialize } from 'cry-helpers'
|
|
16
16
|
|
|
17
17
|
let client = null
|
|
18
18
|
|
|
19
|
-
let log = new
|
|
19
|
+
let log = new Log(['KLIKVET'])
|
|
20
20
|
let mongo = undefined
|
|
21
21
|
|
|
22
22
|
/** @typedef {import('cry-klikvet-logic').Blagovnica} Blagovnica */
|
|
@@ -55,6 +55,11 @@ async function dbUpdateById(db, collection, _id, update) {
|
|
|
55
55
|
return await mongo.updateOne(collection, { _id },update)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
async function dbUpsert(db, collection, _id, update) {
|
|
59
|
+
mongo.setDb(db)
|
|
60
|
+
return await mongo.upsert(collection, { _id }, update)
|
|
61
|
+
}
|
|
62
|
+
|
|
58
63
|
async function posljiSmsNarocenemu(data, n, gsm) {
|
|
59
64
|
|
|
60
65
|
let res = (await client.requestPromise('sms', {
|
|
@@ -86,9 +91,9 @@ async function posljiSmsNarocenemu(data, n, gsm) {
|
|
|
86
91
|
zaKdaj: n.zaKdaj,
|
|
87
92
|
})
|
|
88
93
|
if (data.nacin === "samodejno") {
|
|
89
|
-
await mongo.upsert("naroceni", { _id: n.narocen._id },
|
|
90
|
-
smsOddaja_id: _id,
|
|
91
|
-
|
|
94
|
+
await mongo.upsert("naroceni", { _id: n.narocen._id },
|
|
95
|
+
napaka ? { smsOddaja_napaka: { _id, napaka, } } : { smsOddaja_id: _id, }
|
|
96
|
+
);
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
99
|
return smsRes;
|
|
@@ -122,8 +127,9 @@ async function posljiSmsNCepljenjemu(data, n, gsm) {
|
|
|
122
127
|
stranka_id: n.pacient.stranka_id,
|
|
123
128
|
zaKdaj: n.zaKdaj,
|
|
124
129
|
})
|
|
125
|
-
if (data.nacin === "samodejno") {
|
|
126
|
-
n.pacient.cepljenja[n.cepljenje._id].smsOddaja_id = _id;
|
|
130
|
+
if (data.nacin === "samodejno" && !napaka) {
|
|
131
|
+
if (!napaka) n.pacient.cepljenja[n.cepljenje._id].smsOddaja_id = _id;
|
|
132
|
+
else n.pacient.cepljenja[n.cepljenje._id].smsOddaja_napaka = { napaka, _id };
|
|
127
133
|
await mongo.upsert("pacienti", { _id: n.pacient._id }, {
|
|
128
134
|
cepljenja: n.pacient.cepljenja
|
|
129
135
|
})
|
|
@@ -178,9 +184,85 @@ async function pobrisiZalogoNaDan(db, datumi) {
|
|
|
178
184
|
}
|
|
179
185
|
}
|
|
180
186
|
|
|
187
|
+
async function skladisceLokacije(lokacija_id, tenant) {
|
|
188
|
+
let vsa = await dbFind(tenant, "skladisca", { _deleted: { $exists: false }});
|
|
189
|
+
let moje = vsa.filter(s => s.lokacija_id.toString() === lokacija_id);
|
|
190
|
+
if (moje.length === 0) moje = vsa;
|
|
191
|
+
if (moje.length == 0) console.error("Ni skladišča za lokacijo", lokacija_id);
|
|
192
|
+
if (moje.length > 1) console.error("Več skladišč za lokacijo", lokacija_id);
|
|
193
|
+
return moje?.[0]
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
async function porabeZaDobavnice(data) {
|
|
197
|
+
|
|
198
|
+
let nastavitve = await dbNastavitve(data.tenant);
|
|
199
|
+
let od = new Date(new Date().valueOf() - 365 * 24 * 60 * 60 * 1000);
|
|
200
|
+
|
|
201
|
+
let nerazknijzene = await dbFind(data.tenant, "dobavnice",
|
|
202
|
+
{ datumDokumenta: { $gte: od },
|
|
203
|
+
status: { $in: ["izdana","zaračunana"] }, poraba_id: { $exists: false }, _deleted: { $exists: false } },
|
|
204
|
+
{ sort: { datumDokumenta: 1 } }
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
let artikel_ids = dedup(nerazknijzene.map(d => d.postavke.map(p => p.artikel_id?.toString())).flat());
|
|
208
|
+
|
|
209
|
+
let artikli = await dbFind(data.tenant, "artikli", {
|
|
210
|
+
_id: { $in: artikel_ids }
|
|
211
|
+
})
|
|
212
|
+
console.log('artikli',artikli);
|
|
213
|
+
|
|
214
|
+
let vse = 0, razknjizene = 0
|
|
215
|
+
let napake = []
|
|
216
|
+
for await (let dobavnica of nerazknijzene) {
|
|
217
|
+
if (!dobavnica.lokacija_id) console.error("dobavnica nima lokacije", dobavnica._id, dobavnica.stevilka)
|
|
218
|
+
try {
|
|
219
|
+
let skladisce_id = dobavnica.skladisce_id || (await skladisceLokacije(dobavnica.lokacija_id, data.tenant));
|
|
220
|
+
vse++
|
|
221
|
+
let poraba = await logic.porabaZaDobavnico({
|
|
222
|
+
dobavnica,
|
|
223
|
+
nastavitve,
|
|
224
|
+
skladisce_id,
|
|
225
|
+
lokacija_id: dobavnica.lokacija_id,
|
|
226
|
+
username: data.username,
|
|
227
|
+
artikli: arrayToObject(artikli, "_id"),
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
if (poraba) {
|
|
231
|
+
poraba.status = "zaključena"
|
|
232
|
+
let p = await dbUpsert(data.tenant, "odprteBlagovnice", poraba._id, poraba);
|
|
233
|
+
console.log('p',p);
|
|
234
|
+
|
|
235
|
+
await dbUpsert(data.tenant, "dobavnice", dobavnica._id, { poraba_id: p._id, poraba_sestavljena: new Date() });
|
|
236
|
+
}
|
|
237
|
+
if (poraba === null) {
|
|
238
|
+
await dbUpsert(data.tenant, "dobavnice", dobavnica._id, { poraba_id: null, poraba_preskocena: new Date() });
|
|
239
|
+
}
|
|
240
|
+
razknjizene++
|
|
241
|
+
} catch (err) {
|
|
242
|
+
napake.push(err)
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return { ok: vse === razknjizene, vse, razknjizene, napake }
|
|
246
|
+
}
|
|
247
|
+
|
|
181
248
|
async function razknjiziBlagovnice(data)
|
|
182
249
|
{
|
|
183
|
-
let od = new Date(new Date().valueOf() - 60*24*60*60*1000)
|
|
250
|
+
let od = new Date(new Date().valueOf() - 60 * 24 * 60 * 60 * 1000);
|
|
251
|
+
|
|
252
|
+
// poišči tiste, ki bi morale že biti razknjižene, pa niso
|
|
253
|
+
{
|
|
254
|
+
let od = new Date(new Date().valueOf() - 3 * 60 * 24 * 60 * 60 * 1000);
|
|
255
|
+
let vpisane = await dbFind(data.tenant, "blagovnice", { datum: { $gte: od} }, { project: { _id: 1, status: 1 } });
|
|
256
|
+
let idjiVpisanih = vpisane.map(b => b._id.toString());
|
|
257
|
+
|
|
258
|
+
let zaPovrnit = await dbFind(data.tenant, "odprteBlagovnice", { _deleted: { $ne:"hack"}, status: "zaključena", datum: { $gte: od }, _id: { $nin: idjiVpisanih } }, { project: { status: 1, dokumentDobavitelja: 1, vrsta: 1 }});
|
|
259
|
+
|
|
260
|
+
for await (let b of zaPovrnit) {
|
|
261
|
+
console.log("vračam blagovnico v razkljižno",data.tenant,b)
|
|
262
|
+
await dbUpsert(data.tenant, "odprteBlagovnice", b._id, { razknjizena: undefined, _deleted: undefined, _vrnjenoVRazknjizbo: new Date() });
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
184
266
|
let nerazknijzene = await dbFind(data.tenant, "odprteBlagovnice",
|
|
185
267
|
{ datum: { $gte: od }, status: "zaključena", razknjizena: { $exists: false } },
|
|
186
268
|
{ sort: { datum: 1 } }
|
|
@@ -266,7 +348,7 @@ async function registerAllInvoices(data)
|
|
|
266
348
|
mongo.setDb(data.tenant)
|
|
267
349
|
mongo.setAudit({ tenant: data.tenant, app: "klikvet/registerAllInvoices" })
|
|
268
350
|
|
|
269
|
-
let myquery = { eor: null, leto: { $gte:
|
|
351
|
+
let myquery = { eor: null, negotovinski: { $ne: true}, leto: { $gte: 2022 } };
|
|
270
352
|
let env = data.env || (await mongo.findOne("nastavitve", {})).okolje
|
|
271
353
|
|
|
272
354
|
let all = await mongo.find("racuni", myquery, { project: { _id: 1 }, limit: 1000, })
|
|
@@ -319,6 +401,8 @@ async function registerInvoice(data, kasneje=false)
|
|
|
319
401
|
// poišči račun
|
|
320
402
|
timeoutError = "Db podsistem se ni odzval."
|
|
321
403
|
let racun = await dbFindById(data.tenant,"racuni",data._id)
|
|
404
|
+
if (racun.negotovinski) return "negotovinski račun ne bo fiskaliziran";
|
|
405
|
+
|
|
322
406
|
let blagajna = await dbFindById(data.tenant, "blagajne", racun.blagajna_id)
|
|
323
407
|
if (!blagajna) throw new Error("cannot locate blagajna: "+racun.blagajna_id)
|
|
324
408
|
let poslovalnica = await dbFindById(data.tenant, "poslovalnice", blagajna.poslovalnica_id)
|
|
@@ -463,9 +547,9 @@ async function registerInvoice(data, kasneje=false)
|
|
|
463
547
|
let updated = await dbUpdateById(data.tenant, "racuni", data._id, fursObj);
|
|
464
548
|
|
|
465
549
|
try {
|
|
466
|
-
let dir = path.join(
|
|
550
|
+
let dir = path.join('./racuni', new Date().getFullYear().toString(), data.tenant)
|
|
467
551
|
!fs.existsSync(dir) && makeDir.sync(dir);
|
|
468
|
-
fs.writeFileSync(path.join(dir, racun.stevilka),
|
|
552
|
+
fs.writeFileSync(path.join(dir, racun.stevilka), serialize.pack(clonedeep({ ...racun, ...updated}), false));
|
|
469
553
|
} catch (err) {
|
|
470
554
|
console.log("napaka pri zapisu izdanega računa na disk",err)
|
|
471
555
|
}
|
|
@@ -565,7 +649,7 @@ async function storno(db,id)
|
|
|
565
649
|
};
|
|
566
650
|
|
|
567
651
|
|
|
568
|
-
class KlikvetLogicWorker extends Worker {
|
|
652
|
+
export class KlikvetLogicWorker extends Worker {
|
|
569
653
|
|
|
570
654
|
constructor({ veterine, gsm }, opts) {
|
|
571
655
|
super(DEFAULT_SERVICE_NAME, opts)
|
|
@@ -692,15 +776,20 @@ class KlikvetLogicWorker extends Worker {
|
|
|
692
776
|
let pipeline = logic.racunovodji.createAggregationPipeline(data)
|
|
693
777
|
let podatki = await logic.racunovodji.execPipeline(pipeline.pipeline, data.tenant)
|
|
694
778
|
let prviZadnji = await logic.racunovodji.getFirstLastBills(data.tenant, pipeline.match)
|
|
779
|
+
let kategorije = await logic.racunovodji.getCategories(data.tenant, pipeline.match)
|
|
695
780
|
let racuniPravnim = data.racuniPravnim ? await logic.racunovodji.getTaxBills(data.tenant, pipeline.match) : []
|
|
696
781
|
let racuniOdlozeno = data.racuniOdlozeno ? await logic.racunovodji.getTrrBills(data.tenant, pipeline.match) : []
|
|
697
782
|
let stornirani = await logic.zakljucekBlagajne.storniraniRacuni(pipeline.match, data.tenant)
|
|
698
783
|
let placila = await logic.zakljucekBlagajne.sestevekPlacil(data.tenant, data)
|
|
699
784
|
let pred = await logic.zalogaNaDan({ datum: new Date(new Date(data.odDne).valueOf()-24*60*60*1000), tenant:data.tenant})
|
|
700
785
|
let po = await logic.zalogaNaDan({ datum: new Date(data.doDne), tenant: data.tenant })
|
|
786
|
+
let predKonsignacija = await logic.zalogaNaDan({ datum: new Date(new Date(data.odDne).valueOf() - 24 * 60 * 60 * 1000), tenant: data.tenant, samoKonsignacija: true })
|
|
787
|
+
let poKonsignacija = await logic.zalogaNaDan({ datum: new Date(data.doDne), tenant: data.tenant, samoKonsignacija: true })
|
|
701
788
|
let spremembaZaloge = await logic.spremembaZalogeZaObdobje({ ...data, poVrstah: true })
|
|
789
|
+
let spremembaKonsignacije = await logic.spremembaZalogeZaObdobje({ ...data, poVrstah: true, samoKonsignacija: true })
|
|
702
790
|
let vsotaDobav = await logic.VsotaDobavZaObdobje({ ...data })
|
|
703
|
-
|
|
791
|
+
|
|
792
|
+
return { podatki, racuniOdlozeno, racuniPravnim, kategorije, stornirani, placila, zaloga: { pred, po }, konsignacija: { pred: predKonsignacija, po: poKonsignacija }, spremembaZaloge, spremembaKonsignacije, vsotaDobav, prviZadnji };
|
|
704
793
|
}
|
|
705
794
|
|
|
706
795
|
if (data.operation === 'zakljucek-blagajne') {
|
|
@@ -999,6 +1088,13 @@ class KlikvetLogicWorker extends Worker {
|
|
|
999
1088
|
assert(data.tenant, "must specify tenant")
|
|
1000
1089
|
return await razknjiziBlagovnice(data);
|
|
1001
1090
|
};
|
|
1091
|
+
|
|
1092
|
+
if (data.operation === "porabe-za-dobavnice") {
|
|
1093
|
+
assert(data.tenant, "must specify tenant")
|
|
1094
|
+
let ret = await porabeZaDobavnice(data);
|
|
1095
|
+
await razknjiziBlagovnice(data);
|
|
1096
|
+
return ret;
|
|
1097
|
+
};
|
|
1002
1098
|
|
|
1003
1099
|
if (data.operation === "razknjizi-dobavnico") {
|
|
1004
1100
|
assert(data._id, "must specify _id of Dobavnica")
|
|
@@ -1063,6 +1159,8 @@ class KlikvetLogicWorker extends Worker {
|
|
|
1063
1159
|
|
|
1064
1160
|
if (data.operation === "zaloga-na-dan") {
|
|
1065
1161
|
assert(data.tenant, "must specify tenant")
|
|
1162
|
+
console.log('data',data);
|
|
1163
|
+
|
|
1066
1164
|
return await logic.zalogaNaDan(data)
|
|
1067
1165
|
};
|
|
1068
1166
|
|
|
@@ -1150,7 +1248,7 @@ class KlikvetLogicWorker extends Worker {
|
|
|
1150
1248
|
if (data.operation === "poslji-smse-cepljenim") {
|
|
1151
1249
|
assert(data.tenant, "must specify tenant")
|
|
1152
1250
|
assert(data.nacin, "must specify nacin")
|
|
1153
|
-
let cepiti = await logic.smsCepljenjaNaDan({ tenant: data.tenant, dan: data.dan || new Date() });;
|
|
1251
|
+
let cepiti = await logic.smsCepljenjaNaDan({ tenant: data.tenant, dan: data.dan || new Date(), dniPrej: data.dniPrej });;
|
|
1154
1252
|
if (!cepiti?.length) return undefined;
|
|
1155
1253
|
let res = []
|
|
1156
1254
|
for await (let n of cepiti) {
|
|
@@ -1165,7 +1263,7 @@ class KlikvetLogicWorker extends Worker {
|
|
|
1165
1263
|
|
|
1166
1264
|
if (data.operation === "seznam-cepljenj-za-sms") {
|
|
1167
1265
|
assert(data.tenant, "must specify tenant")
|
|
1168
|
-
return await logic.smsCepljenjaNaDan({ tenant: data.tenant, dan: data.dan || new Date() });;
|
|
1266
|
+
return await logic.smsCepljenjaNaDan({ tenant: data.tenant, dan: data.dan || new Date(), dniPrej: data.dniPrej });;
|
|
1169
1267
|
};
|
|
1170
1268
|
|
|
1171
1269
|
|
|
@@ -1174,11 +1272,82 @@ class KlikvetLogicWorker extends Worker {
|
|
|
1174
1272
|
return await logic.smsNaroceniNaDan({ tenant: data.tenant, dan: data.dan || new Date() });;
|
|
1175
1273
|
};
|
|
1176
1274
|
|
|
1275
|
+
if (data.operation === "potrditev-brejosti") {
|
|
1276
|
+
assert(data.tenant, "must specify tenant")
|
|
1277
|
+
assert(data._id, "must specify _id")
|
|
1278
|
+
assert(data.kdo, "must specify kdo")
|
|
1279
|
+
let osemenitevGoveda = await dbFindById(data.tenant || data.db, "osemenitevGoveda", data._id);
|
|
1280
|
+
if (osemenitevGoveda) {
|
|
1281
|
+
let update = logic.updatePotrditevBrejosti(osemenitevGoveda, data.breja, data.kdo);
|
|
1282
|
+
return await dbUpdateById(data.tenant || data.db, "osemenitevGoveda", data._id, update)
|
|
1283
|
+
}
|
|
1284
|
+
return undefined
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
if (data.operation === "v-presusitev") {
|
|
1288
|
+
assert(data.tenant, "must specify tenant")
|
|
1289
|
+
assert(data._id, "must specify _id")
|
|
1290
|
+
assert(data.kdo, "must specify kdo")
|
|
1291
|
+
let osemenitevGoveda = await dbFindById(data.tenant || data.db, "osemenitevGoveda", data._id);
|
|
1292
|
+
if (osemenitevGoveda) {
|
|
1293
|
+
let update = logic.updatePresusitve(osemenitevGoveda, data.presusitev, data.kdo);
|
|
1294
|
+
return await dbUpdateById(data.tenant || data.db, "osemenitevGoveda", data._id, update)
|
|
1295
|
+
}
|
|
1296
|
+
return undefined
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
if (data.operation === "status-osemenitve") {
|
|
1300
|
+
assert(data.tenant, "must specify tenant")
|
|
1301
|
+
assert(data._id, "must specify _id")
|
|
1302
|
+
assert(data.kdo, "must specify kdo")
|
|
1303
|
+
let osemenitevGoveda = await dbFindById(data.tenant || data.db, "osemenitevGoveda", data._id);
|
|
1304
|
+
if (osemenitevGoveda) {
|
|
1305
|
+
let update = logic.updateStatusOsemenitve(osemenitevGoveda, data.status, data.kdo);
|
|
1306
|
+
return await dbUpdateById(data.tenant || data.db, "osemenitevGoveda", data._id, update)
|
|
1307
|
+
}
|
|
1308
|
+
return undefined
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
if (data.operation === "opomba-rejca-osemenitve") {
|
|
1312
|
+
assert(data.tenant, "must specify tenant")
|
|
1313
|
+
assert(data._id, "must specify _id")
|
|
1314
|
+
assert(data.kdo, "must specify kdo")
|
|
1315
|
+
let osemenitevGoveda = await dbFindById(data.tenant || data.db, "osemenitevGoveda", data._id);
|
|
1316
|
+
if (osemenitevGoveda) {
|
|
1317
|
+
let update = logic.updateOpombeRejca(osemenitevGoveda, data.opomba, data.kdo);
|
|
1318
|
+
return await dbUpdateById(data.tenant || data.db, "osemenitevGoveda", data._id, update)
|
|
1319
|
+
}
|
|
1320
|
+
return undefined
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
if (data.operation === "podatki-rejca") {
|
|
1324
|
+
assert(data.tenant, "must specify tenant")
|
|
1325
|
+
assert(data.rejciGeslo, "must specify rejciGeslo")
|
|
1326
|
+
assert(data.rejciKoda, "must specify rejciKoda")
|
|
1327
|
+
return await logic.podatkiRejca(data);
|
|
1328
|
+
};
|
|
1329
|
+
|
|
1330
|
+
if (data.operation === "zaracunaj-dobavnice") {
|
|
1331
|
+
assert(data.tenant, "must specify tenant")
|
|
1332
|
+
assert(data.dobavnice_ids, "must specify dobavnice_ids");
|
|
1333
|
+
assert(data.lokacija_id, "must specify lokacija_id");
|
|
1334
|
+
assert(data.naprava_id, "must specify naprava_id");
|
|
1335
|
+
assert(data.izdal, "must specify izdal");
|
|
1336
|
+
return await logic.zaracunajDobavnice(data);
|
|
1337
|
+
};
|
|
1338
|
+
|
|
1339
|
+
if (data.operation === "anonimiziraj-podatke") {
|
|
1340
|
+
assert(data.tenant, "must specify tenant")
|
|
1341
|
+
assert(["demo", "demo2","dev","test"].includes(data.tenant), "cnly valid for demo, dev, test");
|
|
1342
|
+
assert(data.letNazaj, "must specify letNazaj");
|
|
1343
|
+
|
|
1344
|
+
return await logic.anonimizirajPodatke(logic.createMongoForAnonimizacija(data.tenant), parseInt(data.letNazaj.toString()||"1"));
|
|
1345
|
+
};
|
|
1346
|
+
|
|
1177
1347
|
assert(false, 'unsupported operation ' + data.operation)
|
|
1178
1348
|
}
|
|
1179
1349
|
|
|
1180
1350
|
}
|
|
1181
1351
|
|
|
1182
|
-
module.exports = { KlikvetLogicWorker }
|
|
1183
1352
|
|
|
1184
1353
|
|