Browse Source

维保记录保养中和已完成,新增返回维保执行人的名字,workerName1字段

wang-hai-cheng 5 years ago
parent
commit
f1fdb27d3d

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/MaintenanceAppResponse.java

@@ -71,6 +71,10 @@ public class MaintenanceAppResponse {
      * 维保工
      */
     private String workerName;
+    /**
+     * 维保执行人名字
+     */
+    private String workerName1;
     /**
      * 计划保养时间
      */

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenanceRecordMapper.java

@@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * MyBatis Mapper 接口 - 表:maintenance_record
@@ -81,4 +82,7 @@ public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
 
     @Select("SELECT value FROM global_set WHERE code = 'workLift' AND company_id = #{mtCompanyId}")
     String getGlobalSet(Long mtCompanyId);
+
+    @Select("SELECT user_id,name FROM user_info WHERE user_id in (${userIds})")
+    List<Map<String, Object>> selectUserBy(String userIds);
 }

+ 21 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -356,6 +356,27 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
             for (Map.Entry<Long, List<MaintenanceAppResponse>> entry : taskMap.entrySet()) {
                 taskList.addAll(entry.getValue());
             }
+            log.debug("将维保执行人设置进返回数据中");
+            List<Long> workerId1s = records.stream().
+                    filter(r -> r.getWorkerId1() != null).
+                    map(MaintenanceAppResponse::getWorkerId1).
+                    collect(Collectors.toList());
+            Map<Long, String> userInfoMap = new HashMap<>();
+            if (!workerId1s.isEmpty()) {
+                log.debug("workerId1s不为空,获取用户名列表");
+                List<Map<String, Object>> userMap = maintenanceRecordMapper.selectUserBy(workerId1s.toString().
+                        replace("]", "").
+                        replace("[", ""));
+                if (!userMap.isEmpty()) {
+                    userInfoMap = userMap.stream().
+                            filter(u -> u.get("user_id") != null).
+                            collect(Collectors.toMap(k -> Long.valueOf((String) k.get("user_id")), v -> String.valueOf(v.get("name")), (k1, k2) -> k1));
+                }
+            }
+            Map<Long, String> finalUserInfoMap = userInfoMap;
+            taskList.forEach(t -> t.setWorkerName1(finalUserInfoMap.get(t.getWorkerId1())));
+            log.debug("设置完毕");
+
             LinkedList<MaintenanceAppResponse> userTaskList = taskList.stream()
                     .sorted(Comparator.comparing(MaintenanceAppResponse::getPlanDate)).collect(Collectors.toCollection(LinkedList::new));
             currentUserTaskList.addAll(userTaskList);