|
@@ -33,6 +33,8 @@ import java.time.DayOfWeek;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.Year;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.TemporalAccessor;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -464,11 +466,11 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PmProjectTotalWorkTimeVo countTime(Integer dateType, Integer dateNum) {
|
|
|
+ public PmProjectTotalWorkTimeVo countTime(Integer nowDate, Integer dateType, Integer dateNum) {
|
|
|
int scale = 4;
|
|
|
RoundingMode roundingMode = RoundingMode.HALF_UP;
|
|
|
PmProjectTotalWorkTimeVo projectTotalWorkTimeVo = new PmProjectTotalWorkTimeVo();
|
|
|
- Map<String, LocalDateTime> stringLocalDateTimeMap = countWeekOrMonth(dateType, dateNum);
|
|
|
+ Map<String, LocalDateTime> stringLocalDateTimeMap = countWeekOrMonth(nowDate, dateType, dateNum);
|
|
|
LocalDateTime startTime = stringLocalDateTimeMap.get("start");
|
|
|
LocalDateTime endTime = stringLocalDateTimeMap.get("end");
|
|
|
BigDecimal totalWorkTime = BigDecimal.ZERO;
|
|
@@ -518,10 +520,12 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
* @param: [dateType, dateNum]
|
|
|
* @return: java.util.Map<java.lang.String, java.time.LocalDateTime>
|
|
|
**/
|
|
|
- public Map<String, LocalDateTime> countWeekOrMonth(Integer dateType, Integer dateNum) {
|
|
|
+ public Map<String, LocalDateTime> countWeekOrMonth(Integer nowYear, Integer dateType, Integer dateNum) {
|
|
|
Map<String, LocalDateTime> timePeriod = new HashMap<>();
|
|
|
- LocalDate today = LocalDate.now();
|
|
|
- Year currentYear = Year.from(today);
|
|
|
+ Year currentYear = Year.now();
|
|
|
+ if (nowYear != null && nowYear > 0) {
|
|
|
+ currentYear = Year.of(nowYear);
|
|
|
+ }
|
|
|
|
|
|
if (dateType == 1) {
|
|
|
LocalDate lastDayOfYear = currentYear.atDay(currentYear.length());
|