diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java index 324d1d8..aa8592c 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java @@ -79,6 +79,41 @@ } /** + * 本月每天 + * @return + */ + public static List getDayListOfMonth(String yearMonth) { + if (yearMonth.length() != 7) { + return null; + } + + List list = new ArrayList(); + String ystr = yearMonth.substring(0, 4); + String mstr = yearMonth.substring(5,7); + + Calendar a = Calendar.getInstance(); + a.set(Calendar.YEAR, Integer.parseInt(ystr));//年份 + a.set(Calendar.MONTH,Integer.parseInt(mstr) - 1);//月份 + a.set(Calendar.DATE, 1); + a.roll(Calendar.DATE, -1); + + int maxDate = a.get(Calendar.DATE); + + for (int i = 0; i < maxDate; i++) { + int d = i+1; + String dstr = ""; + if (d < 10) { + dstr = "0"+String.valueOf(d); + }else { + dstr = String.valueOf(d); + } + String day = ystr + "-" + mstr + "-" + dstr; + list.add(day); + } + return list; + } + + /** * 本月1日0点 */ public static String getThisMonthFirst() { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java index 324d1d8..aa8592c 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DateUtils.java @@ -79,6 +79,41 @@ } /** + * 本月每天 + * @return + */ + public static List getDayListOfMonth(String yearMonth) { + if (yearMonth.length() != 7) { + return null; + } + + List list = new ArrayList(); + String ystr = yearMonth.substring(0, 4); + String mstr = yearMonth.substring(5,7); + + Calendar a = Calendar.getInstance(); + a.set(Calendar.YEAR, Integer.parseInt(ystr));//年份 + a.set(Calendar.MONTH,Integer.parseInt(mstr) - 1);//月份 + a.set(Calendar.DATE, 1); + a.roll(Calendar.DATE, -1); + + int maxDate = a.get(Calendar.DATE); + + for (int i = 0; i < maxDate; i++) { + int d = i+1; + String dstr = ""; + if (d < 10) { + dstr = "0"+String.valueOf(d); + }else { + dstr = String.valueOf(d); + } + String day = ystr + "-" + mstr + "-" + dstr; + list.add(day); + } + return list; + } + + /** * 本月1日0点 */ public static String getThisMonthFirst() { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/WorkbenchCalendarScheduleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/WorkbenchCalendarScheduleServiceImpl.java index c01f4dc..e7d077a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/WorkbenchCalendarScheduleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/WorkbenchCalendarScheduleServiceImpl.java @@ -11,14 +11,13 @@ import com.casic.missiles.mapper.workbench.WorkbenchCalendarScheduleMapper; import com.casic.missiles.model.workbench.WorkbenchCalendarSchedule; import com.casic.missiles.service.workbench.IWorkbenchCalendarScheduleService; +import com.casic.missiles.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -45,7 +44,18 @@ Map> resultMap = list.stream().collect( Collectors.groupingBy(WorkbenchCalendarSchedule::getScheduleDate) ); - return resultMap; + + List dayListOfMonth = DateUtils.getDayListOfMonth(calendarMonth); + //LinkedHashMap保证插入顺序 + Map> finalMap = new LinkedHashMap<>(); + for (String day : dayListOfMonth) { + if(CollectionUtils.isEmpty(resultMap.get(day))){ + finalMap.put(day, new ArrayList<>()); + }else{ + finalMap.put(day, resultMap.get(day)); + } + } + return finalMap; } @Override