sqlUtil.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. function getuserlist(req) {
  2. let tablename = req.body.tablename;
  3. let sql = `select * from ${tablename} order by id asc`;
  4. return sql;
  5. }
  6. // 查询pdf
  7. function searchpdf(req) {
  8. let tablename = req.body.tablename;
  9. let name = req.body.name;
  10. let date = req.body.date;
  11. let type = req.body.type;
  12. let sql = `select *,to_char(date,'yyyy-mm-dd') from ${tablename} where name = '${name}' and type ='${type}' and date = '${date}' `;
  13. console.log(sql);
  14. return sql;
  15. }
  16. // 预案查询
  17. function yuanlikeSearch(req) {
  18. let tablename = req.body.tablename;
  19. // let date = req.body.date;
  20. let name = req.body.name;
  21. // let sql = `select *,to_char(date,'yyyy-mm-dd hh24:mi:ss') from ${tablename} order by id asc`;
  22. // if (date == "") {
  23. let sql = `select * from ${tablename} where name like '%${name}%' `;
  24. // } else {
  25. // let sql = `select * from ${tablename} where date ='${date}' and name like '%${name}%' order by date asc`;
  26. // }
  27. console.log(sql);
  28. return sql;
  29. }
  30. // 预案查询
  31. function duobiaoList(req) {
  32. let tablename1 = req.body.tablename1;
  33. let tablename2 = req.body.tablename2;
  34. // let name = req.body.name;
  35. // let sql = `select *,to_char(date,'yyyy-mm-dd hh24:mi:ss') from ${tablename} order by id asc`;
  36. let sql = `select * from ${tablename1}, ${tablename2} where ${tablename1}.name =${tablename2}.name`;
  37. return sql;
  38. }
  39. // 预案查询
  40. function duobiaoSearch(req) {
  41. let tablename1 = req.body.tablename1;
  42. let tablename2 = req.body.tablename2;
  43. let name = req.body.name;
  44. let date = req.body.date;
  45. // let name = req.body.name;
  46. // let sql = `select *,to_char(date,'yyyy-mm-dd hh24:mi:ss') from ${tablename} order by id asc`;
  47. let sql = "";
  48. if (date == "") {
  49. sql = `with temp as (
  50. select * from t_emergencyplan where name like '%${name}%'
  51. )
  52. select * from t_siweidaotu join temp on temp.name=t_siweidaotu.name`;
  53. } else {
  54. sql = `with temp as (
  55. select * from t_emergencyplan where name like '%${name}%' and date ='${date}'
  56. )
  57. select * from t_siweidaotu join temp on temp.name=t_siweidaotu.name`;
  58. }
  59. console.log(sql);
  60. return sql;
  61. }
  62. function getshijianlist(req) {
  63. let tablename = req.body.tablename;
  64. let type = req.body.type;
  65. // let sql = `select *,to_char(date,'yyyy-mm-dd hh24:mi:ss') from ${tablename} order by id asc`;
  66. let sql = `select *,to_char(date,'yyyy-mm-dd') from ${tablename} where type = '${type}' order by id asc`;
  67. return sql;
  68. }
  69. function searchshijianlist(req) {
  70. let tablename = req.body.tablename;
  71. let startTime = req.body.startTime;
  72. let endTime = req.body.endTime;
  73. let type = req.body.type;
  74. // console.log(startTime);
  75. // console.log(endTime);
  76. let sql = `select *,to_char(date,'yyyy-mm-dd') from ${tablename} where date >='${startTime}' and date<='${endTime}' and type = '${type}' order by id asc `;
  77. return sql;
  78. }
  79. function searchshijian(req) {
  80. let tablename = req.body.tablename;
  81. let startTime = req.body.startTime;
  82. let endTime = req.body.endTime;
  83. let name = req.body.name;
  84. let type = req.body.type;
  85. // console.log(startTime);
  86. // console.log(endTime);
  87. let sql = `select *,to_char(date,'yyyy-mm-dd') from ${tablename} where date >='${startTime}' and date<='${endTime}'and name like '%${name}%' and type = '${type}' order by id asc`;
  88. return sql;
  89. }
  90. function searchshigu(req) {
  91. let tablename = req.body.tablename;
  92. let startTime = req.body.startTime;
  93. let endTime = req.body.endTime;
  94. let name = req.body.name;
  95. console.log(startTime);
  96. console.log(endTime);
  97. let sql = `select * from ${tablename} where date >='${startTime}' and date <= '${endTime}'and name like '%${name}%' order by id asc`;
  98. console.log(sql);
  99. return sql;
  100. }
  101. function searchshigu2(req) {
  102. let tablename = req.body.tablename;
  103. let startTime = req.body.startTime;
  104. let endTime = req.body.endTime;
  105. let type = req.body.type;
  106. console.log(startTime);
  107. console.log(endTime);
  108. let sql = `select * from ${tablename} where date >='${startTime}' and date <= '${endTime}'and type like '%${type}%' order by id asc`;
  109. console.log(sql);
  110. return sql;
  111. }
  112. function deleteuserlist(req) {
  113. let tablename = req.body.tablename;
  114. let id = req.body.id;
  115. let sql = `DELETE FROM ${tablename}
  116. WHERE id = '${id}' ;`;
  117. return sql;
  118. }
  119. // function deleteuserlist(tablename, fields) {
  120. // var key;
  121. // var value = [];
  122. // if (!tablename) return;
  123. // for (var i in fields) {
  124. // key = i;
  125. // fields[i].forEach(item => {
  126. // value.push("'" + item + "'")
  127. // });
  128. // }
  129. // let sql = "delete from " + tablename + " where " + key + " in ";
  130. // sql += `(${value})`;
  131. // console.log(sql);
  132. // return sql
  133. // }
  134. // 添加
  135. function addUser(tablename, fields) {
  136. if (!tablename) return;
  137. let sql = "insert into " + tablename + "(";
  138. var field = [];
  139. var value = [];
  140. for (var i in fields) {
  141. field.push(i);
  142. value.push(fields[i]);
  143. }
  144. sql += field.join(",") + ") values ('" + value.join("','") + "')";
  145. return sql;
  146. }
  147. // 改
  148. //@param tablename 数据表名称
  149. //@param keyvalue 关键值判断是哪一行相当于id
  150. //@param fields 条件字段,json格式
  151. function modifyUser(req) {
  152. // console.log(req.body);
  153. let tablename = req.body.tablename;
  154. let id = req.body.id;
  155. let name = req.body.name;
  156. let type = req.body.type;
  157. let password = req.body.password;
  158. let power = req.body.power;
  159. let sql = `update ${tablename} set name = '${name}',type = '${type}',password = '${password}',power = '${power}' where id = ${id}`;
  160. return sql;
  161. }
  162. // 通用事故模块xwj
  163. function likeselectshigu(tbname, likefields, timefields) {
  164. if (!tbname) return;
  165. var str = "select *,st_astext(geom) from " + tbname + " where ";
  166. if (Object.keys(timefields).length != 0) {
  167. str +=
  168. "date between '" +
  169. timefields.starttime +
  170. "' and '" +
  171. timefields.endtime +
  172. "' and ";
  173. }
  174. if (Object.keys(likefields).length != 0) {
  175. for (var i in likefields) {
  176. str += i + " LIKE " + "'%" + likefields[i] + "%'" + " and ";
  177. }
  178. }
  179. str = str.substring(0, str.length - 4);
  180. return str;
  181. }
  182. module.exports = {
  183. getuserlist,
  184. deleteuserlist,
  185. addUser,
  186. modifyUser,
  187. getshijianlist,
  188. searchshijianlist,
  189. searchshijian,
  190. searchpdf,
  191. yuanlikeSearch,
  192. searchshigu,
  193. searchshigu2,
  194. duobiaoList,
  195. duobiaoSearch,
  196. // xwj事故定位模块
  197. likeselectshigu,
  198. };