/** * 获取差值:总时间 * @param statisticsTaskRespVO 统计任务时长 * @param taskRespVOList 任务列表 */
public void getTotalDurationTime(StatisticsTaskRespVO statisticsTaskRespVO, List<TaskRespVO> taskRespVOList) { long differenceDay = 0; long differenceHour = 0; for (TaskRespVO taskRespVO : taskRespVOList) { Map<String, Object> durationTimeMap = getDurationTime(taskRespVO.getRealEndDate(), taskRespVO.getProjectEndDate()); Object mapDay = durationTimeMap.get("day"); Object mapHour = durationTimeMap.get("hour"); long day = 0; long hour = 0; if (null != mapDay) { day = Long.parseLong(String.valueOf(mapDay)); } if (null != mapHour) { hour = Long.parseLong(String.valueOf(mapHour)); } boolean bol = (boolean) durationTimeMap.get("bol"); if (bol) { if (0 < day) { differenceDay += day; } if (0 < hour) { differenceHour += hour; } } else { if (0 > day) { differenceDay += day; } if (0 > hour) { differenceHour += hour; } } } if (differenceHour > 24) { long addDays = differenceHour / 24; differenceHour -= addDays * 24; differenceDay += addDays; } StringBuilder stringBuilder = new StringBuilder(); statisticsTaskRespVO.setDurationTimeType(0); if (differenceDay > 0) { if (differenceHour < 0) { long zDifferenceHour = Long.parseLong(String.valueOf(differenceHour).substring(1)); stringBuilder.append("共节省:").append(differenceDay - 1).append("天").append(24 - zDifferenceHour).append("小时"); statisticsTaskRespVO.setDurationTimeType(1); } else { statisticsTaskRespVO.setDurationTimeType(1); stringBuilder.append("共节省:").append(differenceDay).append("天").append(differenceHour).append("小时"); } } else if (differenceDay == 0) { if (differenceHour > 0) { statisticsTaskRespVO.setDurationTimeType(1); stringBuilder.append("共节省:").append(differenceHour).append("小时"); } else if (differenceHour == 0) { statisticsTaskRespVO.setDurationTimeType(3); stringBuilder.append("刚刚好!"); } else { statisticsTaskRespVO.setDurationTimeType(2); stringBuilder.append("共超时:").append(String.valueOf(differenceHour).substring(1)).append("小时"); } } else { statisticsTaskRespVO.setDurationTimeType(2); stringBuilder.append("共超时:").append(String.valueOf(differenceDay).substring(1)).append("天") .append(String.valueOf(differenceHour).substring(1)).append("小时"); } statisticsTaskRespVO.setTotalDurationTime(stringBuilder.toString()); }