zero há 9 meses atrás
pai
commit
bf9ae201d2

+ 1 - 1
src/main/java/cn/cslg/wdc/controller/WordDiffCompareController.java

@@ -27,7 +27,7 @@ public class WordDiffCompareController {
 
     @Operation(summary = "查询案件信息")
     @PostMapping("/selectCaseInfoList")
-    public String selectCaseInfoList(@RequestBody SelectCaseInfoDTO vo){
+    public String selectCaseInfoList(@RequestBody SelectCaseInfoDTO vo) throws Exception {
         return caseFileService.selectCaseInfoList(vo);
     }
 

+ 33 - 0
src/main/java/cn/cslg/wdc/entity/common/SystemFile.java

@@ -0,0 +1,33 @@
+package cn.cslg.wdc.entity.common;
+
+import lombok.Data;
+
+/**
+ * 系统文件实体类
+ *
+ * @Author xiexiang
+ * @Date 2023/6/1
+ */
+@Data
+
+public class SystemFile {
+    /**
+     * 文件guid
+     */
+    private String guid;
+
+    /**
+     * 文件名称
+     */
+    private String fileName;
+
+    /**
+     * 原始名称
+     */
+    private String originalName;
+
+    /**
+     * 文件类型
+     */
+    private String type;
+}

+ 21 - 8
src/main/java/cn/cslg/wdc/service/CaseFileService.java

@@ -15,6 +15,7 @@ import cn.cslg.wdc.entity.Discrepancy;
 import cn.cslg.wdc.entity.DiscrepancyDetail;
 import cn.cslg.wdc.entity.common.PatentData;
 import cn.cslg.wdc.entity.common.Records;
+import cn.cslg.wdc.entity.common.SystemFile;
 import cn.cslg.wdc.mapper.AssoCaseFileMapper;
 import cn.cslg.wdc.mapper.CaseFileMapper;
 import cn.cslg.wdc.mapper.DiscrepancyDetailMapper;
@@ -1102,7 +1103,7 @@ public class CaseFileService extends ServiceImpl<CaseFileMapper, CaseFile> {
     }
 
 
-    public String selectCaseInfoList(SelectCaseInfoDTO vo) {
+    public String selectCaseInfoList(SelectCaseInfoDTO vo) throws Exception {
         List<SelectCaseInfoVO> caseInfoVOS = caseFileMapper.selectCaseInfoList(vo);
         if (!CollectionUtils.isEmpty(caseInfoVOS)) {
             for (SelectCaseInfoVO caseInfoVO : caseInfoVOS) {
@@ -1110,16 +1111,28 @@ public class CaseFileService extends ServiceImpl<CaseFileMapper, CaseFile> {
                 List<AssoCaseFile> caseFiles = assoCaseFileMapper.selectList(new LambdaQueryWrapper<AssoCaseFile>()
                         .eq(AssoCaseFile::getCaseId, caseId));
                 if (!CollectionUtils.isEmpty(caseFiles)) {
+                    List<String> list = caseFiles.stream().map(AssoCaseFile::getFileGuid).collect(Collectors.toList());
+                    List<SystemFile> systemFiles = new ArrayList<>();
+                    if (!CollectionUtils.isEmpty(list)) {
+                        String res = fileManagerService.getSystemFileFromFMS(list);
+                        if (StringUtils.isNotEmpty(res)) {
+                            systemFiles = JSON.parseArray(res, SystemFile.class);
+                        }
+                    }
+
                     List<SelectAssoCaseFileVO> fileVOS = new ArrayList<>();
-                    caseFiles.forEach(i -> {
+                    for (AssoCaseFile caseFile : caseFiles) {
                         SelectAssoCaseFileVO fileVO = new SelectAssoCaseFileVO();
-                        fileVO.setAssoCaseFileId(i.getId());
-                        fileVO.setCaseId(i.getCaseId());
-                        fileVO.setFileType(i.getFileType());
-                        fileVO.setFileName(i.getFileName());
-                        fileVO.setFileGuid(i.getFileGuid());
+                        fileVO.setAssoCaseFileId(caseFile.getId());
+                        fileVO.setCaseId(caseFile.getCaseId());
+                        fileVO.setFileType(caseFile.getFileType());
+                        fileVO.setFileName(caseFile.getFileName());
+                        fileVO.setFileGuid(caseFile.getFileGuid());
+                        if (!CollectionUtils.isEmpty(systemFiles)) {
+                            systemFiles.stream().filter(item -> item.getGuid().equals(caseFile.getFileGuid())).findFirst().ifPresent(fileVO::setSystemFile);
+                        }
                         fileVOS.add(fileVO);
-                    });
+                    }
                     caseInfoVO.setAssoCaseFileVOList(fileVOS);
                 }
             }

+ 3 - 0
src/main/java/cn/cslg/wdc/vo/SelectAssoCaseFileVO.java

@@ -1,5 +1,6 @@
 package cn.cslg.wdc.vo;
 
+import cn.cslg.wdc.entity.common.SystemFile;
 import lombok.Data;
 
 @Data
@@ -14,4 +15,6 @@ public class SelectAssoCaseFileVO {
     private Integer fileType;
 
     private String fileGuid;
+
+    private SystemFile systemFile;
 }

+ 1 - 1
src/main/resources/mapper/CaseFileMapper.xml

@@ -25,7 +25,7 @@
         ON cf.id = dis2.case_id
         <where>
             <if test="vo.caseNo != null and vo.caseNo != ''">
-                cf.case_no = #{vo.caseNo}
+                cf.case_no like concat('%',#{vo.caseNo},'%')
             </if>
             <if test="vo.title != null and vo.title != ''">
                 and cf.title like concat('%',#{vo.title},'%')

+ 1 - 1
src/test/java/cn/cslg/wdc/WordDiffCompareTest.java

@@ -21,7 +21,7 @@ public class WordDiffCompareTest {
     private DiscrepancyService discrepancyService;
 
     @Test
-    public void selectCaseInfoList() {
+    public void selectCaseInfoList() throws Exception {
         SelectCaseInfoDTO vo = new SelectCaseInfoDTO();
         vo.setCurrent(1L);
         vo.setSize(10L);