alsmanager_lib 2.0.103 → 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 +241 -18
  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
  }
@@ -12035,6 +12060,7 @@ function updateAltroBeneSQLite(id_bene, inv_ict3_number, inv_comune_prov, id_typ
12035
12060
  query += "descrizione = '" + descrizione + "', ";
12036
12061
  query += "manifacturer = '" + model + "', ";
12037
12062
  query += "note = '" + note + "' ";
12063
+ query += "where id = " + id_bene;
12038
12064
  return query;
12039
12065
  }
12040
12066
  function updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
@@ -12045,6 +12071,7 @@ function updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type
12045
12071
  query += "descrizione = :descrizione, ";
12046
12072
  query += "manifacturer = :model, ";
12047
12073
  query += "note = :note ";
12074
+ query += "where id = :id_bene";
12048
12075
  return query;
12049
12076
  }
12050
12077
  function updateAltroBene(db_used, id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
@@ -12093,6 +12120,18 @@ function removeAltroBene(db_used, id_bene) {
12093
12120
  return query;
12094
12121
  }
12095
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
+
12096
12135
  function getAltroBeneByIdSQLite(id_bene) {
12097
12136
  var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12098
12137
  query += "where id = " + id_bene;
@@ -12121,72 +12160,254 @@ function getAltroBeneById(db_used, id_bene) {
12121
12160
  return query;
12122
12161
  }
12123
12162
 
12124
- function getAltriBeniSQLite(id_type, manifacturer, model) {
12125
- var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
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
+ }
12126
12168
  var where_clause = "";
12127
- if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '')) {
12169
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12128
12170
  where_clause = "where "
12129
12171
  if (manifacturer && manifacturer != '') {
12130
12172
  where_clause += "manifacturer = '" + manifacturer + "' ";
12131
- if ((model && model != '') || (id_type && id_type != '')) {
12173
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12132
12174
  where_clause += " and ";
12133
12175
  }
12134
12176
  }
12135
12177
  if (model && model != '') {
12136
12178
  where_clause += "model = '" + model + "' ";
12137
- if (id_type && id_type != '') {
12179
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12138
12180
  where_clause += " and ";
12139
12181
  }
12140
12182
  }
12141
12183
  if (id_type && id_type != '') {
12142
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'))";
12143
12192
  }
12144
12193
  }
12145
12194
  query += where_clause;
12146
12195
  return query;
12147
12196
  }
12148
- function getAltriBeniMySQL(id_type, manifacturer, model) {
12197
+ function getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place) {
12149
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
+ }
12150
12202
  var where_clause = "";
12151
- if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '')) {
12203
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12152
12204
  where_clause = "where "
12153
12205
  if (manifacturer && manifacturer != '') {
12154
12206
  where_clause += "manifacturer = :manifacturer ";
12155
- if ((model && model != '') || (id_type && id_type != '')) {
12207
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12156
12208
  where_clause += " and ";
12157
12209
  }
12158
12210
  }
12159
12211
  if (model && model != '') {
12160
12212
  where_clause += "model = :model ";
12161
- if (id_type && id_type != '') {
12213
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12162
12214
  where_clause += " and ";
12163
12215
  }
12164
12216
  }
12165
12217
  if (id_type && id_type != '') {
12166
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()) ";
12167
12226
  }
12168
12227
  }
12169
12228
  query += where_clause;
12170
12229
  return query;
12171
12230
  }
12172
- function getAltriBeni(db_used, id_type, manifacturer, model) {
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) {
12173
12266
  var query = "";
12174
12267
  if (db_used) {
12175
12268
  switch (db_used) {
12176
12269
  case 'SQLITE':
12177
- query = getAltriBeniSQLite(id_type, manifacturer, model);
12270
+ query = getAltriBeniSQLite(id_type, manifacturer, model, id_site, id_place);
12178
12271
  break;
12179
12272
  case 'MYSQL':
12180
- query = getAltriBeniMySQL(id_type, manifacturer, model);
12273
+ query = getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place);
12181
12274
  break;
12182
12275
  case 'MYSQL2':
12183
- query = getAltriBeniSQLite(id_type, manifacturer, model);
12276
+ query = getAltriBeniMySQL2(id_type, manifacturer, model, id_site, id_place);
12184
12277
  break;
12185
12278
  }
12186
12279
  }
12187
12280
  return query;
12188
12281
  }
12189
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
+ }
12190
12411
 
12191
12412
  // --- Gestione dimissione altri beni
12192
12413
  function insertAltroBeneDismissioneSQLite(id_dismiss, id_bene, motivo, note, data) {
@@ -12729,12 +12950,14 @@ module.exports = {
12729
12950
  removeAltroBene,
12730
12951
  getAltriBeni,
12731
12952
  getAltroBeneById,
12732
- /*
12733
- getAltroBeneByIdSite,
12953
+ getAltroBeneManifacturerCombo,
12954
+ getAltroBeneModelCombo,
12734
12955
  insertAltroBeneSite,
12735
12956
  updateAltroBeneSite,
12736
- removeAltroBeneSite,
12957
+ /*
12958
+ getAltroBeneByIdSite,
12737
12959
  */
12960
+ removeAltroBeneFromAllSites,
12738
12961
  insertAltroBeneDismissione,
12739
12962
  updateAltroBeneDismissione,
12740
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.103",
7
+ "version": "2.0.104",
8
8
  "description": "Funzioni per ALSManager",
9
9
  "license": "ISC",
10
10
  "author": "Luca Cattani",