From 5d2cfd4562f74496a5263db3451c1e78ff53aead Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 27 三月 2025 08:44:16 +0800
Subject: [PATCH] 单据增加查询返回字段

---
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 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 79215f3..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;
@@ -43,19 +44,13 @@
 
     @Override
     public int addFaceRecognition(AssFaceRecognition faceRecognition) {
-        int row=0;
         projectService.checkUserAllowed(faceRecognition.getProjectId());
-        UploadObjectVO uploadObjectVO=commonService.doUpload(faceRecognition.getFile());
-        faceRecognition.setSignPath(uploadObjectVO.getPath());
         AssFaceRecognition existRecord=checkFaceRecognitionUnique(faceRecognition.getPersonId(),faceRecognition.getProjectId());
         if(existRecord!=null){
-            existRecord.setSignPath(faceRecognition.getSignPath());
-            existRecord.setUpdateBy(ShiroUtils.getSysUser().getUsername());
-            row =baseMapper.updateById(existRecord);
-        }else{
-            faceRecognition.setCreateBy(ShiroUtils.getSysUser().getUsername());
-            row=baseMapper.insert(faceRecognition);
+            throw new ApiException("签字确认记录已存在");
         }
+        faceRecognition.setCreateBy(ShiroUtils.getSysUser().getUsername());
+        int row=baseMapper.insert(faceRecognition);
         return row;
     }
 
@@ -75,7 +70,9 @@
     public Boolean checkAllFaceRecongnition(Long projectId){
         projectService.checkUserAllowed(projectId);
         List<AssPlanPerson> planPersonList=planPersonMapper.getAllPlanPersonByProjectId(projectId);
-        List<AssFaceRecognition> faceRecognitionList=baseMapper.getFaceRecognitionByProjectId(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="";
         for(AssPlanPerson planPerson:planPersonList){
@@ -109,7 +106,22 @@
     @Override
     public List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId) {
         projectService.checkUserAllowed(projectId);
-        return baseMapper.getFaceRecognitionByProjectId(projectId);
+        List<AssFaceRecognition> faceRecognitionList= baseMapper.getFaceRecognitionByProjectId(projectId);
+        //同一个人员担任多种角色
+        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