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 eb917d3..5a27ebd 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 @@ -1346,37 +1346,21 @@ public class DateUtil { public static List> getRange(Date start, Date end) { List> restList = new ArrayList<>(); if(start != null && end != null) { - - Calendar calendar = Calendar.getInstance(); // 如果是每月的第一天 这里加一天 方便日期 < 对比 - calendar.setTime(end); - System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); - if(calendar.get(Calendar.DAY_OF_MONTH) == 1) { - end = addDay(end, 1); - } - List dates = getMonthBetween(start, end); - if(dates.size() == 1) { + for (int i = 0; i < dates.size(); i++) { Map temp = new HashMap<>(); - temp.put("cname", dates.get(0)); - temp.put("start", start); - temp.put("end", end); - restList.add(temp); - } else { - for (int i = 0; i < dates.size(); i++) { - Map temp = new HashMap<>(); - temp.put("cname", dates.get(i)); - if(i == 0) { - temp.put("start", start); - temp.put("end", dates.get(i + 1)); - } else if(i == dates.size() - 1) { - temp.put("start", dates.get(dates.size() - 1)); - temp.put("end", end); - } else { - temp.put("start", dates.get(i)); - temp.put("end", dates.get(i + 1)); - } - restList.add(temp); + temp.put("cname", dates.get(i)); + if(i == 0) { + temp.put("start", start); + temp.put("end", dates.size() > 1 ? addDay(dates.get(1), -1) : end); + } else if (i == dates.size() - 1) { + temp.put("start", dates.get(dates.size() - 1)); + temp.put("end", end); + } else { + temp.put("start", dates.get(i)); + temp.put("end", addDay(dates.get(dates.size() - 1), -1)); } + restList.add(temp); } } return restList; @@ -1440,7 +1424,7 @@ public class DateUtil { } public static void main(String[] args) { - List> monthBetween = getRange(parseYMD("2017-1-11"), parseYMD("2017-4-1")); + List> monthBetween = getRange(parseYMD("2017-1-11"), parseYMD("2017-3-1")); for (Map map : monthBetween) { System.out.print("cname>> " + getyyyy_mm(map.get("cname"))); System.out.print(" start>> " + getyyyy_MM_dd(map.get("start"))); 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 777ca9c..b662459 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 @@ -236,7 +236,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService for (Map dateMap : range) { String cname = DateUtil.getyyyy_mm(dateMap.get("cname")); if(patient.getBookbuildingDate().getTime() >= dateMap.get("start").getTime() - && patient.getBookbuildingDate().getTime() < dateMap.get("end").getTime()) { + && patient.getBookbuildingDate().getTime() <= dateMap.get("end").getTime()) { map.put(cname, map.containsKey(cname) ? map.get(cname) + 1 : 1); break; } @@ -244,9 +244,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } else { Map temp = new HashMap<>(); for (Map dateMap : range) { - System.out.println(patient.getBookbuildingDate().toLocaleString() + " " + dateMap.get("start").toLocaleString() + " : " + dateMap.get("end").toLocaleString()); if(patient.getBookbuildingDate().getTime() >= dateMap.get("start").getTime() - && patient.getBookbuildingDate().getTime() < dateMap.get("end").getTime()) { + && patient.getBookbuildingDate().getTime() <= dateMap.get("end").getTime()) { temp.put(DateUtil.getyyyy_mm(dateMap.get("cname")), 1); break; }