alsmanager_lib 3.0.140 → 3.0.143

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 (2) hide show
  1. package/lib/modules.js +438 -7
  2. package/package.json +1 -1
package/lib/modules.js CHANGED
@@ -2834,21 +2834,26 @@ function queryOSVersionByFilter(os) {
2834
2834
  return query;
2835
2835
  }
2836
2836
 
2837
- function queryStoragesByFilter() {
2838
- var query = "";
2839
- query += "";
2837
+ function queryStoragesByFilter(tipo) {
2838
+ var query = "select distinct ds.storage_type, st.name as version from device_storages ds ";
2839
+ query += "join storage_types st on st.id = ds.storage_type "
2840
+ query += "left join devices d on ds.id_device = d.id "
2841
+ query += "where d.type = '" + tipo + "' ";
2842
+ query += "order by st.exp_order";
2840
2843
  return query;
2841
2844
  }
2842
2845
 
2843
2846
  function queryAddOnsByFilter() {
2844
- var query = "";
2845
- query += "";
2847
+ var query = "select distinct da.addon_type, aty.name from device_addons da ";
2848
+ query += "join addon_types aty on aty.id = da.storage_type "
2849
+ query += "order by aty.name";
2846
2850
  return query;
2847
2851
  }
2848
2852
 
2849
2853
  function queryNetworksByFilter() {
2850
- var query = "";
2851
- query += "";
2854
+ var query = "select distinct dn.net_type, aty.name from device_networks dn ";
2855
+ query += "join network_types nty on nty.name = dn.net_type "
2856
+ query += "order by nty.name";
2852
2857
  return query;
2853
2858
  }
2854
2859
 
@@ -3159,6 +3164,429 @@ function buildDevicesQuery(queryList) {
3159
3164
  }
3160
3165
 
3161
3166
  // End Device select
3167
+ // Select devices by details
3168
+ function getDevicesByDetailsSelectSQLite(search_criteria, details) {
3169
+ var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
3170
+ query += "case ";
3171
+ query += "when d.no_inventario is not null and d.no_inventario > 0 then concat(d.id,'(ID)') ";
3172
+ query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
3173
+ query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
3174
+ query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
3175
+ query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
3176
+ query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
3177
+ query += "end as Codice ";
3178
+ query += "from devices d ";
3179
+ if (search_criteria.dev_status)
3180
+ query += "left join device_usage du on d.id = du.id_device ";
3181
+ if (search_criteria.dev_gestione)
3182
+ query += "left join device_gestioni dg on d.id = dg.id_device ";
3183
+ if (search_criteria.in_consegna)
3184
+ query += "left join consegna_beni cb on d.id = cb.id_bene ";
3185
+
3186
+ var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
3187
+ if (search_criteria.inv_code || search_criteria.dev_type || search_criteria.marca || search_criteria.dev_model || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3188
+ if (search_criteria.inv_code) {
3189
+ if (search_criteria.search_type == "ESATTA") {
3190
+ where_clause += " and (d.inv_ict3_number = '" + search_criteria.inv_code + "' or ";
3191
+ where_clause += "d.inv_tn_number = '" + search_criteria.inv_code + "' or ";
3192
+ where_clause += "d.serial_no = '" + search_criteria.inv_code + "' or ";
3193
+ where_clause += "d.inv_tndigit_number = '" + search_criteria.inv_code + "' or ";
3194
+ where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
3195
+ }
3196
+ else {
3197
+ where_clause += " and (d.inv_ict3_number like '" + search_criteria.inv_code + "%' or ";
3198
+ where_clause += "d.inv_tn_number like '" + search_criteria.inv_code + "%' or ";
3199
+ where_clause += "d.serial_no like '%" + search_criteria.inv_code + "%' or ";
3200
+ where_clause += "d.inv_tndigit_number like '" + search_criteria.inv_code + "%' or ";
3201
+ where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
3202
+ }
3203
+ }
3204
+ else {
3205
+ where_clause += " and ";
3206
+ if (search_criteria.dev_type) {
3207
+ where_clause += "d.type = '" + search_criteria.dev_type + "'";
3208
+ if (search_criteria.marca || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3209
+ where_clause += " and ";
3210
+ }
3211
+ }
3212
+ if (search_criteria.marca) {
3213
+ where_clause += " d.manifacturer = '" + search_criteria.marca + "'";
3214
+ if ((search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3215
+ where_clause += " and ";
3216
+ }
3217
+ }
3218
+ if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
3219
+ where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
3220
+ if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.dev_model || search_criteria.no_inv || search_criteria.in_consegna) {
3221
+ where_clause += " and ";
3222
+ }
3223
+ }
3224
+ if (search_criteria.dev_model) {
3225
+ where_clause += " d.model = '" + search_criteria.dev_model + "'";
3226
+ if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3227
+ where_clause += " and ";
3228
+ }
3229
+ }
3230
+ if (search_criteria.dev_status) {
3231
+ where_clause += " du.status = " + search_criteria.dev_status + " and (date('now') >= du.date_start and date('now') <= du.date_end)";
3232
+ if (search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3233
+ where_clause += " and ";
3234
+ }
3235
+ }
3236
+ if (search_criteria.dev_gestione) {
3237
+ where_clause += " dg.id_gestione = " + search_criteria.dev_gestione + " and date('now') >= dg.date_start and date('now') <= dg.date_end";
3238
+ if (search_criteria.no_inv || search_criteria.in_consegna) {
3239
+ where_clause += " and ";
3240
+ }
3241
+ }
3242
+ if (search_criteria.no_inv) {
3243
+ where_clause += " d.no_inventario = 1";
3244
+ if (search_criteria.in_consegna) {
3245
+ where_clause += " and ";
3246
+ }
3247
+ }
3248
+ if (search_criteria.in_consegna) {
3249
+ where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
3250
+ }
3251
+ }
3252
+ }
3253
+ if (search_criteria.id_dev_exclude > 0) {
3254
+ where_clause += " and d.id <> " + search_criteria.id_dev_exclude;
3255
+ }
3256
+ query += where_clause;
3257
+ return query;
3258
+ }
3259
+
3260
+ function getDevicesByDetailsSelectMySQL(search_criteria, details) {
3261
+ var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
3262
+ query += "case ";
3263
+ query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
3264
+ query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
3265
+ query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
3266
+ query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
3267
+ query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
3268
+ query += "end as Codice ";
3269
+ query += "from devices d ";
3270
+ if (search_criteria.dev_status)
3271
+ query += "left join device_usage du on d.id = du.id_device ";
3272
+ if (search_criteria.dev_gestione)
3273
+ query += "left join device_gestioni dg on d.id = dg.id_device ";
3274
+ if (search_criteria.in_consegna)
3275
+ query += "left join consegna_beni cb on d.id = cb.id_bene ";
3276
+
3277
+ if (details) {
3278
+ if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK") {
3279
+ query += "left join device_pc dd on d.id = dd.id_device ";
3280
+ }
3281
+ else if (search_criteria.search_type == "A") {
3282
+
3283
+ }
3284
+ else if (search_criteria.search_type == "B") {
3285
+
3286
+ }
3287
+ else if (search_criteria.search_type == "C") {
3288
+
3289
+ }
3290
+ }
3291
+
3292
+ var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
3293
+ if (search_criteria.inv_code || search_criteria.dev_type || search_criteria.marca || search_criteria.dev_model || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3294
+ if (search_criteria.inv_code) {
3295
+ if (search_criteria.search_type == "ESATTA") {
3296
+ where_clause += " and (d.inv_ict3_number = :inv_code or ";
3297
+ where_clause += "d.inv_tn_number = :inv_code or ";
3298
+ where_clause += "d.inv_tndigit_number = :inv_code or ";
3299
+ where_clause += "d.serial_no = :inv_code or ";
3300
+ where_clause += "d.inv_pnrr_number = :inv_code)";
3301
+ }
3302
+ else {
3303
+ where_clause += " and (d.inv_ict3_number like :inv_code or ";
3304
+ where_clause += "d.inv_tn_number like :inv_code or ";
3305
+ where_clause += "d.inv_tndigit_number like :inv_code or ";
3306
+ where_clause += "d.serial_no like :inv_code or ";
3307
+ where_clause += "d.inv_pnrr_number = :inv_code)";
3308
+ }
3309
+ }
3310
+ else {
3311
+ where_clause += " and ";
3312
+ if (search_criteria.dev_type) {
3313
+ where_clause += " d.type = :dev_type";
3314
+ if (search_criteria.marca || search_criteria.dev_model || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0 || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna)) {
3315
+ where_clause += " and ";
3316
+ }
3317
+ }
3318
+ if (search_criteria.marca) {
3319
+ where_clause += " d.manifacturer = :marca";
3320
+ if (search_criteria.dev_model || search_criteria.is_PNRR && search_criteria.is_PNRR > 0 || search_criteria.dev_status || search_criteria.dev_gestione|| search_criteria.no_inv || search_criteria.in_consegna) {
3321
+ where_clause += " and ";
3322
+ }
3323
+ }
3324
+ if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
3325
+ where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
3326
+ if (search_criteria.dev_model || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3327
+ where_clause += " and ";
3328
+ }
3329
+ }
3330
+ if (search_criteria.dev_model) {
3331
+ where_clause += " d.model = :dev_model ";
3332
+ if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3333
+ where_clause += " and ";
3334
+ }
3335
+ }
3336
+ if (search_criteria.dev_status) {
3337
+ where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
3338
+ if (search_criteria.dev_gestione || search_criteria.no_inv) {
3339
+ where_clause += " and ";
3340
+ }
3341
+ }
3342
+ if (search_criteria.dev_gestione) {
3343
+ where_clause += " dg.id_gestione = :dev_gestione and CURDATE() >= dg.date_start and CURDATE() <= dg.date_end";
3344
+ if (search_criteria.no_inv || search_criteria.in_consegna) {
3345
+ where_clause += " and ";
3346
+ }
3347
+ }
3348
+ if (search_criteria.no_inv) {
3349
+ where_clause += " d.no_inventario = 1";
3350
+ if (search_criteria.in_consegna) {
3351
+ where_clause += " and ";
3352
+ }
3353
+ }
3354
+ if (search_criteria.in_consegna) {
3355
+ where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
3356
+ }
3357
+ }
3358
+ }
3359
+
3360
+ if (details) {
3361
+ if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK") {
3362
+ query += "left join device_pc dd on d.id = dd.id_device ";
3363
+ }
3364
+ else if (search_criteria.search_type == "A") {
3365
+
3366
+ }
3367
+ else if (search_criteria.search_type == "B") {
3368
+
3369
+ }
3370
+ else if (search_criteria.search_type == "C") {
3371
+
3372
+ }
3373
+ if (details.network || details.mac_address) {
3374
+ query += "left join device_networks dn on d.id = dn.id_device ";
3375
+ }
3376
+ if (details.storage) {
3377
+ query += "left join device_storages dr on d.id = dr.id_device ";
3378
+ }
3379
+ if (details.addon) {
3380
+ query += "left join device_addons don on d.id = don.id_device ";
3381
+ }
3382
+ }
3383
+ // Filtro su dettagli...
3384
+ if (details) {
3385
+ if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK" || search_criteria.search_type == "TABLET" || search_criteria.search_type == "SMART TV" || search_criteria.search_type == "SERVER") {
3386
+ where_clause += " and ";
3387
+ if (details.os) {
3388
+ where_clause += "(dd.os = '" + details.os + "') ";
3389
+ if (details.version || details.storage || details.addon || details.network || details.storage || details.mac_address || details.name) {
3390
+ where_clause += " and ";
3391
+ }
3392
+ }
3393
+ if (details.os) {
3394
+ where_clause += "(dd.version = '" + details.version + "') ";
3395
+ if (details.storage || details.addon || details.network || details.mac_address || details.name) {
3396
+ where_clause += " and ";
3397
+ }
3398
+ }
3399
+ if (details.name) {
3400
+ where_clause += "(dd.pc_name = '" + details.name + "') ";
3401
+ if (details.storage || details.addon || details.network || details.mac_address) {
3402
+ where_clause += " and ";
3403
+ }
3404
+ }
3405
+
3406
+ }
3407
+ else if (search_criteria.search_type == "MONITOR") {
3408
+
3409
+ }
3410
+ else if (search_criteria.search_type == "SWITCH") {
3411
+
3412
+ }
3413
+ else if (search_criteria.search_type == "C") {
3414
+
3415
+ }
3416
+ if (details.network) {
3417
+ where_clause += "(dn.net_type = '" + details.network + "') ";
3418
+ if (details.storage || details.addon || details.network || details.mac_address) {
3419
+ where_clause += " and ";
3420
+ }
3421
+ }
3422
+ if (details.mac_address) {
3423
+ var mac_address_clean = details.mac_address.replaceAll(":","").replaceAll("-","").trim().toLowerCase();
3424
+ if (mac_address_clean != "") {
3425
+ where_clause += "lower(trim(replace(replace(dn.mac_address, ':', ''), '-', ''))) = '" + mac_address_clean + "') ";
3426
+ if (details.storage || details.addon) {
3427
+ where_clause += " and ";
3428
+ }
3429
+ }
3430
+ }
3431
+ if (details.storage) {
3432
+ where_clause += "(dr.storage_type = '" + details.storage + "') ";
3433
+ if (details.addon) {
3434
+ where_clause += " and ";
3435
+ }
3436
+ }
3437
+ if (details.addon) {
3438
+ where_clause += "(don.addon_type = '" + details.addon + "') ";
3439
+ }
3440
+ }
3441
+ // Esclusione
3442
+ if (search_criteria.id_dev_exclude > 0) {
3443
+ where_clause += " and d.id <> :id_dev_exclude";
3444
+ }
3445
+ query += where_clause;
3446
+ query += "order by id";
3447
+ return query;
3448
+ }
3449
+
3450
+ function getDevicesByDetailsSelectMySQL2(search_criteria, details) {
3451
+ var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
3452
+ query += "case ";
3453
+ query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
3454
+ query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
3455
+ query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
3456
+ query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
3457
+ query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
3458
+ query += "end as Codice ";
3459
+ query += "from devices d ";
3460
+ if (search_criteria.dev_status)
3461
+ query += "left join device_usage du on d.id = du.id_device ";
3462
+ if (search_criteria.dev_gestione)
3463
+ query += "left join device_gestioni dg on d.id = dg.id_device ";
3464
+ if (search_criteria.in_consegna)
3465
+ query += "left join consegna_beni cb on d.id = cb.id_bene ";
3466
+
3467
+ var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
3468
+ if (search_criteria.inv_code || search_criteria.dev_type || search_criteria.marca || search_criteria.dev_model || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3469
+ if (search_criteria.inv_code) {
3470
+ if (search_criteria.search_type == "ESATTA") {
3471
+ where_clause += " and (d.inv_ict3_number = '" + search_criteria.inv_code + "' or ";
3472
+ where_clause += "d.inv_tn_number = '" + search_criteria.inv_code + "' or ";
3473
+ where_clause += "d.serial_no = '" + search_criteria.inv_code + "' or ";
3474
+ where_clause += "d.inv_tndigit_number = '" + search_criteria.inv_code + "' or ";
3475
+ where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
3476
+ }
3477
+ else {
3478
+ where_clause += " and (d.inv_ict3_number like '" + search_criteria.inv_code + "%' or ";
3479
+ where_clause += "d.inv_tn_number like '" + search_criteria.inv_code + "%' or ";
3480
+ where_clause += "d.serial_no like '%" + search_criteria.inv_code + "%' or ";
3481
+ where_clause += "d.inv_tndigit_number like '" + search_criteria.inv_code + "%' or ";
3482
+ where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
3483
+ }
3484
+ }
3485
+ else {
3486
+ where_clause += " and ";
3487
+ if (search_criteria.dev_type) {
3488
+ where_clause += "d.type = '" + search_criteria.dev_type + "'";
3489
+ if (search_criteria.marca || (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3490
+ where_clause += " and ";
3491
+ }
3492
+ }
3493
+ if (search_criteria.marca) {
3494
+ where_clause += " d.manifacturer = '" + search_criteria.marca + "'";
3495
+ if ((search_criteria.is_PNRR && search_criteria.is_PNRR > 0) || search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3496
+ where_clause += " and ";
3497
+ }
3498
+ }
3499
+ if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
3500
+ where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
3501
+ if (search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3502
+ where_clause += " and ";
3503
+ }
3504
+ }
3505
+ if (search_criteria.dev_model) {
3506
+ where_clause += " d.model = '" + search_criteria.dev_model + "'";
3507
+ if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3508
+ where_clause += " and ";
3509
+ }
3510
+ }
3511
+ if (search_criteria.dev_status) {
3512
+ where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
3513
+ if (search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
3514
+ where_clause += " and ";
3515
+ }
3516
+ }
3517
+ if (search_criteria.dev_gestione) {
3518
+ where_clause += " dg.id_gestione = " + search_criteria.dev_gestione + " and CURDATE() >= dg.date_start and CURDATE() <= dg.date_end";
3519
+ if (search_criteria.no_inv || search_criteria.in_consegna) {
3520
+ where_clause += " and ";
3521
+ }
3522
+ }
3523
+ if (search_criteria.no_inv) {
3524
+ where_clause += " d.no_inventario = 1";
3525
+ if (search_criteria.in_consegna) {
3526
+ where_clause += " and ";
3527
+ }
3528
+ }
3529
+ if (search_criteria.in_consegna) {
3530
+ where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
3531
+ }
3532
+ }
3533
+ }
3534
+ if (search_criteria.id_dev_exclude > 0) {
3535
+ where_clause += " and d.id <> " + search_criteria.id_dev_exclude;
3536
+ }
3537
+ query += where_clause;
3538
+ return query;
3539
+ }
3540
+
3541
+ function getDevicesByDetailsSelect(db_used, search_criteria, details) {
3542
+ var query = "";
3543
+ if (db_used) {
3544
+ switch (db_used) {
3545
+ case 'SQLITE':
3546
+ query = getDevicesByDetailsSelectSQLite(search_criteria, details);
3547
+ break;
3548
+ case 'MYSQL':
3549
+ query = getDevicesByDetailsSelectMySQL(search_criteria, details);
3550
+ break;
3551
+ case 'MYSQL2':
3552
+ query = getDevicesByDetailsSelectMySQL2(search_criteria, details);
3553
+ break;
3554
+ }
3555
+ }
3556
+ return query;
3557
+ }
3558
+
3559
+ function createDeviceSelectObj(search_type, inv_code, dev_type, marca, dev_model, is_PNRR, dev_status, dev_gestione, no_inv, in_consegna, id_dev_exclude) {
3560
+ var search_criteria = {};
3561
+ search_criteria.search_type = search_type;
3562
+ search_criteria.inv_code = inv_code;
3563
+ search_criteria.dev_type = dev_type;
3564
+ search_criteria.marca = marca;
3565
+ search_criteria.dev_model = dev_model;
3566
+ search_criteria.is_PNRR = is_PNRR;
3567
+ search_criteria.dev_status = dev_status;
3568
+ search_criteria.dev_gestione = dev_gestione;
3569
+ search_criteria.no_inv = no_inv;
3570
+ search_criteria.in_consegna = in_consegna;
3571
+ search_criteria.id_dev_exclude = id_dev_exclude;
3572
+ return search_criteria;
3573
+ }
3574
+
3575
+ function createDetailsObj(os, version, storage, addon, network, mac_address, name) {
3576
+ var objDetails = {};
3577
+ objDetails.os = os;
3578
+ objDetails.version = version;
3579
+ objDetails.storage = storage;
3580
+ objDetails.addon = addon;
3581
+ objDetails.network = network;
3582
+ objDetails.mac_address = mac_address;
3583
+ objDetails.name = name;
3584
+
3585
+ return objDetails;
3586
+ }
3587
+ // End Select devices by details
3588
+
3589
+
3162
3590
  // Select by idDoc
3163
3591
  function getDevicesByIdDocSQLite(id_doc) {
3164
3592
  var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
@@ -15280,6 +15708,9 @@ module.exports = {
15280
15708
  queryNetworksByFilter,
15281
15709
  getDevicesSelectByRelated,
15282
15710
  getDevicesSelect,
15711
+ getDevicesByDetailsSelect,
15712
+ createDeviceSelectObj,
15713
+ createDetailsObj,
15283
15714
  getDevicesByIdDoc,
15284
15715
  getDevicesSelectBySite,
15285
15716
  queryDeviceById,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  ".": "./lib/modules.js",
5
5
  "./dbconn": "./lib/dbconn.js"
6
6
  },
7
- "version": "3.0.140",
7
+ "version": "3.0.143",
8
8
  "description": "Funzioni per ALSManager",
9
9
  "license": "ISC",
10
10
  "author": "Luca Cattani",