alsmanager_lib 3.0.139 → 3.0.142
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/lib/modules.js +579 -33
- package/package.json +1 -1
package/lib/modules.js
CHANGED
|
@@ -2918,7 +2918,7 @@ function getDevicesSelectSQLite(search_type, inv_code, dev_type, marca, dev_mode
|
|
|
2918
2918
|
}
|
|
2919
2919
|
}
|
|
2920
2920
|
if (dev_status) {
|
|
2921
|
-
where_clause += " du.status = " + dev_status + " and date('now') >= du.
|
|
2921
|
+
where_clause += " du.status = " + dev_status + " and (date('now') >= du.date_start and date('now') <= du.date_end)";
|
|
2922
2922
|
if (dev_gestione || no_inv || in_consegna) {
|
|
2923
2923
|
where_clause += " and ";
|
|
2924
2924
|
}
|
|
@@ -3010,7 +3010,7 @@ function getDevicesSelectMySQL(search_type, inv_code, dev_type, marca, dev_model
|
|
|
3010
3010
|
}
|
|
3011
3011
|
}
|
|
3012
3012
|
if (dev_status) {
|
|
3013
|
-
where_clause += " du.status = :dev_status and CURDATE() >= du.
|
|
3013
|
+
where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3014
3014
|
if (dev_gestione || no_inv) {
|
|
3015
3015
|
where_clause += " and ";
|
|
3016
3016
|
}
|
|
@@ -3103,7 +3103,7 @@ function getDevicesSelectMySQL2(search_type, inv_code, dev_type, marca, dev_mode
|
|
|
3103
3103
|
}
|
|
3104
3104
|
}
|
|
3105
3105
|
if (dev_status) {
|
|
3106
|
-
where_clause += " du.status =
|
|
3106
|
+
where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3107
3107
|
if (dev_gestione || no_inv || in_consegna) {
|
|
3108
3108
|
where_clause += " and ";
|
|
3109
3109
|
}
|
|
@@ -3159,6 +3159,435 @@ function buildDevicesQuery(queryList) {
|
|
|
3159
3159
|
}
|
|
3160
3160
|
|
|
3161
3161
|
// End Device select
|
|
3162
|
+
// Select devices by details
|
|
3163
|
+
function getDevicesByDetailsSelectSQLite(search_criteria, details) {
|
|
3164
|
+
var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
|
|
3165
|
+
query += "case ";
|
|
3166
|
+
query += "when d.no_inventario is not null and d.no_inventario > 0 then concat(d.id,'(ID)') ";
|
|
3167
|
+
query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
|
|
3168
|
+
query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
|
|
3169
|
+
query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
|
|
3170
|
+
query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
|
|
3171
|
+
query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
|
|
3172
|
+
query += "end as Codice ";
|
|
3173
|
+
query += "from devices d ";
|
|
3174
|
+
if (search_criteria.dev_status)
|
|
3175
|
+
query += "left join device_usage du on d.id = du.id_device ";
|
|
3176
|
+
if (search_criteria.dev_gestione)
|
|
3177
|
+
query += "left join device_gestioni dg on d.id = dg.id_device ";
|
|
3178
|
+
if (search_criteria.in_consegna)
|
|
3179
|
+
query += "left join consegna_beni cb on d.id = cb.id_bene ";
|
|
3180
|
+
|
|
3181
|
+
var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
|
|
3182
|
+
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) {
|
|
3183
|
+
if (search_criteria.inv_code) {
|
|
3184
|
+
if (search_criteria.search_type == "ESATTA") {
|
|
3185
|
+
where_clause += " and (d.inv_ict3_number = '" + search_criteria.inv_code + "' or ";
|
|
3186
|
+
where_clause += "d.inv_tn_number = '" + search_criteria.inv_code + "' or ";
|
|
3187
|
+
where_clause += "d.serial_no = '" + search_criteria.inv_code + "' or ";
|
|
3188
|
+
where_clause += "d.inv_tndigit_number = '" + search_criteria.inv_code + "' or ";
|
|
3189
|
+
where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
|
|
3190
|
+
}
|
|
3191
|
+
else {
|
|
3192
|
+
where_clause += " and (d.inv_ict3_number like '" + search_criteria.inv_code + "%' or ";
|
|
3193
|
+
where_clause += "d.inv_tn_number like '" + search_criteria.inv_code + "%' or ";
|
|
3194
|
+
where_clause += "d.serial_no like '%" + search_criteria.inv_code + "%' or ";
|
|
3195
|
+
where_clause += "d.inv_tndigit_number like '" + search_criteria.inv_code + "%' or ";
|
|
3196
|
+
where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
else {
|
|
3200
|
+
where_clause += " and ";
|
|
3201
|
+
if (search_criteria.dev_type) {
|
|
3202
|
+
where_clause += "d.type = '" + search_criteria.dev_type + "'";
|
|
3203
|
+
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) {
|
|
3204
|
+
where_clause += " and ";
|
|
3205
|
+
}
|
|
3206
|
+
}
|
|
3207
|
+
if (search_criteria.marca) {
|
|
3208
|
+
where_clause += " d.manifacturer = '" + search_criteria.marca + "'";
|
|
3209
|
+
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) {
|
|
3210
|
+
where_clause += " and ";
|
|
3211
|
+
}
|
|
3212
|
+
}
|
|
3213
|
+
if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
|
|
3214
|
+
where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
|
|
3215
|
+
if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.dev_model || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3216
|
+
where_clause += " and ";
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
if (search_criteria.dev_model) {
|
|
3220
|
+
where_clause += " d.model = '" + search_criteria.dev_model + "'";
|
|
3221
|
+
if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3222
|
+
where_clause += " and ";
|
|
3223
|
+
}
|
|
3224
|
+
}
|
|
3225
|
+
if (search_criteria.dev_status) {
|
|
3226
|
+
where_clause += " du.status = " + search_criteria.dev_status + " and (date('now') >= du.date_start and date('now') <= du.date_end)";
|
|
3227
|
+
if (search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3228
|
+
where_clause += " and ";
|
|
3229
|
+
}
|
|
3230
|
+
}
|
|
3231
|
+
if (search_criteria.dev_gestione) {
|
|
3232
|
+
where_clause += " dg.id_gestione = " + search_criteria.dev_gestione + " and date('now') >= dg.date_start and date('now') <= dg.date_end";
|
|
3233
|
+
if (search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3234
|
+
where_clause += " and ";
|
|
3235
|
+
}
|
|
3236
|
+
}
|
|
3237
|
+
if (search_criteria.no_inv) {
|
|
3238
|
+
where_clause += " d.no_inventario = 1";
|
|
3239
|
+
if (search_criteria.in_consegna) {
|
|
3240
|
+
where_clause += " and ";
|
|
3241
|
+
}
|
|
3242
|
+
}
|
|
3243
|
+
if (search_criteria.in_consegna) {
|
|
3244
|
+
where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
|
|
3245
|
+
}
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
if (search_criteria.id_dev_exclude > 0) {
|
|
3249
|
+
where_clause += " and d.id <> " + search_criteria.id_dev_exclude;
|
|
3250
|
+
}
|
|
3251
|
+
query += where_clause;
|
|
3252
|
+
return query;
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3255
|
+
function getDevicesByDetailsSelectMySQL(search_criteria, details) {
|
|
3256
|
+
var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
|
|
3257
|
+
query += "case ";
|
|
3258
|
+
query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
|
|
3259
|
+
query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
|
|
3260
|
+
query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
|
|
3261
|
+
query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
|
|
3262
|
+
query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
|
|
3263
|
+
query += "end as Codice ";
|
|
3264
|
+
query += "from devices d ";
|
|
3265
|
+
if (search_criteria.dev_status)
|
|
3266
|
+
query += "left join device_usage du on d.id = du.id_device ";
|
|
3267
|
+
if (search_criteria.dev_gestione)
|
|
3268
|
+
query += "left join device_gestioni dg on d.id = dg.id_device ";
|
|
3269
|
+
if (search_criteria.in_consegna)
|
|
3270
|
+
query += "left join consegna_beni cb on d.id = cb.id_bene ";
|
|
3271
|
+
|
|
3272
|
+
if (details) {
|
|
3273
|
+
if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK") {
|
|
3274
|
+
query += "left join device_pc dd on d.id = dd.id_device ";
|
|
3275
|
+
}
|
|
3276
|
+
else if (search_criteria.search_type == "A") {
|
|
3277
|
+
|
|
3278
|
+
}
|
|
3279
|
+
else if (search_criteria.search_type == "B") {
|
|
3280
|
+
|
|
3281
|
+
}
|
|
3282
|
+
else if (search_criteria.search_type == "C") {
|
|
3283
|
+
|
|
3284
|
+
}
|
|
3285
|
+
}
|
|
3286
|
+
|
|
3287
|
+
var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
|
|
3288
|
+
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) {
|
|
3289
|
+
if (search_criteria.inv_code) {
|
|
3290
|
+
if (search_criteria.search_type == "ESATTA") {
|
|
3291
|
+
where_clause += " and (d.inv_ict3_number = :inv_code or ";
|
|
3292
|
+
where_clause += "d.inv_tn_number = :inv_code or ";
|
|
3293
|
+
where_clause += "d.inv_tndigit_number = :inv_code or ";
|
|
3294
|
+
where_clause += "d.serial_no = :inv_code or ";
|
|
3295
|
+
where_clause += "d.inv_pnrr_number = :inv_code)";
|
|
3296
|
+
}
|
|
3297
|
+
else {
|
|
3298
|
+
where_clause += " and (d.inv_ict3_number like :inv_code or ";
|
|
3299
|
+
where_clause += "d.inv_tn_number like :inv_code or ";
|
|
3300
|
+
where_clause += "d.inv_tndigit_number like :inv_code or ";
|
|
3301
|
+
where_clause += "d.serial_no like :inv_code or ";
|
|
3302
|
+
where_clause += "d.inv_pnrr_number = :inv_code)";
|
|
3303
|
+
}
|
|
3304
|
+
}
|
|
3305
|
+
else {
|
|
3306
|
+
where_clause += " and ";
|
|
3307
|
+
if (search_criteria.dev_type) {
|
|
3308
|
+
where_clause += " d.type = :dev_type";
|
|
3309
|
+
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)) {
|
|
3310
|
+
where_clause += " and ";
|
|
3311
|
+
}
|
|
3312
|
+
}
|
|
3313
|
+
if (search_criteria.marca) {
|
|
3314
|
+
where_clause += " d.manifacturer = :marca";
|
|
3315
|
+
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) {
|
|
3316
|
+
where_clause += " and ";
|
|
3317
|
+
}
|
|
3318
|
+
}
|
|
3319
|
+
if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
|
|
3320
|
+
where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
|
|
3321
|
+
if (search_criteria.dev_model || search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3322
|
+
where_clause += " and ";
|
|
3323
|
+
}
|
|
3324
|
+
}
|
|
3325
|
+
if (search_criteria.dev_model) {
|
|
3326
|
+
where_clause += " d.model = :dev_model ";
|
|
3327
|
+
if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3328
|
+
where_clause += " and ";
|
|
3329
|
+
}
|
|
3330
|
+
}
|
|
3331
|
+
if (search_criteria.dev_status) {
|
|
3332
|
+
where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3333
|
+
if (search_criteria.dev_gestione || search_criteria.no_inv) {
|
|
3334
|
+
where_clause += " and ";
|
|
3335
|
+
}
|
|
3336
|
+
}
|
|
3337
|
+
if (search_criteria.dev_gestione) {
|
|
3338
|
+
where_clause += " dg.id_gestione = :dev_gestione and CURDATE() >= dg.date_start and CURDATE() <= dg.date_end";
|
|
3339
|
+
if (search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3340
|
+
where_clause += " and ";
|
|
3341
|
+
}
|
|
3342
|
+
}
|
|
3343
|
+
if (search_criteria.no_inv) {
|
|
3344
|
+
where_clause += " d.no_inventario = 1";
|
|
3345
|
+
if (search_criteria.in_consegna) {
|
|
3346
|
+
where_clause += " and ";
|
|
3347
|
+
}
|
|
3348
|
+
}
|
|
3349
|
+
if (search_criteria.in_consegna) {
|
|
3350
|
+
where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
|
|
3351
|
+
}
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
3354
|
+
if (search_criteria.id_dev_exclude > 0) {
|
|
3355
|
+
where_clause += " and d.id <> :id_dev_exclude";
|
|
3356
|
+
}
|
|
3357
|
+
if (details) {
|
|
3358
|
+
if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK") {
|
|
3359
|
+
query += "left join device_pc dd on d.id = dd.id_device ";
|
|
3360
|
+
}
|
|
3361
|
+
else if (search_criteria.search_type == "A") {
|
|
3362
|
+
|
|
3363
|
+
}
|
|
3364
|
+
else if (search_criteria.search_type == "B") {
|
|
3365
|
+
|
|
3366
|
+
}
|
|
3367
|
+
else if (search_criteria.search_type == "C") {
|
|
3368
|
+
|
|
3369
|
+
}
|
|
3370
|
+
if (details.network || details.mac_address) {
|
|
3371
|
+
query += "left join device_networks dn on d.id = dn.id_device ";
|
|
3372
|
+
}
|
|
3373
|
+
if (details.storage) {
|
|
3374
|
+
query += "left join device_storages dr on d.id = dr.id_device ";
|
|
3375
|
+
}
|
|
3376
|
+
if (details.addon) {
|
|
3377
|
+
query += "left join device_addons don on d.id = don.id_device ";
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
/*
|
|
3381
|
+
objDetails.version = version;
|
|
3382
|
+
objDetails.storage = storage;
|
|
3383
|
+
objDetails.addon = addon;
|
|
3384
|
+
objDetails.network = network;
|
|
3385
|
+
objDetails.mac_address = mac_address;
|
|
3386
|
+
objDetails.name = name;
|
|
3387
|
+
*/
|
|
3388
|
+
query += where_clause;
|
|
3389
|
+
// Filtro su dettagli...
|
|
3390
|
+
if (details) {
|
|
3391
|
+
if (search_criteria.search_type == "DESKTOP" || search_criteria.search_type == "NOTEBOOK") {
|
|
3392
|
+
where_clause += " and ";
|
|
3393
|
+
if (details.os) {
|
|
3394
|
+
where_clause += "(dd.os == '" + details.os + "') ";
|
|
3395
|
+
if (details.version || details.storage || details.addon || details.network || details.storage || details.mac_address || details.name) {
|
|
3396
|
+
where_clause += " and ";
|
|
3397
|
+
}
|
|
3398
|
+
}
|
|
3399
|
+
if (details.os) {
|
|
3400
|
+
where_clause += "(dd.version == '" + details.version + "') ";
|
|
3401
|
+
if (details.storage || details.addon || details.network || details.mac_address || details.name) {
|
|
3402
|
+
where_clause += " and ";
|
|
3403
|
+
}
|
|
3404
|
+
}
|
|
3405
|
+
if (details.name) {
|
|
3406
|
+
where_clause += "(dd.pc_name == '" + details.name + "') ";
|
|
3407
|
+
if (details.storage || details.addon || details.network || details.mac_address) {
|
|
3408
|
+
where_clause += " and ";
|
|
3409
|
+
}
|
|
3410
|
+
}
|
|
3411
|
+
|
|
3412
|
+
}
|
|
3413
|
+
else if (search_criteria.search_type == "A") {
|
|
3414
|
+
|
|
3415
|
+
}
|
|
3416
|
+
else if (search_criteria.search_type == "B") {
|
|
3417
|
+
|
|
3418
|
+
}
|
|
3419
|
+
else if (search_criteria.search_type == "C") {
|
|
3420
|
+
|
|
3421
|
+
}
|
|
3422
|
+
|
|
3423
|
+
|
|
3424
|
+
|
|
3425
|
+
if (details.network) {
|
|
3426
|
+
where_clause += "(dn.net_type == '" + details.network + "') ";
|
|
3427
|
+
if (details.storage || details.addon || details.network || details.mac_address) {
|
|
3428
|
+
where_clause += " and ";
|
|
3429
|
+
}
|
|
3430
|
+
}
|
|
3431
|
+
if (details.mac_address) {
|
|
3432
|
+
where_clause += "(dn.mac_address == '" + details.mac_address + "') ";
|
|
3433
|
+
if (details.storage || details.addon) {
|
|
3434
|
+
where_clause += " and ";
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
if (details.storage) {
|
|
3438
|
+
where_clause += "(dr.storage_type == '" + details.storage + "') ";
|
|
3439
|
+
if (details.addon) {
|
|
3440
|
+
where_clause += " and ";
|
|
3441
|
+
}
|
|
3442
|
+
}
|
|
3443
|
+
if (details.addon) {
|
|
3444
|
+
where_clause += "(don.addon_type == '" + details.addon + "') ";
|
|
3445
|
+
}
|
|
3446
|
+
}
|
|
3447
|
+
query += "order by id";
|
|
3448
|
+
return query;
|
|
3449
|
+
}
|
|
3450
|
+
|
|
3451
|
+
function getDevicesByDetailsSelectMySQL2(search_criteria, details) {
|
|
3452
|
+
var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
|
|
3453
|
+
query += "case ";
|
|
3454
|
+
query += "when d.inv_ict3_number != '' and d.inv_ict3_number is not null then d.inv_ict3_number ";
|
|
3455
|
+
query += "when d.inv_pnrr_number != '' and d.inv_pnrr_number is not null then d.inv_pnrr_number ";
|
|
3456
|
+
query += "when d.inv_tn_number != '' and d.inv_tn_number is not null then concat(d.inv_tn_number,'(TN)') ";
|
|
3457
|
+
query += "when d.inv_tndigit_number != '' and d.inv_tndigit_number is not null then concat(d.inv_tndigit_number,'(TNDigit)') ";
|
|
3458
|
+
query += "when d.serial_no != '' and d.serial_no is not null then concat(d.serial_no,'(S/N)') ";
|
|
3459
|
+
query += "end as Codice ";
|
|
3460
|
+
query += "from devices d ";
|
|
3461
|
+
if (search_criteria.dev_status)
|
|
3462
|
+
query += "left join device_usage du on d.id = du.id_device ";
|
|
3463
|
+
if (search_criteria.dev_gestione)
|
|
3464
|
+
query += "left join device_gestioni dg on d.id = dg.id_device ";
|
|
3465
|
+
if (search_criteria.in_consegna)
|
|
3466
|
+
query += "left join consegna_beni cb on d.id = cb.id_bene ";
|
|
3467
|
+
|
|
3468
|
+
var where_clause = " where (d.is_removed is null or d.is_removed = 0) ";
|
|
3469
|
+
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) {
|
|
3470
|
+
if (search_criteria.inv_code) {
|
|
3471
|
+
if (search_criteria.search_type == "ESATTA") {
|
|
3472
|
+
where_clause += " and (d.inv_ict3_number = '" + search_criteria.inv_code + "' or ";
|
|
3473
|
+
where_clause += "d.inv_tn_number = '" + search_criteria.inv_code + "' or ";
|
|
3474
|
+
where_clause += "d.serial_no = '" + search_criteria.inv_code + "' or ";
|
|
3475
|
+
where_clause += "d.inv_tndigit_number = '" + search_criteria.inv_code + "' or ";
|
|
3476
|
+
where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
|
|
3477
|
+
}
|
|
3478
|
+
else {
|
|
3479
|
+
where_clause += " and (d.inv_ict3_number like '" + search_criteria.inv_code + "%' or ";
|
|
3480
|
+
where_clause += "d.inv_tn_number like '" + search_criteria.inv_code + "%' or ";
|
|
3481
|
+
where_clause += "d.serial_no like '%" + search_criteria.inv_code + "%' or ";
|
|
3482
|
+
where_clause += "d.inv_tndigit_number like '" + search_criteria.inv_code + "%' or ";
|
|
3483
|
+
where_clause += "d.inv_pnrr_number = '" + search_criteria.inv_code + "')";
|
|
3484
|
+
}
|
|
3485
|
+
}
|
|
3486
|
+
else {
|
|
3487
|
+
where_clause += " and ";
|
|
3488
|
+
if (search_criteria.dev_type) {
|
|
3489
|
+
where_clause += "d.type = '" + search_criteria.dev_type + "'";
|
|
3490
|
+
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) {
|
|
3491
|
+
where_clause += " and ";
|
|
3492
|
+
}
|
|
3493
|
+
}
|
|
3494
|
+
if (search_criteria.marca) {
|
|
3495
|
+
where_clause += " d.manifacturer = '" + search_criteria.marca + "'";
|
|
3496
|
+
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) {
|
|
3497
|
+
where_clause += " and ";
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
if (search_criteria.is_PNRR && search_criteria.is_PNRR > 0) {
|
|
3501
|
+
where_clause += " (d.inv_pnrr_number <> '' and inv_pnrr_number is not null) ";
|
|
3502
|
+
if (search_criteria.dev_status || search_criteria.dev_model || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3503
|
+
where_clause += " and ";
|
|
3504
|
+
}
|
|
3505
|
+
}
|
|
3506
|
+
if (search_criteria.dev_model) {
|
|
3507
|
+
where_clause += " d.model = '" + search_criteria.dev_model + "'";
|
|
3508
|
+
if (search_criteria.dev_status || search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3509
|
+
where_clause += " and ";
|
|
3510
|
+
}
|
|
3511
|
+
}
|
|
3512
|
+
if (search_criteria.dev_status) {
|
|
3513
|
+
where_clause += " du.status = :dev_status and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3514
|
+
if (search_criteria.dev_gestione || search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3515
|
+
where_clause += " and ";
|
|
3516
|
+
}
|
|
3517
|
+
}
|
|
3518
|
+
if (search_criteria.dev_gestione) {
|
|
3519
|
+
where_clause += " dg.id_gestione = " + search_criteria.dev_gestione + " and CURDATE() >= dg.date_start and CURDATE() <= dg.date_end";
|
|
3520
|
+
if (search_criteria.no_inv || search_criteria.in_consegna) {
|
|
3521
|
+
where_clause += " and ";
|
|
3522
|
+
}
|
|
3523
|
+
}
|
|
3524
|
+
if (search_criteria.no_inv) {
|
|
3525
|
+
where_clause += " d.no_inventario = 1";
|
|
3526
|
+
if (search_criteria.in_consegna) {
|
|
3527
|
+
where_clause += " and ";
|
|
3528
|
+
}
|
|
3529
|
+
}
|
|
3530
|
+
if (search_criteria.in_consegna) {
|
|
3531
|
+
where_clause += " (cb.id_consegna is not null and cb.tipo_bene = 'DEVICE' and cb.stato_restituzione = 0)"
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
}
|
|
3535
|
+
if (search_criteria.id_dev_exclude > 0) {
|
|
3536
|
+
where_clause += " and d.id <> " + search_criteria.id_dev_exclude;
|
|
3537
|
+
}
|
|
3538
|
+
query += where_clause;
|
|
3539
|
+
return query;
|
|
3540
|
+
}
|
|
3541
|
+
|
|
3542
|
+
function getDevicesByDetailsSelect(db_used, search_criteria, details) {
|
|
3543
|
+
var query = "";
|
|
3544
|
+
if (db_used) {
|
|
3545
|
+
switch (db_used) {
|
|
3546
|
+
case 'SQLITE':
|
|
3547
|
+
query = getDevicesByDetailsSelectSQLite(search_criteria, details);
|
|
3548
|
+
break;
|
|
3549
|
+
case 'MYSQL':
|
|
3550
|
+
query = getDevicesByDetailsSelectMySQL(search_criteria, details);
|
|
3551
|
+
break;
|
|
3552
|
+
case 'MYSQL2':
|
|
3553
|
+
query = getDevicesByDetailsSelectMySQL2(search_criteria, details);
|
|
3554
|
+
break;
|
|
3555
|
+
}
|
|
3556
|
+
}
|
|
3557
|
+
return query;
|
|
3558
|
+
}
|
|
3559
|
+
|
|
3560
|
+
function createDeviceSelectObj(search_type, inv_code, dev_type, marca, dev_model, is_PNRR, dev_status, dev_gestione, no_inv, in_consegna, id_dev_exclude) {
|
|
3561
|
+
var search_criteria = {};
|
|
3562
|
+
search_criteria.search_type = search_type;
|
|
3563
|
+
search_criteria.inv_code = inv_code;
|
|
3564
|
+
search_criteria.dev_type = dev_type;
|
|
3565
|
+
search_criteria.marca = marca;
|
|
3566
|
+
search_criteria.dev_model = dev_model;
|
|
3567
|
+
search_criteria.is_PNRR = is_PNRR;
|
|
3568
|
+
search_criteria.dev_status = dev_status;
|
|
3569
|
+
search_criteria.dev_gestione = dev_gestione;
|
|
3570
|
+
search_criteria.no_inv = no_inv;
|
|
3571
|
+
search_criteria.in_consegna = in_consegna;
|
|
3572
|
+
search_criteria.id_dev_exclude = id_dev_exclude;
|
|
3573
|
+
return search_criteria;
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3576
|
+
function createDetailsObj(os, version, storage, addon, network, mac_address, name) {
|
|
3577
|
+
var objDetails = {};
|
|
3578
|
+
objDetails.os = os;
|
|
3579
|
+
objDetails.version = version;
|
|
3580
|
+
objDetails.storage = storage;
|
|
3581
|
+
objDetails.addon = addon;
|
|
3582
|
+
objDetails.network = network;
|
|
3583
|
+
objDetails.mac_address = mac_address;
|
|
3584
|
+
objDetails.name = name;
|
|
3585
|
+
|
|
3586
|
+
return objDetails;
|
|
3587
|
+
}
|
|
3588
|
+
// End Select devices by details
|
|
3589
|
+
|
|
3590
|
+
|
|
3162
3591
|
// Select by idDoc
|
|
3163
3592
|
function getDevicesByIdDocSQLite(id_doc) {
|
|
3164
3593
|
var query = "SELECT DISTINCT d.id, d.type as Tipo, d.manifacturer as Marca, d.model as Modello, ";
|
|
@@ -3720,10 +4149,10 @@ function queryDeviceStatusSQLite(id_device, date_ref) {
|
|
|
3720
4149
|
if (date_ref) {
|
|
3721
4150
|
switch (date_ref) {
|
|
3722
4151
|
case "current":
|
|
3723
|
-
query += "and date('now') >= du.
|
|
4152
|
+
query += "and (date('now') >= du.date_start and date('now') <= du.date_end)";
|
|
3724
4153
|
break;
|
|
3725
4154
|
default:
|
|
3726
|
-
query += "and '" + date_ref + "' >= du.
|
|
4155
|
+
query += "and ('" + date_ref + "' >= du.date_start and '" + date_ref + "' <= du.date_end)";
|
|
3727
4156
|
break;
|
|
3728
4157
|
|
|
3729
4158
|
}
|
|
@@ -3737,10 +4166,10 @@ function queryDeviceStatusMySQL(id_device, date_ref) {
|
|
|
3737
4166
|
if (date_ref) {
|
|
3738
4167
|
switch (date_ref) {
|
|
3739
4168
|
case "current":
|
|
3740
|
-
query += "and (CURDATE() >= du.
|
|
4169
|
+
query += "and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3741
4170
|
break;
|
|
3742
4171
|
default:
|
|
3743
|
-
query += "and :date_ref >= du.
|
|
4172
|
+
query += "and (:date_ref >= du.date_start and :date_ref <= du.date_end) ";
|
|
3744
4173
|
break;
|
|
3745
4174
|
|
|
3746
4175
|
}
|
|
@@ -3754,10 +4183,10 @@ function queryDeviceStatusMySQL2(id_device, date_ref) {
|
|
|
3754
4183
|
if (date_ref) {
|
|
3755
4184
|
switch (date_ref) {
|
|
3756
4185
|
case "current":
|
|
3757
|
-
query += "and CURDATE() >= du.
|
|
4186
|
+
query += "and (CURDATE() >= du.date_start and CURDATE() <= du.date_end) ";
|
|
3758
4187
|
break;
|
|
3759
4188
|
default:
|
|
3760
|
-
query += "and '" + date_ref + "' >= du.
|
|
4189
|
+
query += "and ('" + date_ref + "' >= du.date_start and '" + date_ref + "' <= du.date_end)";
|
|
3761
4190
|
break;
|
|
3762
4191
|
|
|
3763
4192
|
}
|
|
@@ -3785,35 +4214,37 @@ function queryDeviceStatus(db_used, id_device, date_ref) {
|
|
|
3785
4214
|
//End Get Device Status
|
|
3786
4215
|
// Manage insertDeviceStatus
|
|
3787
4216
|
function insertDeviceStatusSQLite(id_device, dev_status, start_date) {
|
|
3788
|
-
var query = "insert into device_usage (
|
|
4217
|
+
var query = "insert into device_usage (date_start, date_end, id_device, status) ";
|
|
3789
4218
|
query += "values (";
|
|
3790
4219
|
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
3791
|
-
query += "date('now'),";
|
|
4220
|
+
query += "date('now'), ";
|
|
3792
4221
|
}
|
|
3793
4222
|
else {
|
|
3794
|
-
query += "'" + start_date + "',";
|
|
4223
|
+
query += "'" + start_date + "', ";
|
|
3795
4224
|
}
|
|
4225
|
+
query += "'2999-12-31', ";
|
|
3796
4226
|
query += id_device + ",";
|
|
3797
4227
|
query += dev_status;
|
|
3798
4228
|
query += ")";
|
|
3799
4229
|
return query;
|
|
3800
4230
|
}
|
|
3801
4231
|
function insertDeviceStatusMySQL(id_device, dev_status, start_date) {
|
|
3802
|
-
var query = "insert into device_usage (
|
|
4232
|
+
var query = "insert into device_usage (date_start, date_end, id_device, status) ";
|
|
3803
4233
|
query += "values (";
|
|
3804
4234
|
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
3805
|
-
query += "CURDATE(),";
|
|
4235
|
+
query += "CURDATE(), ";
|
|
3806
4236
|
}
|
|
3807
4237
|
else {
|
|
3808
|
-
query += ":start_date,";
|
|
4238
|
+
query += ":start_date, ";
|
|
3809
4239
|
}
|
|
4240
|
+
query += "'2999-12-31', ";
|
|
3810
4241
|
query += ":id_device,";
|
|
3811
4242
|
query += ":dev_status";
|
|
3812
4243
|
query += ")";
|
|
3813
4244
|
return query;
|
|
3814
4245
|
}
|
|
3815
4246
|
function insertDeviceStatusMySQL2(id_device, dev_status, start_date) {
|
|
3816
|
-
var query = "insert into device_usage (
|
|
4247
|
+
var query = "insert into device_usage (date_start, date_end, id_device, status) ";
|
|
3817
4248
|
query += "values (";
|
|
3818
4249
|
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
3819
4250
|
query += "CURDATE(),";
|
|
@@ -3821,6 +4252,7 @@ function insertDeviceStatusMySQL2(id_device, dev_status, start_date) {
|
|
|
3821
4252
|
else {
|
|
3822
4253
|
query += "'" + start_date + "',";
|
|
3823
4254
|
}
|
|
4255
|
+
query += "'2999-12-31', ";
|
|
3824
4256
|
query += id_device + ",";
|
|
3825
4257
|
query += dev_status;
|
|
3826
4258
|
query += ")";
|
|
@@ -3844,7 +4276,71 @@ function insertDeviceStatus(db_used, id_device, dev_status, start_date) {
|
|
|
3844
4276
|
return query;
|
|
3845
4277
|
}
|
|
3846
4278
|
//end insert device status
|
|
3847
|
-
//
|
|
4279
|
+
// Manage updateDeviceStatus
|
|
4280
|
+
function updateDeviceStatusSQLite(id_device, dev_status, start_date) {
|
|
4281
|
+
var query = "update device_usage (date_start, date_end, id_device, status) ";
|
|
4282
|
+
query += "values (";
|
|
4283
|
+
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
4284
|
+
query += "date('now'), ";
|
|
4285
|
+
}
|
|
4286
|
+
else {
|
|
4287
|
+
query += "'" + start_date + "', ";
|
|
4288
|
+
}
|
|
4289
|
+
query += "'2999-12-31', ";
|
|
4290
|
+
query += id_device + ",";
|
|
4291
|
+
query += dev_status;
|
|
4292
|
+
query += ")";
|
|
4293
|
+
return query;
|
|
4294
|
+
}
|
|
4295
|
+
function insertDeviceStatusMySQL(id_device, dev_status, start_date) {
|
|
4296
|
+
var query = "insert into device_usage (date_start, date_end, id_device, status) ";
|
|
4297
|
+
query += "values (";
|
|
4298
|
+
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
4299
|
+
query += "CURDATE(), ";
|
|
4300
|
+
}
|
|
4301
|
+
else {
|
|
4302
|
+
query += ":start_date, ";
|
|
4303
|
+
}
|
|
4304
|
+
query += "'2999-12-31', ";
|
|
4305
|
+
query += ":id_device,";
|
|
4306
|
+
query += ":dev_status";
|
|
4307
|
+
query += ")";
|
|
4308
|
+
return query;
|
|
4309
|
+
}
|
|
4310
|
+
function insertDeviceStatusMySQL2(id_device, dev_status, start_date) {
|
|
4311
|
+
var query = "insert into device_usage (date_start, date_end, id_device, status) ";
|
|
4312
|
+
query += "values (";
|
|
4313
|
+
if ((!start_date || start_date == '') || start_date == "TODAY") {
|
|
4314
|
+
query += "CURDATE(),";
|
|
4315
|
+
}
|
|
4316
|
+
else {
|
|
4317
|
+
query += "'" + start_date + "',";
|
|
4318
|
+
}
|
|
4319
|
+
query += "'2999-12-31', ";
|
|
4320
|
+
query += id_device + ",";
|
|
4321
|
+
query += dev_status;
|
|
4322
|
+
query += ")";
|
|
4323
|
+
return query;
|
|
4324
|
+
}
|
|
4325
|
+
function insertDeviceStatus(db_used, id_device, dev_status, start_date) {
|
|
4326
|
+
var query = "";
|
|
4327
|
+
if (db_used) {
|
|
4328
|
+
switch (db_used) {
|
|
4329
|
+
case 'SQLITE':
|
|
4330
|
+
query = insertDeviceStatusSQLite(id_device, dev_status, start_date);
|
|
4331
|
+
break;
|
|
4332
|
+
case 'MYSQL':
|
|
4333
|
+
query = insertDeviceStatusMySQL(id_device, dev_status, start_date);
|
|
4334
|
+
break;
|
|
4335
|
+
case 'MYSQL2':
|
|
4336
|
+
query = insertDeviceStatusMySQL2(id_device, dev_status, start_date);
|
|
4337
|
+
break;
|
|
4338
|
+
}
|
|
4339
|
+
}
|
|
4340
|
+
return query;
|
|
4341
|
+
}
|
|
4342
|
+
//end update device status
|
|
4343
|
+
// Remove device status - DA RIVEDERE -
|
|
3848
4344
|
function removeDeviceStatusSQLite(id_device, dev_status) {
|
|
3849
4345
|
var query = "delete from device_usage ";
|
|
3850
4346
|
query += "where id_device = " + id_device + " and date_status = ";
|
|
@@ -3915,7 +4411,7 @@ function insertDeviceSQLite(dev) {
|
|
|
3915
4411
|
if (dev.peso_g)
|
|
3916
4412
|
peso = dev.peso_g;
|
|
3917
4413
|
|
|
3918
|
-
query = "insert into devices (inv_ict3_number, inv_tn_number, inv_pnrr_number, inv_tndigit_number, type, manifacturer, model, serial_no, note, num_objects, no_inventario, peso_g) ";
|
|
4414
|
+
query = "insert into devices (inv_ict3_number, inv_tn_number, inv_pnrr_number, inv_tndigit_number, type, manifacturer, model, serial_no, note, num_objects, no_inventario, peso_g, part_of, is_unused) ";
|
|
3919
4415
|
query += "values (";
|
|
3920
4416
|
query += "'" + String(inventario).trim() + "',";
|
|
3921
4417
|
query += "'" + String(inv_comune).trim() + "',";
|
|
@@ -3928,13 +4424,15 @@ function insertDeviceSQLite(dev) {
|
|
|
3928
4424
|
query += "'" + String(note).trim() + "',";
|
|
3929
4425
|
query += dev.num_objects + ", ";
|
|
3930
4426
|
query += dev.no_inv + ", ";
|
|
3931
|
-
query += peso;
|
|
4427
|
+
query += peso + ", ";
|
|
4428
|
+
query += "'" + dev.part_of + "', ";
|
|
4429
|
+
query += dev.is_unused;
|
|
3932
4430
|
query += ")";
|
|
3933
4431
|
}
|
|
3934
4432
|
return query;
|
|
3935
4433
|
}
|
|
3936
4434
|
function insertDeviceMySQL() {
|
|
3937
|
-
var query = "insert into devices (inv_ict3_number, inv_tn_number, inv_pnrr_number, inv_tndigit_number, type, manifacturer, model, serial_no, note, num_objects, no_inventario) ";
|
|
4435
|
+
var query = "insert into devices (inv_ict3_number, inv_tn_number, inv_pnrr_number, inv_tndigit_number, type, manifacturer, model, serial_no, note, num_objects, no_inventario, peso_g, part_of, is_unused) ";
|
|
3938
4436
|
query += "values (";
|
|
3939
4437
|
query += ":inventario, ";
|
|
3940
4438
|
query += ":inv_comune, ";
|
|
@@ -3947,7 +4445,9 @@ function insertDeviceMySQL() {
|
|
|
3947
4445
|
query += ":note, ";
|
|
3948
4446
|
query += ":num_objects, ";
|
|
3949
4447
|
query += ":no_inv, ";
|
|
3950
|
-
query += ":peso_g ";
|
|
4448
|
+
query += ":peso_g, ";
|
|
4449
|
+
query += ":part_of, ";
|
|
4450
|
+
query += ":is_unused, ";
|
|
3951
4451
|
query += ")";
|
|
3952
4452
|
return query;
|
|
3953
4453
|
}
|
|
@@ -4019,7 +4519,9 @@ function updateDeviceSQLite(deviceObj) {
|
|
|
4019
4519
|
query += "note = '" + note.trim() + "',";
|
|
4020
4520
|
query += "num_objects = " + dev.num_objects + ", ";
|
|
4021
4521
|
query += "no_inventario = " + dev.no_inv + ", ";
|
|
4022
|
-
query += "peso_g = " + peso + " ";
|
|
4522
|
+
query += "peso_g = " + peso + ", ";
|
|
4523
|
+
query += "part_of = '" + part_of + "', ";
|
|
4524
|
+
query += "is_unused = " + is_unused + " ";
|
|
4023
4525
|
query += " where id = " + dev.id;
|
|
4024
4526
|
}
|
|
4025
4527
|
return query;
|
|
@@ -4038,7 +4540,9 @@ function updateDeviceMySQL() {
|
|
|
4038
4540
|
query += "note = :note, ";
|
|
4039
4541
|
query += "num_objects = :num_objects, ";
|
|
4040
4542
|
query += "no_inventario = :no_inv, ";
|
|
4041
|
-
query += "peso_g = :peso_g ";
|
|
4543
|
+
query += "peso_g = :peso_g, ";
|
|
4544
|
+
query += "part_of = :part_of, ";
|
|
4545
|
+
query += "is_unused = :is_unused ";
|
|
4042
4546
|
query += " where id = :id_device";
|
|
4043
4547
|
return query;
|
|
4044
4548
|
}
|
|
@@ -4115,6 +4619,8 @@ function getDeviceMySQLPayload(dev) {
|
|
|
4115
4619
|
"num_objects": retValue.num_objects,
|
|
4116
4620
|
"no_inv": retValue.no_inv,
|
|
4117
4621
|
"peso_g": retValue.peso_g,
|
|
4622
|
+
"part_of": retValue.part_of,
|
|
4623
|
+
"is_unused": retValue.is_unused,
|
|
4118
4624
|
"id_device": dev.id
|
|
4119
4625
|
};
|
|
4120
4626
|
}
|
|
@@ -4152,7 +4658,38 @@ function removeDevice(db_used, id_device) {
|
|
|
4152
4658
|
return query;
|
|
4153
4659
|
}
|
|
4154
4660
|
|
|
4155
|
-
//End
|
|
4661
|
+
//End set unused device
|
|
4662
|
+
// Remove Device
|
|
4663
|
+
function updateUnusedDeviceSQLite(id_device, unused_switch) {
|
|
4664
|
+
var query = "update devices set is_unused = " + unused_switch + " ";
|
|
4665
|
+
query += "where id = " + id_device;
|
|
4666
|
+
return query;
|
|
4667
|
+
}
|
|
4668
|
+
|
|
4669
|
+
function updateUnusedDeviceMySQL() {
|
|
4670
|
+
var query = "update devices set is_unused = :unused_switch ";
|
|
4671
|
+
query += "where id = :id_device";
|
|
4672
|
+
return query;
|
|
4673
|
+
}
|
|
4674
|
+
function updateUnusedDevice(db_used, id_device, unused_switch) {
|
|
4675
|
+
var query = "";
|
|
4676
|
+
if (db_used) {
|
|
4677
|
+
switch (db_used) {
|
|
4678
|
+
case 'SQLITE':
|
|
4679
|
+
query = updateUnusedDeviceSQLite(id_device, unused_switch);
|
|
4680
|
+
break;
|
|
4681
|
+
case 'MYSQL':
|
|
4682
|
+
query = updateUnusedDeviceMySQL();
|
|
4683
|
+
break;
|
|
4684
|
+
case 'MYSQL2':
|
|
4685
|
+
query = updateUnusedDeviceSQLite(id_device, unused_switch);
|
|
4686
|
+
break;
|
|
4687
|
+
}
|
|
4688
|
+
}
|
|
4689
|
+
return query;
|
|
4690
|
+
}
|
|
4691
|
+
|
|
4692
|
+
//End set unused device
|
|
4156
4693
|
//Get Last Id
|
|
4157
4694
|
function queryLastDeviceIdSQLite() {
|
|
4158
4695
|
return "select seq as id from sqlite_sequence where name = 'devices'";
|
|
@@ -12568,7 +13105,7 @@ function getLastSiteForDevice(db_used,id_device) {
|
|
|
12568
13105
|
|
|
12569
13106
|
|
|
12570
13107
|
// end of source//Get Devices for Statistics
|
|
12571
|
-
function queryStatisticSQLite(list_types) {
|
|
13108
|
+
function queryStatisticSQLite(list_types, exclude_unused) {
|
|
12572
13109
|
var query = "select type as Tipo, count(*) as Numero from devices ";
|
|
12573
13110
|
query += "where type in (";
|
|
12574
13111
|
for (let i = 0; i < list_types.length; i++) {
|
|
@@ -12578,10 +13115,13 @@ function queryStatisticSQLite(list_types) {
|
|
|
12578
13115
|
}
|
|
12579
13116
|
}
|
|
12580
13117
|
query += ") and (is_removed is null or is_removed = 0) ";
|
|
13118
|
+
if (exclude_unused && exclude_unused == 1) {
|
|
13119
|
+
query += "and (is_unused is null or is_unused = 0) ";
|
|
13120
|
+
}
|
|
12581
13121
|
query += "group by Tipo";
|
|
12582
13122
|
return query;
|
|
12583
13123
|
}
|
|
12584
|
-
function queryStatisticMySQL(list_types) {
|
|
13124
|
+
function queryStatisticMySQL(list_types, exclude_unused) {
|
|
12585
13125
|
var query = "select type as Tipo, count(*) as Numero from devices ";
|
|
12586
13126
|
query += "where type in (";
|
|
12587
13127
|
for (let i = 0; i < list_types.length; i++) {
|
|
@@ -12591,21 +13131,24 @@ function queryStatisticMySQL(list_types) {
|
|
|
12591
13131
|
}
|
|
12592
13132
|
}
|
|
12593
13133
|
query += ") and (is_removed is null or is_removed = 0) ";
|
|
13134
|
+
if (exclude_unused && exclude_unused == 1) {
|
|
13135
|
+
query += "and (is_unused is null or is_unused = 0) ";
|
|
13136
|
+
}
|
|
12594
13137
|
query += "group by Tipo";
|
|
12595
13138
|
return query;
|
|
12596
13139
|
}
|
|
12597
|
-
function queryStatistic(db_used,list_types) {
|
|
13140
|
+
function queryStatistic(db_used,list_types, exclude_unused) {
|
|
12598
13141
|
var query = "";
|
|
12599
13142
|
if (db_used) {
|
|
12600
13143
|
switch (db_used) {
|
|
12601
13144
|
case 'SQLITE':
|
|
12602
|
-
query = queryStatisticSQLite(list_types);
|
|
13145
|
+
query = queryStatisticSQLite(list_types, exclude_unused);
|
|
12603
13146
|
break;
|
|
12604
13147
|
case 'MYSQL':
|
|
12605
|
-
query = queryStatisticMySQL(list_types);
|
|
13148
|
+
query = queryStatisticMySQL(list_types, exclude_unused);
|
|
12606
13149
|
break;
|
|
12607
13150
|
case 'MYSQL2':
|
|
12608
|
-
query = queryStatisticSQLite(list_types);
|
|
13151
|
+
query = queryStatisticSQLite(list_types, exclude_unused);
|
|
12609
13152
|
break;
|
|
12610
13153
|
}
|
|
12611
13154
|
}
|
|
@@ -12837,7 +13380,7 @@ function queryStatisticsDeviceStatusSQLite() {
|
|
|
12837
13380
|
var query = "select case when ds.status is null then 0 else ds.status end as Stato, sd.name as Descrizione, count(*) as Numero from devices d ";
|
|
12838
13381
|
query += "left join device_usage ds on d.id = ds.id_device ";
|
|
12839
13382
|
query += "join status_description sd on sd.id = Stato "
|
|
12840
|
-
query += "where date('now') >= ds.
|
|
13383
|
+
query += "where (date('now') >= ds.date_start and date('now') <= ds.date_end) or ds.status = 0 ";
|
|
12841
13384
|
query += "and (is_removed is null or is_removed = 0) ";
|
|
12842
13385
|
query += "group by Stato";
|
|
12843
13386
|
return query;
|
|
@@ -12846,7 +13389,7 @@ function queryStatisticsDeviceStatusMySQL() {
|
|
|
12846
13389
|
var query = "select case when ds.status is null then 0 else ds.status end as Stato, sd.name as Descrizione, count(*) as Numero from devices d ";
|
|
12847
13390
|
query += "left join device_usage ds on d.id = ds.id_device ";
|
|
12848
13391
|
query += "join status_description sd on sd.id = Stato "
|
|
12849
|
-
query += "where CURDATE() >= ds.
|
|
13392
|
+
query += "where (CURDATE() >= ds.date_start and CURDATE() <= ds.date_end) or ds.status = 0 ";
|
|
12850
13393
|
query += "and (is_removed is null or is_removed = 0) ";
|
|
12851
13394
|
query += "group by Stato";
|
|
12852
13395
|
return query;
|
|
@@ -12855,7 +13398,7 @@ function queryStatisticsDeviceStatusMySQL2() {
|
|
|
12855
13398
|
var query = "select case when ds.status is null then 0 else ds.status end as Stato, sd.name as Descrizione, count(*) as Numero from devices d ";
|
|
12856
13399
|
query += "left join device_usage ds on d.id = ds.id_device ";
|
|
12857
13400
|
query += "join status_description sd on sd.id = Stato "
|
|
12858
|
-
query += "where CURDATE() >= ds.
|
|
13401
|
+
query += "where (CURDATE() >= ds.date_start and CURDATE() <= ds.date_end) or ds.status = 0 ";
|
|
12859
13402
|
query += "and (is_removed is null or is_removed = 0) ";
|
|
12860
13403
|
query += "group by Stato";
|
|
12861
13404
|
return query;
|
|
@@ -15166,6 +15709,9 @@ module.exports = {
|
|
|
15166
15709
|
queryNetworksByFilter,
|
|
15167
15710
|
getDevicesSelectByRelated,
|
|
15168
15711
|
getDevicesSelect,
|
|
15712
|
+
getDevicesByDetailsSelect,
|
|
15713
|
+
createDeviceSelectObj,
|
|
15714
|
+
createDetailsObj,
|
|
15169
15715
|
getDevicesByIdDoc,
|
|
15170
15716
|
getDevicesSelectBySite,
|
|
15171
15717
|
queryDeviceById,
|