alsmanager_lib 2.0.103 → 2.0.105

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 +245 -20
  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 ";
@@ -5086,7 +5090,8 @@ function removeSetInfoSQLite(id_device, id_device_col) {
5086
5090
  var query = "";
5087
5091
  if (id_device > 0 && id_device_col > 0) {
5088
5092
  query = "delete from device_set ";
5089
- query += "where id_maindevice = " + id_device + " or id_relateddevice = " + id_device_col;
5093
+ query += "where (id_maindevice = " + id_device + " and id_relateddevice = " + id_device_col + ") or ";
5094
+ query += "(id_relateddevice = " + id_device + " and id_maindevice = " + id_device_col + ") ";
5090
5095
  }
5091
5096
  return query;
5092
5097
  }
@@ -5095,7 +5100,8 @@ function removeSetInfoMySQL(id_device, id_device_col) {
5095
5100
  var query = "";
5096
5101
  if (id_device > 0 && id_device_col > 0) {
5097
5102
  query = "delete from device_set ";
5098
- query += "where id_maindevice = :id_device or id_relateddevice = :id_device_col";
5103
+ query += "where (id_maindevice = :id_device and id_relateddevice = :id_device_col) or ";
5104
+ query += "(id_relateddevice = :id_device and id_maindevice = :id_device_col) ";
5099
5105
  }
5100
5106
  return query;
5101
5107
  }
@@ -9748,6 +9754,11 @@ function updateDeviceSiteMySQL(id_device) {
9748
9754
  query += "where id_device = :id_device and date_in = (select max(date_in) from device_site where id_device = :id_device)";
9749
9755
  return query;
9750
9756
  }
9757
+ function updateDeviceSiteMySQL2(id_device) {
9758
+ var query = "update device_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
9759
+ query += "where id_device = " + id_device + " and date_in = (select max(date_in) from device_site where id_device = " + id_device + ")";
9760
+ return query;
9761
+ }
9751
9762
  function updateDeviceSite(db_used,id_device) {
9752
9763
  var query = "";
9753
9764
  if (db_used) {
@@ -9759,7 +9770,7 @@ function updateDeviceSite(db_used,id_device) {
9759
9770
  query = updateDeviceSiteMySQL(id_device);
9760
9771
  break;
9761
9772
  case 'MYSQL2':
9762
- query = updateDeviceSiteSQLite(id_device);
9773
+ query = updateDeviceSiteMySQL2(id_device);
9763
9774
  break;
9764
9775
  }
9765
9776
  }
@@ -9799,6 +9810,22 @@ function insertDeviceSiteMySQL(id_device, id_place, id_site, start_date) {
9799
9810
  query += ")";
9800
9811
  return query;
9801
9812
  }
9813
+ function insertDeviceSiteMySQL2(id_device, id_place, id_site, start_date) {
9814
+ var query = "insert into device_site (date_in, date_out, id_device, id_site, id_place) ";
9815
+ query += "values (";
9816
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
9817
+ query += "CURDATE(),";
9818
+ }
9819
+ else {
9820
+ query += "'" + start_date + "',";
9821
+ }
9822
+ query += "'2999-12-31',";
9823
+ query += id_device + ",";
9824
+ query += id_site + ",";
9825
+ query += "'" + id_place + "'";
9826
+ query += ")";
9827
+ return query;
9828
+ }
9802
9829
  function insertDeviceSite(db_used,id_device, id_place, id_site, start_date) {
9803
9830
  var query = "";
9804
9831
  if (db_used) {
@@ -9810,7 +9837,7 @@ function insertDeviceSite(db_used,id_device, id_place, id_site, start_date) {
9810
9837
  query = insertDeviceSiteMySQL(id_device, id_place, id_site, start_date);
9811
9838
  break;
9812
9839
  case 'MYSQL2':
9813
- query = insertDeviceSiteSQLite(id_device, id_place, id_site, start_date);
9840
+ query = insertDeviceSiteMySQL2(id_device, id_place, id_site, start_date);
9814
9841
  break;
9815
9842
  }
9816
9843
  }
@@ -12035,6 +12062,7 @@ function updateAltroBeneSQLite(id_bene, inv_ict3_number, inv_comune_prov, id_typ
12035
12062
  query += "descrizione = '" + descrizione + "', ";
12036
12063
  query += "manifacturer = '" + model + "', ";
12037
12064
  query += "note = '" + note + "' ";
12065
+ query += "where id = " + id_bene;
12038
12066
  return query;
12039
12067
  }
12040
12068
  function updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
@@ -12045,6 +12073,7 @@ function updateAltroBeneMySQL(id_bene, inv_ict3_number, inv_comune_prov, id_type
12045
12073
  query += "descrizione = :descrizione, ";
12046
12074
  query += "manifacturer = :model, ";
12047
12075
  query += "note = :note ";
12076
+ query += "where id = :id_bene";
12048
12077
  return query;
12049
12078
  }
12050
12079
  function updateAltroBene(db_used, id_bene, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note) {
@@ -12093,6 +12122,18 @@ function removeAltroBene(db_used, id_bene) {
12093
12122
  return query;
12094
12123
  }
12095
12124
 
12125
+ function getAltroBeneManifacturerCombo() {
12126
+ var query = "select DISTINCT manifacturer from altri_beni ";
12127
+ return query;
12128
+ }
12129
+
12130
+ function getAltroBeneModelCombo(manifacturer) {
12131
+ var query = "select DISTINCT model from altri_beni ";
12132
+ query += "where manifacturer = '" + manifacturer + "'";
12133
+ return query;
12134
+ }
12135
+
12136
+
12096
12137
  function getAltroBeneByIdSQLite(id_bene) {
12097
12138
  var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12098
12139
  query += "where id = " + id_bene;
@@ -12121,72 +12162,254 @@ function getAltroBeneById(db_used, id_bene) {
12121
12162
  return query;
12122
12163
  }
12123
12164
 
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 ";
12165
+ function getAltriBeniSQLite(id_type, manifacturer, model, id_site, id_place) {
12166
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ab ";
12167
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12168
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12169
+ }
12126
12170
  var where_clause = "";
12127
- if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '')) {
12171
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12128
12172
  where_clause = "where "
12129
12173
  if (manifacturer && manifacturer != '') {
12130
12174
  where_clause += "manifacturer = '" + manifacturer + "' ";
12131
- if ((model && model != '') || (id_type && id_type != '')) {
12175
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12132
12176
  where_clause += " and ";
12133
12177
  }
12134
12178
  }
12135
12179
  if (model && model != '') {
12136
12180
  where_clause += "model = '" + model + "' ";
12137
- if (id_type && id_type != '') {
12181
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12138
12182
  where_clause += " and ";
12139
12183
  }
12140
12184
  }
12141
12185
  if (id_type && id_type != '') {
12142
12186
  where_clause += "id_type = " + id_type + " ";
12187
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12188
+ where_clause += " and ";
12189
+ }
12190
+ }
12191
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12192
+ where_clause += "(s.id_place is not null and s.id_place = '" + id_place + "' && id_site = " + id_site + " ";
12193
+ where_clause += "and s.date_in <= date('now') and s.date_out >= date('now'))";
12143
12194
  }
12144
12195
  }
12145
12196
  query += where_clause;
12146
12197
  return query;
12147
12198
  }
12148
- function getAltriBeniMySQL(id_type, manifacturer, model) {
12199
+ function getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place) {
12149
12200
  var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ";
12201
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12202
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12203
+ }
12150
12204
  var where_clause = "";
12151
- if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '')) {
12205
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12152
12206
  where_clause = "where "
12153
12207
  if (manifacturer && manifacturer != '') {
12154
12208
  where_clause += "manifacturer = :manifacturer ";
12155
- if ((model && model != '') || (id_type && id_type != '')) {
12209
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12156
12210
  where_clause += " and ";
12157
12211
  }
12158
12212
  }
12159
12213
  if (model && model != '') {
12160
12214
  where_clause += "model = :model ";
12161
- if (id_type && id_type != '') {
12215
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12162
12216
  where_clause += " and ";
12163
12217
  }
12164
12218
  }
12165
12219
  if (id_type && id_type != '') {
12166
12220
  where_clause += "id_type = :id_type ";
12221
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12222
+ where_clause += " and ";
12223
+ }
12224
+ }
12225
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12226
+ where_clause += "(s.id_place is not null and s.id_place = :id_place && id_site = :id_site ";
12227
+ where_clause += "and s.date_in <= CURDATE() and s.date_out >= CURDATE()) ";
12167
12228
  }
12168
12229
  }
12169
12230
  query += where_clause;
12170
12231
  return query;
12171
12232
  }
12172
- function getAltriBeni(db_used, id_type, manifacturer, model) {
12233
+ function getAltriBeniMySQL2(id_type, manifacturer, model, id_site, id_place) {
12234
+ var query = "select id, inv_ict3_number, inv_comune_prov, id_type, descrizione, manifacturer, model, note from altri_beni ab ";
12235
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12236
+ query += "left join altri_beni_site s on ab.id = s.id_bene ";
12237
+ }
12238
+ var where_clause = "";
12239
+ if ((manifacturer && manifacturer != '') || (model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12240
+ where_clause = "where "
12241
+ if (manifacturer && manifacturer != '') {
12242
+ where_clause += "manifacturer = '" + manifacturer + "' ";
12243
+ if ((model && model != '') || (id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12244
+ where_clause += " and ";
12245
+ }
12246
+ }
12247
+ if (model && model != '') {
12248
+ where_clause += "model = '" + model + "' ";
12249
+ if ((id_type && id_type != '') || (id_site && id_site > 0) || (id_place && id_place != '')) {
12250
+ where_clause += " and ";
12251
+ }
12252
+ }
12253
+ if (id_type && id_type != '') {
12254
+ where_clause += "id_type = " + id_type + " ";
12255
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12256
+ where_clause += " and ";
12257
+ }
12258
+ }
12259
+ if ((id_site && id_site > 0) || (id_place && id_place != '')) {
12260
+ where_clause += "(s.id_place is not null and s.id_place = '" + id_place + "' && id_site = " + id_site + " ";
12261
+ where_clause += "and s.date_in <= CURDATE() and s.date_out >= CURDATE())";
12262
+ }
12263
+ }
12264
+ query += where_clause;
12265
+ return query;
12266
+ }
12267
+ function getAltriBeni(db_used, id_type, manifacturer, model, id_site, id_place) {
12173
12268
  var query = "";
12174
12269
  if (db_used) {
12175
12270
  switch (db_used) {
12176
12271
  case 'SQLITE':
12177
- query = getAltriBeniSQLite(id_type, manifacturer, model);
12272
+ query = getAltriBeniSQLite(id_type, manifacturer, model, id_site, id_place);
12178
12273
  break;
12179
12274
  case 'MYSQL':
12180
- query = getAltriBeniMySQL(id_type, manifacturer, model);
12275
+ query = getAltriBeniMySQL(id_type, manifacturer, model, id_site, id_place);
12181
12276
  break;
12182
12277
  case 'MYSQL2':
12183
- query = getAltriBeniSQLite(id_type, manifacturer, model);
12278
+ query = getAltriBeniMySQL2(id_type, manifacturer, model, id_site, id_place);
12184
12279
  break;
12185
12280
  }
12186
12281
  }
12187
12282
  return query;
12188
12283
  }
12189
12284
  // --- Gestione luoghi altri beni
12285
+ function updateAltroBeneSiteSQLite(id_bene) {
12286
+ var query = "update altri_beni_site set date_out = date('now','-1 day') ";
12287
+ query += "where id_bene = " + id_bene + " and date_in = (select max(date_in) from altri_beni_site where id_bene = " + id_bene + ")";
12288
+ return query;
12289
+ }
12290
+ function updateAltroBeneSiteMySQL(id_bene) {
12291
+ var query = "update altri_beni_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
12292
+ query += "where id_bene = :id_bene and date_in = (select max(date_in) from altri_beni_site where id_bene = :id_bene)";
12293
+ return query;
12294
+ }
12295
+ function updateAltroBeneSiteMySQL2(id_bene) {
12296
+ var query = "update altri_beni_site set date_out = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ";
12297
+ query += "where id_bene = " + id_bene + " and date_in = (select max(date_in) from altri_beni_site where id_bene = " + id_bene + ")";
12298
+ return query;
12299
+ }
12300
+ function updateAltroBeneSite(db_used, id_bene) {
12301
+ var query = "";
12302
+ if (db_used) {
12303
+ switch (db_used) {
12304
+ case 'SQLITE':
12305
+ query = updateAltroBeneSiteSQLite(id_bene);
12306
+ break;
12307
+ case 'MYSQL':
12308
+ query = updateAltroBeneSiteMySQL(id_bene);
12309
+ break;
12310
+ case 'MYSQL2':
12311
+ query = updateAltroBeneSiteMySQL2(id_bene);
12312
+ break;
12313
+ }
12314
+ }
12315
+ return query;
12316
+ }
12317
+ // end manage updateDevicesSite
12318
+ // Manage insertDeviceSite
12319
+ function insertAltroBeneSiteSQLite(id_bene, id_place, id_site, start_date) {
12320
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12321
+ query += "values (";
12322
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12323
+ query += "date('now'),";
12324
+ }
12325
+ else {
12326
+ query += "'" + start_date + "',";
12327
+ }
12328
+ query += "'2999-12-31',";
12329
+ query += id_bene + ",";
12330
+ query += id_site + ",";
12331
+ query += "'" + id_place + "'";
12332
+ query += ")";
12333
+ return query;
12334
+ }
12335
+ function insertAltroBeneSiteMySQL(id_bene, id_place, id_site, start_date) {
12336
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12337
+ query += "values (";
12338
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12339
+ query += "CURDATE(),";
12340
+ }
12341
+ else {
12342
+ query += ":start_date,";
12343
+ }
12344
+ query += "'2999-12-31',";
12345
+ query += ":id_bene,";
12346
+ query += ":id_site,";
12347
+ query += ":id_place";
12348
+ query += ")";
12349
+ return query;
12350
+ }
12351
+ function insertAltroBeneSiteMySQL2(id_bene, id_place, id_site, start_date) {
12352
+ var query = "insert into altri_beni_site (date_in, date_out, id_bene, id_site, id_place) ";
12353
+ query += "values (";
12354
+ if ((!start_date || start_date == '') || start_date == "TODAY") {
12355
+ query += "CURDATE(),";
12356
+ }
12357
+ else {
12358
+ query += "'" + start_date + "',";
12359
+ }
12360
+ query += "'2999-12-31',";
12361
+ query += id_bene + ",";
12362
+ query += id_site + ",";
12363
+ query += "'" + id_place + "'";
12364
+ query += ")";
12365
+ return query;
12366
+ }
12367
+ function insertAltroBeneSite(db_used, id_bene, id_place, id_site, start_date) {
12368
+ var query = "";
12369
+ if (db_used) {
12370
+ switch (db_used) {
12371
+ case 'SQLITE':
12372
+ query = insertAltroBeneSiteSQLite(id_bene, id_place, id_site, start_date);
12373
+ break;
12374
+ case 'MYSQL':
12375
+ query = insertAltroBeneSiteMySQL(id_bene, id_place, id_site, start_date);
12376
+ break;
12377
+ case 'MYSQL2':
12378
+ query = insertAltroBeneSiteMySQL2(id_bene, id_place, id_site, start_date);
12379
+ break;
12380
+ }
12381
+ }
12382
+ return query;
12383
+ }
12384
+ // end manage updateDevicesSite
12385
+ //
12386
+ function removeAltroBeneFromAllSitesSQLite(id_bene) {
12387
+ var query = "delete from altri_beni_site ";
12388
+ query += "where id_device = " + id_bene;
12389
+ return query;
12390
+ }
12391
+ function removeAltroBeneFromAllSitesMySQL(id_bene) {
12392
+ var query = "delete from altri_beni_site ";
12393
+ query += "where id_device = :id_bene";
12394
+ return query;
12395
+ }
12396
+ function removeAltroBeneFromAllSites(db_used, id_bene) {
12397
+ var query = "";
12398
+ if (db_used) {
12399
+ switch (db_used) {
12400
+ case 'SQLITE':
12401
+ query = removeAltroBeneFromAllSitesSQLite(id_bene);
12402
+ break;
12403
+ case 'MYSQL':
12404
+ query = removeAltroBeneFromAllSitesMySQL(id_bene);
12405
+ break;
12406
+ case 'MYSQL2':
12407
+ query = removeAltroBeneFromAllSitesSQLite(id_bene);
12408
+ break;
12409
+ }
12410
+ }
12411
+ return query;
12412
+ }
12190
12413
 
12191
12414
  // --- Gestione dimissione altri beni
12192
12415
  function insertAltroBeneDismissioneSQLite(id_dismiss, id_bene, motivo, note, data) {
@@ -12729,12 +12952,14 @@ module.exports = {
12729
12952
  removeAltroBene,
12730
12953
  getAltriBeni,
12731
12954
  getAltroBeneById,
12732
- /*
12733
- getAltroBeneByIdSite,
12955
+ getAltroBeneManifacturerCombo,
12956
+ getAltroBeneModelCombo,
12734
12957
  insertAltroBeneSite,
12735
12958
  updateAltroBeneSite,
12736
- removeAltroBeneSite,
12959
+ /*
12960
+ getAltroBeneByIdSite,
12737
12961
  */
12962
+ removeAltroBeneFromAllSites,
12738
12963
  insertAltroBeneDismissione,
12739
12964
  updateAltroBeneDismissione,
12740
12965
  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.105",
8
8
  "description": "Funzioni per ALSManager",
9
9
  "license": "ISC",
10
10
  "author": "Luca Cattani",