|
@@ -14,8 +14,6 @@ import java.util.Map;
|
|
|
*/
|
|
|
|
|
|
public class DataChange {
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 解析前端传来的日期字符串
|
|
|
* @param vueDate
|
|
@@ -72,7 +70,7 @@ public class DataChange {
|
|
|
if(date == null)
|
|
|
return null;
|
|
|
try{
|
|
|
- changeDate = (Date) date;
|
|
|
+ changeDate = (Date) date;
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -167,7 +165,7 @@ public class DataChange {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据时间段查询数据
|
|
|
+ * 根据时间段查询数据 支持只选择单个时间
|
|
|
* @Author TXF
|
|
|
* @Date 2022/1/10 23:21
|
|
|
* @param startTime
|
|
@@ -188,4 +186,74 @@ public class DataChange {
|
|
|
map.put("oneDate", sdf.format(new Date()));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 只支持两个时间查询
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/15 9:08
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @param sdf
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ public static void queryDataByDateTime(String startTime, String endTime, Map<String, Object> map,SimpleDateFormat sdf){
|
|
|
+ SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
|
|
|
+ map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
|
|
|
+ map.put("endDate", sdf.format(new Date(Long.parseLong(endTime))));
|
|
|
+ }
|
|
|
+ //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
|
|
|
+ else if((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))){
|
|
|
+ if(startTime != null && !"null".equals(startTime)){
|
|
|
+ queryDataByTwoDateSon(map, startTime, sdfDate);
|
|
|
+ }
|
|
|
+ if(endTime != null && !"null".equals(endTime)){
|
|
|
+ queryDataByTwoDateSon(map, endTime, sdfDate);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //如果两者时间都为空,则查询当天数据
|
|
|
+ String nowDate = sdfDate.format(new Date());
|
|
|
+ map.put("oneDate", nowDate + " 00:00:00");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上面方法的儿子方法 如果只传入了一个时间 则查询那天的数据
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/17 16:17
|
|
|
+ * @param map
|
|
|
+ * @param time
|
|
|
+ * @param sdfDate
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ private static void queryDataByTwoDateSon(Map<String, Object> map, String time, SimpleDateFormat sdfDate){
|
|
|
+ Date date1 = new Date(Long.parseLong(time));
|
|
|
+ Date date2 = new Date(Long.parseLong(time) + 86400000);
|
|
|
+ String dayStartTime = sdfDate.format(date1);
|
|
|
+ String dayEndTime = sdfDate.format(date2);
|
|
|
+ map.put("startDate", dayStartTime + " 00:00:00");
|
|
|
+ map.put("endDate", dayEndTime + " 00:00:00");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生成带时间的八位数顺序号
|
|
|
+ * @param start 前缀
|
|
|
+ * @param id 顺序号 主键Id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String generateEightDigitsNumber(String start, Integer id,String pot){
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ StringBuilder sb = new StringBuilder(start + pot + sdf.format(new Date()) + pot);
|
|
|
+ sb.append(
|
|
|
+ id < 10
|
|
|
+ ? "0000000" + id : id < 100
|
|
|
+ ? "000000" + id : id < 1000
|
|
|
+ ? "00000" + id : id < 10000
|
|
|
+ ? "0000" + id : id < 100000
|
|
|
+ ? "000" + id : id < 1000000
|
|
|
+ ? "00" + id : id < 10000000
|
|
|
+ ? "0" + id : id.toString()
|
|
|
+ );
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
}
|