Browse Source

顽症报告导出调整

zhuang 1 year ago
parent
commit
2031dd5627

+ 21 - 8
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPersistentManageServiceImpl.java

@@ -24,6 +24,10 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.BufferedInputStream;
 import java.io.BufferedInputStream;
 import java.lang.reflect.Field;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.WeekFields;
 import java.util.*;
 import java.util.*;
 import java.util.List;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -542,15 +546,24 @@ public class ZhcxPersistentManageServiceImpl extends ServiceImpl<ZhcxPersistentM
     }
     }
 
 
     private Date[] getWeekDates(int year, int week) {
     private Date[] getWeekDates(int year, int week) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.YEAR, year);
-        calendar.set(Calendar.WEEK_OF_YEAR, week);
-        calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
-
-        Date startDate = calendar.getTime();
-        calendar.add(Calendar.DAY_OF_WEEK, 6);
-        Date endDate = calendar.getTime();
+//        Calendar calendar = Calendar.getInstance();
+//        calendar.set(Calendar.YEAR, year);
+//        calendar.set(Calendar.WEEK_OF_YEAR, week);
+//        calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
+//
+//        Date startDate = calendar.getTime();
+//        calendar.add(Calendar.DAY_OF_WEEK, 6);
+//        Date endDate = calendar.getTime();
+//
+//        return new Date[]{startDate, endDate};
+        LocalDate date = LocalDate.of(year, 1, 1)
+                .with(WeekFields.ISO.weekOfWeekBasedYear(), week)
+                .with(DayOfWeek.SUNDAY);
 
 
+        LocalDate sDate = date; // 本周的开始日期(周一)
+        LocalDate eDate = date.plusDays(6); // 本周的结束日期(周日)
+        Date startDate = Date.from(sDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        Date endDate = Date.from(eDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
         return new Date[]{startDate, endDate};
         return new Date[]{startDate, endDate};
     }
     }
 }
 }