Browse Source

四性检测,选择检测类型

qianxb 2 năm trước cách đây
mục cha
commit
615e34cdac

+ 1 - 1
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchiveExaminingSocketVo.java

@@ -6,7 +6,7 @@ import org.springblade.archive.entity.ArchiveExaminingReportDetail;
 import java.util.List;
 
 /**
- * @Param
+ * @Param 四性检测socket发送值
  * @Author wangwl
  * @Date 2023/4/23 10:13
  **/

+ 30 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchiveExaminingVo.java

@@ -0,0 +1,30 @@
+package org.springblade.archive.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Param 四性检测参数
+ * @Author wangwl
+ * @Date 2023/4/23 15:42
+ **/
+@Data
+public class ArchiveExaminingVo {
+    @ApiModelProperty("项目ID")
+    private Long projectId;
+
+    @ApiModelProperty("报告ID")
+    private Long reportId;
+
+    @ApiModelProperty("真实性")
+    private String authenticity;
+
+    @ApiModelProperty("完整性")
+    private String integrality;
+
+    @ApiModelProperty("可用性")
+    private String usability;
+
+    @ApiModelProperty("安全性")
+    private String security;
+}

+ 6 - 6
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveExaminingReportController.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.archive.entity.ArchiveExaminingReport;
 import org.springblade.archive.service.IArchiveExaminingReportService;
+import org.springblade.archive.vo.ArchiveExaminingVo;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -75,11 +76,10 @@ public class ArchiveExaminingReportController {
 
     @GetMapping("/getExamining")
     @ApiOperation(value = "档案四性检测")
-    public R getExamining(@RequestParam("reportId") Long reportId,
-                          @RequestParam("projectId") Long projectId) throws InterruptedException, IOException {
+    public R getExamining(ArchiveExaminingVo vo) throws InterruptedException, IOException {
 
         //如果id为0则为一键检测,不为0则有报告正在进行
-        if (reportId == 0){
+        if (vo.getReportId() == 0){
             //创建报告
             ArchiveExaminingReport report = new ArchiveExaminingReport();
             Long id = SnowFlakeUtil.getId();
@@ -88,17 +88,17 @@ public class ArchiveExaminingReportController {
             report.setExaminingTime(LocalDateTime.now());
             report.setStatus(1);
             report.setCreateTime(new Date());
-            report.setProjectId(projectId);
+            report.setProjectId(vo.getProjectId());
             archiveExaminingReportService.save(report);
             //调用四性检测方法
-            archiveExaminingReportService.getExamining(projectId,id);
+            archiveExaminingReportService.getExamining(vo,id);
             //调用socket,每隔3秒检测当前报告状态然后推送
             BladeUser user = SecureUtil.getUser();
             System.out.println(user.getUserId()+"Controller");
             archiveExaminingReportService.pushStatusBySocket(user.getUserId(), id);
             return R.data(report);
         }else {
-            ArchiveExaminingReport report = archiveExaminingReportService.getById(reportId);
+            ArchiveExaminingReport report = archiveExaminingReportService.getById(vo.getReportId());
             return R.data(report);
         }
 

+ 2 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveExaminingReportService.java

@@ -1,6 +1,7 @@
 package org.springblade.archive.service;
 
 import org.springblade.archive.entity.ArchiveExaminingReport;
+import org.springblade.archive.vo.ArchiveExaminingVo;
 import org.springblade.core.mp.base.BaseService;
 
 import java.io.IOException;
@@ -13,5 +14,5 @@ import java.io.IOException;
 public interface IArchiveExaminingReportService extends BaseService<ArchiveExaminingReport> {
     void pushStatusBySocket(Long userId,Long id) throws IOException, InterruptedException;
 
-    void getExamining(Long projectId,Long id) throws InterruptedException;
+    void getExamining(ArchiveExaminingVo vo, Long id) throws InterruptedException;
 }

+ 84 - 71
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExaminingReportImpl.java

@@ -3,6 +3,7 @@ package org.springblade.archive.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springblade.archive.entity.ArchiveExaminingReport;
 import org.springblade.archive.entity.ArchiveExaminingReportDetail;
 import org.springblade.archive.mapper.ArchiveExaminingReportMapper;
@@ -10,6 +11,7 @@ import org.springblade.archive.service.IArchiveExaminingReportDetailService;
 import org.springblade.archive.service.IArchiveExaminingReportService;
 import org.springblade.archive.socket.WebSocketServer;
 import org.springblade.archive.vo.ArchiveExaminingSocketVo;
+import org.springblade.archive.vo.ArchiveExaminingVo;
 import org.springblade.common.constant.ArchiveConstant;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.BladeUser;
@@ -49,6 +51,9 @@ public class ArchiveExaminingReportImpl extends BaseServiceImpl<ArchiveExamining
             //获取检测详情
             List<ArchiveExaminingReportDetail> list = detailService.list(new LambdaQueryWrapper<ArchiveExaminingReportDetail>()
                     .eq(ArchiveExaminingReportDetail::getReportId, id));
+            for (ArchiveExaminingReportDetail detail : list) {
+                detail.setExaminingItem(detail.getExaminingType()+":"+detail.getExaminingItem());
+            }
             ArchiveExaminingSocketVo vo = new ArchiveExaminingSocketVo(status,list);
             webSocketServer.sendMessagesToArchive(userId+"", JSON.toJSONString(vo));
             status = report.getStatus();
@@ -62,86 +67,94 @@ public class ArchiveExaminingReportImpl extends BaseServiceImpl<ArchiveExamining
      */
     @Async
     @Override
-    public void getExamining(Long projectId,Long id) throws InterruptedException {
+    public void getExamining(ArchiveExaminingVo vo, Long id) throws InterruptedException {
         ArchiveExaminingReport report = new ArchiveExaminingReport();
         report.setId(id);
         report.setStatus(2);
         this.updateById(report);
         //检测中
             //真实性
-        Thread.sleep(7000L);
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对固化信息有效性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据项数据长度检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据项数据类型、格式检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对设定值域的元数据项值域符合度检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对档号规范性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对内容数据的电子属性一致性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据项数据重复性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据是否关联内容数据检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包目录结构规范性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包一致性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对电子档案封装包规范性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对电子档案封装包电子前面有效性检测",0,"无",0));
-        Thread.sleep(7000L);
+        if (StringUtils.isNotBlank(vo.getAuthenticity()) && "1".equals(vo.getAuthenticity())) {
+            Thread.sleep(7000L);
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对固化信息有效性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据项数据长度检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据项数据类型、格式检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对设定值域的元数据项值域符合度检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对档号规范性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对内容数据的电子属性一致性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据项数据重复性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据是否关联内容数据检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包目录结构规范性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包一致性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对电子档案封装包规范性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_AUTHENTICITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对电子档案封装包电子前面有效性检测", 0, "无", 0));
+        }
+        if (StringUtils.isNotBlank(vo.getIntegrality()) && "1".equals(vo.getIntegrality())) {
+            Thread.sleep(7000L);
             //完整性
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对总件数相符性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对总字节数相符性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据项完整性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对元数据必填著录项目检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对过程信息完整性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对连续性元数据项检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对内容数据完整性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对附件数据完整性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对归档范围检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包元数据完整性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包内容数据完整性检测",0,"无",0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对总件数相符性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对总字节数相符性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据项完整性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对元数据必填著录项目检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对过程信息完整性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对连续性元数据项检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对内容数据完整性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对附件数据完整性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对归档范围检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包元数据完整性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_INTEGRALITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包内容数据完整性检测", 0, "无", 0));
+        }
             //可用性
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包中元数据的可读性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对目标数据库中的元数据可访问下检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对内容数据格式检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对内容数据的可读性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对内容数据格式长期可用性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对软硬件环境合规性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对信息包中包含的内容数据格式合规性检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对备份数据可恢复性检测",0,"无",0));
-        Thread.sleep(7000L);
+        if (StringUtils.isNotBlank(vo.getUsability()) && "1".equals(vo.getUsability())) {
+            Thread.sleep(7000L);
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包中元数据的可读性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对目标数据库中的元数据可访问下检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对内容数据格式检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对内容数据的可读性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对内容数据格式长期可用性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对软硬件环境合规性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对信息包中包含的内容数据格式合规性检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_USABILITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对备份数据可恢复性检测", 0, "无", 0));
+        }
             //安全性
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_SECURITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对系统环境中是否安装杀毒软件检测",0,"无",0));
-        detailService.save(new ArchiveExaminingReportDetail(projectId,id, ArchiveConstant.ARCHIVE_EXAMINING_SECURITY,
-                ArchiveConstant.ARCHIVE_EXAMINING_STANDARD+"对病毒感染检测",0,"无",0));
-        Thread.sleep(7000L);
+        if (StringUtils.isNotBlank(vo.getSecurity()) && "1".equals(vo.getSecurity())) {
+            Thread.sleep(7000L);
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_SECURITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对系统环境中是否安装杀毒软件检测", 0, "无", 0));
+            detailService.save(new ArchiveExaminingReportDetail(vo.getProjectId(), id, ArchiveConstant.ARCHIVE_EXAMINING_SECURITY,
+                    ArchiveConstant.ARCHIVE_EXAMINING_STANDARD + "对病毒感染检测", 0, "无", 0));
+        }
         //生成报告,生成PDF
         report.setStatus(3);
         this.updateById(report);