Browse Source

3/1 发布版本的稳定代码

chendayu 2 years ago
parent
commit
b2a2a9fd95

+ 5 - 3
RMS/src/main/java/cn/cslg/report/controller/CompareController.java

@@ -1,4 +1,5 @@
 package cn.cslg.report.controller;
+
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.PatentVO;
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+
 import java.io.IOException;
 import java.text.ParseException;
 
@@ -28,14 +30,14 @@ public class CompareController {
     @RequestMapping(value = "/addCompareFile", method = RequestMethod.POST)
     @Operation(summary = "添加对比文件")
     public String addCompareFile(@RequestBody PatentVO patentVO) throws IOException {
-        String res =   compareFilesService.addCompareFile(patentVO);
+        String res = compareFilesService.addCompareFile(patentVO);
         return res;
     }
 
     @RequestMapping(value = "/addFTOCompareFile", method = RequestMethod.POST)
     @Operation(summary = "添加FTO对比文件")
-    public String addFTOCompareFile(@RequestBody CompareFilesVO compareFilesVO) throws IOException {
-        String res =   compareFilesService.addFTOCompareFile(compareFilesVO);
+    public String addFTOCompareFile(@RequestBody PatentVO patentVO) throws IOException {
+        String res = compareFilesService.addFTOFile(patentVO);
         return res;
     }
 

+ 84 - 44
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -73,8 +73,8 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         if (patentNoJSON.containsKey("family")) {
             String familyJson = patentNoJSON.get("family").toString();
             JSONObject jsonObject = JSONObject.parseObject(familyJson);
-            String  simpleJson = jsonObject.get("simple").toString();
-            familyPatentNos = JSONArray.parseArray(simpleJson,String.class);
+            String simpleJson = jsonObject.get("simple").toString();
+            familyPatentNos = JSONArray.parseArray(simpleJson, String.class);
         }
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         //根据报告id 获取文件对比表的详情
@@ -85,11 +85,11 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         List<CompareFiles> compareFiles = new ArrayList<>();
         patentVO.setNotInPatentNos(patentNoList);
 
-        List<String> patentNos =new ArrayList<>();
-        if(patentVO.getStartNumber()<=patentVO.getEndNumber()){
+        List<String> patentNos = new ArrayList<>();
+        if (patentVO.getStartNumber() <= patentVO.getEndNumber()) {
             // 见outInterfaceService getComPatentNos接口
-            patentVO.setStartNumber(patentVO.getStartNumber()-1);
-            patentVO.setEndNumber(patentVO.getEndNumber()-patentVO.getStartNumber());
+            patentVO.setStartNumber(patentVO.getStartNumber() - 1);
+            patentVO.setEndNumber(patentVO.getEndNumber() - patentVO.getStartNumber());
             String res = outInterfaceService.getComPatentNos(patentVO);
             JSONObject jsonObject = JSONObject.parseObject(res);
             patentNos = JSONArray.parseArray(jsonObject.get("data").toString(), String.class);
@@ -100,10 +100,10 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         patentNos.addAll(patentVO.getIsAdd());
         //获取对比文件对比表的专利号
         patentNos.removeAll(patentNoList);
-        List<String> flags =new ArrayList<>();
+        List<String> flags = new ArrayList<>();
         for (int i = 0; i < patentNos.size(); i++) {
             CompareFiles compareFiles1 = new CompareFiles();
-            if(!flags.contains(patentNos.get(i))){
+            if (!flags.contains(patentNos.get(i))) {
                 //根据专利号和报告id造对象
                 compareFiles1.setPatentNo(patentNos.get(i));
                 compareFiles1.setReportId(patentVO.getReportId());
@@ -159,6 +159,47 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return Response.success();
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public String addFTOFile(PatentVO patentVO) throws IOException {
+        LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
+        //根据报告id 获取文件对比表的详情
+        queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
+        List<CompareFiles> compareFile1 = this.list(queryWrapper);
+        //获取对比文件对比表的专利号
+        List<String> patentNoList = compareFile1.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
+        List<CompareFiles> compareFiles = new ArrayList<>();
+        patentNoList.addAll(patentVO.getIsDelete());
+        patentVO.setNotInPatentNos(patentNoList);
+
+        List<String> patentNos = new ArrayList<>();
+        if (patentVO.getStartNumber() <= patentVO.getEndNumber()) {
+            // 见outInterfaceService getComPatentNos接口
+            patentVO.setStartNumber(patentVO.getStartNumber() - 1);
+            patentVO.setEndNumber(patentVO.getEndNumber() - patentVO.getStartNumber());
+            String res = outInterfaceService.getComPatentNos(patentVO);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            patentNos = JSONArray.parseArray(jsonObject.get("data").toString(), String.class);
+        }
+        //添加新的
+        patentNos.addAll(patentVO.getIsAdd());
+        //获取对比文件对比表的专利号
+        patentNos.removeAll(patentNoList);
+        List<String> flags = new ArrayList<>();
+        for (int i = 0; i < patentNos.size(); i++) {
+            CompareFiles compareFiles1 = new CompareFiles();
+            if (!flags.contains(patentNos.get(i))) {
+                //根据专利号和报告id造对象
+                compareFiles1.setPatentNo(patentNos.get(i));
+                compareFiles1.setReportId(patentVO.getReportId());
+                compareFiles.add(compareFiles1);
+                flags.add(patentNos.get(i));
+            }
+
+        }
+        // 批量添加
+        this.saveBatch(compareFiles);
+        return Response.success();
+    }
     /**
      * @param patentVO
      * @return 标的专利号和数量 map
@@ -222,13 +263,11 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
 
-if(patentVO.getOrderItem()!=null&&patentVO.getOrderType()!=null&&patentVO.getOrderItem().equals("SysOrder")&&patentVO.getOrderType().equals("desc"))
-{
-    queryWrapper .last("ORDER BY IF(isnull(SYS_ORDER),0,1), SYS_ORDER DESC");
-}
-else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder")){
-    queryWrapper .last("ORDER BY IF(isnull(SYS_ORDER),1,0), SYS_ORDER ASC");
-}
+        if (patentVO.getOrderItem() != null && patentVO.getOrderType() != null && patentVO.getOrderItem().equals("SysOrder") && patentVO.getOrderType().equals("desc")) {
+            queryWrapper.last("ORDER BY IF(isnull(SYS_ORDER),0,1), SYS_ORDER DESC");
+        } else if (patentVO.getOrderItem() != null && patentVO.getOrderItem().equals("SysOrder")) {
+            queryWrapper.last("ORDER BY IF(isnull(SYS_ORDER),1,0), SYS_ORDER ASC");
+        }
         List<CompareFiles> compareFiles = this.list(queryWrapper);
         List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
         //无查询条件
@@ -246,7 +285,7 @@ else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder"
         }
         List<String> allPatentsCopy = new ArrayList<>();
         if (patentVO.getNotAssignTypes() != null && patentVO.getNotAssignTypes().size() != 0) {
-            for(Integer types :patentVO.getNotAssignTypes()) {
+            for (Integer types : patentVO.getNotAssignTypes()) {
                 LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<>();
                 wrapper.select(Task::getId)
                         .eq(Task::getType, types)
@@ -257,7 +296,7 @@ else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder"
                 List<String> PatentsCopy = new ArrayList<>(AllpatentNos);
                 if (taskIds.size() != 0) {
                     LambdaQueryWrapper<AssoTaskPersonel> assoWrapper = new LambdaQueryWrapper<>();
-                    assoWrapper.in(AssoTaskPersonel::getTaskId,taskIds);
+                    assoWrapper.in(AssoTaskPersonel::getTaskId, taskIds);
                     List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(assoWrapper);
                     List<String> tem = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
                     PatentsCopy.removeAll(tem);
@@ -269,11 +308,12 @@ else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder"
             patentNosTask.addAll(allPatentsCopy);
             patentNos = new ArrayList<>(CollectionUtils.intersection(patentNosTask, patentNos));
         }
-        if (patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder")) {
+        if (patentVO.getOrderItem() != null && patentVO.getOrderItem().equals("SysOrder")) {
             List<String> noCopy = new ArrayList<>();
             for (CompareFiles item : compareFiles) {
-                if (patentNos.contains(item.getPatentNo()))
-                {  noCopy.add(item.getPatentNo());}
+                if (patentNos.contains(item.getPatentNo())) {
+                    noCopy.add(item.getPatentNo());
+                }
             }
             patentNos = noCopy;
         }
@@ -285,10 +325,9 @@ else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder"
         List<JSONObject> jsonObjects = JSONArray.parseArray(jsonObject1.get("records").toString(), JSONObject.class);
         List<JSONObject> jsonObjects2 = new ArrayList<>();
         for (JSONObject jsonObject2 : jsonObjects) {
-            for(CompareFiles com:compareFiles){
-                if(jsonObject2.get("publicNo").toString().equals(com.getPatentNo()))
-                {
-                    jsonObject2.put("SysOrder",com.getSysOrder());
+            for (CompareFiles com : compareFiles) {
+                if (jsonObject2.get("publicNo").toString().equals(com.getPatentNo())) {
+                    jsonObject2.put("SysOrder", com.getSysOrder());
                 }
             }
             jsonObjects2.add(jsonObject2);
@@ -315,26 +354,26 @@ else if(patentVO.getOrderItem()!=null&&patentVO.getOrderItem().equals("SysOrder"
 
     public String deletePatentNo(PatentVO patentVO) throws IOException {
         List<String> patentNos = new ArrayList<>();
-Integer reportId = patentVO.getReportId();
-            LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
-            wrapper.select(CompareFiles::getPatentNo)
-                    .eq(CompareFiles::getReportId, patentVO.getReportId()).orderByAsc(CompareFiles::getPatentNo);
+        Integer reportId = patentVO.getReportId();
+        LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(CompareFiles::getPatentNo)
+                .eq(CompareFiles::getReportId, patentVO.getReportId()).orderByAsc(CompareFiles::getPatentNo);
 
         // 见outInterfaceService getComPatentNos接口
-if(patentVO.getStartNumber()<patentVO.getEndNumber()) {
-    patentNos = this.list(wrapper).stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
-    patentVO.setPatentNos(patentNos);
-    patentVO.setStartNumber(patentVO.getStartNumber() - 1);
-    patentVO.setEndNumber(patentVO.getEndNumber()-patentVO.getStartNumber());
-    patentVO.setReportId(null);
-    String res = outInterfaceService.getComPatentNos(patentVO);
-    JSONObject jsonObject = JSONObject.parseObject(res);
-    patentNos = JSONArray.parseArray(jsonObject.get("data").toString(), String.class);
-    //减少的专利号
-    if (patentVO.getIsDelete() != null) {
-        patentNos.removeAll(patentVO.getIsDelete());
-    }
-}
+        if (patentVO.getStartNumber() < patentVO.getEndNumber()) {
+            patentNos = this.list(wrapper).stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
+            patentVO.setPatentNos(patentNos);
+            patentVO.setStartNumber(patentVO.getStartNumber() - 1);
+            patentVO.setEndNumber(patentVO.getEndNumber() - patentVO.getStartNumber());
+            patentVO.setReportId(null);
+            String res = outInterfaceService.getComPatentNos(patentVO);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            patentNos = JSONArray.parseArray(jsonObject.get("data").toString(), String.class);
+            //减少的专利号
+            if (patentVO.getIsDelete() != null) {
+                patentNos.removeAll(patentVO.getIsDelete());
+            }
+        }
 
         //增加的专利号
         if (patentVO.getIsAdd() != null) {
@@ -344,11 +383,12 @@ if(patentVO.getStartNumber()<patentVO.getEndNumber()) {
         if (patentNos.size() != 0) {
             LambdaQueryWrapper<CompareFiles> lambdaQueryWrapper = new LambdaQueryWrapper<>();
             lambdaQueryWrapper.in(CompareFiles::getPatentNo, patentNos);
-            lambdaQueryWrapper.eq(CompareFiles::getReportId,reportId);
+            lambdaQueryWrapper.eq(CompareFiles::getReportId, reportId);
             this.remove(lambdaQueryWrapper);
         }
         return Response.success();
     }
+
     /**
      * @param id
      * @return
@@ -526,7 +566,7 @@ if(patentVO.getStartNumber()<patentVO.getEndNumber()) {
                 return "";
             }
 
-            Report report =reportService.getById(patentVO.getReportId());
+            Report report = reportService.getById(patentVO.getReportId());
             patentVO.setProjectId(report.getProjectId());
             patentVO.setNotInPatentNos(patentNos);
             res = outInterfaceService.getPatentListFromPAS(patentVO);

+ 52 - 51
RMS/src/main/java/cn/cslg/report/service/business/ReportReferencesService.java

@@ -43,7 +43,8 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
     private final CacheUtils cacheUtils;
     private final ReportService reportService;
     private final AssoReportReferencesService assoReportReferencesService;
-    public String add(ReportReferences reportReferences, List<MultipartFile> files)throws IOException{
+
+    public String add(ReportReferences reportReferences, List<MultipartFile> files) throws IOException {
         ReportReferences i = new ReportReferences();
         i.setReportID(reportReferences.getReportID());
         i.setCreationTime(new Date());
@@ -58,40 +59,44 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
         if (files != null && files.size() != 0) {
             //将文档上传并返回文件入库的Id
             List<Integer> fileIds = reportFileService.uploadFiles(files);
-            assoReportReferencesService.add(i.getId(),fileIds);
+            assoReportReferencesService.add(i.getId(), fileIds);
             return Response.success();
         }
 
-        return  Response.error();
+        return Response.error();
     }
 
     /**
-     *   查询分三种情况合在一起:
-     *                     { 1:普通查询
-     *                       2:分页查询
-     *                       3:根据文件名模糊查询
-     *                     }
-     * @antor:chenyi
+     * 查询分三种情况合在一起:
+     * { 1:普通查询
+     * 2:分页查询
+     * 3:根据文件名模糊查询
+     * }
+     *
      * @param reportReferences
      * @return
      * @throws IOException
+     * @antor:chenyi
      */
-    public String queryReportReferences(ReportReferences reportReferences)throws IOException{
+    public String queryReportReferences(ReportReferences reportReferences) throws IOException {
         LambdaQueryWrapper<ReportReferences> wrapper = new LambdaQueryWrapper<>();
-        PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         String name = reportService.getName(reportReferences.getReportID());
+        if (name == null) {
+            return Response.error("报告id不存在");
+        }
         //根据报告id 查询报告文档上传表
-        wrapper.eq(ReportReferences::getReportID,reportReferences.getReportID());
+        wrapper.eq(ReportReferences::getReportID, reportReferences.getReportID());
 
         wrapper.orderByDesc(ReportReferences::getId);
 
-        List<ReportReferences> list=new ArrayList<>();
-       //分页查询
-        if(reportReferences.getSize()!=null&&reportReferences.getCurrent()!=null){
+        List<ReportReferences> list = new ArrayList<>();
+        //分页查询
+        if (reportReferences.getSize() != null && reportReferences.getCurrent() != null) {
             IPage<ReportReferences> pages = this.page(new Page<>(reportReferences.getCurrent(), reportReferences.getSize()), wrapper);
             List<ReportReferences> records = pages.getRecords();
 
-            for(ReportReferences references :records) {
+            for (ReportReferences references : records) {
                 //根据id的精确查询和文件名的模糊查询
                 List<ReportFiles> reportFiles = this.ReportReferences(references.getId(), reportReferences.getFileName());
                 if (reportFiles.size() != 0) {
@@ -105,13 +110,13 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
                 }
             }
 
-           pages.setRecords(list);
+            pages.setRecords(list);
             return Response.success(pages);
         }
 
 
         List<ReportReferences> list1 = this.list(wrapper);
-        for(ReportReferences references:list1){
+        for (ReportReferences references : list1) {
             List<ReportFiles> reportFiles = this.ReportReferences(references.getId(), reportReferences.getFileName());
             if (reportFiles.size() != 0) {
 
@@ -123,45 +128,45 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
             }
 
         }
-        List<ReportReferences> l=new ArrayList<>(list);
+        List<ReportReferences> l = new ArrayList<>(list);
 
         return Response.success(list);
 
     }
 
     /**
-     * @antor:chenyi
      * @param id
      * @return
      * @throws IOException
+     * @antor:chenyi
      */
-    public String delete(int id)throws IOException{
+    public String delete(int id) throws IOException {
         this.removeById(id);
         //找到AssoReportReferences文件id
-        LambdaQueryWrapper<AssoReportReferences> wrapper =new LambdaQueryWrapper<>();
-        wrapper.eq(AssoReportReferences::getReportReferencesID,id);
+        LambdaQueryWrapper<AssoReportReferences> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AssoReportReferences::getReportReferencesID, id);
         List<AssoReportReferences> list = assoReportReferencesService.list(wrapper);
         //删除对应的文件
-        reportFileService.removeByIds( list.stream().map(AssoReportReferences::getFileID).collect(Collectors.toList()));
+        reportFileService.removeByIds(list.stream().map(AssoReportReferences::getFileID).collect(Collectors.toList()));
         assoReportReferencesService.remove(wrapper);
 
-       return Response.success();
+        return Response.success();
 
     }
 
-    public List<ReportFiles> ReportReferences(int id ,String str){
+    public List<ReportFiles> ReportReferences(int id, String str) {
         //根据ReportReferences的id找到AssoReportReferences关联表的对象
         List<AssoReportReferences> select = assoReportReferencesService.select(id);
         //找到文件ReportFiles的id
         List<Integer> collect = select.stream().map(AssoReportReferences::getFileID).collect(Collectors.toList());
-        if(collect.size()==0){
+        if (collect.size() == 0) {
             return null;
         }
         LambdaQueryWrapper<ReportFiles> wrapper = new LambdaQueryWrapper<>();
         //根据ReportFiles的id和文件名
         wrapper.in(ReportFiles::getId, collect);
-        if(str!=null&&str!=""){
-            wrapper.like(ReportFiles::getName,str);
+        if (str != null && str != "") {
+            wrapper.like(ReportFiles::getName, str);
         }
         List<ReportFiles> reportFiles = reportFileService.list(wrapper);
         return reportFiles;
@@ -183,34 +188,30 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
      * @throws IOException
      */
 
-    public Boolean updateReportReferences(ReportReferences reportReferences,List<MultipartFile> files)throws IOException{
-        if(files!=null && files.size() != 0 ){
-            LambdaQueryWrapper<AssoReportReferences> wrapper =new LambdaQueryWrapper<>();
-            wrapper.eq(AssoReportReferences::getReportReferencesID,reportReferences.getId());
+    public Boolean updateReportReferences(ReportReferences reportReferences, List<MultipartFile> files) throws IOException {
+        if (files != null && files.size() != 0) {
+            LambdaQueryWrapper<AssoReportReferences> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(AssoReportReferences::getReportReferencesID, reportReferences.getId());
             List<AssoReportReferences> list = assoReportReferencesService.list(wrapper);
             List<Integer> collect = list.stream().map(AssoReportReferences::getFileID).collect(Collectors.toList());
-                assoReportReferencesService.remove(wrapper);
-                reportFileService.removeByIds(collect);
-                List<Integer> fileIdList = reportFileService.uploadFiles(files);
-                assoReportReferencesService.add(reportReferences.getId(),fileIdList);
+            assoReportReferencesService.remove(wrapper);
+            reportFileService.removeByIds(collect);
+            List<Integer> fileIdList = reportFileService.uploadFiles(files);
+            assoReportReferencesService.add(reportReferences.getId(), fileIdList);
         }
         return reportReferences.updateById();
     }
 
-/**
- * function :删除报告的时候删除
- */
-  @Transactional(rollbackFor = Exception.class)
-  public String deleteByReportId(Integer id){
-      LambdaQueryWrapper<ReportReferences> wrapper = new LambdaQueryWrapper<>();
-      wrapper.eq(ReportReferences::getReportID,id);
-      remove(wrapper);
-      return Response.success();
-  }
-
-
-
-
+    /**
+     * function :删除报告的时候删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String deleteByReportId(Integer id) {
+        LambdaQueryWrapper<ReportReferences> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ReportReferences::getReportID, id);
+        remove(wrapper);
+        return Response.success();
+    }
 
 
 }

+ 6 - 3
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -330,9 +330,12 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     public String getName(int id) throws IOException {
         LambdaQueryWrapper<Report> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Report::getId, id);
-        Report report = this.list(wrapper).get(0);
-        return report.getName();
-
+        List<Report> list = this.list(wrapper);
+        if (list.size() > 0) {
+            Report report = list.get(0);
+            return report.getName();
+        }
+        return null;
     }
 
     /**