Selaa lähdekoodia

20250603-生成说明书

lrj 4 kuukautta sitten
vanhempi
commit
81313a484f

+ 1 - 1
src/main/java/cn/cslg/pas/controller/CompareLiteratureController.java

@@ -80,7 +80,7 @@ public class CompareLiteratureController {
             compareLiteratureService.updateCompareLiteratureBatch(updateBatchLiteratureDTO);
             return Response.success("更新成功");
         } catch (Exception e) {
-            return Response.error("更新失败");
+            return Response.error(e.getMessage());
 
         }
     }

+ 36 - 11
src/main/java/cn/cslg/pas/service/business/CompareLiteratureService.java

@@ -20,6 +20,7 @@ import cn.cslg.pas.domain.business.ReportProject;
 import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
 import cn.cslg.pas.domain.es.Patent;
 import cn.cslg.pas.domain.report.AssoComLiteratureFile;
+import cn.cslg.pas.exception.ExceptionEnum;
 import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.CompareLiteratureMapper;
@@ -323,6 +324,9 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
 
                         }
                     }
+                    else {
+                        compareLiteratureVO.setPublicNo(compareLiterature.getLiteratureNo());
+                    }
                 }
 
             }
@@ -377,11 +381,13 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
 
     public void updateCompareLiteratureBatch(UpdateBatchLiteratureDTO updateBatchLiteratureDTO) {
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-
+        Integer projectId =updateBatchLiteratureDTO.getProjectId();
         if (updateBatchLiteratureDTO == null) {
             return;
         }
         List<UpdateBatchLiteraturesDTO> dtos = updateBatchLiteratureDTO.getUpdateBatchLiteratureDTOs();
+        List<Integer> orders =dtos.stream().map(UpdateBatchLiteraturesDTO::getSysOrder).collect(Collectors.toList());
+                this.checkOrders(orders,projectId);
         int i = 1;
         for (UpdateBatchLiteraturesDTO item : dtos) {
             if (item.getType().equals(1)) {
@@ -499,24 +505,25 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
         } catch (Exception e) {
 
         }
-        if (patentWithIdVO == null) {
-            return null;
+        CompareLiterature compareLiterature = new CompareLiterature();
+        compareLiterature.setCreateId(personnelVO.getId());
+        //报告id
+        compareLiterature.setProjectId(projectId);
+        if (patentWithIdVO != null) {
+            literatureNo = patent.getPatentNo();
         }
-        literatureNo = patent.getPatentNo();
+
         //判断该专利是否已经作为文献
         Integer lastId = this.getHaveAddIdByNos(projectId, literatureNo);
         if (lastId != null && id == null) {
             id = lastId;
         }
 
-        CompareLiterature compareLiterature = new CompareLiterature();
-        compareLiterature.setCreateId(personnelVO.getId());
-        //报告id
-        compareLiterature.setProjectId(projectId);
+
         //文档guid
-        compareLiterature.setLiteratureNo(patent.getPatentNo());
+        compareLiterature.setLiteratureNo(literatureNo);
         //文档名称
-        String name = literatureNo;
+        String name = null;
         if (patent != null) {
             if (patent.getTitle() != null && patent.getTitle().size() != 0) {
                 name = patent.getTitle().get(0).getTextContent();
@@ -557,7 +564,9 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
 
         }
         try {
-            importSinglePatentService.saveAssoPatentProjectToEs(projectId, patentWithIdVO.getId());
+            if (patentWithIdVO != null) {
+                importSinglePatentService.saveAssoPatentProjectToEs(projectId, patentWithIdVO.getId());
+            }
         } catch (Exception e) {
             throw new XiaoShiException("添加和es关联错误");
         }
@@ -776,4 +785,20 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
             }
         }
     }
+
+    /**
+     *
+     * @param orders
+     */
+    public void checkOrders(List<Integer> orders,Integer projectId){
+    if(orders!=null&&orders.size()!=0){
+        LambdaQueryWrapper<CompareLiterature> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.in(CompareLiterature::getSysOrder,orders)
+                     .eq(CompareLiterature::getProjectId,projectId);
+        List<CompareLiterature> compareLiteratures =this.list(queryWrapper);
+        if(compareLiteratures!=null&&compareLiteratures.size()>0){
+            throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR,"已导入,禁止连续提交");
+        }
+    }
+    }
 }

+ 4 - 1
src/main/java/cn/cslg/pas/service/importPatent/ImportSinglePatentService.java

@@ -87,7 +87,7 @@ public class ImportSinglePatentService {
             dbType = "CN";
         } else {
             dbType = "WD";
-             conditions = "PN=(" + patentNo + ") OR GN=(" + patentNo + ")";
+            conditions = "PN=(" + patentNo + ") OR GN=(" + patentNo + ")";
 
         }
         //根据专利号查询
@@ -542,6 +542,9 @@ public class ImportSinglePatentService {
         }
         JSONObject jsonObject = JSONObject.parseObject(res);
         String imageInfo = jsonObject.getString("data");
+        if (imageInfo == null) {
+            return null;
+        }
         // 删除第一个 `[`
         if (imageInfo.startsWith("[")) {
             imageInfo = imageInfo.substring(1);

+ 1 - 1
src/main/resources/application-dev.yml

@@ -63,7 +63,7 @@ spring:
 authorUrl: http://192.168.2.24:8871
 PCSUrl: http://192.168.2.24:8871
 #OPSUrl: http://192.168.2.24:5001
-OPSUrl: http://139.224.24.90:5001
+OPSUrl: http://47.116.194.135:5001
 PASUrl: http://localhost:8879
 FMSUrl: http://192.168.2.24:8803
 WDUrl: http://1.116.113.26:81

BIN
src/main/resources/file/reportTemple/patent.docx