From cb703ae5b5afdd4a7d614a948ee4d4c457b77185 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 21 一月 2026 09:07:42 +0800
Subject: [PATCH] 增加了签名和注解接口

---
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveAnnotationServiceImpl.java |  163 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 148 insertions(+), 15 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveAnnotationServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveAnnotationServiceImpl.java
index b8b8794..0507b09 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveAnnotationServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveAnnotationServiceImpl.java
@@ -1,45 +1,178 @@
 package com.ruoyi.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+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.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.domain.ArchiveAnnotation;
-import com.ruoyi.domain.ArchiveCategory;
+import com.ruoyi.domain.ArchivePlaceName;
+import com.ruoyi.domain.ArchiveRecords;
+import com.ruoyi.domain.ArchiveSignature;
 import com.ruoyi.mapper.ArchiveAnnotationMapper;
-import com.ruoyi.mapper.ArchiveCategoryMapper;
 import com.ruoyi.service.IArchiveAnnotationService;
-import com.ruoyi.service.IArchiveCategoryService;
+import com.ruoyi.util.ErrorcodeExceptionextends;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
-import java.util.Collections;
-import java.util.List;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+
 @Service
-public class ArchiveAnnotationServiceImpl  extends ServiceImpl<ArchiveAnnotationMapper, ArchiveAnnotation> implements IArchiveAnnotationService {
-    @Override
-    public ArchiveAnnotation selectArchiveAnnotationById(Long id) {
-        return null;
+public class ArchiveAnnotationServiceImpl extends ServiceImpl<ArchiveAnnotationMapper, ArchiveAnnotation> implements IArchiveAnnotationService {
+
+    private LambdaQueryWrapper<ArchiveAnnotation> buildCondition(ArchiveAnnotation archiveAnnotation) {
+        LambdaQueryWrapper<ArchiveAnnotation> lqw = new LambdaQueryWrapper<>();
+        lqw.like(!StringUtils.isEmpty(archiveAnnotation.getName()), ArchiveAnnotation::getName, archiveAnnotation.getName());
+        
+        lqw.orderByDesc(ArchiveAnnotation::getSrt);
+        return lqw;
     }
 
     @Override
-    public List<ArchiveAnnotation> selectArchiveAnnotationList(ArchiveAnnotation archiveAnnotation) {
-        return Collections.emptyList();
+    public ArchiveAnnotation selectArchiveAnnotationById(Long id) {
+        LambdaQueryWrapper<ArchiveAnnotation> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(id != null, ArchiveAnnotation::getId, id);
+        List<ArchiveAnnotation> lists = this.list(lqw);
+        if (!lists.isEmpty())
+            return lists.get(0);
+        else
+            return null;
+    }
+
+    @Override
+    public List<ArchiveAnnotation> selectArchiveRecordsByIds(Long[] ids) {
+
+        // 鍒涘缓鏌ヨ鏉′欢
+        LambdaQueryWrapper<ArchiveAnnotation> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+
+        // 鏍规嵁ids鏌ヨ
+        lambdaQueryWrapper.in(ArchiveAnnotation::getId, Arrays.asList(ids));
+
+        // 濡傛灉涓嶆槸绠$悊鍛橈紝闇�瑕佽�冭檻鏉冮檺杩囨护锛堝彲鏍规嵁瀹為檯鏉冮檺闇�姹傝皟鏁达級
+//        if (userid != 1) {
+//            // 杩欓噷鍙互娣诲姞鏉冮檺鐩稿叧鐨勮繃婊ゆ潯浠�
+//        }
+
+        List<ArchiveAnnotation> beanRecords = list(lambdaQueryWrapper);
+        return beanRecords;
+    }
+
+    @Override
+    public AjaxResult importExcel(MultipartFile file) {
+        ExcelUtil<ArchiveAnnotation> util = new ExcelUtil<>(ArchiveAnnotation.class);
+        List<ArchiveAnnotation> dataList = null;
+        try {
+            dataList = util.importExcel(file.getInputStream());
+        } catch (Exception e) {
+            throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁");
+        }
+
+        assert dataList != null;
+
+        for (ArchiveAnnotation archiveAnnotation : dataList) {
+            // physcialService.mySave(physcial);
+            this.insertArchiveAnnotation(archiveAnnotation);
+        }
+
+        return AjaxResult.success();
+    }
+
+    @Override
+    public AjaxResult selectArchiveAnnotationList(ArchiveAnnotation archiveAnnotation, Integer pageNum, Integer pageSize) {
+        LambdaQueryWrapper<ArchiveAnnotation> lqw = buildCondition(archiveAnnotation);
+
+
+        Page<ArchiveAnnotation> archiveSignaturePage = new Page<>(pageNum, pageSize);
+        Page<ArchiveAnnotation> pageResult = page(archiveSignaturePage, lqw);
+
+        List<ArchiveAnnotation> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
+
+
+
+        //  List<ArchiveRecords> beanRecords = list(lqw);
+        //   log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords);
+        //    return markOwnData(familyId, fatherFaId, motherFaId, beanRecords);
+        HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
+
+
+        return AjaxResult.success(data);
+    }
+
+    @Override
+    public List<ArchiveAnnotation> selectArchiveAnnoList(ArchiveAnnotation archiveAnnotation) {
+        LambdaQueryWrapper<ArchiveAnnotation> lqw = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<ArchiveAnnotation> lambdaQueryWrapper = buildCondition(archiveAnnotation);
+        List<ArchiveAnnotation> beanRecords = list(lambdaQueryWrapper);
+        return beanRecords;
     }
 
     @Override
     public int insertArchiveAnnotation(ArchiveAnnotation archiveAnnotation) {
-        return 0;
+        LocalDateTime time = LocalDateTime.now();
+        if (archiveAnnotation.getName() == null || StringUtils.isEmpty(archiveAnnotation.getName()))
+            throw new RuntimeException("娉ㄨВ鍚嶇О涓嶈兘涓虹┖锛�");
+        Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
+        archiveAnnotation.setCreateTime(date);
+        
+        // 鏍规嵁娉ㄨВ鍚嶇О鏌ヨ锛屾槸鍚﹀凡缁忓瓨鍦紝瀛樺湪鐨勮瘽涓嶈鎻掑叆
+        LambdaQueryWrapper<ArchiveAnnotation> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(!StringUtils.isEmpty(archiveAnnotation.getName()), ArchiveAnnotation::getName, 
+                archiveAnnotation.getName());
+        List<ArchiveAnnotation> lis = list(lambdaQueryWrapper);
+        if (!lis.isEmpty()) {
+            return 0;
+        }
+        
+        boolean res = this.save(archiveAnnotation);
+        
+        // 0琛ㄧず澶辫触锛�1琛ㄧず鎴愬姛
+        if (res)
+            return 1;
+        else
+            return 0;
     }
 
     @Override
     public int updateArchiveAnnotation(ArchiveAnnotation archiveAnnotation) {
-        return 0;
+        boolean result = false;
+        try {
+            // 浣跨敤LambdaUpdateWrapper鏋勯�犳洿鏂版潯浠讹紝纭繚null鍊间篃鑳芥洿鏂板埌鏁版嵁搴�
+            LambdaUpdateWrapper<ArchiveAnnotation> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(ArchiveAnnotation::getId, archiveAnnotation.getId());
+
+            // 鏄庣‘璁剧疆闇�瑕佹洿鏂扮殑瀛楁
+            updateWrapper.set(ArchiveAnnotation::getName, archiveAnnotation.getName());
+            updateWrapper.set(ArchiveAnnotation::getSrt, archiveAnnotation.getSrt());
+            updateWrapper.set(ArchiveAnnotation::getCreateTime, archiveAnnotation.getCreateTime());
+
+            // 鎵ц鏇存柊鎿嶄綔
+            result = update(updateWrapper);
+        } catch (Exception e) {
+            System.out.println(e);
+            throw new ErrorcodeExceptionextends(500, "涓嶅厑璁告敞瑙e悕绉伴噸澶嶏紒");
+        }
+        if (result)
+            return 1;
+        else
+            return 0;
     }
 
     @Override
     public int deleteArchiveAnnotationByIds(Long[] ids) {
-        return 0;
+        if (this.removeByIds(Arrays.asList(ids))) {
+            return 1;
+        } else {
+            return 0;
+        }
     }
 
     @Override
     public int deleteArchiveAnnotationById(Long id) {
-        return 0;
+        return this.baseMapper.deleteById(id);
     }
 }

--
Gitblit v1.9.1