From 082b8cc985f96126db5d554ff1dfc2a8915a3982 Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Mon, 27 Nov 2017 20:58:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BB=BA=E6=A1=A3=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/common/utils/DateUtil.java | 56 ++++++++++++++++++---- .../web/service/impl/ReportServiceImpl.java | 27 +++++++++-- 2 files changed, 71 insertions(+), 12 deletions(-) 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 b46f28b..af63c61 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 @@ -88,6 +88,37 @@ public class DateUtil { } /** + * 获取半年的时间 + */ + public static Date getHalfDay(Date date, Integer addHalt, Integer day) { + if(date != null) { + if(getMonth(date) > 6) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.MONTH, day == 0 ? 6 + (addHalt + 1) * 6 : 6 + addHalt * 6); + calendar.set(Calendar.DAY_OF_MONTH, day); + return getYmdDate(calendar.getTime()); + } + } + return null; + } + + /** + * 获取一年的时间 + */ + public static Date getYear(Date date, Integer addYear, Integer day) { + if(date != null) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR, addYear); + calendar.set(Calendar.MONTH, day == 0 ? 11 : 0); + calendar.set(Calendar.DAY_OF_MONTH, day == 0 ? 31 : 1); + return getYmdDate(calendar.getTime()); + } + return null; + } + + /** * 1月~3月 4~6 7~9 10~11 * 获取当前时间属于哪个季度 * @param date @@ -1343,14 +1374,23 @@ public class DateUtil { System.out.println(" end>> " + getyyyy_MM_dd(map.get("end"))); }*/ - System.out.println("当月第一天: " + getMonthDay(new Date(), 0, 1).toLocaleString()); - System.out.println("当月最后一天: " + getMonthDay(new Date(), 0, 0).toLocaleString()); - System.out.println("上月第一天: " + getMonthDay(new Date(), -1, 1).toLocaleString()); - System.out.println("上月最后一天: " + getMonthDay(new Date(), -1, 0).toLocaleString()); - System.out.println("当前季度第一天: " + getQuartDay(new Date(), 0, 1).toLocaleString()); - System.out.println("当前季度最后一天: " + getQuartDay(new Date(), 0, 0).toLocaleString()); - System.out.println("上个季度第一天: " + getQuartDay(new Date(), -1, 1).toLocaleString()); - System.out.println("上个季度最后一天: " + getQuartDay(new Date(), -1, 0).toLocaleString()); + Date date = parseDate("2017-12-11"); + System.out.println("当月第一天: " + getMonthDay(date, 0, 1).toLocaleString()); + System.out.println("当月最后一天: " + getMonthDay(date, 0, 0).toLocaleString()); + System.out.println("上月第一天: " + getMonthDay(date, -1, 1).toLocaleString()); + System.out.println("上月最后一天: " + getMonthDay(date, -1, 0).toLocaleString()); + System.out.println("当前季度第一天: " + getQuartDay(date, 0, 1).toLocaleString()); + System.out.println("当前季度最后一天: " + getQuartDay(date, 0, 0).toLocaleString()); + System.out.println("上个季度第一天: " + getQuartDay(date, -1, 1).toLocaleString()); + System.out.println("上个季度最后一天: " + getQuartDay(date, -1, 0).toLocaleString()); + System.out.println("半年的第一天: " + getHalfDay(date, 0, 1).toLocaleString()); + System.out.println("半年的最后一天: " + getHalfDay(date, 0, 0).toLocaleString()); + System.out.println("上个半年的第一天: " + getHalfDay(date, -1, 1).toLocaleString()); + System.out.println("上个半年的最后一天: " + getHalfDay(date, -1, 0).toLocaleString()); + System.out.println("当前年的第一天: " + getYear(date, 0, 1).toLocaleString()); + System.out.println("当前年的最后一天: " + getYear(date, 0, 0).toLocaleString()); + System.out.println("上一年的第一天: " + getYear(date, -1, 1).toLocaleString()); + System.out.println("上一年的最后一天: " + getYear(date, -1, 0).toLocaleString()); } } 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 8b1f96c..936fe35 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 @@ -371,18 +371,37 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Date beforeEnd = null; switch (statistVal) { //1=月 2=季度 3=半年 4=年 case 1: - start = DateUtil.getMonthDay(new Date(), 0, 1); - end = DateUtil.getMonthDay(new Date(), 0, 0); - beforeStart = DateUtil.getMonthDay(new Date(), -1, 1); - beforeEnd = DateUtil.getMonthDay(new Date(), -1, 0); + start = DateUtil.getMonthDay(startDate, 0, 1); + end = DateUtil.getMonthDay(startDate, 0, 0); + beforeStart = DateUtil.getMonthDay(startDate, -1, 1); + beforeEnd = DateUtil.getMonthDay(startDate, -1, 0); break; case 2: + start = DateUtil.getQuartDay(startDate, 0, 1); + end = DateUtil.getQuartDay(startDate, 0, 0); + beforeStart = DateUtil.getQuartDay(startDate, -1, 1); + beforeEnd = DateUtil.getQuartDay(startDate, -1, 0); break; case 3: + start = DateUtil.getHalfDay(startDate, 0, 1); + end = DateUtil.getHalfDay(startDate, 0, 0); + beforeStart = DateUtil.getHalfDay(startDate, -1, 1); + beforeEnd = DateUtil.getHalfDay(startDate, -1, 0); break; case 4: + start = DateUtil.getYear(startDate, 0, 1); + end = DateUtil.getYear(startDate, 0, 0); + beforeStart = DateUtil.getYear(startDate, -1, 1); + beforeEnd = DateUtil.getYear(startDate, -1, 0); break; } + List> hospitalInfos = mongoUtil.getHospitals(userId, provinceId, cityId, aredId, streetId); + List hospitalIds = CollectionUtils.getListByKey(hospitalInfos, "id"); + Criteria c = new Criteria(); + c.and("hospitalId").in(hospitalIds).and("yn").ne(0).and("enable").ne("2").and("buildType").ne(1); + if(startDate != null && endDate != null) { + c.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1)); + } } lineMap.put("data", line); lineMap.put("type", "line"); -- 1.8.3.1