From 28aaf2ffa1dbb860a292ba330a7e9362e60e7832 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期五, 12 七月 2024 16:41:03 +0800
Subject: [PATCH] update

---
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
index df6722f..917922f 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
@@ -19,6 +19,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -69,6 +70,8 @@
     public Boolean checkAllFaceRecongnition(Long projectId){
         projectService.checkUserAllowed(projectId);
         List<AssPlanPerson> planPersonList=planPersonMapper.getAllPlanPersonByProjectId(projectId);
+        Map<Long,AssPlanPerson> planPersonMap=planPersonList.stream().collect(Collectors.toMap(AssPlanPerson::getPersonId,a -> a,(k1,k2) -> k1));
+        planPersonList=planPersonMap.values().stream().collect(Collectors.toList());
         List<AssFaceRecognition> faceRecognitionList=baseMapper.getSimpleFaceRecognitionByProjectId(projectId);
         Map<Long,AssFaceRecognition> map=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,a -> a,(k1,k2) -> k1));
         String message="";
@@ -104,7 +107,21 @@
     public List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId) {
         projectService.checkUserAllowed(projectId);
         List<AssFaceRecognition> faceRecognitionList= baseMapper.getFaceRecognitionByProjectId(projectId);
-        return faceRecognitionList;
+        //同一个人员担任多种角色
+        Map<Long,List<Integer>> playRoleMap=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,p -> {
+            List<Integer> pRoles=new ArrayList<>();
+            pRoles.add(p.getPlanPerson().getPlayRole());
+            return pRoles;
+        },(List<Integer>value1,List<Integer> value2) -> {
+                value1.addAll(value2);
+                return value1;
+        }));
+        Map<Long,AssFaceRecognition> faceMap=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,a -> a,(k1,k2) -> k2));
+        List<AssFaceRecognition> faceRecognitions=faceMap.values().stream().collect(Collectors.toList());
+        for(AssFaceRecognition faceRecognition:faceRecognitions){
+            faceRecognition.getPlanPerson().setPlayRoles(playRoleMap.get(faceRecognition.getPersonId()));
+        }
+        return faceRecognitions;
     }
 
 

--
Gitblit v1.9.2