diff --git a/platform-common/pom.xml b/platform-common/pom.xml
index 6889e87..f69b730 100644
--- a/platform-common/pom.xml
+++ b/platform-common/pom.xml
@@ -34,6 +34,11 @@
2.6.12
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
diff --git a/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java b/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java
index 0a8b050..b88fed5 100644
--- a/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java
+++ b/platform-common/src/main/java/com/lyms/platform/common/base/BaseController.java
@@ -1,10 +1,17 @@
package com.lyms.platform.common.base;
+import com.lyms.platform.common.utils.DateUtil;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.beans.PropertyEditorSupport;
import java.io.IOException;
import java.io.PrintWriter;
+import java.sql.Timestamp;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -82,4 +89,26 @@ public class BaseController extends ExceptionHandlerController{
}
return ip;
}
+
+ @InitBinder
+ public void initBinder(WebDataBinder binder) {
+ // Date 类型转换
+ binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
+
+ @Override
+ public void setAsText(String text) {
+ setValue(DateUtil.parseDate(text));
+ }
+ });
+
+ // Timestamp 类型转换
+ binder.registerCustomEditor(Timestamp.class, new PropertyEditorSupport() {
+
+ @Override
+ public void setAsText(String text) {
+ Date date = DateUtil.parseDate(text);
+ setValue(date == null ? null : new Timestamp(date.getTime()));
+ }
+ });
+ }
}
diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
index 3d0478d..83e3e48 100644
--- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
+++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
@@ -19,6 +19,8 @@ public class DateUtil {
public static SimpleDateFormat m_d = new SimpleDateFormat("MM/dd");
public static SimpleDateFormat y_m_d_h_m_s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static SimpleDateFormat y_m_d_h_m1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ public static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss",
+ "yyyy/MM/dd HH:mm" };
public static SimpleDateFormat y_m_d_h_m = new SimpleDateFormat("yyyyMMddHHmm");
public static SimpleDateFormat yyyyMMddHHmmssSSS = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@@ -819,4 +821,19 @@ public class DateUtil {
return new Date[]{parseYMD(snDateString.substring(0, 10)), parseYMDEnd(snDateString.substring(13, 23))};
}
+ /**
+ * 日期型字符串转化为日期 格式
+ * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
+ * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
+ */
+ public static Date parseDate(Object str) {
+ if (str == null) {
+ return null;
+ }
+ try {
+ return org.apache.commons.lang3.time.DateUtils.parseDate(str.toString(), parsePatterns);
+ } catch (ParseException e) {
+ return null;
+ }
+ }
}
diff --git a/platform-operate-api/pom.xml b/platform-operate-api/pom.xml
index e3430d8..853d598 100644
--- a/platform-operate-api/pom.xml
+++ b/platform-operate-api/pom.xml
@@ -71,6 +71,17 @@
activemq-pool
${org.activemq.version}
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
+
+ org.eclipse.jetty
+ jetty-servlets
+ 9.3.8.v20160314
+
+
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
index 97f03c6..ed01479 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
@@ -34,8 +34,20 @@ public class ReportController extends BaseController {
*/
@RequestMapping(method = RequestMethod.GET,value = "/getCheckStatistics")
@ResponseBody
- public BaseObjectResponse getCheckStatistics(Date startDate, Date endDate,
+ public BaseObjectResponse getCheckStatistics(String startDate, String endDate,
Integer startWeek, Integer endWeek, Integer childBirth) {
return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth);
}
+
+ @RequestMapping(method = RequestMethod.GET,value = "/date")
+ @ResponseBody
+ public BaseObjectResponse testDate(Date startDate) {
+ if(startDate != null) {
+ System.out.println("startDate = [" + startDate.toLocaleString() + "]");
+ }
+ BaseObjectResponse obj = new BaseObjectResponse();
+ obj.setData(startDate);
+ return obj;
+ }
+
}
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/dao/impl/BaseDaoImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/dao/impl/BaseDaoImpl.java
index f84c564..42d2a70 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/dao/impl/BaseDaoImpl.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/dao/impl/BaseDaoImpl.java
@@ -39,7 +39,7 @@ public class BaseDaoImpl implements IBaseDao {
return qr.query(sql, new MapListHandler(), params.toArray());
} catch (SQLException e) {
logger.error("查询出错: sql: {}, params: {}", sql, params);
+ throw new RuntimeException();
}
- return null;
}
}
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
index d4c152b..23264c3 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
@@ -2,8 +2,6 @@ package com.lyms.platform.operate.web.service;
import com.lyms.platform.common.result.BaseObjectResponse;
-import java.util.Date;
-
/**
* 报表service
* @Author: litao
@@ -21,5 +19,5 @@ public interface IReportService {
* @param childBirth
* @return
*/
- BaseObjectResponse areaCountFacade(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth);
+ BaseObjectResponse areaCountFacade(String startDate, String endDate, Integer startWeek, Integer endWeek, Integer childBirth);
}
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
index 9724a07..876d0e5 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
@@ -3,14 +3,13 @@ package com.lyms.platform.operate.web.service.impl;
import com.lyms.platform.common.result.BaseObjectResponse;
import com.lyms.platform.operate.web.dao.IReportDao;
import com.lyms.platform.operate.web.service.IReportService;
+import com.lyms.platform.operate.web.utils.MathUtil;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import scala.collection.mutable.StringBuilder;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @Author: litao
@@ -24,15 +23,77 @@ public class ReportServiceImpl implements IReportService {
private IReportDao reportDao;
@Override
- public BaseObjectResponse areaCountFacade(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth) {
+ public BaseObjectResponse areaCountFacade(String startDate, String endDate, Integer startWeek, Integer endWeek, Integer childBirth) {
BaseObjectResponse rest = new BaseObjectResponse();
+ Map restMap = new HashMap<>();
List