gis.map.boat.refresh.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. //window.setInterval(css(),1000);
  2. //600011786 1447063859 118.7702 32.1249 103.7 511 MEI SHENG 1999 0 0 5 5.7 0 0 0 2 1 3 09-11月-15 06.18.10.000000 下午
  3. //600011785 1447063859 118.7702 32.1249 103.7 511 MEI SHENG 2001 0 0 5 5.7 0 0 0 2 1 3 09-11月-15 06.18.10.000000 下午 AAApC0AAHAAAACTAAA
  4. var ztreeObj;
  5. gis.script.exeInterval=true;
  6. gis.script.exeloadcbdataService=true;
  7. gis.script.openbwjlj={};
  8. gis.script.setBoatInterval=function(){
  9. if(layerUserControl&&typeof(layerUserControl)!='undefined'){
  10. if(typeof(layerUserControl.boatonLayers)!='undefined'){
  11. //alert(layerUserControl.boatonLayers);
  12. gis.script.exeInterval=(layerUserControl.boatonLayers==true);
  13. //alert(gis.script.exeInterval);
  14. }
  15. }
  16. if(gis.script.exeInterval){
  17. //ztreeObj=$.fn.zTree.getZTreeObj("tree");
  18. ztreeObj=gis.script.getcbZTreeObj();
  19. //window.setTimeout window.setInterval
  20. //console.log("1.>gis.script.boatrefreshInfo>",gis.script.boatrefreshInfo[413764588]);
  21. /*
  22. * 5分钟刷新tree上的船舶信息
  23. */
  24. window.setInterval(function(){
  25. try{
  26. if(gis.script.exeInterval){
  27. //console.log("2.>gis.script.boatrefreshInfo>",gis.script.boatrefreshInfo[413764588]);
  28. gis.script.exeInterval=false;
  29. gis.script.loadcbdataService(gis.script.phase.refresh);
  30. }
  31. }catch(e){
  32. //alert(e.message);
  33. }
  34. },300000); //60000*120
  35. /*
  36. * 1分钟刷新船舶信息(重新绘制船舶)
  37. */
  38. window.setInterval(function(){
  39. try{
  40. if(gis.script.exeloadcbdataService){
  41. gis.script.loadcbdataService(gis.script.phase.cbrefresh);
  42. }
  43. }catch(e){
  44. //alert(e.message);
  45. }
  46. },60000);
  47. }
  48. }
  49. gis.script.refreshTree = function(o,datao){
  50. //gis.tree.updatecb(ztreeObj,nodes,null);
  51. gis.script.refreshConfigXmlBWService("bwsjServices");
  52. }
  53. gis.script.refreshConfigXmlBWService = function(servicename){
  54. var gqnodesObj=[];
  55. if(!ztreeObj){
  56. ztreeObj=gis.script.getcbZTreeObj()
  57. }
  58. gis.script.findTreeGqNodes(gqnodesObj,ztreeObj.getNodes());
  59. //console.log(gqnodesObj);
  60. gis.script.openbwjlj={};
  61. gis.script.findTreeBWNodes(gis.script.openbwjlj,ztreeObj.getNodes());
  62. gis.script.delcbnodes(ztreeObj.getNodes());
  63. //console.log("n2n",gis.script.openbwjlj);
  64. gis.script.treeiframeupdatecb(ztreeObj,ztreeObj.getNodes(),null);
  65. for(var ij=0;ij<gqnodesObj.length;ij++){
  66. gis.script.treeiframeaddcbtotreeApi(ztreeObj,gqnodesObj[ij],'GK_BASIC_JSJY_GK_GQ','V'+gqnodesObj[ij].code);
  67. }
  68. gis.script.exeInterval=true;
  69. }
  70. gis.script.findTreeGqNodes = function(gqnodesObj,nodes){
  71. if(gqnodesObj){
  72. for(var i in nodes){
  73. var node=nodes[i];
  74. if(node&&node.treeNodeType&&node.treeNodeType=="GK_BASIC_JSJY_GK_GQ"){
  75. if(node.children&&node.children.length){
  76. if(node.code&&gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']&&
  77. gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+node.code]&&gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+node.code].length>0){
  78. gqnodesObj.push(node);
  79. }
  80. }
  81. }else if(node.children){
  82. gis.script.findTreeGqNodes(gqnodesObj,node.children);
  83. }
  84. }
  85. }
  86. }
  87. gis.script.findTreeBWNodes = function(objs,nodes){
  88. if(objs){
  89. for(var i in nodes){
  90. var node=nodes[i];
  91. if(node&&node.treeNodeType&&node.treeNodeType=="GK_BASIC_JSJY_JYR_BW"){
  92. if(node.open){
  93. objs[node.id]=true;
  94. }
  95. }else if(node.children){
  96. gis.script.findTreeBWNodes(objs,node.children);
  97. }
  98. }
  99. }
  100. }
  101. gis.script.findTreeJYRNodes = function(objs,nodes){
  102. if(objs){
  103. for(var i in nodes){
  104. var node=nodes[i];
  105. if(node&&node.treeNodeType&&node.treeNodeType=="GK_BASIC_JSJY_JYR"){
  106. if(node.open){
  107. objs[node.id]=true;
  108. }
  109. }else if(node.children){
  110. gis.script.findTreeJYRNodes(objs,node.children);
  111. }
  112. }
  113. }
  114. }
  115. gis.script.refreshConfigXmlBWService2 = function(servicename){
  116. //treeNode.treeNodeType&&treeNode.treeNodeType=="GK_BASIC_JSJY_GK_GQ"
  117. var gqnodes=[];
  118. var gqnodesCode=[];
  119. var gqnodesObj=[];
  120. gis.script.findgqnodes(gqnodes,gqnodesCode,gqnodesObj,ztreeObj.getNodes());
  121. //console.log("gqnodes",gqnodes);
  122. //console.log("gqnodesCode",gqnodesCode);
  123. if(gqnodes.length){
  124. var dataServices=gisConfigBean.dataconfig;
  125. if(dataServices){
  126. //gis.script.consolelog('dataServices',dataServices);
  127. var originaldata = gisConfigBean.dataconfig[servicename];
  128. var data=jQuery.extend(true, {}, originaldata);
  129. if(data.Model&&data.Model[gis.script.modelid]){
  130. var model=data.Model[gis.script.modelid];
  131. data.datasetNames=data.datasetNames.split(",");
  132. data.fields=data.fields.split(",");
  133. data.cachedata=model.cachedata||data.cachedata;
  134. data.zoom=model.zoom||data.zoom;
  135. data.treelocationHighlight=model.treelocationHighlight||"false";
  136. data.url=data.url||defdataUrl;
  137. gis.script.jsonAjax({url:contextPath+"/zygl/findjyrbwcodes.html",contentType:'application/json;charset=utf-8',async:true,data:JSON.stringify({ids:gqnodes})},
  138. function(ajaxdata){
  139. if(ajaxdata&&ajaxdata.length){
  140. var coid=[];
  141. var cbObj={};
  142. //alert(gis.script.isNotBlank());alert(gis.script.isNotBlank(0));alert(gis.script.isNotBlank(""));
  143. for(var i=0;i<ajaxdata.length;i++){
  144. var cbobj=ajaxdata[i];
  145. //alert(JSON.stringify(cbobj));
  146. if(gis.script.isNotBlank(cbobj.ICODE)){
  147. coid.push(cbobj.ICODE);
  148. cbObj['V'+cbobj.ICODE]=cbobj;
  149. }
  150. }
  151. data.attributeFilter="ID in ("+coid.join(",")+")";
  152. //alert(data.attributeFilter);
  153. gis.script.refreshServicexmlBWlocation(data,ajaxdata,cbObj,gqnodesObj);
  154. }else{
  155. //alert();
  156. gis.script.delcbnodes(ztreeObj.getNodes());
  157. //console.log("gis.script.cbdataInfostatistics>>",gis.script.cbdataInfostatistics);
  158. //console.log("gqnodesCode>>",gqnodesCode);
  159. //alert();
  160. if(gqnodesCode&&gqnodesCode.length){
  161. //gis.script.treeiframeaddcbtotreeApi(treeObj,objdata,'GK_BASIC_JSJY_GK_GQ','V'+data.code);
  162. for(var k=0;k<gqnodesObj.length;k++){
  163. var nd=gqnodesObj[k];
  164. //console.log("nd>>",nd);
  165. gis.script.treeiframeaddcbtotreeApi(ztreeObj,nd,'GK_BASIC_JSJY_GK_GQ','V'+nd.code);
  166. }
  167. }
  168. gis.script.exeInterval=true;
  169. }
  170. });
  171. }
  172. }
  173. }else{
  174. gis.script.delcbnodes(ztreeObj.getNodes());
  175. gis.script.treeiframeupdatecb(ztreeObj,ztreeObj.getNodes(),null);
  176. gis.script.exeInterval=true;
  177. }
  178. }
  179. gis.script.refreshServicexmlBWlocation = function(o,datao,cbObj,gqnodesObj){
  180. var featureParam = new SuperMap.REST.FilterParameter({
  181. //name: o.name,
  182. fields:o.fields,
  183. attributeFilter:o.attributeFilter
  184. });
  185. var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({
  186. //toIndex:65536,
  187. toIndex:-1,
  188. queryParameter:featureParam,
  189. datasetNames:o.datasetNames
  190. });
  191. var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, {
  192. eventListeners: {
  193. "processCompleted":function(e){
  194. gis.script.delcbnodes(ztreeObj.getNodes());//alert();
  195. var result=e.result;
  196. var features=result.features;
  197. if(features&&features.length){
  198. if(gqnodesObj&&gqnodesObj.length){
  199. for(var ii=0;ii<gqnodesObj.length;ii++){
  200. var cbin=gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+gqnodesObj[ii].code];
  201. for(var kk=0;kk<cbin.length;kk++){
  202. var cbp=cbin[kk];
  203. for(var ik=0;ik<features.length;ik++){
  204. var feature=features[ik];
  205. if(cbp&&feature){
  206. //alert(feature.geometry.intersects(cbp))
  207. if(feature.geometry.intersects(cbp)){
  208. //alert(feature.attributes.mc+"--"+feature.attributes.id);
  209. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR_BW","V"+feature.attributes.id,cbp);
  210. if(cbp.arrt){
  211. if(cbp.arrt.status&&cbp.arrt.status==5){
  212. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR_BW_STATUS","V"+feature.attributes.id,cbp);
  213. }
  214. if(cbp.arrt.danger&&cbp.arrt.danger==1){
  215. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR_BW_DANGER","V"+feature.attributes.id,cbp);
  216. }
  217. }
  218. if(cbObj){
  219. var jyrObj=cbObj["V"+feature.attributes.id];
  220. if(jyrObj){
  221. //alert(jyrObj);//jyrcode JYRCODE
  222. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR","V"+jyrObj.JYRCODE,cbp);
  223. if(cbp.arrt){
  224. cbp.arrt.cbshowinjyr=true;
  225. if(cbp.arrt.status&&cbp.arrt.status==5){
  226. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR_STATUS","V"+jyrObj.JYRCODE,cbp);
  227. }
  228. if(cbp.arrt.danger&&cbp.arrt.danger==1){
  229. gis.script.initcbdataInfostatistics("GK_BASIC_JSJY_JYR_DANGER","V"+jyrObj.JYRCODE,cbp);
  230. }
  231. }
  232. }
  233. }
  234. //
  235. break;
  236. }
  237. }
  238. }
  239. }
  240. }
  241. //console.log("gis.script.cbdataInfostatistics>>",gis.script.cbdataInfostatistics);
  242. gis.script.treeiframeupdatecb(ztreeObj,ztreeObj.getNodes(),null);
  243. //gis.script.treeiframeaddcbtotreeApi(treeObj,treeNode,'GK_BASIC_JSJY_GK_GQ','V'+o.code);
  244. for(var ij=0;ij<gqnodesObj.length;ij++){
  245. gis.script.treeiframeaddcbtotreeApi(ztreeObj,gqnodesObj[ij],'GK_BASIC_JSJY_GK_GQ','V'+gqnodesObj[ij].code);
  246. }
  247. }
  248. }
  249. gis.script.exeInterval=true;
  250. },
  251. "processFailed": gis.script.sqlProcessFailed
  252. }
  253. });
  254. featuresBySQLService.processAsync(featuresBySQLParams);
  255. }
  256. gis.script.isNotBlank=function(value){
  257. if(typeof(value)!='undefined'){
  258. value=value+"";
  259. for(var i=0; i<value.length; i++) {
  260. var c = value.charAt(i);
  261. if ((c!=' ')&&(c!='\n')&&(c!='\t')) return true;
  262. }
  263. }
  264. return false;
  265. }
  266. gis.script.findgqnodes = function(inode,cnode,onode,nodes){
  267. if(inode&&cnode&&nodes){
  268. for(var i in nodes){
  269. var node=nodes[i];
  270. if(node&&node.treeNodeType&&node.treeNodeType=="GK_BASIC_JSJY_GK_GQ"){
  271. if(node.children&&node.children.length){
  272. if(node.code&&gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']&&
  273. gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+node.code]&&gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+node.code].length>0){
  274. //alert(gis.script.cbdataInfostatistics['GK_BASIC_JSJY_GK_GQ']['V'+node.code].length);
  275. inode.push(node.id);
  276. cnode.push(node.code);
  277. onode.push(node);
  278. }
  279. }
  280. }else if(node.children){
  281. gis.script.findgqnodes(inode,cnode,onode,node.children);
  282. }
  283. }
  284. }
  285. }
  286. gis.script.delcbnodes = function(nodes){
  287. var ns=[];
  288. gis.script.itergqnodes(ns,nodes);
  289. //console.log("ns>>",ns);
  290. if(ns){
  291. for(var i=0;i<ns.length;i++){
  292. ztreeObj.removeNode(ns[i]);
  293. }
  294. }
  295. }
  296. gis.script.itergqnodes = function(ns,nodes){
  297. if(nodes){
  298. for(var i in nodes){
  299. var node=nodes[i];
  300. //console.log("node>>",node);
  301. if(node&&node.treeNodeType&&node.treeNodeType=="HS_AIS"){
  302. ns.push(node);
  303. }else if(node.children){
  304. gis.script.itergqnodes(ns,node.children);
  305. }
  306. }
  307. }
  308. }