From bcb1d905904fd43034f7c95077336e5cb849eff1 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期日, 18 一月 2026 23:17:22 +0800
Subject: [PATCH] 修改了对应代码

---
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveProjectNameServiceImpl.java     |    3 
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchivePlaceNameServiceImpl.java       |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java |    1 
 archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java                    |    6 +
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveCategoryServiceImpl.java        |    4 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java   |    4 
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java         |   38 +++++++++---
 archiveManager/src/main/java/com/ruoyi/service/impl/BarcodeService.java                    |   77 +++++++++++++++++++++++++
 8 files changed, 121 insertions(+), 15 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java b/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
index ffcf2e1..85eba54 100644
--- a/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
+++ b/archiveManager/src/main/java/com/ruoyi/mapper/ArchiveRecordsMapper.java
@@ -60,7 +60,11 @@
     @Select("update archive_records set record_status=#{status}, create_time=#{date} where id=#{id}")
     public void updateStatusById(@Param("status") String status, @Param("id")Long id ,@Param("date") Date date);
 
-    @Select("select ROW_NUMBER() OVER (ORDER BY record_id) AS num, filing_number, concat_ws(\" \", inquiry_number,record_id) as inqrid, case_title, public_attribute, (select count(*) as cnt from document_materials where record_id=ar.id) as cnt, remarks from archive_records as ar \n" +
+//    @Select("select ROW_NUMBER() OVER (ORDER BY record_id) AS num, filing_number, concat_ws(\" \", inquiry_number,record_id) as inqrid, case_title, public_attribute, (select count(*) as cnt from document_materials where record_id=ar.id) as cnt, remarks from archive_records as ar \n" +
+//            "${ew.customSqlSegment}")
+
+
+    @Select("select ROW_NUMBER() OVER (ORDER BY record_id) AS num, filing_number, concat_ws(\" \", inquiry_number,record_id) as inqrid, case_title, public_attribute, page_count as cnt, remarks from archive_records as ar \n" +
             "${ew.customSqlSegment}")
     public List<ArchiveRecordSmall> selectByIds(@Param("ew") LambdaQueryWrapper<ArchiveRecords> queryWrapper);
 
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveCategoryServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveCategoryServiceImpl.java
index dd324e4..8abfb7e 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveCategoryServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveCategoryServiceImpl.java
@@ -118,9 +118,11 @@
     public int insertArchiveCategory(ArchiveCategory archiveCategory)
     {
         LocalDateTime time = LocalDateTime.now();
-
+        if(archiveCategory.getNname()==null||StringUtils.isEmpty(archiveCategory.getNname()))
+            throw new RuntimeException("绫诲埆鍚嶇О涓嶈兘涓虹┖!");
         Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
         archiveCategory.setCtime(date);
+
         boolean res = this.save(archiveCategory);
         if(res)
             return 1;
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchivePlaceNameServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchivePlaceNameServiceImpl.java
index 2dc2246..4f53555 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchivePlaceNameServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchivePlaceNameServiceImpl.java
@@ -108,7 +108,8 @@
     public int insertArchivePlaceName(ArchivePlaceName archivePlaceName)
     {
         LocalDateTime time = LocalDateTime.now();
-
+        if(archivePlaceName.getName()==null||StringUtils.isEmpty(archivePlaceName.getName()))
+            throw new RuntimeException("鍦板尯鍚嶇О涓嶈兘涓虹┖!");
         Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
         archivePlaceName.setCreateTime(date);
         boolean res = this.save(archivePlaceName);
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveProjectNameServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveProjectNameServiceImpl.java
index 162a928..3d6db8b 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveProjectNameServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveProjectNameServiceImpl.java
@@ -89,7 +89,8 @@
     @Override
     public int insertArchiveProjectName(ArchiveProjectName archiveProjectName) {
         LocalDateTime time = LocalDateTime.now();
-
+        if(archiveProjectName.getName()==null||StringUtils.isEmpty(archiveProjectName.getName()))
+            throw new RuntimeException("椤圭洰鍚嶇О涓嶈兘涓虹┖!");
         Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
         archiveProjectName.setCreateTime(date);
         boolean res = this.save(archiveProjectName);
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 62fdbef..fe99738 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -384,7 +384,13 @@
         }
 
         assert dataList != null;
+      //  System.out.println("++++++++++++++++++++000000");
 
+//        System.out.println(dataList.size());
+//                for (ArchiveRecords archiveRecords : dataList) {
+//                    System.out.println(dataList.size());
+//
+//                }
         for (ArchiveRecords archiveRecords : dataList) {
            // physcialService.mySave(physcial);
             archiveRecords.setRecordStatus("鏈綍鍏�");
@@ -430,8 +436,13 @@
         LocalDateTime time = LocalDateTime.now();
 
         Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
-        for(Long id : ids)
-            this.baseMapper.updateStatusById("褰曞叆瀹屾垚",id, date);
+        for(Long id : ids) {
+            // 鑾峰彇褰撳墠鐢ㄦ埛ID,鏀跺洖鎺堟潈
+            Long userId = SecurityUtils.getUserId();
+            archiverecordstouserService.deleteArchiverecordstouserByRecordId(id, userId);
+
+            this.baseMapper.updateStatusById("褰曞叆瀹屾垚", id, date);
+        }
         return 0;
     }
 
@@ -448,21 +459,30 @@
     @Override
     public AjaxResult mySave(ArchiveRecords archiveRecords) {
         // 妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆
+        System.out.println(archiveRecords.getRecordId()+"aaaaaaaaaaaaaaaaa");
+        if(archiveRecords.getRecordId()==null||StringUtils.isEmpty(archiveRecords.getRecordId()))
+            throw new RuntimeException("妗f鍙蜂笉鑳戒负绌�!");
+
         LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>();
         lqw.eq(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId,archiveRecords.getRecordId());
         List<ArchiveRecords> list = list(lqw);
-        if (!list.isEmpty()) {
-          //  throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
-            //濡傛灉鏈夐噸澶嶆暟鎹紝鍒欐牴鎹畆ecordId杩涜鏁版嵁淇敼
+        Long userid = SecurityUtils.getUserId();
+        if (!list.isEmpty()&&userid!=1) {
+           // throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
+            //濡傛灉鏈夐噸澶嶆暟鎹紝鍒欐牴鎹畆ecordId杩涜鏁版嵁淇敼sele
          //   if()
-
+//
                 this.baseMapper.update(archiveRecords, lqw);
                 return AjaxResult.success();
 
 
         }
+        else if(!list.isEmpty())
+        {
+             throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
+        }
         else {
-        Long userid = SecurityUtils.getUserId();
+
         if(userid==1) {
             if (save(archiveRecords)) {
                 return AjaxResult.success();
@@ -470,8 +490,8 @@
                 return AjaxResult.error();
             }
         }
-             else
-            return AjaxResult.error("妗f鍙蜂笉瀛樺湪锛�");
+       else
+            return AjaxResult.error("涓嶆槸绠$悊鍛橈紝涓嶈兘鏂板璁板綍锛�");
         }
 
     }
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/BarcodeService.java b/archiveManager/src/main/java/com/ruoyi/service/impl/BarcodeService.java
index 94c885f..86f8bf1 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/BarcodeService.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/BarcodeService.java
@@ -96,4 +96,81 @@
             throw new RuntimeException(e);
         }
     }
+
+
+
+
+    public byte[] generateBarcodeImageScarn(String barcodeText) {
+        try {
+            // 浣跨敤 BitMatrix 鐢熸垚绾潯鐮侊紝涓嶅寘鍚换浣曟枃瀛�
+            BarcodeFormat format = BarcodeFormat.CODE_39; // 鏍规嵁鎮ㄧ殑鏉$爜绫诲瀷
+
+            // 鍒涘缓缂栫爜鍣�
+            Code39Writer writer = new Code39Writer();
+
+            // 缂栫爜鍙傛暟
+            Map<EncodeHintType, Object> hints = new HashMap<>();
+            hints.put(EncodeHintType.MARGIN, 0); // 鏃犺竟妗�
+
+            // 鐢熸垚 BitMatrix锛堢函鏉$爜锛屾棤鏂囧瓧锛�
+            BitMatrix matrix = writer.encode(barcodeText, format, 230, 63, hints);
+
+            int width = matrix.getWidth();
+            int height = matrix.getHeight();
+
+            // 璁$畻鏂囧瓧鍖哄煙
+            int textAreaHeight = 30 + 10;
+
+            // 鍒涘缓鏈�缁堝浘鍍�
+            BufferedImage finalImage = new BufferedImage(
+                    width,
+                    height + textAreaHeight,
+                    BufferedImage.TYPE_BYTE_BINARY
+            );
+
+            Graphics2D g2d = finalImage.createGraphics();
+
+            // 鐧借壊鑳屾櫙
+            g2d.setColor(Color.WHITE);
+            g2d.fillRect(0, 0, width, height + textAreaHeight);
+
+            // 缁樺埗鏉$爜锛堜粠 BitMatrix锛�
+            g2d.setColor(Color.BLACK);
+            for (int x = 0; x < width; x++) {
+                for (int y = 0; y < height; y++) {
+                    if (matrix.get(x, y)) {
+                        g2d.fillRect(x, y, 1, 1);
+                    }
+                }
+            }
+
+            // 娣诲姞鑷畾涔夋枃瀛�
+            g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+            g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+            g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+            g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
+
+            Font font = new Font("Tahoma", Font.PLAIN, 20);
+            g2d.setFont(font);
+
+            FontMetrics fm = g2d.getFontMetrics();
+            int textWidth = fm.stringWidth(barcodeText);
+            int x = (width - textWidth) / 2;
+            int y = height + 30 - 5; // 璋冩暣鍨傜洿浣嶇疆
+
+            g2d.drawString(barcodeText, x, y);
+            g2d.dispose();
+
+            // 淇濆瓨
+            ByteArrayOutputStream resultStream = new ByteArrayOutputStream();
+            ImageIO.write(finalImage, "png", resultStream);
+
+            return resultStream.toByteArray();
+            //   return outputStream.toByteArray();
+        } catch (IOException e) {
+            throw new RuntimeException("Error generating barcode", e);
+        } catch (WriterException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
index ae9400b..b8122fa 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
@@ -285,10 +285,10 @@
         //System.out.println(includeQrCode);
         //鐢熸垚浜岀淮鐮�
         String code = "2024050000029250";
-        byte[] bt = barcodeService.generateBarcodeImage(code);
+        byte[] bt = barcodeService.generateBarcodeImageScarn(code);
         //  System.out.println(Arrays.toString(selectedSignatures));
         //绛惧悕閫夋嫨
-        String[] sig = {"涓氬姟绉戝绉讳氦浜�:", "瀹℃壒绉戠Щ浜や汉:", "妗f鏁寸悊鍏徃:"};
+        String[] sig = {"涓氬姟绉戝绉讳氦浜�:", "瀹℃壒绉�/娉曡绉戠Щ浜や汉:","瀹℃壒绉戠Щ浜や汉:", "妗f鏁寸悊鍏徃:"};
         List<String> arrLis = new ArrayList<>();
         if (searSigAnn.getSelectedSignatures() != null) {
             for (String si : searSigAnn.getSelectedSignatures()) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
index e461f45..fa7ceef 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
@@ -485,6 +485,7 @@
 
             //绉讳氦娓呭崟
             List<ArchiveRecordSmall> lrs = iArchiveRecordsService.findByIds(archiveRecords);
+            //鐢靛瓙鏂囦欢鐨勪釜鏁�
             System.out.println(lrs);
             System.out.println("99999999990000");
             ZipEntry entry1 = new ZipEntry(fna + "绉讳氦娓呭崟" + ".xls");

--
Gitblit v1.9.1