yusm 1 месяц назад
Родитель
Сommit
1bb9a46a82

+ 27 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/vo/TimeTaskVO.java

@@ -0,0 +1,27 @@
+package com.management.platform.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.management.platform.entity.dto.TaskDto;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@JsonInclude(value = JsonInclude.Include.NON_NULL)
+@AllArgsConstructor
+@NoArgsConstructor
+public class TimeTaskVO {
+
+    @JsonFormat(pattern = "HH:mm")
+    @DateTimeFormat(pattern = "HH:mm")
+    private LocalTime currentTime;
+
+    private List<TaskDto> taskDtoList;
+}

+ 102 - 43
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -11,6 +11,7 @@ import com.management.platform.entity.*;
 import com.management.platform.entity.dto.TaskDto;
 import com.management.platform.entity.vo.DailyTaskVO;
 import com.management.platform.entity.vo.TasKVo;
+import com.management.platform.entity.vo.TimeTaskVO;
 import com.management.platform.mapper.*;
 import com.management.platform.service.*;
 import com.management.platform.util.ExcelUtil;
@@ -1479,6 +1480,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
 
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
         DateTimeFormatter formatterDate = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter formatterTime = DateTimeFormatter.ofPattern("HH:mm");
         LocalDateTime parseStartDate = LocalDateTime.parse(startDate + " 00:00", formatter);
         LocalDateTime parseEndDate = LocalDateTime.parse(endDate + " 00:00", formatter).plusDays(1L);
 
@@ -1496,59 +1498,116 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         }
         List<TaskDto> taskDtoList= taskMapper.getTaskListByStartAndEnd(parseStartDate,parseEndDate,departmentId,executor,companyId);
 
-        // 使用LinkedHashMap保持日期顺序
-        Map<LocalDate, List<TaskDto>> dailyTasks = new LinkedHashMap<>();
+        if (type==1||type==2) {
+            // 使用LinkedHashMap保持日期顺序
+            Map<LocalDate, List<TaskDto>> dailyTasks = new LinkedHashMap<>();
+
+            // 生成从startDate到endDate的所有日期,并初始化空列表
+            LocalDate parseStart = LocalDate.parse(startDate, formatterDate);
+            LocalDate parseEnd = LocalDate.parse(endDate, formatterDate);
+            LocalDate currentDate = parseStart;
+            while (!currentDate.isAfter(parseEnd)) {
+                dailyTasks.put(currentDate, new ArrayList<>());
+                currentDate = currentDate.plusDays(1);
+            }
 
-        // 生成从startDate到endDate的所有日期,并初始化空列表
-        LocalDate parseStart = LocalDate.parse(startDate, formatterDate);
-        LocalDate parseEnd = LocalDate.parse(endDate, formatterDate);
-        LocalDate currentDate = parseStart;
-        while (!currentDate.isAfter(parseEnd)) {
-            dailyTasks.put(currentDate, new ArrayList<>());
-            currentDate = currentDate.plusDays(1);
-        }
+            // 遍历任务,填充到对应的日期
+            for (TaskDto task : taskDtoList) {
+                // 根据实际字段获取任务日期,例如getExecuteDate()
+                LocalDateTime taskStartDate = task.getStartDate();
+                LocalDateTime taskEndDate = task.getEndDate();
+                if (taskStartDate != null && taskEndDate != null) {
+                    LocalDate task_start = LocalDate.from(taskStartDate);
+                    LocalDate task_end = LocalDate.from(taskEndDate);
+                    for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalDate date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.isAfter(task_start) && date.isBefore(task_end) || date.isEqual(task_start)) {
+                            tasks.add(task);
+                        }
+                    }
+                } else if (taskStartDate == null && taskEndDate != null) {
+                    LocalDate task_end = LocalDate.from(taskEndDate);
+                    for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalDate date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.isEqual(task_end)) {
+                            tasks.add(task);
+                        }
+                    }
+                } else if (taskStartDate != null) {
+                    LocalDate task_start = LocalDate.from(taskStartDate);
+                    for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalDate date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.isEqual(task_start)) {
+                            tasks.add(task);
+                        }
+                    }
+                }
 
-// 遍历任务,填充到对应的日期
-        for (TaskDto task : taskDtoList) {
-            // 根据实际字段获取任务日期,例如getExecuteDate()
-            LocalDateTime taskStartDate = task.getStartDate();
-            LocalDateTime taskEndDate = task.getEndDate();
-            if (taskStartDate!=null && taskEndDate!=null){
-                LocalDate task_start = LocalDate.from(taskStartDate);
-                LocalDate task_end = LocalDate.from(taskEndDate);
-                for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
-                    LocalDate date = entry.getKey(); // 获取日期
-                    List<TaskDto> tasks = entry.getValue(); // 获取任务列表
-                    if (date.isAfter(task_start)&&date.isBefore(task_end)||date.isEqual(task_start)){
-                        tasks.add(task);
+            }
+            //自定义DTO类
+            List<DailyTaskVO> result = dailyTasks.entrySet().stream()
+                    .map(entry -> new DailyTaskVO(entry.getKey(), entry.getValue()))
+                    .collect(Collectors.toList());
+            msg.setData(result);
+        } else {
+            // 使用LinkedHashMap保持日期顺序
+            Map<LocalTime, List<TaskDto>> dailyTasks = new LinkedHashMap<>();
+
+            // 生成从startDate到endDate的所有日期,并初始化空列表
+            LocalTime startTime = LocalTime.of(6, 0);
+            LocalTime endTime = LocalTime.of(23, 0);
+
+            LocalTime currentTime = startTime;
+            while (!currentTime.isAfter(endTime)) {
+                dailyTasks.put(currentTime, new ArrayList<>());
+                currentTime = currentTime.plusMinutes(30);
+            }
+            // 遍历任务,填充到对应的日期
+            for (TaskDto task : taskDtoList) {
+                // 根据实际字段获取任务日期,例如getExecuteDate()
+                LocalDateTime taskStartDate = task.getStartDate();
+                LocalDateTime taskEndDate = task.getEndDate();
+                if (taskStartDate != null && taskEndDate != null) {
+                    LocalTime task_start = LocalTime.from(taskStartDate);
+                    LocalTime task_end = LocalTime.from(taskEndDate);
+                    for (Map.Entry<LocalTime, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalTime date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.isAfter(task_start) && date.isBefore(task_end) || date.equals(task_start)) {
+                            tasks.add(task);
+                        }
                     }
                 }
-            } else if (taskStartDate == null && taskEndDate != null ) {
-                LocalDate task_end = LocalDate.from(taskEndDate);
-                for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
-                    LocalDate date = entry.getKey(); // 获取日期
-                    List<TaskDto> tasks = entry.getValue(); // 获取任务列表
-                    if (date.isEqual(task_end)){
-                        tasks.add(task);
+                else if (taskStartDate == null && taskEndDate != null) {
+                    LocalTime task_end = LocalTime.from(taskEndDate);
+                    for (Map.Entry<LocalTime, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalTime date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.equals(task_end)) {
+                            tasks.add(task);
+                        }
                     }
                 }
-            }else if (taskStartDate != null) {
-                LocalDate task_start = LocalDate.from(taskStartDate);
-                for (Map.Entry<LocalDate, List<TaskDto>> entry : dailyTasks.entrySet()) {
-                    LocalDate date = entry.getKey(); // 获取日期
-                    List<TaskDto> tasks = entry.getValue(); // 获取任务列表
-                    if (date.isEqual(task_start)){
-                        tasks.add(task);
+                else if (taskStartDate != null) {
+                    LocalTime task_start = LocalTime.from(taskStartDate);
+                    for (Map.Entry<LocalTime, List<TaskDto>> entry : dailyTasks.entrySet()) {
+                        LocalTime date = entry.getKey(); // 获取日期
+                        List<TaskDto> tasks = entry.getValue(); // 获取任务列表
+                        if (date.equals(task_start)) {
+                            tasks.add(task);
+                        }
                     }
                 }
             }
-
+            //自定义DTO类
+            List<TimeTaskVO> result = dailyTasks.entrySet().stream()
+                    .map(entry -> new TimeTaskVO(entry.getKey(), entry.getValue()))
+                    .collect(Collectors.toList());
+            msg.setData(result);
         }
-        //自定义DTO类
-        List<DailyTaskVO> result = dailyTasks.entrySet().stream()
-                .map(entry -> new DailyTaskVO(entry.getKey(), entry.getValue()))
-                .collect(Collectors.toList());
-        msg.setData(result);
         return msg;
 
     }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/resources/application-dev.yml

@@ -13,7 +13,7 @@ spring:
       max-request-size: 100MB
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.101.180.183:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&useSSL=false
+    url: jdbc:mysql://1.94.62.58:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&useSSL=false
     username: root
     password: P011430@Huoshi*
     hikari:

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/resources/application.yml

@@ -14,7 +14,7 @@ spring:
       location: C:/upload/
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.101.180.183:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
+    url: jdbc:mysql://1.94.62.58:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
     username: root
     password: P011430@Huoshi*
     hikari: