From e899d2709f21b322232fb64778fef296233be3f0 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期一, 25 八月 2025 14:39:41 +0800
Subject: [PATCH] 修改了代码

---
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java |  138 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 124 insertions(+), 14 deletions(-)

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 3dc66f6..94c8977 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -1,20 +1,27 @@
 package com.ruoyi.service.impl;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.MapUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.domain.ArchiveRecords;
+import com.ruoyi.domain.Archiverecordstouser;
+import com.ruoyi.domain.vo.AnalysisResult;
+import com.ruoyi.domain.vo.ArchiveInfoVo;
 import com.ruoyi.mapper.ArchiveRecordsMapper;
+import com.ruoyi.mapper.ArchiverecordstouserMapper;
 import com.ruoyi.service.IArchiveRecordsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 妗f璁板綍Service涓氬姟灞傚鐞�
@@ -29,11 +36,12 @@
 //    @Autowired
 //    private ArchiveRecordsMapper archiveRecordsMapper;
 
+    @Autowired
+    private ArchiverecordstouserMapper archiverecordstouserMapper;
 
 
 
-
-    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())
@@ -49,25 +57,60 @@
 //                .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);
+        if(userId==1)
+
+            lqw.orderByDesc(ArchiveRecords::getCreateTime);
         System.out.println("ssssssssssssddd0000000000000000");
         return lqw;
 
     }
+
+    @Override
+    public Long getMaxId() {
+        //return this.
+        return baseMapper.findMaxId();
+    }
+
     @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);
 
-        Page<ArchiveRecords> zfClanPage = new Page<>(pageNum, pageSize);
-        Page<ArchiveRecords> pageResult = page(zfClanPage, lqw);
+
+
+
+        Page<ArchiveRecords> page = new Page<>(pageNum, pageSize);
+    
+    // 浣跨敤鑷畾涔夌殑鍒嗛〉鏌ヨ鏂规硶锛屽厛杩炴帴鍐嶅垎椤�
+    Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, userid, lqw);
+
+
+            //selectJoinUserPage(page, lqw);
+    
+  
 
         List<ArchiveRecords> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
       //  List<ArchiveRecords> beanRecords = list(lqw);
      //   log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords);
     //    return markOwnData(familyId, fatherFaId, motherFaId, beanRecords);
+
+
+        beanRecords.forEach(record ->{
+            if(record.isArchiveRecordsId()!=null&&record.getUserId()==userid)
+            {
+                    record.setOwnData(true);
+            }
+            else
+                record.setOwnData(false);
+        });
+        //涓嶆槸绠$悊鍛樿繘琛屾帓搴�
+       // 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"));
@@ -105,7 +148,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;
@@ -120,6 +166,14 @@
     @Override
     public int insertArchiveRecords(ArchiveRecords archiveRecords)
     {
+        LocalDateTime time = LocalDateTime.now();
+
+        Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
+        archiveRecords.setCreateTime(date);
+
+
+        archiveRecords.setRecordStatus("鏈綍鍏�");
+      //  archiveRecords
         boolean res = this.save(archiveRecords);
         if(res)
             return 1;
@@ -152,11 +206,13 @@
     @Override
     public int deleteArchiveRecordsByIds(Long[] ids)
     {
-        if (this.removeByIds(Arrays.asList(ids))) {
-            return 1;
+        Long res = 0L;
+        for(Long id: ids)
+        {
+           this.baseMapper.updateAllInfoById(id);
+
         }
-        else
-            return 0;
+        return 1;
     }
 
     /**
@@ -170,4 +226,58 @@
     {
         return 0;
     }
+
+    @Override
+    public ArchiveInfoVo selectByRecordId(Long id) {
+        return this.baseMapper.findByRecordId(id);
+    }
+
+    @Override
+    public AjaxResult importExcel(MultipartFile file) {
+        ExcelUtil<ArchiveRecords> util = new ExcelUtil<>(ArchiveRecords.class);
+        List<ArchiveRecords> dataList = null;
+        try {
+            dataList = util.importExcel(file.getInputStream());
+        } catch (Exception e) {
+            throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁");
+        }
+
+        assert dataList != null;
+
+        for (ArchiveRecords archiveRecords : dataList) {
+           // physcialService.mySave(physcial);
+            this.mySave(archiveRecords);
+        }
+
+        return AjaxResult.success();
+    }
+
+    @Override
+    public List<AnalysisResult> statisticAya() {
+        return this.baseMapper.statisticAyasis();
+    }
+
+
+    public AjaxResult mySave(ArchiveRecords archiveRecords) {
+
+
+        //妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆
+        LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId,archiveRecords.getRecordId());
+        List<ArchiveRecords> list = list(lqw);
+        if (list.size() > 0) {
+          //  throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
+            //濡傛灉鏈夐噸澶嶆暟鎹紝鍒欐牴鎹畆ecordId杩涜鏁版嵁淇敼
+            this.baseMapper.update(archiveRecords, lqw);
+            return AjaxResult.success();
+        }
+        else {
+            if (save(archiveRecords)) {
+                return AjaxResult.success();
+            } else {
+                return AjaxResult.error();
+            }
+        }
+
+    }
 }

--
Gitblit v1.9.1