alsmanager_lib 2.0.102 → 2.0.104

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 +415 -6
  2. package/package.json +1 -1
package/lib/modules.js CHANGED
@@ -1,3 +1,7 @@
1
+ /*
2
+ Raccolta call per accesso ai dati di ALS
3
+ Author : Luca Cattani
4
+ */
1
5
  // Manage connectors
2
6
  function getConnectorsByIdDeviceSQLite(id_device) {
3
7
  var query = "select dc.id, ct.conn_type as Tipo, cp.name as Protocollo, dc.conn_number as Numero, dc.conn_verse as Verso from device_connectors dc ";
@@ -9748,6 +9752,11 @@ function updateDeviceSiteMySQL(id_device) {
9748
9752
  query += "where id_device = :id_device and date_in = (select max(date_in) from device_site where id_device = :id_device)";
9749
9753
  return query;
9750
9754
  }
9755
+ function updateDeviceSiteMySQL2(id_device) {
9756
+ var query = "update device_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
9757
+ query += "where id_device = " + id_device + " and date_in = (select max(date_in) from device_site where id_device = " + id_device + ")";
9758
+ return query;
9759
+ }
9751
9760
  function updateDeviceSite(db_used,id_device) {
9752
9761
  var query = "";
9753
9762
  if (db_used) {
@@ -9759,7 +9768,7 @@ function updateDeviceSite(db_used,id_device) {
9759
9768
  query = updateDeviceSiteMySQL(id_device);
9760
9769
  break;
9761
9770
  case 'MYSQL2':
9762
- query = updateDeviceSiteSQLite(id_device);
9771
+ query = updateDeviceSiteMySQL2(id_device);
9763
9772
  break;
9764
9773
  }
9765
9774
  }
@@ -9799,6 +9808,22 @@ function insertDeviceSiteMySQL(id_device, id_place, id_site, start_date) {
9799
9808
  query += ")";
9800
9809
  return query;
9801
9810
  }
9811
+ function insertDeviceSiteMySQL2(id_device, id_place, id_site, start_date) {
9812
+ var query = "insert into device_site (date_in, date_out, id_device, id_site, id_place) ";
9813
+ query += "values (";
9814
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
9815
+ query += "CURDATE(),";
9816
+ }
9817
+ else {
9818
+ query += "'" + start_date + "',";
9819
+ }
9820
+ query += "'2999-12-31',";
9821
+ query += id_device + ",";
9822
+ query += id_site + ",";
9823
+ query += "'" + id_place + "'";
9824
+ query += ")";
9825
+ return query;
9826
+ }
9802
9827
  function insertDeviceSite(db_used,id_device, id_place, id_site, start_date) {
9803
9828
  var query = "";
9804
9829
  if (db_used) {
@@ -9810,7 +9835,7 @@ function insertDeviceSite(db_used,id_device, id_place, id_site, start_date) {
9810
9835
  query = insertDeviceSiteMySQL(id_device, id_place, id_site, start_date);
9811
9836
  break;
9812
9837
  case 'MYSQL2':
9813
- query = insertDeviceSiteSQLite(id_device, id_place, id_site, start_date);
9838
+ query = insertDeviceSiteMySQL2(id_device, id_place, id_site, start_date);
9814
9839
  break;
9815
9840
  }
9816
9841
  }
@@ -11999,8 +12024,390 @@ function removeCredentialById(db_used, id_credential) {
11999
12024
  //end Manage credentials
12000
12025
  // Manage Altri Beni
12001
12026
  // --- Gestione Altri Beni
12027
+ function insertAltroBeneSQLite(inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12028
+ var query = "insert into altri_beni (inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) values ";
12029
+ query += "('" + inv_ict3_number + "', '" + inv_comune_prov + "', " + id_type + ", '" + descrizione + "', '" + manifacturer + "', '" + model + "', '" + note +"')";
12030
+ return query;
12031
+ }
12032
+ function insertAltroBeneMySQL(inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12033
+ var query = "insert into altri_beni (inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) values ";
12034
+ query += "(:inv_ict3_number, :inv_comune_prov, :id_type, :descrizione, :manifacturer, :model, :note)";
12035
+ return query;
12036
+ }
12037
+ function insertAltroBene(db_used, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12038
+ var query = "";
12039
+ if (db_used) {
12040
+ switch (db_used) {
12041
+ case 'SQLITE':
12042
+ query = insertAltroBeneSQLite(inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12043
+ break;
12044
+ case 'MYSQL':
12045
+ query = insertAltroBeneMySQL(inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12046
+ break;
12047
+ case 'MYSQL2':
12048
+ query = insertAltroBeneSQLite(inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12049
+ break;
12050
+ }
12051
+ }
12052
+ return query;
12053
+ }
12002
12054
 
12055
+ function updateAltroBeneSQLite(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12056
+ var query = "update altri_beni set ";
12057
+ query += "inv_ict3_number = '" + inv_ict3_number + "', ";
12058
+ query += "inv_comune_prov = " + inv_comune_prov +"', ";
12059
+ query += "id_type = " + id_type + ", ";
12060
+ query += "descrizione = '" + descrizione + "', ";
12061
+ query += "manifacturer = '" + model + "', ";
12062
+ query += "note = '" + note + "' ";
12063
+ query += "where id = " + id_bene;
12064
+ return query;
12065
+ }
12066
+ function updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12067
+ var query = "update altri_beni set ";
12068
+ query += "inv_ict3_number = :inv_ict3_number, ";
12069
+ query += "inv_comune_prov = :inv_comune_prov, ";
12070
+ query += "id_type = :id_type, ";
12071
+ query += "descrizione = :descrizione, ";
12072
+ query += "manifacturer = :model, ";
12073
+ query += "note = :note ";
12074
+ query += "where id = :id_bene";
12075
+ return query;
12076
+ }
12077
+ function updateAltroBene(db_used, id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
12078
+ var query = "";
12079
+ if (db_used) {
12080
+ switch (db_used) {
12081
+ case 'SQLITE':
12082
+ query = updateAltroBeneSQLite(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12083
+ break;
12084
+ case 'MYSQL':
12085
+ query = updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12086
+ break;
12087
+ case 'MYSQL2':
12088
+ query = updateAltroBeneSQLite(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note);
12089
+ break;
12090
+ }
12091
+ }
12092
+ return query;
12093
+ }
12094
+
12095
+ function removeAltroBeneSQLite(id_bene) {
12096
+ var query = "delete from altri_beni ";
12097
+ query += "where id = " + id_bene;
12098
+ return query;
12099
+ }
12100
+ function removeAltroBeneMySQL(id_bene) {
12101
+ var query = "delete from altri_beni ";
12102
+ query += "where id = :id_bene";
12103
+ return query;
12104
+ }
12105
+ function removeAltroBene(db_used, id_bene) {
12106
+ var query = "";
12107
+ if (db_used) {
12108
+ switch (db_used) {
12109
+ case 'SQLITE':
12110
+ query = removeAltroBeneSQLite(id_bene);
12111
+ break;
12112
+ case 'MYSQL':
12113
+ query = removeAltroBeneMySQL(id_bene);
12114
+ break;
12115
+ case 'MYSQL2':
12116
+ query = removeAltroBeneSQLite(id_bene);
12117
+ break;
12118
+ }
12119
+ }
12120
+ return query;
12121
+ }
12122
+
12123
+ function getAltroBeneManifacturerCombo() {
12124
+ var query = "select DISTINCT manifacturer from altri_beni ";
12125
+ return query;
12126
+ }
12127
+
12128
+ function getAltroBeneModelCombo(manifacturer) {
12129
+ var query = "select DISTINCT model from altri_beni ";
12130
+ query += "where manifacturer = '" + manifacturer + "'";
12131
+ return query;
12132
+ }
12133
+
12134
+
12135
+ function getAltroBeneByIdSQLite(id_bene) {
12136
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12137
+ query += "where id = " + id_bene;
12138
+ return query;
12139
+ }
12140
+ function getAltroBeneByIdMySQL(id_bene) {
12141
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12142
+ query += "where id = :id_bene";
12143
+ return query;
12144
+ }
12145
+ function getAltroBeneById(db_used, id_bene) {
12146
+ var query = "";
12147
+ if (db_used) {
12148
+ switch (db_used) {
12149
+ case 'SQLITE':
12150
+ query = getAltroBeneByIdSQLite(id_bene);
12151
+ break;
12152
+ case 'MYSQL':
12153
+ query = getAltroBeneByIdMySQL(id_bene);
12154
+ break;
12155
+ case 'MYSQL2':
12156
+ query = getAltroBeneByIdSQLite(id_bene);
12157
+ break;
12158
+ }
12159
+ }
12160
+ return query;
12161
+ }
12162
+
12163
+ function getAltriBeniSQLite(id_type, manifacturer, model, id_site, id_place) {
12164
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ab ";
12165
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12166
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12167
+ }
12168
+ var where_clause = "";
12169
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12170
+ where_clause = "where "
12171
+ if (manifacturer && manifacturer != '') {
12172
+ where_clause += "manifacturer = '" + manifacturer + "' ";
12173
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12174
+ where_clause += " and ";
12175
+ }
12176
+ }
12177
+ if (model && model != '') {
12178
+ where_clause += "model = '" + model + "' ";
12179
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12180
+ where_clause += " and ";
12181
+ }
12182
+ }
12183
+ if (id_type && id_type != '') {
12184
+ where_clause += "id_type = " + id_type + " ";
12185
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12186
+ where_clause += " and ";
12187
+ }
12188
+ }
12189
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12190
+ where_clause += "(s.id_place is not null and s.id_place = '" + id_place + "' && id_site = " + id_site + " ";
12191
+ where_clause += "and s.date_in <= date('now') and s.date_out >= date('now'))";
12192
+ }
12193
+ }
12194
+ query += where_clause;
12195
+ return query;
12196
+ }
12197
+ function getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place) {
12198
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12199
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12200
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12201
+ }
12202
+ var where_clause = "";
12203
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12204
+ where_clause = "where "
12205
+ if (manifacturer && manifacturer != '') {
12206
+ where_clause += "manifacturer = :manifacturer ";
12207
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12208
+ where_clause += " and ";
12209
+ }
12210
+ }
12211
+ if (model && model != '') {
12212
+ where_clause += "model = :model ";
12213
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12214
+ where_clause += " and ";
12215
+ }
12216
+ }
12217
+ if (id_type && id_type != '') {
12218
+ where_clause += "id_type = :id_type ";
12219
+ if (id_site && id_site > 0) || (id_place && id_place != '') {
12220
+ where_clause += " and ";
12221
+ }
12222
+ }
12223
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12224
+ where_clause += "(s.id_place is not null and s.id_place = :id_place && id_site = :id_site ";
12225
+ where_clause += "and s.date_in <= CURDATE() and s.date_out >= CURDATE()) ";
12226
+ }
12227
+ }
12228
+ query += where_clause;
12229
+ return query;
12230
+ }
12231
+ function getAltriBeniMySQL2(id_type, manifacturer, model, id_site, id_place) {
12232
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ab ";
12233
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12234
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12235
+ }
12236
+ var where_clause = "";
12237
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12238
+ where_clause = "where "
12239
+ if (manifacturer && manifacturer != '') {
12240
+ where_clause += "manifacturer = '" + manifacturer + "' ";
12241
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12242
+ where_clause += " and ";
12243
+ }
12244
+ }
12245
+ if (model && model != '') {
12246
+ where_clause += "model = '" + model + "' ";
12247
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12248
+ where_clause += " and ";
12249
+ }
12250
+ }
12251
+ if (id_type && id_type != '') {
12252
+ where_clause += "id_type = " + id_type + " ";
12253
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12254
+ where_clause += " and ";
12255
+ }
12256
+ }
12257
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12258
+ where_clause += "(s.id_place is not null and s.id_place = '" + id_place + "' && id_site = " + id_site + " ";
12259
+ where_clause += "and s.date_in <= CURDATE() and s.date_out >= CURDATE())";
12260
+ }
12261
+ }
12262
+ query += where_clause;
12263
+ return query;
12264
+ }
12265
+ function getAltriBeni(db_used, id_type, manifacturer, model, id_site, id_place) {
12266
+ var query = "";
12267
+ if (db_used) {
12268
+ switch (db_used) {
12269
+ case 'SQLITE':
12270
+ query = getAltriBeniSQLite(id_type, manifacturer, model, id_site, id_place);
12271
+ break;
12272
+ case 'MYSQL':
12273
+ query = getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place);
12274
+ break;
12275
+ case 'MYSQL2':
12276
+ query = getAltriBeniMySQL2(id_type, manifacturer, model, id_site, id_place);
12277
+ break;
12278
+ }
12279
+ }
12280
+ return query;
12281
+ }
12003
12282
  // --- Gestione luoghi altri beni
12283
+ function updateAltroBeneSiteSQLite(id_bene) {
12284
+ var query = "update altri_beni_site set date_out = date('now','-1 day') ";
12285
+ query += "where id_bene = " + id_bene + " and date_in = (select max(date_in) from altri_beni_site where id_bene = " + id_bene + ")";
12286
+ return query;
12287
+ }
12288
+ function updateAltroBeneSiteMySQL(id_bene) {
12289
+ var query = "update altri_beni_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
12290
+ query += "where id_bene = :id_bene and date_in = (select max(date_in) from altri_beni_site where id_bene = :id_bene)";
12291
+ return query;
12292
+ }
12293
+ function updateAltroBeneSiteMySQL2(id_bene) {
12294
+ var query = "update altri_beni_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
12295
+ query += "where id_bene = " + id_bene + " and date_in = (select max(date_in) from altri_beni_site where id_bene = " + id_bene + ")";
12296
+ return query;
12297
+ }
12298
+ function updateAltroBeneSite(db_used, id_bene) {
12299
+ var query = "";
12300
+ if (db_used) {
12301
+ switch (db_used) {
12302
+ case 'SQLITE':
12303
+ query = updateAltroBeneSiteSQLite(id_bene);
12304
+ break;
12305
+ case 'MYSQL':
12306
+ query = updateAltroBeneSiteMySQL(id_bene);
12307
+ break;
12308
+ case 'MYSQL2':
12309
+ query = updateAltroBeneSiteMySQL2(id_bene);
12310
+ break;
12311
+ }
12312
+ }
12313
+ return query;
12314
+ }
12315
+ // end manage updateDevicesSite
12316
+ // Manage insertDeviceSite
12317
+ function insertAltroBeneSiteSQLite(id_bene, id_place, id_site, start_date) {
12318
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12319
+ query += "values (";
12320
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12321
+ query += "date('now'),";
12322
+ }
12323
+ else {
12324
+ query += "'" + start_date + "',";
12325
+ }
12326
+ query += "'2999-12-31',";
12327
+ query += id_bene + ",";
12328
+ query += id_site + ",";
12329
+ query += "'" + id_place + "'";
12330
+ query += ")";
12331
+ return query;
12332
+ }
12333
+ function insertAltroBeneSiteMySQL(id_bene, id_place, id_site, start_date) {
12334
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12335
+ query += "values (";
12336
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12337
+ query += "CURDATE(),";
12338
+ }
12339
+ else {
12340
+ query += ":start_date,";
12341
+ }
12342
+ query += "'2999-12-31',";
12343
+ query += ":id_bene,";
12344
+ query += ":id_site,";
12345
+ query += ":id_place";
12346
+ query += ")";
12347
+ return query;
12348
+ }
12349
+ function insertAltroBeneSiteMySQL2(id_bene, id_place, id_site, start_date) {
12350
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12351
+ query += "values (";
12352
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12353
+ query += "CURDATE(),";
12354
+ }
12355
+ else {
12356
+ query += "'" + start_date + "',";
12357
+ }
12358
+ query += "'2999-12-31',";
12359
+ query += id_bene + ",";
12360
+ query += id_site + ",";
12361
+ query += "'" + id_place + "'";
12362
+ query += ")";
12363
+ return query;
12364
+ }
12365
+ function insertAltroBeneSite(db_used, id_bene, id_place, id_site, start_date) {
12366
+ var query = "";
12367
+ if (db_used) {
12368
+ switch (db_used) {
12369
+ case 'SQLITE':
12370
+ query = insertAltroBeneSiteSQLite(id_bene, id_place, id_site, start_date);
12371
+ break;
12372
+ case 'MYSQL':
12373
+ query = insertAltroBeneSiteMySQL(id_bene, id_place, id_site, start_date);
12374
+ break;
12375
+ case 'MYSQL2':
12376
+ query = insertAltroBeneSiteMySQL2(id_bene, id_place, id_site, start_date);
12377
+ break;
12378
+ }
12379
+ }
12380
+ return query;
12381
+ }
12382
+ // end manage updateDevicesSite
12383
+ //
12384
+ function removeAltroBeneFromAllSitesSQLite(id_bene) {
12385
+ var query = "delete from altri_beni_site ";
12386
+ query += "where id_device = " + id_bene;
12387
+ return query;
12388
+ }
12389
+ function removeAltroBeneFromAllSitesMySQL(id_bene) {
12390
+ var query = "delete from altri_beni_site ";
12391
+ query += "where id_device = :id_bene";
12392
+ return query;
12393
+ }
12394
+ function removeAltroBeneFromAllSites(db_used, id_bene) {
12395
+ var query = "";
12396
+ if (db_used) {
12397
+ switch (db_used) {
12398
+ case 'SQLITE':
12399
+ query = removeAltroBeneFromAllSitesSQLite(id_bene);
12400
+ break;
12401
+ case 'MYSQL':
12402
+ query = removeAltroBeneFromAllSitesMySQL(id_bene);
12403
+ break;
12404
+ case 'MYSQL2':
12405
+ query = removeAltroBeneFromAllSitesSQLite(id_bene);
12406
+ break;
12407
+ }
12408
+ }
12409
+ return query;
12410
+ }
12004
12411
 
12005
12412
  // --- Gestione dimissione altri beni
12006
12413
  function insertAltroBeneDismissioneSQLite(id_dismiss, id_bene, motivo, note, data) {
@@ -12538,17 +12945,19 @@ module.exports = {
12538
12945
  selectCredentialById,
12539
12946
  removeCredentialById,
12540
12947
  //
12541
- /*
12542
12948
  insertAltroBene,
12543
- updateAltroBene,
12949
+ updateAltroBene,
12544
12950
  removeAltroBene,
12545
12951
  getAltriBeni,
12546
12952
  getAltroBeneById,
12547
- getAltroBeneByIdSite,
12953
+ getAltroBeneManifacturerCombo,
12954
+ getAltroBeneModelCombo,
12548
12955
  insertAltroBeneSite,
12549
12956
  updateAltroBeneSite,
12550
- removeAltroBeneSite,
12957
+ /*
12958
+ getAltroBeneByIdSite,
12551
12959
  */
12960
+ removeAltroBeneFromAllSites,
12552
12961
  insertAltroBeneDismissione,
12553
12962
  updateAltroBeneDismissione,
12554
12963
  removeAltroBeneDismissione,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  ".": "./lib/modules.js",
5
5
  "./dbconn": "./lib/dbconn.js"
6
6
  },
7
- "version": "2.0.102",
7
+ "version": "2.0.104",
8
8
  "description": "Funzioni per ALSManager",
9
9
  "license": "ISC",
10
10
  "author": "Luca Cattani",