|
|
@@ -17,7 +17,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.time.LocalDateTime;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
@@ -537,13 +537,15 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
|
|
|
@Override
|
|
|
public Object monthData(String dateStr) {
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- LocalDateTime localDateTime =LocalDateTime.parse(dateStr,formatter);
|
|
|
- LocalDateTime newDateTime = localDateTime.plusMonths(1);
|
|
|
- List<PublicRelease> publicReleases = publicReleaseMapper.selectByMonth(localDateTime, newDateTime);
|
|
|
+ LocalDate localDate =LocalDate.parse(dateStr,formatter);
|
|
|
+ LocalDate newDate = localDate.plusMonths(1);
|
|
|
+ List<PublicRelease> publicReleases = publicReleaseMapper.selectByMonth(localDate, newDate);
|
|
|
List<AdminPublicDuration> list=new ArrayList<>();
|
|
|
for (PublicRelease e : publicReleases) {
|
|
|
+ //计算时间差,再加一天就是一共多少天
|
|
|
long daysBetween = DateUtils.getDaysBetween(e.getReleaseStart(), e.getReleaseEnd());
|
|
|
- if (daysBetween==0){
|
|
|
+ daysBetween+=1;
|
|
|
+ if (daysBetween==1){
|
|
|
AdminPublicDuration a = new AdminPublicDuration();
|
|
|
a.setId(e.getAid());
|
|
|
a.setDate(e.getReleaseStart().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
|
|
@@ -551,11 +553,22 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
|
|
|
Admin admin = adminMapper.queryById(e.getAid());
|
|
|
a.setName(admin.getName());
|
|
|
list.add(a);
|
|
|
+ }else if(daysBetween>0){
|
|
|
+ double v = e.getDuration() / daysBetween;
|
|
|
+ for (int i = 0; i < daysBetween; i++) {
|
|
|
+ AdminPublicDuration a = new AdminPublicDuration();
|
|
|
+ a.setId(e.getAid());
|
|
|
+ a.setDate(e.getReleaseStart().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(i));
|
|
|
+ a.setDuration(v);
|
|
|
+ Admin admin = adminMapper.queryById(e.getAid());
|
|
|
+ a.setName(admin.getName());
|
|
|
+ list.add(a);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
- return null;
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
|