sql.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /* sqlHelper */
  2. // //只插入Geo字段
  3. // function InsertGeom(req) {
  4. // let wkt = req.query.wkt
  5. // let tablename = req.query.tablename
  6. // let sql = `INSERT INTO public.${tablename}(geom,type) VALUES (st_geomfromtext('${wkt}',4326),'polygon');`
  7. // return sql
  8. // }
  9. //插入一整条数据
  10. function InsertDataWithGeom(req) {
  11. let type = req.body.type
  12. let entityname = req.body.entityname
  13. let jg = req.body.jg
  14. let collecttime = req.body.collecttime
  15. let updatetime = req.body.updatetime
  16. let gd = req.body.gd
  17. let wkt = req.body.wkt
  18. let descinfor = req.body.descinfor
  19. // let label = req.body.label
  20. let tablename = req.body.tablename
  21. let sql = `INSERT INTO public.${tablename}(entityname,jg,collecttime,updatetime,gd,descinfor, geom, type)VALUES ('${entityname}','${jg}','${collecttime}','${updatetime}','${gd}', '${descinfor}', st_geomfromtext('${wkt}',4326), '${type}');`;
  22. console.log(sql);
  23. return sql
  24. }
  25. //更新一条数据
  26. function UpdataDataWithGeom(req) {
  27. let type = req.body.type
  28. let entityname = req.body.entityname
  29. let jg = req.body.jg
  30. let collecttime = req.body.collecttime
  31. let updatetime = req.body.updatetime
  32. let gd = req.body.gd
  33. let wkt = req.body.wkt
  34. let descinfor = req.body.descinfor
  35. let id = req.body.id
  36. // let label = req.body.label
  37. let tablename = req.body.tablename;
  38. let sql = `UPDATE public.${tablename} SET entityname='${entityname}', jg='${jg}', collecttime='${collecttime}', updatetime='${updatetime}', gd='${gd}', descinfor='${descinfor}', geom = st_geomfromtext('${wkt}',4326), type='${type}' where id = ${id}`
  39. console.log(sql);
  40. return sql
  41. }
  42. //在插入单体化时,查询全部label,防止label重复
  43. function getAlldata(req) {
  44. let tablename = req.body.tablename;
  45. // let sql = `select label from public.${tablename} ORDER BY id`;
  46. let sql = `select entityname from public.${tablename} ORDER BY id`;
  47. if (req.body.getgeom) {
  48. // sql = `select id,label,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
  49. sql = `select id,entityname,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
  50. }
  51. return sql
  52. }
  53. //获取所有接图表
  54. function getAllJieTuBiao(req) {
  55. let tablename = req.body.tablename;
  56. // let sql = `select label from public.${tablename} ORDER BY id`;
  57. let sql = `select* from public.${tablename} ORDER BY id`;
  58. if (req.body.getgeom) {
  59. // sql = `select id,label,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
  60. sql = `select refname,id,name,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
  61. }
  62. return sql
  63. }
  64. //在插入单体化时,查询全部label,防止label重复
  65. function getDataByLabel(req) {
  66. let tablename = req.body.tablename;
  67. // let label = req.body.label;
  68. let entityname = req.body.entityname;
  69. return `select id, entityname,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where entityname = '${ entityname}' ORDER BY id`;
  70. }
  71. //获取点击位置的实体
  72. function selectWithPoint(req) {
  73. let tablename = req.body.tablename;
  74. let pointwkt = req.body.pointwkt;
  75. // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
  76. let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
  77. return sql
  78. }
  79. //获取点击接图表的实体
  80. function selectWithJieTuPoint(req) {
  81. let tablename = req.body.tablename;
  82. let pointwkt = req.body.pointwkt;
  83. // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
  84. let sql = `select id, name, url, st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4490)) ORDER BY id`
  85. return sql
  86. }
  87. //获取点击位置的实体
  88. function qureyByID(req) {
  89. let tablename = req.body.tablename;
  90. let id = req.body.id;
  91. // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
  92. let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where id = ${id} ORDER BY id`
  93. return sql
  94. }
  95. //获取点击位置的实体
  96. function qureyByID(req) {
  97. let tablename = req.body.tablename;
  98. let id = req.body.id;
  99. // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
  100. let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where id = ${id} ORDER BY id`
  101. return sql
  102. }
  103. //获取点击位置的实体
  104. function qureyByJieTuID(req) {
  105. let tablename = req.body.tablename;
  106. let refname = req.body.refname;
  107. // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
  108. let sql = `select name, id,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where refname = ${refname} ORDER BY name`
  109. return sql
  110. }
  111. module.exports = {
  112. InsertDataWithGeom,
  113. UpdataDataWithGeom,
  114. getAlldata,
  115. selectWithPoint,
  116. qureyByID,
  117. getDataByLabel,
  118. getAllJieTuBiao,
  119. qureyByJieTuID,
  120. selectWithJieTuPoint
  121. };