From 3e6e5a5300c8b41af08f51a3932b230f9fcb9935 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期五, 08 八月 2025 13:40:02 +0800
Subject: [PATCH] 增加了相关代码

---
 archiveManager/src/main/java/com/ruoyi/domain/Archiverecordstouser.java                        |   20 ++++++
 archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java                        |   11 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiverecordstouserController.java |   27 ++++++++
 archiveManager/src/main/java/com/ruoyi/service/IArchiverecordstouserService.java               |    7 ++
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiverecordstouserServiceImpl.java       |   46 +++++++++++++++
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java             |   30 +++++----
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java    |    2 
 7 files changed, 126 insertions(+), 17 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/domain/Archiverecordstouser.java b/archiveManager/src/main/java/com/ruoyi/domain/Archiverecordstouser.java
index ed7388a..6fc130d 100644
--- a/archiveManager/src/main/java/com/ruoyi/domain/Archiverecordstouser.java
+++ b/archiveManager/src/main/java/com/ruoyi/domain/Archiverecordstouser.java
@@ -41,7 +41,27 @@
     }
     @TableField(exist = false)
     private SysUser sysUser;
+    @TableField(exist = false)
+    private String userName;
 
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPhonenumber() {
+        return phonenumber;
+    }
+
+    public void setPhonenumber(String phonenumber) {
+        this.phonenumber = phonenumber;
+    }
+
+    @TableField(exist = false)
+    private String phonenumber;
     public void setId(Long id) 
     {
         this.id = id;
diff --git a/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java b/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
index 429c7be..d26677a 100644
--- a/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
+++ b/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
@@ -12,8 +12,15 @@
 public interface ArchiveRecordsMapper extends BaseMapper<ArchiveRecords> {
 
 
-    @Select("SELECT c.*,a.archive_records_id,b.user_id FROM archiverecordstouser a inner join sys_user b ON a.user_id = b.user_id right join archive_records c on c.record_id=a.archive_records_id ${ew.customSqlSegment} ")
-    Page<ArchiveRecords> selectJoinUserPage(Page<ArchiveRecords> page, @Param("ew") LambdaQueryWrapper<ArchiveRecords> queryWrapper);
+    @Select({
+            "<script>",
+            "SELECT c.*,a.archive_records_id,b.user_id FROM archiverecordstouser a inner join sys_user b ON a.user_id = b.user_id right join archive_records c on c.record_id=a.archive_records_id ${ew.customSqlSegment} ",
+            "<if test= \"userId !=1 \">",
+            "order by a.user_id desc",
+            "</if>",
+            "</script>"
+    })
+    Page<ArchiveRecords> selectJoinUserPage(Page<ArchiveRecords> page, @Param("userId") Long userId, @Param("ew") LambdaQueryWrapper<ArchiveRecords> queryWrapper);
 
     @Select("select max(id) from archive_records")
     Long findMaxId();
diff --git a/archiveManager/src/main/java/com/ruoyi/service/IArchiverecordstouserService.java b/archiveManager/src/main/java/com/ruoyi/service/IArchiverecordstouserService.java
index b46923e..ea60c0d 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/IArchiverecordstouserService.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/IArchiverecordstouserService.java
@@ -64,4 +64,11 @@
      * @return 缁撴灉
      */
     public int deleteArchiverecordstouserById(Long id);
+
+
+
+    public int deleteArchiverecordstouserByRecordId(String recordId, Long userId);
+
+
+    public int queryArchiverecordstouserByRecordId(String recordId, Long userId);
 }
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
index 22f5ae5..4036f57 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -37,7 +37,7 @@
 
 
 
-    private LambdaQueryWrapper<ArchiveRecords> buildCondition(ArchiveRecords archiveRecords){
+    private LambdaQueryWrapper<ArchiveRecords> buildCondition(ArchiveRecords archiveRecords, Long userId){
         LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>();
 
         lqw.like(!StringUtils.isEmpty(archiveRecords.getProjectName()), ArchiveRecords::getProjectName, archiveRecords.getProjectName())
@@ -53,9 +53,9 @@
 //                .eq(zfProperty.getHappenTime()!=null,ZfProperty::getHappenTime,zfProperty.getHappenTime())
 //                .between(zfProperty.getHappenStartTime() != null && zfProperty.getHappenEndTime() != null, ZfProperty::getHappenTime, zfProperty.getHappenStartTime(), zfProperty.getHappenEndTime());
 //        lqw.orderByDesc(ZfProperty::getCreateTime);
-       // lqw.orderByDesc(ArchiveRecords::isOwnData);
-     //   lqw.orderByDesc(ArchiveRecords::getCreateTime);
-        lqw.orderByDesc(ArchiveRecords::getCreateTime);
+        if(userId==1)
+
+            lqw.orderByDesc(ArchiveRecords::getCreateTime);
         System.out.println("ssssssssssssddd0000000000000000");
         return lqw;
 
@@ -69,8 +69,10 @@
 
     @Override
     public AjaxResult selectDataList(ArchiveRecords archiveRecords, Integer pageNum, Integer pageSize) {
-
-        LambdaQueryWrapper<ArchiveRecords> lqw = buildCondition(archiveRecords);
+        //鎷垮埌褰撳墠鐢ㄦ埛鐨刬d
+        // 鑾峰彇褰撳墠鐢ㄦ埛ID
+        Long userid = SecurityUtils.getUserId();
+        LambdaQueryWrapper<ArchiveRecords> lqw = buildCondition(archiveRecords, userid);
 
         System.out.println("-------------");
         System.out.println(pageNum);
@@ -81,7 +83,7 @@
         Page<ArchiveRecords> page = new Page<>(pageNum, pageSize);
     
     // 浣跨敤鑷畾涔夌殑鍒嗛〉鏌ヨ鏂规硶锛屽厛杩炴帴鍐嶅垎椤�
-    Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, lqw);
+    Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, userid, lqw);
 
 
             //selectJoinUserPage(page, lqw);
@@ -92,9 +94,7 @@
       //  List<ArchiveRecords> beanRecords = list(lqw);
      //   log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords);
     //    return markOwnData(familyId, fatherFaId, motherFaId, beanRecords);
-        //鎷垮埌褰撳墠鐢ㄦ埛鐨刬d
-        // 鑾峰彇褰撳墠鐢ㄦ埛ID
-        Long userid = SecurityUtils.getUserId();
+
 
         beanRecords.forEach(record ->{
             if(record.isArchiveRecordsId()!=null&&record.getUserId()==userid)
@@ -104,8 +104,9 @@
             else
                 record.setOwnData(false);
         });
-
-     //   Collections.sort(beanRecords, Comparator.comparing(ArchiveRecords::isOwnData));
+        //涓嶆槸绠$悊鍛樿繘琛屾帓搴�
+       // if(userid != 1)
+       //    Collections.sort(beanRecords, Comparator.comparing(ArchiveRecords::isOwnData));
         HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
 //        System.out.println(data.get("data"));
 //        System.out.println(data.get("pageNum"));
@@ -143,7 +144,10 @@
     @Override
     public List<ArchiveRecords> selectArchiveRecordsList(ArchiveRecords archiveRecords)
     {
-        LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = buildCondition(archiveRecords);
+        //鎷垮埌褰撳墠鐢ㄦ埛鐨刬d
+        // 鑾峰彇褰撳墠鐢ㄦ埛ID
+        Long userid = SecurityUtils.getUserId();
+        LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = buildCondition(archiveRecords,userid);
         List<ArchiveRecords> beanRecords = list(lambdaQueryWrapper);
 
         return beanRecords;
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiverecordstouserServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiverecordstouserServiceImpl.java
index d7b7df3..49a9bac 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiverecordstouserServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiverecordstouserServiceImpl.java
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -16,6 +17,7 @@
 import com.ruoyi.mapper.ArchiverecordstouserMapper;
 import com.ruoyi.service.IArchiverecordstouserService;
 import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -31,17 +33,34 @@
 {
   @Autowired
     private SysUserMapper userMapper;
+  @Autowired
+  private ISysUserService iSysUserService;
     private LambdaQueryWrapper<Archiverecordstouser> buildCondition(Archiverecordstouser archiverecordstouser) {
         LambdaQueryWrapper<Archiverecordstouser> lqw = new LambdaQueryWrapper<>();
         lqw.eq(!StringUtils.isEmpty(archiverecordstouser.getArchiveRecordsId()),Archiverecordstouser::getArchiveRecordsId, archiverecordstouser.getArchiveRecordsId());
 
+        //淇濆瓨鐩稿叧鐢ㄦ埛鐨剈serId
+        List<Long> arr = new ArrayList<>();
+        List<SysUser> all = new ArrayList<>();
+
+        if(!StringUtils.isEmpty(archiverecordstouser.getUserName())||!StringUtils.isEmpty(archiverecordstouser.getPhonenumber()))
+        {
+            //鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴风浉鍏砳d
+            SysUser sysUser = new SysUser();
+            sysUser.setUserName(archiverecordstouser.getUserName());
+            sysUser.setPhonenumber(archiverecordstouser.getPhonenumber());
+            all = userMapper.selectUserList(sysUser);
+        }
+        arr = all.stream().map(SysUser::getUserId).collect(Collectors.toList());
+        lqw.in(!all.isEmpty(), Archiverecordstouser::getUserId, arr);
+      //  System.out.println(archiverecordstouser.getSysUser().getUserName()+"098643");
         return lqw;
     }
 
 
     @Override
     public int insertRecordToUsers(String recordId, Long[] userIds) {
-        // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
+        // 鏂板鐢ㄦ埛涓庢鍗疯褰�
         List<Archiverecordstouser> list = new ArrayList<Archiverecordstouser>();
         for (Long userId : userIds)
         {
@@ -157,4 +176,29 @@
     {
         return 0;
     }
+
+    @Override
+    public int deleteArchiverecordstouserByRecordId(String recordId, Long userId) {
+
+        LambdaQueryWrapper<Archiverecordstouser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(!StringUtils.isEmpty(recordId), Archiverecordstouser::getArchiveRecordsId, recordId)
+                .eq(userId!=null, Archiverecordstouser::getUserId, userId);
+        if(this.remove(lqw))
+            return 1;
+        else
+            return 0;
+    }
+
+    @Override
+    public int queryArchiverecordstouserByRecordId(String recordId, Long userId) {
+        LambdaQueryWrapper<Archiverecordstouser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(!StringUtils.isEmpty(recordId), Archiverecordstouser::getArchiveRecordsId, recordId)
+                .eq(userId!=null, Archiverecordstouser::getUserId, userId);
+
+        List<Archiverecordstouser> lis = list(lqw);
+        if(!lis.isEmpty())
+            return 1;
+        else
+            return 0;
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiverecordstouserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiverecordstouserController.java
index 285a545..2ab71be 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiverecordstouserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiverecordstouserController.java
@@ -47,7 +47,15 @@
     @PutMapping("/authUserToArchive")
     public AjaxResult selectRecordToUser(String recordId, Long[] userIds)
     {
-        return toAjax(archiverecordstouserService.insertRecordToUsers(recordId, userIds));
+        for(Long userId:userIds)
+        {
+            if(archiverecordstouserService.queryArchiverecordstouserByRecordId(recordId, userId)==1)
+            {
+                return toAjax(0);
+            }
+        }
+        archiverecordstouserService.insertRecordToUsers(recordId, userIds);
+        return toAjax(200);
     }
     /**
      * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
@@ -117,4 +125,21 @@
     {
         return toAjax(archiverecordstouserService.deleteArchiverecordstouserByIds(ids));
     }
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍜宺ecordId杩涜鍒犻櫎
+     */
+    @PreAuthorize("@ss.hasPermi('system:archiverecordstouser:remove')")
+    @DeleteMapping("/deleteByRidUid")
+    public AjaxResult removeByRecordIdAndUserId(String recordId, Long userId)
+    {
+        return toAjax(archiverecordstouserService.deleteArchiverecordstouserByRecordId(recordId, userId));
+    }
+
+
+    @PreAuthorize("@ss.hasPermi('system:archiverecordstouser:query')")
+    @GetMapping("/getByRidUid")
+    public AjaxResult getByRecordIdAndUserId(String recordId, Long userId)
+    {
+        return toAjax(archiverecordstouserService.queryArchiverecordstouserByRecordId(recordId, userId));
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
index acd5ba6..ca90495 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
@@ -92,6 +92,8 @@
 
     /**
      * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * system:materials:edit
      */
     @PreAuthorize("@ss.hasPermi('system:materials:edit')")
     @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.UPDATE)

--
Gitblit v1.9.1