Ver código fonte

日期处理

zhaoyun 1 ano atrás
pai
commit
f87664aa9e
1 arquivos alterados com 332 adições e 340 exclusões
  1. 332 340
      bfms-quartz/src/main/java/com/bfms/quartz/task/DMZTask.java

+ 332 - 340
bfms-quartz/src/main/java/com/bfms/quartz/task/DMZTask.java

@@ -19,7 +19,6 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
- 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.bfms.common.core.redis.RedisCache;
@@ -29,356 +28,349 @@ import com.bfms.quartz.domain.DMZjs;
 import com.bfms.quartz.domain.EarlyWarnInfo;
 import com.bfms.system.domain.SysYjdata;
 import com.bfms.system.mapper.SysYjdataMapper;
+
 /**
  * 定时任务调度测试
  * 
  * @author MET
  */
 @Component("DMZsourceTask")
-public class DMZTask
-{
+public class DMZTask {
 	protected final Logger logger = LoggerFactory.getLogger(DMZTask.class);
 	@Autowired
 	private RedisCache redisCache;
 	@Autowired
 	private SysYjdataMapper sysYjdataMapper;
-	
- 
-    public void getDMZSource(String params)
-    {
-    	logger.info("执行DMZ接口拉取预警信号数据");
-    	Calendar rightNow0 = Calendar.getInstance();
-    	Date dt0 = new Date();
+
+	public void getDMZSource(String params) {
+		logger.info("执行DMZ接口拉取预警信号数据");
+		Calendar rightNow0 = Calendar.getInstance();
+		Date dt0 = new Date();
 		rightNow0.setTime(dt0);
 		rightNow0.add(Calendar.DATE, -(7));
-	    Date dt3=rightNow0.getTime(); 
-	    
-  	   String startTime = DateUtils.parseDateToStr("yyyy-MM-dd+HH:mm:ss", dt3);
-  	   
-  	   String endTime = DateUtils.parseDateToStr("yyyy-MM-dd+HH:mm:ss", new Date());
-    	 
-        //查询宁乡预警信号
-        String param = "adminCodes=430182000000&startTime="+startTime+"&endTime="+endTime;
-        String sendGet = HttpUtils.sendGet("http://113.247.231.105:40039/data/YJXH/listByTimeRangeForAreaCode", param);
-        JSONObject resultObject = JSONObject.parseObject(sendGet);
-        if(resultObject.getInteger("code")==200) {
-        	JSONArray jsonArray = resultObject.getJSONArray("data");
-        	for(int i=0;i<jsonArray.size();i++) {
-        		JSONObject object = (JSONObject) jsonArray.get(i);
-        		SysYjdata query = new SysYjdata();
-        		query.setEntrytime(object.getDate("dDatetime"));
-        		query.setSender(object.getString("sendUnit"));
-        		query.setEventtype(object.getString("earlyId")); 
-        		Integer selectSysYjdataListCount = sysYjdataMapper.selectSysYjdataListCount(query);
-        		if(selectSysYjdataListCount<=0) {
-        			SysYjdata sysYJdata = new SysYjdata();
-            		sysYJdata.setImg("http://www.hn12379.cn/uploadfile/warningImg/"+object.getString("earlyName")+".jpg");
-            		sysYJdata.setAreadesc(object.getString("sendArea"));
-            		sysYJdata.setContenttype("分");
-            		sysYJdata.setSendercode(object.getString("sendAreas"));
-            		sysYJdata.setEventtype(object.getString("earlyId")); 
-            		sysYJdata.setSender(object.getString("sendUnit"));
-            		sysYJdata.setEventname(object.getString("earlyName"));
-            		sysYJdata.setEffective(object.getDate("dDatetime"));
-            		sysYJdata.setEntrytime(object.getDate("dDatetime"));
-            		sysYJdata.setWarningsign("预警信号");
-            		sysYJdata.setGeocode(object.getString("sendAreas"));
-            		sysYJdata.setSendtime(object.getDate("dDatetime"));
-            		sysYJdata.setIdentifier(object.getString("sendAreas"));
-            		sysYJdata.setHeadline(object.getString("earlyTitle"));
-            		sysYJdata.setDescription(object.getString("earlyContent"));
-            		sysYJdata.setIseffect(object.getString("earlyPre"));
-            		sysYJdata.setNum(object.getLong("earlyLevel"));
-            		sysYJdata.setSeverity("QXYJ");
-            		sysYjdataMapper.insertSysYjdata(sysYJdata);
-        		} 
-        	}
-			 
-        	logger.info("预警信号数据拉取完毕");
-        	
-        }
-    }
-        
-        	
-       /**
-        * 获取自动站降水信息 	
-        * @param params
-     * @throws UnsupportedEncodingException 
-        */
-       public void getDMZStationpointJS(String params) throws UnsupportedEncodingException
-        {
-
-    	   // 格式化时间
-    	  DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-    	  DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyyMMddHH");
-    	  DateTimeFormatter df1 = DateTimeFormatter.ofPattern("dd日 HH时");
-    
-    	  
-    	  List<Date> LocalDateTimeLis = new ArrayList<Date>();
-    	 JSONObject LT = redisCache.getCacheObject("NingXiang430182:DMZstationpointJS"+":"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+"_LT");
-    	  for(int i=0;i<15;i++) {
-    		// 获取当天早上8点时间 时间精确到8:00:00
-    		  Calendar cale = Calendar.getInstance();  // 取当前日期。
-
-              Calendar calendar = new GregorianCalendar(cale.get(Calendar.YEAR),cale.get(Calendar.MONTH),cale.get(Calendar.DAY_OF_MONTH),i-8,0,0);   
-              Date startTime = calendar.getTime();   
-        	  String startDateTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", startTime).replace(" ", "+");
-        	  LocalDateTimeLis.add(startTime);
-        	  Calendar calendar1 = new GregorianCalendar(cale.get(Calendar.YEAR),cale.get(Calendar.MONTH),cale.get(Calendar.DAY_OF_MONTH),i-7,0,0);   
-              Date endTime = calendar1.getTime();   
-        	  String endDateTime =  DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", endTime).replace(" ", "+");
-
-        	   String DMZstationpointRedis= "NingXiang430182:DMZstationpointJS" +":"+ DateUtils.parseDateToStr("yyyyMMddHH", startTime);
-        	   logger.info("执行DMZ接口获取自动站降水信息 ");
-        	   JSONArray Stationpoint = new JSONArray();
-        	   String param = "adminCodes=430182000000&startTime="+startDateTime+"&endTime="+endDateTime;
-               String sendGet = HttpUtils.sendGet( DMZUris.uri+"/data/hourdata/listByTimeRangeForAreaCode", param);
-               JSONObject resultObject = JSONObject.parseObject(sendGet);
-               if(resultObject.getInteger("code")==200) {
-            	   List<DMZjs> parseArray = JSONArray.parseArray(resultObject.getString("data"), DMZjs.class);
-            	   System.out.println(parseArray.size());
-               	   redisCache.setCacheObject(DMZstationpointRedis,parseArray);
-               }
-    	  }
-    	  JSONObject LTobj = new JSONObject();
-		  
-		  JSONObject a = new JSONObject();
-		  a.put("value", 0);
-		  int max =LocalDateTimeLis.size();
-		  if(max<=10) {
-			  a.put("step", 1);
-		  }else if(max>10 && max<=20) {
-			  a.put("step", 2);
-		  }else if(max>20 && max<=30) {
-			  a.put("step", 3);
-		  }else if(max>30 && max<=40) {
-			  a.put("step", 5);
-		  }else if(max>40 && max<=50) {
-			  a.put("step", 6);
-		  }else if(max>50 && max<=60) {
-			  a.put("step", 7);
-		  }else if(max>60 && max<=70) {
-			  a.put("step", 8);
-		  }else if(max>70 && max<=80) {
-			  a.put("step", 9);
-		  }else if(max>80 && max<=90) {
-			  a.put("step", 10);
-		  }else if(max>90 && max<=130 ) {
-			  a.put("step", 13);
-		  }else if(max>130 && max<=180 ) {
-			  a.put("step", 18);
-		  }else {
-			  a.put("step", 20);
-		  }
-		  
-		  
-		  a.put("max", LocalDateTimeLis.size());
-		  Map<String, JSONObject> marks = new LinkedMap<String, JSONObject>();
-		  for(int i=0;i<LocalDateTimeLis.size();i++) {
-			  JSONObject mark = new JSONObject();
-			  Date localDateTime = LocalDateTimeLis.get(i);
-			  mark.put("rediskey",  DateUtils.parseDateToStr("yyyyMMddHH", localDateTime));
-			  Calendar calendar = Calendar.getInstance();
-			  calendar.setTime(localDateTime);
-			  calendar.add(Calendar.HOUR,8);
-			  Date newdate = calendar.getTime();
- 
-			  String startDateTime = DateUtils.parseDateToStr("dd日HH:mm", newdate);
-			  mark.put("nm", startDateTime);
-			  mark.put("ts",DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", newdate));
-			  
-			  mark.put("des",  DateUtils.parseDateToStr("yyyy-MM-dd HH:mm ", newdate)+" 降水");
-			  marks.put(""+i, mark);
-		  }
-		  
-		  a.put("marks", marks);
-		  LTobj.put("slider0", a);
-		  redisCache.setCacheObject(( "NingXiang430182:DMZstationpointJS" +":"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+"_LT"), a);
-    	
-        
-    }
-       
-       /**
-        * 数据清理定时任务
-        * 
-        * @param params
-        * @throws UnsupportedEncodingException
-        */
-       public void rmvFiles(String params) throws UnsupportedEncodingException
-       {
-    	   System.out.println("文件清理开始执行"); 
-           try {
-        	   //获取前3天目录
-        	  Date d = new Date();
-        	  Calendar c = Calendar.getInstance();
-        	  c.setTime(d);
-        	  c.add(Calendar.DAY_OF_YEAR, -3);
-        	  Date time = c.getTime();
-        	  
-        	  String parseDateToStr = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, time);
-        	  System.out.println("清理文件:"+parseDateToStr); 
-        	  String directoryToClean = "/METplatform/datas/nc";
-        	  
-              ProcessBuilder processBuilder = new ProcessBuilder();
-              processBuilder.command("sh", "-c", "cd " + directoryToClean + " && rm -rf "+parseDateToStr);
-       
-              try {
-                  Process process = processBuilder.start();
-                  int exitCode = process.waitFor();
-                  if (exitCode == 0) {
-                      System.out.println("Directory cleaned successfully.");
-                  } else {
-                      System.out.println("Failed to clean directory.");
-                  }
-              } catch (IOException | InterruptedException e) {
-                  e.printStackTrace();
-              } 
-           } catch (Exception e) {
-               e.printStackTrace();
-           }
-   	   
-       }
-       
-       /**
-        * 启动定时器抓取数据
-        * @param params
-        * @throws UnsupportedEncodingException
-        */
-       public void startPythonQu(String params) throws UnsupportedEncodingException
-       {
-    	   System.out.println("启动Python脚本执行"); 
-           try {
-        	   ///METplatform/product/MET-Tools/
-        	   // nohup python main.py &
-
-              String result =  execute(
-            		  "bash", "-c",
-                       "cd /METplatform/product/MET-Tools",
-                       "nohup", 
-                       "python",
-                       "main.py",
-                       "&"
-                       );
-              ProcessBuilder processBuilder = new ProcessBuilder();
-              processBuilder.command("sh", "-c", "cd /METplatform/product/MET-Tools && nohup python main.py &");
-       
-              try {
-                  Process process = processBuilder.start();
-                  int exitCode = process.waitFor();
-                  if (exitCode == 0) {
-                      System.out.println("Directory cleaned successfully.");
-                  } else {
-                      System.out.println("Failed to clean directory.");
-                  }
-              } catch (IOException | InterruptedException e) {
-                  e.printStackTrace();
-              } 
-           } catch (Exception e) {
-               e.printStackTrace();
-           }
-   	   
-       }
-       
-       
-       
-       private String execute(String... args) throws IOException, InterruptedException {
-           ProcessBuilder pb = new ProcessBuilder(args);
-           pb.redirectErrorStream(true);
-           Process process = pb.start();
-           try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));) {
-               process.waitFor();
-               return reader.lines().collect(Collectors.joining("\n"));
-           } finally {
-               try {
-                   process.destroy();
-               } catch (Exception ignore) {
-               }
-           }
-       }
-       
-        
-       
-       /**
-        * 山洪预警信息
-        * @param params
-        * @throws UnsupportedEncodingException
-        */
-       public void getYJXX(String params) throws UnsupportedEncodingException
-       {
-    	   String param = "";
-    	   //查询最近一个月的数据
-    	   Calendar cale = Calendar.getInstance();  // 取当前日期。
-    	   Date startTime = cale.getTime();   
-     	   String startDateTime = DateUtils.parseDateToStr("yyyy/MM/dd", startTime);
-           Calendar calendar = new GregorianCalendar(cale.get(Calendar.YEAR),cale.get(Calendar.MONTH),cale.get(Calendar.DAY_OF_MONTH)-30,0,0,0);   
-           Date endTime = calendar.getTime();   
-     	   String endDateTime = DateUtils.parseDateToStr("yyyy/MM/dd", endTime).replace(" ", "+");
-     	   param+="startDateTime="+startDateTime+"&endDateTime="+endDateTime+"&eventType=11A01,11A51,11D03&geoCode=430182000000";
-    	   
-           String sendGet = HttpUtils.sendPost( "http://10.111.127.195/warninfo/getEarlyWarnInfo", param);
-           JSONObject resultObject = JSONObject.parseObject(sendGet);
-           
-           JSONArray datasyjxh = new JSONArray();
-           JSONObject RESULTyjxh = new JSONObject();
-           RESULTyjxh.put("ts", DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM));
-       	   RESULTyjxh.put("barTitle",  "山洪预警信号");
-           if(resultObject.getInteger("status")==1) {
-        	   List<EarlyWarnInfo> parseArray = JSONArray.parseArray(resultObject.getString("data"), EarlyWarnInfo.class);
-        	   //System.out.println(parseArray.size());
-        	   for (int i = 0; i < parseArray.size(); i++) {
-        		   JSONObject data = new JSONObject();
-	           		//预警信号内容
-	           		data.put("infoContent", parseArray.get(i).getDESCRIPTION());
-	           		data.put("createTime", parseArray.get(i).getSENDTIME());
-	           		data.put("earlyName", parseArray.get(i).getEFFECTIVE());
-	           		data.put("earlyTitle", parseArray.get(i).getHEADLINE());
-	           		data.put("groupId", parseArray.get(i).getGEOCODE());
-	           		data.put("sendArea", parseArray.get(i).getSENDERCODE());
-	           		data.put("sendUnit", parseArray.get(i).getSENDER());
-	           		data.put("earlyContent", parseArray.get(i).getDESCRIPTION());
-	           		data.put("earlyType", parseArray.get(i).getEVENTNAME());
-	           		data.put("earlyLevel", parseArray.get(i).getSEVERITY_ZH());
-	           		datasyjxh.add(data);
-        	   }
-        	   RESULTyjxh.put("data", datasyjxh);
-           	   redisCache.setCacheObject( "NingXiang430182:warningnewsSH" ,RESULTyjxh);
-           }
-           
-           //地质灾害
-           datasyjxh = new JSONArray();
-           RESULTyjxh = new JSONObject();
-           RESULTyjxh.put("ts", DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM));
-       	   RESULTyjxh.put("barTitle",  "地质灾害预警信号");
-           param+="startDateTime="+startDateTime+"&endDateTime="+endDateTime+"&eventType=11B37,11D99&geoCode=430182000000";
-    	   
-           sendGet = HttpUtils.sendPost( "http://10.111.127.195/warninfo/getEarlyWarnInfo", param);
-           resultObject = JSONObject.parseObject(sendGet);
-           
-           datasyjxh = new JSONArray();
-           if(resultObject.getInteger("status")==1) {
-        	   List<EarlyWarnInfo> parseArray = JSONArray.parseArray(resultObject.getString("data"), EarlyWarnInfo.class);
-        	   //System.out.println(parseArray.size());
-        	   for (int i = 0; i < parseArray.size(); i++) {
-        		   JSONObject data = new JSONObject();
-	           		//预警信号内容
-	           		data.put("infoContent", parseArray.get(i).getDESCRIPTION());
-	           		data.put("createTime", parseArray.get(i).getSENDTIME());
-	           		data.put("earlyName", parseArray.get(i).getEFFECTIVE());
-	           		data.put("earlyTitle", parseArray.get(i).getHEADLINE());
-	           		data.put("groupId", parseArray.get(i).getGEOCODE());
-	           		data.put("sendArea", parseArray.get(i).getSENDERCODE());
-	           		data.put("sendUnit", parseArray.get(i).getSENDER());
-	           		data.put("earlyContent", parseArray.get(i).getDESCRIPTION());
-	           		data.put("earlyType", parseArray.get(i).getEVENTNAME());
-	           		data.put("earlyLevel", parseArray.get(i).getSEVERITY_ZH());
-	           		datasyjxh.add(data);
-        	   }
-        	   RESULTyjxh.put("data", datasyjxh);
-           	   redisCache.setCacheObject( "NingXiang430182:warningnewsDZ" ,RESULTyjxh);
-           }
-           
-           
-           
-           
-       }
+		Date dt3 = rightNow0.getTime();
+
+		String startTime = DateUtils.parseDateToStr("yyyy-MM-dd+HH:mm:ss", dt3);
+
+		String endTime = DateUtils.parseDateToStr("yyyy-MM-dd+HH:mm:ss", new Date());
+
+		// 查询宁乡预警信号
+		String param = "adminCodes=430182000000&startTime=" + startTime + "&endTime=" + endTime;
+		String sendGet = HttpUtils.sendGet("http://113.247.231.105:40039/data/YJXH/listByTimeRangeForAreaCode", param);
+		JSONObject resultObject = JSONObject.parseObject(sendGet);
+		if (resultObject.getInteger("code") == 200) {
+			JSONArray jsonArray = resultObject.getJSONArray("data");
+			for (int i = 0; i < jsonArray.size(); i++) {
+				JSONObject object = (JSONObject) jsonArray.get(i);
+				SysYjdata query = new SysYjdata();
+				try {
+					query.setEntrytime(object.getDate("dDatetime"));
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				query.setSender(object.getString("sendUnit"));
+				query.setEventtype(object.getString("earlyId"));
+				Integer selectSysYjdataListCount = sysYjdataMapper.selectSysYjdataListCount(query);
+				if (selectSysYjdataListCount <= 0) {
+					SysYjdata sysYJdata = new SysYjdata();
+					sysYJdata.setImg(
+							"http://www.hn12379.cn/uploadfile/warningImg/" + object.getString("earlyName") + ".jpg");
+					sysYJdata.setAreadesc(object.getString("sendArea"));
+					sysYJdata.setContenttype("分");
+					sysYJdata.setSendercode(object.getString("sendAreas"));
+					sysYJdata.setEventtype(object.getString("earlyId"));
+					sysYJdata.setSender(object.getString("sendUnit"));
+					sysYJdata.setEventname(object.getString("earlyName"));
+					sysYJdata.setEffective(object.getDate("dDatetime"));
+					sysYJdata.setEntrytime(object.getDate("dDatetime"));
+					sysYJdata.setWarningsign("预警信号");
+					sysYJdata.setGeocode(object.getString("sendAreas"));
+					sysYJdata.setSendtime(object.getDate("dDatetime"));
+					sysYJdata.setIdentifier(object.getString("sendAreas"));
+					sysYJdata.setHeadline(object.getString("earlyTitle"));
+					sysYJdata.setDescription(object.getString("earlyContent"));
+					sysYJdata.setIseffect(object.getString("earlyPre"));
+					sysYJdata.setNum(object.getLong("earlyLevel"));
+					sysYJdata.setSeverity("QXYJ");
+					sysYjdataMapper.insertSysYjdata(sysYJdata);
+				}
+			}
+
+			logger.info("预警信号数据拉取完毕");
+
+		}
+	}
+
+	/**
+	 * 获取自动站降水信息
+	 * 
+	 * @param params
+	 * @throws UnsupportedEncodingException
+	 */
+	public void getDMZStationpointJS(String params) throws UnsupportedEncodingException {
+
+		// 格式化时间
+		DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+		DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyyMMddHH");
+		DateTimeFormatter df1 = DateTimeFormatter.ofPattern("dd日 HH时");
+
+		List<Date> LocalDateTimeLis = new ArrayList<Date>();
+		JSONObject LT = redisCache.getCacheObject(
+				"NingXiang430182:DMZstationpointJS" + ":" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + "_LT");
+		for (int i = 0; i < 15; i++) {
+			// 获取当天早上8点时间 时间精确到8:00:00
+			Calendar cale = Calendar.getInstance(); // 取当前日期。
+
+			Calendar calendar = new GregorianCalendar(cale.get(Calendar.YEAR), cale.get(Calendar.MONTH),
+					cale.get(Calendar.DAY_OF_MONTH), i - 8, 0, 0);
+			Date startTime = calendar.getTime();
+			String startDateTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", startTime).replace(" ", "+");
+			LocalDateTimeLis.add(startTime);
+			Calendar calendar1 = new GregorianCalendar(cale.get(Calendar.YEAR), cale.get(Calendar.MONTH),
+					cale.get(Calendar.DAY_OF_MONTH), i - 7, 0, 0);
+			Date endTime = calendar1.getTime();
+			String endDateTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", endTime).replace(" ", "+");
+
+			String DMZstationpointRedis = "NingXiang430182:DMZstationpointJS" + ":"
+					+ DateUtils.parseDateToStr("yyyyMMddHH", startTime);
+			logger.info("执行DMZ接口获取自动站降水信息 ");
+			JSONArray Stationpoint = new JSONArray();
+			String param = "adminCodes=430182000000&startTime=" + startDateTime + "&endTime=" + endDateTime;
+			String sendGet = HttpUtils.sendGet(DMZUris.uri + "/data/hourdata/listByTimeRangeForAreaCode", param);
+			JSONObject resultObject = JSONObject.parseObject(sendGet);
+			if (resultObject.getInteger("code") == 200) {
+				List<DMZjs> parseArray = JSONArray.parseArray(resultObject.getString("data"), DMZjs.class);
+				System.out.println(parseArray.size());
+				redisCache.setCacheObject(DMZstationpointRedis, parseArray);
+			}
+		}
+		JSONObject LTobj = new JSONObject();
+
+		JSONObject a = new JSONObject();
+		a.put("value", 0);
+		int max = LocalDateTimeLis.size();
+		if (max <= 10) {
+			a.put("step", 1);
+		} else if (max > 10 && max <= 20) {
+			a.put("step", 2);
+		} else if (max > 20 && max <= 30) {
+			a.put("step", 3);
+		} else if (max > 30 && max <= 40) {
+			a.put("step", 5);
+		} else if (max > 40 && max <= 50) {
+			a.put("step", 6);
+		} else if (max > 50 && max <= 60) {
+			a.put("step", 7);
+		} else if (max > 60 && max <= 70) {
+			a.put("step", 8);
+		} else if (max > 70 && max <= 80) {
+			a.put("step", 9);
+		} else if (max > 80 && max <= 90) {
+			a.put("step", 10);
+		} else if (max > 90 && max <= 130) {
+			a.put("step", 13);
+		} else if (max > 130 && max <= 180) {
+			a.put("step", 18);
+		} else {
+			a.put("step", 20);
+		}
+
+		a.put("max", LocalDateTimeLis.size());
+		Map<String, JSONObject> marks = new LinkedMap<String, JSONObject>();
+		for (int i = 0; i < LocalDateTimeLis.size(); i++) {
+			JSONObject mark = new JSONObject();
+			Date localDateTime = LocalDateTimeLis.get(i);
+			mark.put("rediskey", DateUtils.parseDateToStr("yyyyMMddHH", localDateTime));
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(localDateTime);
+			calendar.add(Calendar.HOUR, 8);
+			Date newdate = calendar.getTime();
+
+			String startDateTime = DateUtils.parseDateToStr("dd日HH:mm", newdate);
+			mark.put("nm", startDateTime);
+			mark.put("ts", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", newdate));
+
+			mark.put("des", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm ", newdate) + " 降水");
+			marks.put("" + i, mark);
+		}
+
+		a.put("marks", marks);
+		LTobj.put("slider0", a);
+		redisCache.setCacheObject(
+				("NingXiang430182:DMZstationpointJS" + ":" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + "_LT"), a);
+
+	}
+
+	/**
+	 * 数据清理定时任务
+	 * 
+	 * @param params
+	 * @throws UnsupportedEncodingException
+	 */
+	public void rmvFiles(String params) throws UnsupportedEncodingException {
+		System.out.println("文件清理开始执行");
+		try {
+			// 获取前3天目录
+			Date d = new Date();
+			Calendar c = Calendar.getInstance();
+			c.setTime(d);
+			c.add(Calendar.DAY_OF_YEAR, -3);
+			Date time = c.getTime();
+
+			String parseDateToStr = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, time);
+			System.out.println("清理文件:" + parseDateToStr);
+			String directoryToClean = "/METplatform/datas/nc";
+
+			ProcessBuilder processBuilder = new ProcessBuilder();
+			processBuilder.command("sh", "-c", "cd " + directoryToClean + " && rm -rf " + parseDateToStr);
+
+			try {
+				Process process = processBuilder.start();
+				int exitCode = process.waitFor();
+				if (exitCode == 0) {
+					System.out.println("Directory cleaned successfully.");
+				} else {
+					System.out.println("Failed to clean directory.");
+				}
+			} catch (IOException | InterruptedException e) {
+				e.printStackTrace();
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+	}
+
+	/**
+	 * 启动定时器抓取数据
+	 * 
+	 * @param params
+	 * @throws UnsupportedEncodingException
+	 */
+	public void startPythonQu(String params) throws UnsupportedEncodingException {
+		System.out.println("启动Python脚本执行");
+		try {
+			/// METplatform/product/MET-Tools/
+			// nohup python main.py &
+
+			String result = execute("bash", "-c", "cd /METplatform/product/MET-Tools", "nohup", "python", "main.py",
+					"&");
+			ProcessBuilder processBuilder = new ProcessBuilder();
+			processBuilder.command("sh", "-c", "cd /METplatform/product/MET-Tools && nohup python main.py &");
+
+			try {
+				Process process = processBuilder.start();
+				int exitCode = process.waitFor();
+				if (exitCode == 0) {
+					System.out.println("Directory cleaned successfully.");
+				} else {
+					System.out.println("Failed to clean directory.");
+				}
+			} catch (IOException | InterruptedException e) {
+				e.printStackTrace();
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+	}
+
+	private String execute(String... args) throws IOException, InterruptedException {
+		ProcessBuilder pb = new ProcessBuilder(args);
+		pb.redirectErrorStream(true);
+		Process process = pb.start();
+		try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));) {
+			process.waitFor();
+			return reader.lines().collect(Collectors.joining("\n"));
+		} finally {
+			try {
+				process.destroy();
+			} catch (Exception ignore) {
+			}
+		}
+	}
+
+	/**
+	 * 山洪预警信息
+	 * 
+	 * @param params
+	 * @throws UnsupportedEncodingException
+	 */
+	public void getYJXX(String params) throws UnsupportedEncodingException {
+		String param = "";
+		// 查询最近一个月的数据
+		Calendar cale = Calendar.getInstance(); // 取当前日期。
+		Date startTime = cale.getTime();
+		String startDateTime = DateUtils.parseDateToStr("yyyy/MM/dd", startTime);
+		Calendar calendar = new GregorianCalendar(cale.get(Calendar.YEAR), cale.get(Calendar.MONTH),
+				cale.get(Calendar.DAY_OF_MONTH) - 30, 0, 0, 0);
+		Date endTime = calendar.getTime();
+		String endDateTime = DateUtils.parseDateToStr("yyyy/MM/dd", endTime).replace(" ", "+");
+		param += "startDateTime=" + startDateTime + "&endDateTime=" + endDateTime
+				+ "&eventType=11A01,11A51,11D03&geoCode=430182000000";
+
+		String sendGet = HttpUtils.sendPost("http://10.111.127.195/warninfo/getEarlyWarnInfo", param);
+		JSONObject resultObject = JSONObject.parseObject(sendGet);
+
+		JSONArray datasyjxh = new JSONArray();
+		JSONObject RESULTyjxh = new JSONObject();
+		RESULTyjxh.put("ts", DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM));
+		RESULTyjxh.put("barTitle", "山洪预警信号");
+		if (resultObject.getInteger("status") == 1) {
+			List<EarlyWarnInfo> parseArray = JSONArray.parseArray(resultObject.getString("data"), EarlyWarnInfo.class);
+			// System.out.println(parseArray.size());
+			for (int i = 0; i < parseArray.size(); i++) {
+				JSONObject data = new JSONObject();
+				// 预警信号内容
+				data.put("infoContent", parseArray.get(i).getDESCRIPTION());
+				data.put("createTime", parseArray.get(i).getSENDTIME());
+				data.put("earlyName", parseArray.get(i).getEFFECTIVE());
+				data.put("earlyTitle", parseArray.get(i).getHEADLINE());
+				data.put("groupId", parseArray.get(i).getGEOCODE());
+				data.put("sendArea", parseArray.get(i).getSENDERCODE());
+				data.put("sendUnit", parseArray.get(i).getSENDER());
+				data.put("earlyContent", parseArray.get(i).getDESCRIPTION());
+				data.put("earlyType", parseArray.get(i).getEVENTNAME());
+				data.put("earlyLevel", parseArray.get(i).getSEVERITY_ZH());
+				datasyjxh.add(data);
+			}
+			RESULTyjxh.put("data", datasyjxh);
+			redisCache.setCacheObject("NingXiang430182:warningnewsSH", RESULTyjxh);
+		}
+
+		// 地质灾害
+		datasyjxh = new JSONArray();
+		RESULTyjxh = new JSONObject();
+		RESULTyjxh.put("ts", DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM));
+		RESULTyjxh.put("barTitle", "地质灾害预警信号");
+		param += "startDateTime=" + startDateTime + "&endDateTime=" + endDateTime
+				+ "&eventType=11B37,11D99&geoCode=430182000000";
+
+		sendGet = HttpUtils.sendPost("http://10.111.127.195/warninfo/getEarlyWarnInfo", param);
+		resultObject = JSONObject.parseObject(sendGet);
+
+		datasyjxh = new JSONArray();
+		if (resultObject.getInteger("status") == 1) {
+			List<EarlyWarnInfo> parseArray = JSONArray.parseArray(resultObject.getString("data"), EarlyWarnInfo.class);
+			// System.out.println(parseArray.size());
+			for (int i = 0; i < parseArray.size(); i++) {
+				JSONObject data = new JSONObject();
+				// 预警信号内容
+				data.put("infoContent", parseArray.get(i).getDESCRIPTION());
+				data.put("createTime", parseArray.get(i).getSENDTIME());
+				data.put("earlyName", parseArray.get(i).getEFFECTIVE());
+				data.put("earlyTitle", parseArray.get(i).getHEADLINE());
+				data.put("groupId", parseArray.get(i).getGEOCODE());
+				data.put("sendArea", parseArray.get(i).getSENDERCODE());
+				data.put("sendUnit", parseArray.get(i).getSENDER());
+				data.put("earlyContent", parseArray.get(i).getDESCRIPTION());
+				data.put("earlyType", parseArray.get(i).getEVENTNAME());
+				data.put("earlyLevel", parseArray.get(i).getSEVERITY_ZH());
+				datasyjxh.add(data);
+			}
+			RESULTyjxh.put("data", datasyjxh);
+			redisCache.setCacheObject("NingXiang430182:warningnewsDZ", RESULTyjxh);
+		}
+
+	}
 }