From 6e8c95d31d85b53857e4e3ce12ea303eb0ea42eb Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 19 八月 2021 00:47:48 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesTaskInnerServiceSMOImpl.java |   76 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 1 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesTaskInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesTaskInnerServiceSMOImpl.java
old mode 100644
new mode 100755
index b63b66a..9997d85
--- a/service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesTaskInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesTaskInnerServiceSMOImpl.java
@@ -4,14 +4,19 @@
 import com.java110.common.dao.IAttendanceClassesTaskServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
-import com.java110.dto.attendanceClassesTask.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.common.IAttendanceClassesTaskDetailInnerServiceSMO;
 import com.java110.intf.common.IAttendanceClassesTaskInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.attendanceClassesTask.AttendanceClassesTaskPo;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -27,6 +32,12 @@
 
     @Autowired
     private IAttendanceClassesTaskServiceDao attendanceClassesTaskServiceDaoImpl;
+
+    @Autowired
+    private IAttendanceClassesTaskDetailInnerServiceSMO attendanceClassesTaskDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
 
     @Override
@@ -64,9 +75,72 @@
 
         List<AttendanceClassesTaskDto> attendanceClassesTasks = BeanConvertUtil.covertBeanList(attendanceClassesTaskServiceDaoImpl.getAttendanceClassesTaskInfo(BeanConvertUtil.beanCovertMap(attendanceClassesTaskDto)), AttendanceClassesTaskDto.class);
 
+        //杈撳叆鍛樺伐鍚嶇О
+        refreshAttendanceClassesTasks(attendanceClassesTasks);
         return attendanceClassesTasks;
     }
 
+    /**
+     * 杈撳叆 鍛樺伐 鍜� 鏄庣粏
+     *
+     * @param attendanceClassesTasks
+     */
+    private void refreshAttendanceClassesTasks(List<AttendanceClassesTaskDto> attendanceClassesTasks) {
+
+        if (attendanceClassesTasks == null || attendanceClassesTasks.size() < 1) {
+            return;
+        }
+
+        if (attendanceClassesTasks.size() > 20) {
+            return;
+        }
+
+        List<String> staffIds = new ArrayList<>();
+
+        for (AttendanceClassesTaskDto attendanceClassesTaskDto : attendanceClassesTasks) {
+            staffIds.add(attendanceClassesTaskDto.getStaffId());
+        }
+
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getUserInfo(staffIds.toArray(new String[staffIds.size()]));
+
+        if (userDtos != null && userDtos.size() > 0) {
+            for (AttendanceClassesTaskDto attendanceClassesTaskDto : attendanceClassesTasks) {
+                for (UserDto userDto : userDtos) {
+                    if (attendanceClassesTaskDto.getStaffId().equals(userDto.getUserId())) {
+                        attendanceClassesTaskDto.setStaffName(userDto.getName());
+                        continue;
+                    }
+                }
+            }
+        }
+
+        List<String> taskIds = new ArrayList<>();
+
+        for (AttendanceClassesTaskDto attendanceClassesTaskDto : attendanceClassesTasks) {
+            taskIds.add(attendanceClassesTaskDto.getTaskId());
+        }
+
+        AttendanceClassesTaskDetailDto attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
+        attendanceClassesTaskDetailDto.setTaskIds(taskIds.toArray(new String[taskIds.size()]));
+        attendanceClassesTaskDetailDto.setStoreId(attendanceClassesTasks.get(0).getStoreId());
+        List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos
+                = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
+
+        if (attendanceClassesTaskDetailDtos == null || attendanceClassesTaskDetailDtos.size() < 1) {
+            return;
+        }
+        List<AttendanceClassesTaskDetailDto> tmpAttendanceClassesTaskDetailDtos = null;
+        for (AttendanceClassesTaskDto attendanceClassesTaskDto : attendanceClassesTasks) {
+            tmpAttendanceClassesTaskDetailDtos = new ArrayList<>();
+            for (AttendanceClassesTaskDetailDto tmpAttendanceClassesTaskDetailDto : attendanceClassesTaskDetailDtos) {
+                if (attendanceClassesTaskDto.getTaskId().equals(tmpAttendanceClassesTaskDetailDto.getTaskId())) {
+                    tmpAttendanceClassesTaskDetailDtos.add(tmpAttendanceClassesTaskDetailDto);
+                }
+            }
+            attendanceClassesTaskDto.setAttendanceClassesTaskDetails(tmpAttendanceClassesTaskDetailDtos);
+        }
+    }
+
 
     @Override
     public int queryAttendanceClassesTasksCount(@RequestBody AttendanceClassesTaskDto attendanceClassesTaskDto) {

--
Gitblit v1.8.0