Bladeren bron

Merge remote-tracking branch 'origin/master'

xiexiang 1 jaar geleden
bovenliggende
commit
06aa6b16bd
54 gewijzigde bestanden met toevoegingen van 714 en 441 verwijderingen
  1. 4 4
      src/main/java/cn/cslg/pas/common/config/WebSocketConfig.java
  2. 30 0
      src/main/java/cn/cslg/pas/common/core/GlobalExceptionHandler.java
  3. 1 0
      src/main/java/cn/cslg/pas/common/core/annotation/LoggerAspect.java
  4. 14 0
      src/main/java/cn/cslg/pas/common/dto/ExportDTO.java
  5. 3 1
      src/main/java/cn/cslg/pas/common/utils/CacheUtils.java
  6. 52 19
      src/main/java/cn/cslg/pas/common/utils/FileUtils.java
  7. 8 0
      src/main/java/cn/cslg/pas/common/utils/Response.java
  8. 39 0
      src/main/java/cn/cslg/pas/controller/ExportController.java
  9. 81 0
      src/main/java/cn/cslg/pas/exception/ExceptionEnum.java
  10. 25 1
      src/main/java/cn/cslg/pas/exception/XiaoShiException.java
  11. 3 7
      src/main/java/cn/cslg/pas/factorys/EsBuilderFactory/DateQueryBuilder.java
  12. 114 56
      src/main/java/cn/cslg/pas/factorys/EsBuilderFactory/PrioritiesNestedQueryBuilder.java
  13. 3 8
      src/main/java/cn/cslg/pas/service/business/AsInvalidReasonHistoryService.java
  14. 0 4
      src/main/java/cn/cslg/pas/service/business/AssoProjectEventService.java
  15. 1 4
      src/main/java/cn/cslg/pas/service/business/AssoTaskFileService.java
  16. 1 4
      src/main/java/cn/cslg/pas/service/business/AvoidDesignService.java
  17. 2 4
      src/main/java/cn/cslg/pas/service/business/AvoidDesignWholeService.java
  18. 2 12
      src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java
  19. 0 5
      src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSchemaService.java
  20. 2 4
      src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSettingService.java
  21. 1 4
      src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSourceService.java
  22. 1 4
      src/main/java/cn/cslg/pas/service/business/CustomFieldService.java
  23. 2 4
      src/main/java/cn/cslg/pas/service/business/CustomOptionService.java
  24. 0 4
      src/main/java/cn/cslg/pas/service/business/EventService.java
  25. 6 16
      src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java
  26. 3 8
      src/main/java/cn/cslg/pas/service/business/HightlightTemplateService.java
  27. 2 4
      src/main/java/cn/cslg/pas/service/business/ImportTaskService.java
  28. 5 12
      src/main/java/cn/cslg/pas/service/business/InvalidRecordService.java
  29. 2 8
      src/main/java/cn/cslg/pas/service/business/LitigationHistoryService.java
  30. 3 8
      src/main/java/cn/cslg/pas/service/business/MergePersonService.java
  31. 2 8
      src/main/java/cn/cslg/pas/service/business/OtherReferencesService.java
  32. 0 4
      src/main/java/cn/cslg/pas/service/business/PatentDigProjectFilesService.java
  33. 1 8
      src/main/java/cn/cslg/pas/service/business/PatentDigProjectService.java
  34. 6 8
      src/main/java/cn/cslg/pas/service/business/PatentProjectService.java
  35. 2 4
      src/main/java/cn/cslg/pas/service/business/PermissionRecordService.java
  36. 3 8
      src/main/java/cn/cslg/pas/service/business/ProductCategoryService.java
  37. 3 4
      src/main/java/cn/cslg/pas/service/business/ProductMarketDataService.java
  38. 2 4
      src/main/java/cn/cslg/pas/service/business/ProductMessageService.java
  39. 4 8
      src/main/java/cn/cslg/pas/service/business/ProductService.java
  40. 8 16
      src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java
  41. 2 4
      src/main/java/cn/cslg/pas/service/business/ReferencesService.java
  42. 4 8
      src/main/java/cn/cslg/pas/service/business/ReportProjectService.java
  43. 4 8
      src/main/java/cn/cslg/pas/service/business/ReviewHistoryService.java
  44. 10 84
      src/main/java/cn/cslg/pas/service/business/TortCompareRecordService.java
  45. 4 8
      src/main/java/cn/cslg/pas/service/business/TreeNodeService.java
  46. 177 0
      src/main/java/cn/cslg/pas/service/business/es/EsExportService.java
  47. 2 4
      src/main/java/cn/cslg/pas/service/business/es/EsValueCurveService.java
  48. 2 4
      src/main/java/cn/cslg/pas/service/business/invalidReport/PatentClaimHistoryService.java
  49. 1 0
      src/main/java/cn/cslg/pas/service/common/PatentStarApiService.java
  50. 13 32
      src/main/java/cn/cslg/pas/service/common/PersonFieldService.java
  51. 42 7
      src/main/java/cn/cslg/pas/service/importPatent/SavePatentToEsThread.java
  52. 9 2
      src/main/java/cn/cslg/pas/service/query/FormatQueryService.java
  53. 1 1
      src/main/resources/application-dev.yml
  54. 2 2
      src/main/resources/jsons/patent.json

+ 4 - 4
src/main/java/cn/cslg/pas/common/config/WebSocketConfig.java

@@ -6,8 +6,8 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter;
 
 @Configuration
 public class WebSocketConfig {
-//    @Bean
-//    public ServerEndpointExporter serverEndpointExporter() {
-//        return new ServerEndpointExporter();
-//    }
+    @Bean
+    public ServerEndpointExporter serverEndpointExporter() {
+        return new ServerEndpointExporter();
+    }
 }

+ 30 - 0
src/main/java/cn/cslg/pas/common/core/GlobalExceptionHandler.java

@@ -0,0 +1,30 @@
+package cn.cslg.pas.common.core;
+
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.WebRequest;
+
+@ControllerAdvice
+public class GlobalExceptionHandler {
+
+    @ExceptionHandler(value = {XiaoShiException.class})
+    @ResponseBody
+    public Response handleAllExceptions(XiaoShiException ex) {
+        // 返回一个包含错误信息的 HTTP 响应
+        return Response.error(ex.getErrorCode(), ex.getErrorMessage());
+    }
+
+    @ExceptionHandler(value = {UnLoginException.class})
+    @ResponseBody
+    public Response handleAllExceptions(UnLoginException ex) {
+        // 返回一个包含错误信息的 HTTP 响应
+        return Response.error("401", "未登录");
+    }
+}

+ 1 - 0
src/main/java/cn/cslg/pas/common/core/annotation/LoggerAspect.java

@@ -53,6 +53,7 @@ public class LoggerAspect {
             String str3="异常方法:" + (joinPoint.getTarget().getClass().getName() + "." + joinPoint.getSignature().getName() + "()");
             String str4="请求参数:" + params; System.out.println("异常代码:" + e.getClass().getName());
    log.error(str1+"\r"+str2+"\r"+str3+"\r"+str4);
+   log.error(e.getMessage());
         }catch (Exception ex){
             //记录本地异常日志
             log.error("==异常通知异常==");

+ 14 - 0
src/main/java/cn/cslg/pas/common/dto/ExportDTO.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.common.dto;
+
+import lombok.Data;
+
+@Data
+public class ExportDTO {
+    private String condition;
+    private String estimatedTree;
+    private String actualTree;
+    private String treeFlag;
+    private String estimatedQuery;
+    private String actualQuery;
+    private String queryFlag;
+}

+ 3 - 1
src/main/java/cn/cslg/pas/common/utils/CacheUtils.java

@@ -5,6 +5,8 @@ import cn.cslg.pas.common.core.base.RedisConf;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 
 import cn.cslg.pas.common.vo.business.AllCustomFieldVO;
+import cn.cslg.pas.exception.ExceptionEnum;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.dev33.satoken.exception.NotLoginException;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.util.IdUtil;
@@ -28,7 +30,7 @@ public class CacheUtils {
     public PersonnelVO getLoginUser(Object userId) {
         String json = redisUtil.get(RedisConf.LOGIN_USER + RedisConf.SYMBOL_COLON + userId);
         if (StringUtils.isEmpty(json)) {
-            throw new NotLoginException("无数据", "user", "");
+            throw new XiaoShiException(ExceptionEnum.LOGIN_NO_LOGIN,"未登录");
         } else {
             return com.alibaba.fastjson2.JSONObject.parseObject(json, PersonnelVO.class);
         }

+ 52 - 19
src/main/java/cn/cslg/pas/common/utils/FileUtils.java

@@ -4,14 +4,11 @@ package cn.cslg.pas.common.utils;
 import cn.cslg.pas.Application;
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson.JSON;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.springframework.boot.system.ApplicationHome;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 
@@ -28,13 +25,11 @@ public class FileUtils {
         //获取 applicationHome 内的路径 ...\target\classes 到这一层级下
         File file = ah.getSource();
         //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为  ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root
-        String rootPath =null;
+        String rootPath = null;
 
-        if (fileName!=null&&!fileName.equals(""))
-        {
-            rootPath= file.getParentFile().toString() + FILE_SEPARATOR + fileName;
-        }
-        else {
+        if (fileName != null && !fileName.equals("")) {
+            rootPath = file.getParentFile().toString() + FILE_SEPARATOR + fileName;
+        } else {
             rootPath = file.getParentFile().toString();
         }
         //根据上方生成的根目录路径 生成对应文件夹 没有就新建
@@ -77,7 +72,7 @@ public class FileUtils {
         return last.toString();
     }
 
-    public static   File  getFileByBytes(byte[] bytes, String prefix, String suffix) {
+    public static File getFileByBytes(byte[] bytes, String prefix, String suffix) {
         BufferedOutputStream bos = null;
         FileOutputStream fos = null;
         File file = null;
@@ -111,12 +106,12 @@ public class FileUtils {
                     e.printStackTrace();
                 }
             }
-            return  file;
+            return file;
         }
     }
 
 
-    public static  File getFileByUrl(String dataUrl) throws IOException {
+    public static File getFileByUrl(String dataUrl) throws IOException {
 
         URL url = new URL(dataUrl);  //想要读取的url地址
         InputStream in = url.openStream();
@@ -133,7 +128,8 @@ public class FileUtils {
         in.close();
         return file;
     }
-    public static  File getPictureFileByUrl(String dataUrl) throws IOException {
+
+    public static File getPictureFileByUrl(String dataUrl) throws IOException {
 
         URL url = new URL(dataUrl);  //想要读取的url地址
         InputStream in = url.openStream();
@@ -150,9 +146,11 @@ public class FileUtils {
         in.close();
         return file;
     }
+
     public String getPath(String url) {
         return getStaticPath(COMMON_FILE) + url;
     }
+
     public String getDirectoryName() {
         return DateUtils.getNowTimeFormat("yyyyMMdd");
     }
@@ -160,6 +158,7 @@ public class FileUtils {
     public String getSavePath(String directoryName) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + directoryName + FILE_SEPARATOR;
     }
+
     public String createDirectory() {
         String directoryName = this.getDirectoryName();
         String savePath = this.getSavePath(directoryName);
@@ -169,8 +168,9 @@ public class FileUtils {
         }
         return directoryName;
     }
+
     public String createRandomDirectory() {
-        String directoryName =  IdUtil.simpleUUID();
+        String directoryName = IdUtil.simpleUUID();
         String savePath = this.getSavePath(directoryName);
         File directory = new File(savePath);
         if (!directory.exists()) {
@@ -178,6 +178,7 @@ public class FileUtils {
         }
         return directoryName;
     }
+
     public static FileInputStream byteToFile(byte[] bytes) {
         String fileName = IdUtil.simpleUUID() + ".png";
         File file = new File(fileName);
@@ -209,13 +210,16 @@ public class FileUtils {
     public String getDirectory(String fileName) {
         return FILE_SEPARATOR + this.createDirectory() + FILE_SEPARATOR + fileName;
     }
+
     public String getSystemPath(String url) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + url;
     }
+
     public static String getSystemPath2(String url) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + url;
     }
-    public  static void  writeFile(String json, String FilePath) {
+
+    public static void writeFile(String json, String FilePath) {
 
         try {
             File file = new File(FilePath);
@@ -238,6 +242,7 @@ public class FileUtils {
             e.printStackTrace();
         }
     }
+
     public static File getFileByName(File file, String name) {
         for (File file1 : file.listFiles()) {
             if (file1.getName().equals(name)) {
@@ -248,10 +253,9 @@ public class FileUtils {
     }
 
 
-    public  static void  writeFile(Object object,File file) {
-       String json = JSON.toJSONString(object);
+    public static void writeFile(Object object, File file) {
+        String json = JSON.toJSONString(object);
         try {
-
             // if file doesnt exists, then create it
             if (!file.exists()) {
                 file.createNewFile();
@@ -259,7 +263,6 @@ public class FileUtils {
                 file.delete();
                 file.createNewFile();
             }
-
             // true = append file
             FileWriter fileWritter = new FileWriter(file, false);
             BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
@@ -270,4 +273,34 @@ public class FileUtils {
             e.printStackTrace();
         }
     }
+
+    public static File multipartFileToFile(MultipartFile file) throws Exception {
+        File toFile = null;
+        if (file == null || file.equals("") || file.getSize() <= 0) {
+            file = null;
+        } else {
+            InputStream ins = null;
+            ins = file.getInputStream();
+            toFile = new File(file.getOriginalFilename());
+            inputStreamToFile(ins, toFile);
+            ins.close();
+        }
+        return toFile;
+    }
+
+    //获取流文件
+    private static void inputStreamToFile(InputStream ins, File file) {
+        try {
+            OutputStream os = new FileOutputStream(file);
+            int bytesRead = 0;
+            byte[] buffer = new byte[8192];
+            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
+                os.write(buffer, 0, bytesRead);
+            }
+            os.close();
+            ins.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 8 - 0
src/main/java/cn/cslg/pas/common/utils/Response.java

@@ -76,6 +76,14 @@ public class Response {
         return response;
     }
 
+
+    public static Response error(String code,String message) {
+        Integer erCode= Integer.parseInt(code);
+        Response response = new Response();
+        response.setCode(erCode);
+        response.setMessage(message);
+        return response;
+    }
     public static Response noPermissions(String message) {
         Response response = new Response();
         response.setCode(ResponseEnum.NO_PERMISSION.getCode());

+ 39 - 0
src/main/java/cn/cslg/pas/controller/ExportController.java

@@ -0,0 +1,39 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.FileUtils;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.service.business.es.EsExportService;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+
+@RequestMapping(Constants.API_XiaoSHI + "/export")
+@RestController
+public class ExportController {
+
+    @Autowired
+    private EsExportService esExportService;
+
+    @Operation(summary = "导出二叉树")
+    @PostMapping("/export")
+    public Response exportTree(@RequestParam(value = "multipartFile", required = false) MultipartFile multipartFile) throws Exception {
+        Records records = new Records();
+        File file = FileUtils.multipartFileToFile(multipartFile);
+        try {
+            esExportService.exportTree(file);
+            records.setData("导出成功");
+        } catch (Exception e) {
+            records.setData("导出失败");
+
+        }
+        return Response.success(records);
+    }
+}

+ 81 - 0
src/main/java/cn/cslg/pas/exception/ExceptionEnum.java

@@ -0,0 +1,81 @@
+package cn.cslg.pas.exception;
+
+import lombok.Getter;
+
+@Getter
+public enum ExceptionEnum {
+    LOGIN_NO_LOGIN("401","未登录"),
+    LOGIN_ACCOUNT_MISTAKE("402","账号错误"),
+    LOGIN_PASWORD_MISTAKE("403","密码错误"),
+    LOGIN_ERROR("405","登录错误"),
+    LOGIN_INVITE_ERROR("406","邀请码错误"),
+
+    PERMISSION_ERROR("601","无权限"),
+    PERMISSION_NO_VIP("606","未开会员"),
+    PERMISSION_BEYOND_USETIME("607","超过使用次数"),
+
+    BUSINESS_ERROR("708","业务错误"),
+    BUSINESS_CHECK("709","参数校验错误"),
+
+
+    NO_NEED_PAY("901","支付成功"),
+
+
+
+
+
+    /*APP端 100000-300000*/
+    SUCCESS("000000", "调用成功"),
+    PARAMETER_VERIFICATION_ERROR("000001", "数据参数校验异常"),
+    PHONE_FORMAT_ERROR("000002","手机号格式错误"),
+
+    VERIFY_CODE("10001", "校验码失效"),
+    CODE_WRONG("10002","验证码错误"),
+    INIT_GENERICITY_BEAN_ERROR("10003","泛型实例化异常"),
+    THE_PHONE_CANNOT_BE_EXIST("10004","手机号已存在"),
+    THE_LOG_OUT("10004","未登录"),
+    THE_CODE_IS_NOT_NULL("10006","验证码不能为空"),
+
+    //异常20000
+    THE_PARAMETER_EXCEPTION("20001", "参数异常,请传入数据"),
+    THE_GET_INFORMATION_TOKEN_INVALID("20002", "获取用户信息token失效"),
+    THE_FAIL_TO_DELETE("20003", "删除失败"),
+
+    //业务异常
+    THE_PRODUCT_CATEGORY_NAME_IS_EXIST("607", "产品类别名称已存在"),
+    THE_LOG_INVALID_NEED_LOGIN_AGAIN("606","登录失效,请重新登录"),
+
+
+
+
+
+
+
+
+
+    SYSTEM_ERROR("999999", "系统异常");
+
+    private String code;// 异常代码
+    private String message;// 异常信息
+
+    ExceptionEnum(String code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

+ 25 - 1
src/main/java/cn/cslg/pas/exception/XiaoShiException.java

@@ -7,9 +7,33 @@ package cn.cslg.pas.exception;
  * @Date 2023/3/7
  */
 public class XiaoShiException extends RuntimeException {
-
+    private String errorCode;// 异常代码
+    private String errorMessage;// 异常信息
     public XiaoShiException(String message) {
         super(message);
     }
 
+    public XiaoShiException(ExceptionEnum e, String errorMessage) {
+        super(errorMessage);
+        this.errorCode = e.getCode();
+        this.errorMessage = errorMessage;
+    }
+
+
+    public String getErrorCode() {
+        return errorCode;
+    }
+
+    public void setErrorCode(String errorCode) {
+        this.errorCode = errorCode;
+    }
+
+    public String getErrorMessage() {
+        return errorMessage;
+    }
+
+    public void setErrorMessage(String errorMessage) {
+        this.errorMessage = errorMessage;
+    }
+
 }

+ 3 - 7
src/main/java/cn/cslg/pas/factorys/EsBuilderFactory/DateQueryBuilder.java

@@ -150,11 +150,9 @@ public class DateQueryBuilder implements IQueryBuilder {
             String[] dates = value.split("~");
             String date1 = dates[0];
             String date2 = dates[1];
-          String  findate1=this.formatDateString(date1);
-         String    findate2 =this.formatDateString(date2);
-           query = QueryBuilders
-                    .range(range -> range.field(field).gte(JsonData.of(findate1)).lte(JsonData.of(findate2)));
-
+            String findDate1 = this.formatDateString(date1);
+            String findDate2 = this.formatDateString(date2);
+            query = QueryBuilders.range(range -> range.field(field).gte(JsonData.of(findDate1)).lte(JsonData.of(findDate2)));
         } else {
             query = this.getSingle();
         }
@@ -257,7 +255,6 @@ public class DateQueryBuilder implements IQueryBuilder {
 
     private Query getSingle() throws ParseException {
         Query query = null;
-
         if (value != null && !"".equals(value)) {
             Calendar calendar = Calendar.getInstance();
             if (value.length() == YEAR) {
@@ -371,6 +368,5 @@ public class DateQueryBuilder implements IQueryBuilder {
             }
         }
         return query;
-
     }
 }

+ 114 - 56
src/main/java/cn/cslg/pas/factorys/EsBuilderFactory/PrioritiesNestedQueryBuilder.java

@@ -27,6 +27,116 @@ public class PrioritiesNestedQueryBuilder implements IQueryBuilder{
     @Override
     public Query creteQuery() throws ParseException {
         Query query = null;
+        if (value.contains("~")) {
+            String[] dates = value.split("~");
+            String date1 = dates[0];
+            String date2 = dates[1];
+            String findDate1 = this.formatDateString(date1);
+            String findDate2 = this.formatDateString(date2);
+            query = QueryBuilders.range(range -> range.field(field).gte(JsonData.of(findDate1)).lte(JsonData.of(findDate2)));
+        } else {
+            query = this.getSingle();
+        }
+        Query finalQuery = query;
+        Query nestedQuery = QueryBuilders.nested(z -> z.path(path).query(finalQuery));
+        return nestedQuery;
+    }
+
+    @Override
+    public String getField() {
+        return field;
+    }
+
+    @Override
+    public void setField(String field) {
+        this.field = field;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    @Override
+    public String getOperator() {
+        return operator;
+    }
+
+    @Override
+    public void setOperator(String operator) {
+        this.operator = operator;
+    }
+
+    @Override
+    public String getPath() {
+        return path;
+    }
+
+    @Override
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    @Override
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    @Override
+    public void setProjectId(Integer projectId) {
+        this.projectId = projectId;
+    }
+
+    private String formatDateString(String dateStr) throws ParseException {
+        Calendar calendar = Calendar.getInstance();
+        String formatedTime = "";
+        if (dateStr.length() == YEAR) {
+            SimpleDateFormat format = new SimpleDateFormat("yyyy");
+            Date year = format.parse(dateStr);
+            calendar.setTime(year);
+            String yearTime = String.valueOf(calendar.getTime().getTime());
+            formatedTime = yearTime;
+        } else if (dateStr.length() == MONTH || dateStr.length() == MONTHONE) {
+            Date month = new Date();
+            if (dateStr.contains("-")) {
+                SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM");
+                month = format2.parse(dateStr);
+            } else if (dateStr.contains("/")) {
+                SimpleDateFormat format3 = new SimpleDateFormat("yyyy/MM");
+                month = format3.parse(dateStr);
+            } else {
+                SimpleDateFormat format1 = new SimpleDateFormat("yyyyMM");
+                month = format1.parse(dateStr);
+            }
+            calendar.setTime(month);
+            String monthTime = String.valueOf(calendar.getTime().getTime());
+            formatedTime = monthTime;
+        } else if (dateStr.length() == DAY || dateStr.length() == DAYONE) {
+            Date day = new Date();
+            if (dateStr.contains("-")) {
+                SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
+                day = format2.parse(dateStr);
+            } else if (dateStr.contains("/")) {
+                SimpleDateFormat format3 = new SimpleDateFormat("yyyy/MM/dd");
+                day = format3.parse(dateStr);
+            } else {
+                SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
+                day = format1.parse(dateStr);
+            }
+            calendar.setTime(day);
+            String dayTime = String.valueOf(day.getTime());
+            formatedTime = dayTime;
+        }
+        return formatedTime;
+    }
+
+    private Query getSingle() throws ParseException {
+        Query query = null;
         if (value != null && !"".equals(value)) {
             Calendar calendar = Calendar.getInstance();
             if (value.length() == YEAR) {
@@ -55,7 +165,7 @@ public class PrioritiesNestedQueryBuilder implements IQueryBuilder{
                         break;
                     default:
                         query = QueryBuilders
-                                .range(range -> range.field(field).gte(JsonData.of(yearTime)).lte(JsonData.of(yearNextTime)));
+                                .range(range -> range.field(field).gte(JsonData.of(yearTime)).lt(JsonData.of(yearNextTime)));
                         break;
                 }
             } else if (value.length() == MONTH || value.length() == MONTHONE) {
@@ -93,7 +203,7 @@ public class PrioritiesNestedQueryBuilder implements IQueryBuilder{
                         break;
                     default:
                         query = QueryBuilders
-                                .range(range -> range.field(field).gte(JsonData.of(monthTime)).lte(JsonData.of(monthNextTime)));
+                                .range(range -> range.field(field).gte(JsonData.of(monthTime)).lt(JsonData.of(monthNextTime)));
                         break;
                 }
             } else if (value.length() == DAY || value.length() == DAYONE) {
@@ -131,7 +241,7 @@ public class PrioritiesNestedQueryBuilder implements IQueryBuilder{
                         break;
                     default:
                         query = QueryBuilders
-                                .range(range -> range.field(field).gte(JsonData.of(dayTime)).lte(JsonData.of(nextDayTime)));
+                                .range(range -> range.field(field).gte(JsonData.of(dayTime)).lt(JsonData.of(nextDayTime)));
                         break;
                 }
             } else {
@@ -139,58 +249,6 @@ public class PrioritiesNestedQueryBuilder implements IQueryBuilder{
                         .range(range -> range.field(field).gte(JsonData.of(1)).lte(JsonData.of(2)));
             }
         }
-        Query finalQuery = query;
-        Query nestedQuery = QueryBuilders.nested(z -> z.path(path).query(finalQuery));
-        return nestedQuery;
-    }
-
-    @Override
-    public String getField() {
-        return field;
-    }
-
-    @Override
-    public void setField(String field) {
-        this.field = field;
-    }
-
-    @Override
-    public String getValue() {
-        return value;
-    }
-
-    @Override
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-    @Override
-    public String getOperator() {
-        return operator;
-    }
-
-    @Override
-    public void setOperator(String operator) {
-        this.operator = operator;
-    }
-
-    @Override
-    public String getPath() {
-        return path;
-    }
-
-    @Override
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    @Override
-    public Integer getProjectId() {
-        return projectId;
-    }
-
-    @Override
-    public void setProjectId(Integer projectId) {
-        this.projectId = projectId;
+        return query;
     }
 }

+ 3 - 8
src/main/java/cn/cslg/pas/service/business/AsInvalidReasonHistoryService.java

@@ -97,11 +97,9 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
         } else {
             BeanUtils.copyProperties(asInvalidReasonHistoryDTO, asInvalidReasonHistory);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
+
             asInvalidReasonHistory.setCreateId(personnelVO.getId());
             asInvalidReasonHistory.setTenantId(personnelVO.getTenantId());
             asInvalidReasonHistory.insert();
@@ -125,11 +123,8 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
             throw new XiaoShiException("入参为空");
         }
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         LambdaQueryWrapper<AsInvalidReasonHistory> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AsInvalidReasonHistory::getPatentNo, patentNo)
                 .eq(AsInvalidReasonHistory::getTenantId, personnelVO.getTenantId())

+ 0 - 4
src/main/java/cn/cslg/pas/service/business/AssoProjectEventService.java

@@ -27,11 +27,7 @@ public class AssoProjectEventService extends ServiceImpl<AssoProjectEventMapper,
 
     public void addAssoEventProject(List<ProjectEventDTO> events, Integer projectId, Integer type) {
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
         List<AssoProjectEvent> assoProjectEvents = new ArrayList<>();
         //遍历传入的事件集合
         for (ProjectEventDTO projectEventDTO : events) {

+ 1 - 4
src/main/java/cn/cslg/pas/service/business/AssoTaskFileService.java

@@ -57,11 +57,8 @@ public class AssoTaskFileService extends ServiceImpl<AssoTaskFileMapper, AssoTas
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         List<String> fileGuids = assoTaskFileDTO.getFileGuids();
         List<AssoTaskFile> assoTaskFiles = new ArrayList<>();
         for (String item : fileGuids) {

+ 1 - 4
src/main/java/cn/cslg/pas/service/business/AvoidDesignService.java

@@ -56,11 +56,8 @@ public class AvoidDesignService extends ServiceImpl<AvoidDesignMapper, AvoidDesi
     public List<Integer> addAvoidDesign(AvoidDesignInsertDTO avoidDesignInsertDTO) {
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         Integer projectId = avoidDesignInsertDTO.getProjectId();
         if (projectId == null) {
             throw new XiaoShiException("projectId不能为空");

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/AvoidDesignWholeService.java

@@ -65,11 +65,9 @@ public class AvoidDesignWholeService extends ServiceImpl<AvoidDesignWholeMapper,
         BeanUtils.copyProperties(avoidDesignWholeDTO, avoidDesignWhole);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         avoidDesignWhole.setCreateId(personnelVO.getId());
         avoidDesignWhole.insert();
         return avoidDesignWhole.getId();

+ 2 - 12
src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java

@@ -63,11 +63,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
     public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(SelectCustomAnalyseVO vo) {
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
 
         SelectAnalyseVO analyseVO = new SelectAnalyseVO();
         analyseVO.setProjectId(vo.getProjectId());
@@ -123,11 +119,8 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         String uid = IdUtil.simpleUUID();
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
+
         CustomAnalysisItem item = new CustomAnalysisItem();
         BeanUtils.copyProperties(vo, item);
         item.setUid(uid);
@@ -164,11 +157,8 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
+
 
         CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
         BeanUtils.copyProperties(vo, item);

+ 0 - 5
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSchemaService.java

@@ -73,12 +73,7 @@ public class CustomAnalysisItemSchemaService extends ServiceImpl<CustomAnalysisI
     public void add(SchemaDimensionDTO dto, String uid) {
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
-
         List<CustomAnalysisItemSchema> customAnalysisItemSchema = new ArrayList<>();
         CustomAnalysisItemSchema d1 = new CustomAnalysisItemSchema();
         CustomAnalysisItemSchema d2 = new CustomAnalysisItemSchema();

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSettingService.java

@@ -61,11 +61,9 @@ public class CustomAnalysisItemSettingService extends ServiceImpl<CustomAnalysis
 
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         CustomAnalysisItemSetting customAnalysisItemSetting = new CustomAnalysisItemSetting();
         BeanUtils.copyProperties(setting, customAnalysisItemSetting);
         customAnalysisItemSetting.setShow1(setting.getShow());

+ 1 - 4
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSourceService.java

@@ -130,11 +130,8 @@ public class CustomAnalysisItemSourceService extends ServiceImpl<CustomAnalysisI
                 .eq(CustomAnalysisItemSource::getDimension, sourceDataVO.getDimension()));
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         List<CustomAnalysisItemSource> list = new ArrayList<>();
         PersonnelVO finalPersonnelVO = personnelVO;
         sourceDataVO.getSource().forEach(source -> {

+ 1 - 4
src/main/java/cn/cslg/pas/service/business/CustomFieldService.java

@@ -163,11 +163,8 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         CustomField customField = new CustomField();
         BeanUtils.copyProperties(customFieldDTO, customField);
         customField.setCreateId(personnelVO.getId());

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/CustomOptionService.java

@@ -88,11 +88,9 @@ public class CustomOptionService extends ServiceImpl<CustomOptionMapper, CustomO
             }
             //获取登录人信息
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new UnLoginException("未登录");
-            }
+
             CustomOption customOption = new CustomOption();
             BeanUtils.copyProperties(customOptionDTO, customOption);
             customOption.setCreateId(personnelVO.getId());

+ 0 - 4
src/main/java/cn/cslg/pas/service/business/EventService.java

@@ -101,11 +101,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
     public Integer addMessage(Object object, List<MultipartFile> files) {
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
         this.checkParameter(object);
         EventDTO eventDTO = (EventDTO) object;
 

+ 6 - 16
src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java

@@ -311,11 +311,9 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         }
         // 获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         // 根据taskId查询报告id
         Integer projectId = tortCompareRecordService.getProjectIdByTaskId(taskId);
         // 重新排序
@@ -375,11 +373,8 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         Integer featureId = tortDTO.getFeatureId();
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
             //插入对比结果
             FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
@@ -421,11 +416,8 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
         List<Integer> ids = new ArrayList<>();
         //传入对比结果不为空
@@ -705,11 +697,9 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         try {
             Integer lastTaskId = this.getAssoTaskId(patentNo, taskId);
             //首先是根据projectId,以及ifOriginal为false、ifFinal为true这几个条件删除表中的最终数据(最开始的数据)

+ 3 - 8
src/main/java/cn/cslg/pas/service/business/HightlightTemplateService.java

@@ -55,11 +55,9 @@ public class HightlightTemplateService extends ServiceImpl<HightlightTemplateMap
             throw new XiaoShiException("入参为空");
         }
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         Integer id = hightlightTemplateDTO.getId();
         HightlightTemplate hightlightTemplate = new HightlightTemplate();
         if (id != null) {
@@ -97,11 +95,8 @@ public class HightlightTemplateService extends ServiceImpl<HightlightTemplateMap
             throw new XiaoShiException("入参为空");
         }
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
 
         List<HightlightTemplateVO> hightlightTemplateVOS = new ArrayList<>();
         LambdaQueryWrapper<HightlightTemplate> queryWrapper = new LambdaQueryWrapper<>();

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/ImportTaskService.java

@@ -129,11 +129,9 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
         ImportTaskDTO importTaskDTO = (ImportTaskDTO) object;
 
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
 
         if (importTaskDTO.getType() == null) {
             importTaskDTO.setType(4);

+ 5 - 12
src/main/java/cn/cslg/pas/service/business/InvalidRecordService.java

@@ -113,11 +113,9 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         } else {
             BeanUtils.copyProperties(invalidRecordDTO, invalidRecord);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
+
             invalidRecord.setCreateId(personnelVO.getId());
             invalidRecord.setTenantId(personnelVO.getTenantId());
             invalidRecord.insert();
@@ -143,11 +141,9 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
         }
         //查询当前登陆人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         Integer tenantId = personnelVO.getTenantId();
 
         LambdaQueryWrapper<InvalidRecord> queryWrapper = new LambdaQueryWrapper<>();
@@ -251,11 +247,8 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
 
     public List<InvalidRecordVO> findInvalidRecord(String patentNo, List<InvalidRecordVO> invalidRecordVOS) {
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         Integer tenantId = personnelVO.getTenantId();
         List<InvalidRecordVO> finalVOS = new ArrayList<>();
         finalVOS.addAll(invalidRecordVOS);

+ 2 - 8
src/main/java/cn/cslg/pas/service/business/LitigationHistoryService.java

@@ -86,11 +86,7 @@ public class LitigationHistoryService extends ServiceImpl<LitigationHistoryMappe
         } else {
             BeanUtils.copyProperties(litigationHistoryDTO, litigationHistory);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
             litigationHistory.setCreateId(personnelVO.getId());
             litigationHistory.setTenantId(personnelVO.getTenantId());
             litigationHistory.insert();
@@ -118,11 +114,9 @@ public class LitigationHistoryService extends ServiceImpl<LitigationHistoryMappe
         Integer size = otherPatentInfoDTO.getSize();
         Page<LitigationHistory> page = new Page<>(current, size);
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         LambdaQueryWrapper<LitigationHistory> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LitigationHistory::getPatentNo, patentNo)
                 .eq(LitigationHistory::getTenantId, personnelVO.getTenantId())

+ 3 - 8
src/main/java/cn/cslg/pas/service/business/MergePersonService.java

@@ -97,11 +97,8 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         Integer projectId = vo.getProjectId();
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
+
         //判断是否名称重复
         LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
                 .eq(MergePerson::getProjectId, vo.getProjectId())
@@ -479,11 +476,9 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
         Integer type = vo.getType();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
+
         //判断是否名称重复
         LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
                 .eq(MergePerson::getProjectId, vo.getProjectId())

+ 2 - 8
src/main/java/cn/cslg/pas/service/business/OtherReferencesService.java

@@ -84,11 +84,9 @@ public class OtherReferencesService extends ServiceImpl<OtherReferencesMapper, O
         } else {
             BeanUtils.copyProperties(otherReferencesDTO, otherReferences);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
+
             otherReferences.setCreateId(personnelVO.getId());
             otherReferences.setTenantId(personnelVO.getTenantId());
             otherReferences.insert();
@@ -140,11 +138,7 @@ public class OtherReferencesService extends ServiceImpl<OtherReferencesMapper, O
         Integer size = otherPatentInfoDTO.getSize();
         Page<OtherReferences> page = new Page<>(current, size);
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
         LambdaQueryWrapper<OtherReferences> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(OtherReferences::getPatentNo, patentNo)
                 .eq(OtherReferences::getTenantId, personnelVO.getTenantId());

+ 0 - 4
src/main/java/cn/cslg/pas/service/business/PatentDigProjectFilesService.java

@@ -140,11 +140,7 @@ public class PatentDigProjectFilesService extends ServiceImpl<PatentDigProjectFi
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
         List<Integer> ids = new ArrayList<>();
 
         if (patentDigProjectFilesDTO.getFileGuids() != null && !patentDigProjectFilesDTO.getFileGuids().isEmpty()) {

+ 1 - 8
src/main/java/cn/cslg/pas/service/business/PatentDigProjectService.java

@@ -186,11 +186,8 @@ public class PatentDigProjectService extends ServiceImpl<PatentDigProjectMapper,
     public Object addMessage(Object object) {
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         PatentDigProjectDTO patentDigProjectDTO = (PatentDigProjectDTO) object;
         PatentDigProject patentDigProject = new PatentDigProject();
@@ -339,11 +336,7 @@ public class PatentDigProjectService extends ServiceImpl<PatentDigProjectMapper,
     public Object updateMessage(Object object) {
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
         String userId = personnelVO.getId();
         PatentDigProjectUpdateDTO projectUpdateDTO = (PatentDigProjectUpdateDTO) object;
         PatentDigProject patentDigProject = new PatentDigProject();

+ 6 - 8
src/main/java/cn/cslg/pas/service/business/PatentProjectService.java

@@ -255,11 +255,8 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
         if(patentProjectDTO.getPersonId()==null) {
-            try {
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new UnLoginException("未登录");
-            }
+
         }
         else {
             personnelVO.setId(patentProjectDTO.getPersonId());
@@ -439,11 +436,9 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //TODO 更新基本信息
         //根据传入对象id查询project对象
         Project project = projectService.getById(updatePatentProjectDTO.getId());
@@ -690,6 +685,9 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
             String res = fileManagerService.getSystemFileFromFMS(guids);
 
             systemFiles = JSONObject.parseArray(res, SystemFile.class);
+            if(systemFiles==null){
+                systemFiles=new ArrayList<>();
+            }
         }
 
         //查询客户名称

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/PermissionRecordService.java

@@ -63,11 +63,9 @@ public class PermissionRecordService extends ServiceImpl<PermissionRecordMapper,
         } else {
             BeanUtils.copyProperties(permissionRecordDTO, permissionRecord);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
+
             permissionRecord.setTenantId(personnelVO.getTenantId());
             permissionRecord.setCreateId(personnelVO.getId());
             permissionRecord.insert();

+ 3 - 8
src/main/java/cn/cslg/pas/service/business/ProductCategoryService.java

@@ -103,11 +103,8 @@ public class ProductCategoryService extends ServiceImpl<ProductCategoryMapper, P
     public Object addMessage(Object object, List<MultipartFile> files) {
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //object to productCategoryDTO
         ProductCategoryDTO productCategoryDTO = (ProductCategoryDTO)object;
         //检测名称是否不规范
@@ -245,11 +242,9 @@ public class ProductCategoryService extends ServiceImpl<ProductCategoryMapper, P
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         ProductCategory productCategory = this.getById(updateProductCategoryDTO.getId());
         //检测名称是否不规范
         updateProductCategoryDTO.setName(updateProductCategoryDTO.getName().trim());

+ 3 - 4
src/main/java/cn/cslg/pas/service/business/ProductMarketDataService.java

@@ -124,11 +124,10 @@ public class ProductMarketDataService extends ServiceImpl<ProductMarketDataMappe
         BeanUtils.copyProperties(productMarketDataDTO, productMarketData);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         productMarketData.setCreateId(personnelVO.getId());
         //数据入表
         productMarketData.insert();

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/ProductMessageService.java

@@ -65,11 +65,9 @@ public class ProductMessageService extends ServiceImpl<ProductMessageMapper, Pro
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //判断产品id是否传入
         if (productMessageDTO.getId() != null) {
             //传入了id,执行更新操作

+ 4 - 8
src/main/java/cn/cslg/pas/service/business/ProductService.java

@@ -149,11 +149,9 @@ public class ProductService extends ServiceImpl<ProductMapper, Product> implemen
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //产品入库
         Product product = new Product();
         BeanUtils.copyProperties(productDTO, product);
@@ -274,11 +272,9 @@ public class ProductService extends ServiceImpl<ProductMapper, Product> implemen
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         Product product = this.getById(updateProductDTO.getId());
         //检测名称是否不规范
         updateProductDTO.setName(updateProductDTO.getName().trim());

+ 8 - 16
src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java

@@ -206,11 +206,9 @@ import java.util.stream.Collectors;
         projectTask.setStatus(2);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //设置任务的发起人
         projectTask.setCreateId(personnelVO.getId());
         projectTask.insert();
@@ -855,11 +853,9 @@ import java.util.stream.Collectors;
         tortTaskDTO.setType(4);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         ProjectTask projectTask = new ProjectTask();
         BeanUtils.copyProperties(tortTaskDTO, projectTask);
         projectTask.setCreateId(personnelVO.getId());
@@ -1114,11 +1110,9 @@ import java.util.stream.Collectors;
         tortTaskDTO.setType(4);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         ProjectTask projectTask = new ProjectTask();
         BeanUtils.copyProperties(tortTaskDTO, projectTask);
         projectTask.setCreateId(personnelVO.getId());
@@ -1314,11 +1308,9 @@ import java.util.stream.Collectors;
     public void checkProjectPerson(Integer type, String handler, Integer projectId, Integer taskId) {
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         LambdaQueryWrapper<AssoProjectPerson> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AssoProjectPerson::getProjectId, projectId);
         List<AssoProjectPerson> assoProjectPeople = assoProjectPersonService.list(queryWrapper);

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/ReferencesService.java

@@ -68,11 +68,9 @@ public class ReferencesService extends ServiceImpl<ReferencesMapper, References>
         if (referencesDTO != null) {
             //获取登录人信息
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new UnLoginException("未登录");
-            }
+
             References references = new References();
             if (StringUtils.isEmpty(referencesDTO.getFileGuid())) {
                 throw new XiaoShiException("附件不得为空");

+ 4 - 8
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -267,11 +267,9 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
 
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
 
         /**
@@ -459,11 +457,9 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
 
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         /**
          * 装载project

+ 4 - 8
src/main/java/cn/cslg/pas/service/business/ReviewHistoryService.java

@@ -88,11 +88,9 @@ public class ReviewHistoryService extends ServiceImpl<ReviewHistoryMapper, Revie
         } else {
             BeanUtils.copyProperties(reviewHistoryDTO, reviewHistory);
             PersonnelVO personnelVO = new PersonnelVO();
-            try {
+
                 personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-            } catch (Exception e) {
-                throw new XiaoShiException("未查询到当前登陆人");
-            }
+
             reviewHistory.setCreateId(personnelVO.getId());
             reviewHistory.setTenantId(personnelVO.getTenantId());
             reviewHistory.insert();
@@ -120,11 +118,9 @@ public class ReviewHistoryService extends ServiceImpl<ReviewHistoryMapper, Revie
         Integer size = otherPatentInfoDTO.getSize();
         Page<ReviewHistory> page = new Page<>(current, size);
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未查询到当前登陆人");
-        }
+
         LambdaQueryWrapper<ReviewHistory> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ReviewHistory::getPatentNo, patentNo)
                 .eq(ReviewHistory::getTenantId, personnelVO.getTenantId())

+ 10 - 84
src/main/java/cn/cslg/pas/service/business/TortCompareRecordService.java

@@ -57,74 +57,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
 
     @Autowired
     private PatentSplitMessageService patentSplitMessageService;
-//    /**
-//     * 新增侵权对比结果
-//     *
-//     * @param tortCompareRecordDTO
-//     * @return
-//     */
-//    public List<Integer> addTortCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
-//        //获取登录人信息
-//        PersonnelVO personnelVO = new PersonnelVO();
-//        try {
-//            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-//        } catch (Exception e) {
-//            throw new UnLoginException("未登录");
-//        }
-//        Integer projectId = tortCompareRecordDTO.getProjectId();
-//        if (projectId == null) {
-//            throw new XiaoShiException("projectId不能为空");
-//        }
-//        //根据projctId查询出专利号
-//        String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
-//        List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
-//        //根据专利号和projectId,删除特征
-//        LambdaQueryWrapper<Feature> deleteWrapper = new LambdaQueryWrapper<>();
-//        deleteWrapper.eq(Feature::getPatentNo, patentNo)
-//                .eq(Feature::getProjectId, projectId);
-//        featureService.remove(deleteWrapper);
-//        //根据报告id删除侵权对比结果数据
-//        LambdaQueryWrapper<FTOCompareRecord> deleteWrapper2 = new LambdaQueryWrapper<>();
-//        deleteWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
-//        this.remove(deleteWrapper2);
-//        //新增侵权对比结果集合
-//        List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
-//        //遍历传入集合
-//        if (!tortDTOS.isEmpty()) {
-//            for (TortDTO tortDTO : tortDTOS) {
-//                Feature feature = new Feature();
-//                feature.setRightSort(tortDTO.getRightSort());
-//                feature.setPatentNo(patentNo);
-//                feature.setProjectId(projectId);
-//                feature.setContent(tortDTO.getContent());
-//                feature.setExplainText(tortDTO.getExplainText());
-//                feature.setCreateId(personnelVO.getId());
-//                feature.setRightType(tortDTO.getRightType());
-//                feature.insert();
-//                //获取特征id
-//                Integer featureId = feature.getId();
-//                if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
-//                    //插入侵权分析对比结果
-//                    FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
-//                    ftoCompareRecord.setProjectId(projectId);
-//                    ftoCompareRecord.setFeatureId(featureId);
-//                    ftoCompareRecord.setCompareResult(tortDTO.getCompareResult());
-//                    ftoCompareRecord.setCompareDescription(tortDTO.getCompareDescription());
-//                    ftoCompareRecord.setTargetDescription(tortDTO.getTargetDescription());
-//                    ftoCompareRecord.setCreateId(personnelVO.getId());
-//                    ftoCompareRecords.add(ftoCompareRecord);
-//                }
-//            }
-//            List<Integer> ids = new ArrayList<>();
-//            if (!ftoCompareRecords.isEmpty()) {
-//                this.saveBatch(ftoCompareRecords);
-//                ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
-//            }
-//            return ids;
-//        } else {
-//            throw new XiaoShiException("未传入特征集合");
-//        }
-//    }
+
 
     /**
      * 新增侵权对比结果
@@ -209,11 +142,9 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
         }
         // 获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         // 重新排序
         Integer order = 1;
         List<Integer> ftoIds = new ArrayList<>();
@@ -267,11 +198,9 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
         Integer featureId = tortDTO.getFeatureId();
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
             //插入对比结果
             FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
@@ -423,11 +352,10 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
+
         List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
         List<Integer> ids = new ArrayList<>();
         //传入对比结果不为空
@@ -695,11 +623,9 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         try {
             //首先是根据projectId,以及ifOriginal为false、ifFinal为true这几个条件删除表中的最终数据(最开始的数据)
             LambdaQueryWrapper<FTOCompareRecord> removeWrapper = new LambdaQueryWrapper<>();

+ 4 - 8
src/main/java/cn/cslg/pas/service/business/TreeNodeService.java

@@ -236,11 +236,9 @@ public class TreeNodeService extends ServiceImpl<TreeNodeMapper, TreeNode> imple
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         //赋值
         TreeNode treeNode = new TreeNode();
         BeanUtils.copyProperties(treeNodeDTO, treeNode);
@@ -347,11 +345,9 @@ public class TreeNodeService extends ServiceImpl<TreeNodeMapper, TreeNode> imple
         }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         TreeNode treeNode = this.getById(updateTreeNodeDTO.getId());
         //检查名称是否规范
         updateTreeNodeDTO.setName(updateTreeNodeDTO.getName().trim());

+ 177 - 0
src/main/java/cn/cslg/pas/service/business/es/EsExportService.java

@@ -0,0 +1,177 @@
+package cn.cslg.pas.service.business.es;
+
+import cn.cslg.pas.common.dto.ExportDTO;
+import cn.cslg.pas.common.utils.ExcelUtils;
+import cn.cslg.pas.common.utils.FileUtils;
+import cn.cslg.pas.common.utils.ReadExcelUtils;
+import cn.cslg.pas.common.utils.parseQueryToTree.expressManager;
+import cn.cslg.pas.common.utils.parseQueryToTree.operateNode;
+import cn.cslg.pas.common.utils.parseQueryToTree.treeNode;
+import cn.cslg.pas.common.vo.PatentData;
+import cn.cslg.pas.service.query.FormatQueryService;
+import co.elastic.clients.elasticsearch._types.query_dsl.Query;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.io.output.ByteArrayOutputStream;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.VerticalAlignment;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class EsExportService {
+
+    @Autowired
+    private FormatQueryService formatQueryService;
+
+    public void exportTree(File file) throws Exception {
+        Sheet sheet = ReadExcelUtils.readExcel(file);
+        int total = sheet.getPhysicalNumberOfRows() - 1;
+        List<ExportDTO> list = new ArrayList<>();
+        for (int i = 0; i < total; i++) {
+            PatentData patentData = ReadExcelUtils.readExcelOneRow(file, sheet, i + 1);
+            Map<Object, Object> patentDataMap = patentData.getMap();
+            String condition = patentDataMap.get("检索条件").toString();
+            String estimatedTree = patentDataMap.get("预期二叉树").toString();
+            String estimatedQuery = patentDataMap.get("预期Query").toString();
+            ExportDTO exportDTO = new ExportDTO();
+            exportDTO.setCondition(condition);
+            if (StringUtils.isNotEmpty(estimatedTree)) {
+                exportDTO.setEstimatedTree(estimatedTree);
+            }
+            if (StringUtils.isNotEmpty(estimatedQuery)) {
+                exportDTO.setEstimatedQuery(estimatedQuery);
+            }
+            list.add(exportDTO);
+        }
+        for (ExportDTO exportDTO : list) {
+            if (StringUtils.isNotEmpty(exportDTO.getEstimatedTree())) {
+                treeNode tree = null;
+                try {
+                    tree = expressManager.getInstance().Parse(exportDTO.getCondition(), false);
+                } catch (Exception e) {
+                    System.out.println(exportDTO.getCondition() + "转换二叉树表达式错误");
+                }
+                String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
+                exportDTO.setActualTree(treeJson);
+                if (treeJson == null || exportDTO.getEstimatedTree() == null || !treeJson.equalsIgnoreCase(exportDTO.getEstimatedTree().trim())) {
+                    exportDTO.setTreeFlag("F");
+                } else {
+                    exportDTO.setTreeFlag("T");
+                }
+                Query query = null;
+                try {
+                    query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
+                } catch (ParseException e) {
+                    System.out.println(exportDTO.getCondition() + "转换es表达式错误");
+                }
+                String queryStr = query.toString();
+                exportDTO.setActualQuery(queryStr);
+                if (queryStr == null || exportDTO.getEstimatedQuery() == null || !queryStr.equalsIgnoreCase(exportDTO.getEstimatedQuery().trim())) {
+                    exportDTO.setQueryFlag("F");
+                } else {
+                    exportDTO.setQueryFlag("T");
+                }
+            }
+        }
+        if (!CollectionUtils.isEmpty(list)) {
+            this.loadExportTree(list);
+        }
+    }
+
+    public void loadExportTree(List<ExportDTO> list) throws FileNotFoundException {
+        try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
+            List<String> headers = Arrays.asList("检索条件", "预期二叉树", "实际二叉树", "二叉树是否一致", "预期Query", "实际Query","Query是否一致 ");
+            HSSFWorkbook hssfWorkbook = new HSSFWorkbook();//新建工作簿
+            HSSFSheet sheet = hssfWorkbook.createSheet();//新建sheet页
+            sheet.setDefaultColumnWidth(30);
+            HSSFRow headerRow = sheet.createRow(0);//新建标头行
+            headerRow.setHeight((short) 500);
+            HSSFCellStyle headerCellStyle = hssfWorkbook.createCellStyle();//新建标头行格式
+            HSSFCellStyle commonCellStyle = hssfWorkbook.createCellStyle();//新建普通行格式
+            for (int i = 0; i < headers.size(); i++) {//遍历设置标头
+                HSSFCell cell = headerRow.createCell(i);
+                ExcelUtils.setExcelCellStyle(headerCellStyle);
+                headerCellStyle.setAlignment(HorizontalAlignment.CENTER);
+                headerCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
+                headerCellStyle.setFillForegroundColor(HSSFColor.HSSFColorPredefined.SKY_BLUE.getIndex());
+                headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+                headerCellStyle.setWrapText(true);
+                cell.setCellStyle(headerCellStyle);
+                cell.setCellValue(headers.get(i));
+            }
+            for (int i = 0; i < list.size(); i++) {
+                ExportDTO exportDTO = list.get(i);
+                HSSFRow row = sheet.createRow(i + 1);//新建一普通行
+                row.setHeight((short) 800);
+                HSSFCell cell = row.createCell(0);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell.setCellStyle(commonCellStyle);
+                cell.setCellValue(exportDTO.getCondition());
+                HSSFCell cell1 = row.createCell(1);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell1.setCellStyle(commonCellStyle);
+                cell1.setCellValue(exportDTO.getEstimatedTree());
+                HSSFCell cell2 = row.createCell(2);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell2.setCellStyle(commonCellStyle);
+                cell2.setCellValue(exportDTO.getActualTree());
+                HSSFCell cell3 = row.createCell(3);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell3.setCellStyle(commonCellStyle);
+                cell3.setCellValue(exportDTO.getTreeFlag());
+                HSSFCell cell4 = row.createCell(4);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell4.setCellStyle(commonCellStyle);
+                cell4.setCellValue(exportDTO.getEstimatedQuery());
+                HSSFCell cell5 = row.createCell(5);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell5.setCellStyle(commonCellStyle);
+                cell5.setCellValue(exportDTO.getActualQuery());
+                HSSFCell cell6 = row.createCell(6);
+                ExcelUtils.setExcelCellStyle(commonCellStyle);
+                commonCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
+                commonCellStyle.setWrapText(true);
+                cell6.setCellStyle(commonCellStyle);
+                cell6.setCellValue(exportDTO.getQueryFlag());
+            }
+            hssfWorkbook.write(out);
+            byte[] bytes = out.toByteArray();
+            FileUtils.getFileByBytes(bytes, "检索条件", ".xlsx");
+        } catch (FileNotFoundException e) {
+            throw new FileNotFoundException();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/es/EsValueCurveService.java

@@ -96,11 +96,9 @@ public class EsValueCurveService {
         Integer timeType = vo.getTimeType();
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new XiaoShiException("未登录");
-        }
+
         Integer tenantId = personnelVO.getTenantId();
         Map<String, List<Integer>> map = new HashMap<>();
         if (!CollectionUtils.isEmpty(isAdd) && startNum <= 1 && endNum < 1) {

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/invalidReport/PatentClaimHistoryService.java

@@ -57,11 +57,9 @@ public class PatentClaimHistoryService extends ServiceImpl<PatentClaimHistoryMap
             throw new XiaoShiException("claimId为空");
         }
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         LambdaQueryWrapper<PatentClaimHistory> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(PatentClaimHistory::getIfFirst, alterPatentClaimDTO.getIfFirst())
                 .eq(PatentClaimHistory::getClaimId, claimId)

+ 1 - 0
src/main/java/cn/cslg/pas/service/common/PatentStarApiService.java

@@ -135,6 +135,7 @@ public class PatentStarApiService {
                 PatentStarListDTO.setFormed(true);
             }
         } catch (Exception e) {
+            e.printStackTrace();
             return null;
         }
         JSONObject configObject = this.getConfigObject(4, 1);

+ 13 - 32
src/main/java/cn/cslg/pas/service/common/PersonFieldService.java

@@ -53,11 +53,9 @@ public class PersonFieldService {
 
         //根据登录人id和type查询
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = "";
 
@@ -121,11 +119,9 @@ public class PersonFieldService {
 
     public List<PersonSelfFieldVO> setCustomField(AddSelfFieldDTO addSelfFieldDTO) {
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = SecureUtil.md5(addSelfFieldDTO.getTableName() + RedisConf.SYMBOL_COLON + userId);
 
@@ -263,11 +259,8 @@ public class PersonFieldService {
         Integer productId = getTabelColumDTO.getProductId();
         //根据登录人id和type查询
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = "";
 
@@ -350,11 +343,9 @@ public class PersonFieldService {
 
     public List<PersonSelfFieldVO> setTableColumns(AddSelfFieldDTO addSelfFieldDTO) {
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String tableName = addSelfFieldDTO.getTableName();
         Integer projectId = addSelfFieldDTO.getProjectId();
@@ -461,11 +452,9 @@ public class PersonFieldService {
         Integer projectId = getAllPatentCountDTO.getProjectId();
         //根据登录人id和type查询
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = "";
 
@@ -507,11 +496,9 @@ public class PersonFieldService {
         Integer projectId = addPatentCountDTO.getProjectId();
         //根据登录人id和type查询
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = "";
 
@@ -543,11 +530,9 @@ public class PersonFieldService {
         }
         //根据登录人id和type查询
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
+
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
+
         String userId = personnelVO.getId();
         String key = "";
 
@@ -614,11 +599,7 @@ public class PersonFieldService {
 
     public List<PersonSelfFieldVO> setEvidenceReasonTableColumns(AddSelfFieldDTO addSelfFieldDTO) {
         PersonnelVO personnelVO = new PersonnelVO();
-        try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        } catch (Exception e) {
-            throw new UnLoginException("未登录");
-        }
         String userId = personnelVO.getId();
         String tableName = addSelfFieldDTO.getTableName();
         if (tableName == null||tableName.equals("")) {

+ 42 - 7
src/main/java/cn/cslg/pas/service/importPatent/SavePatentToEsThread.java

@@ -40,7 +40,8 @@ public class SavePatentToEsThread extends Thread {
     private TaskThread taskThread;
     private ImportTaskAMVO importTaskAMVO;
     private Boolean ifProductAll = false;
-    private Integer i=0;
+    private Integer i = 0;
+
     @Override
     public void run() {
         while ((!ifProductAll || uploadPatentWebDTOS.size() > 0) && importTaskAMVO.getState().equals(1)) {
@@ -52,7 +53,7 @@ public class SavePatentToEsThread extends Thread {
                 }
             } catch (Exception e) {
             }
-            if(uploadPatentWebDTOS.size()==0){
+            if (uploadPatentWebDTOS.size() == 0) {
                 break;
             }
             UploadPatentWebDTO uploadPatentWebDTO = uploadPatentWebDTOS.remove(0);
@@ -63,10 +64,14 @@ public class SavePatentToEsThread extends Thread {
                 PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patent.getPatentNo());
                 String patentId = null;
                 // 若查出专利则更新
-                Patent orgPatent =null;
+                Patent orgPatent = null;
+
+
+                //更新专利
                 if (patentWithIdVO != null) {
                     patentId = patentWithIdVO.getId();
-                   orgPatent = patentWithIdVO.getPatent();
+                    orgPatent = patentWithIdVO.getPatent();
+                    patent = this.formPatent(patent, orgPatent);
                     BeanUtils.copyProperties(patent, orgPatent, FormatUtil.getNullPropertyNames(patent));
                     esService.updatePatent(orgPatent, patentWithIdVO.getId());
                 } else {
@@ -74,7 +79,7 @@ public class SavePatentToEsThread extends Thread {
                     patentJoin.setName("patent");
                     patent.setPatentJoin(patentJoin);
                     patentId = esService.addPatent(patent);
-                    orgPatent= patent;
+                    orgPatent = patent;
                 }
                 //判断是否和专题库或报告关联
                 ImportTaskAMVO importTaskAMVO = taskThread.getImportTaskAMVO();
@@ -85,7 +90,7 @@ public class SavePatentToEsThread extends Thread {
                     if (patentId != null) {
                         Boolean ifInproject = esService.searchPatent(patentId, importTaskAMVO.getProjectId());
                         if (!ifInproject) {
-                            System.out.println("多添加的专利:"+patent.getPatentNo());
+                            System.out.println("多添加的专利:" + patent.getPatentNo());
                             Patent patentChild = new Patent();
                             PatentJoin patentJoin = new PatentJoin();
                             patentJoin.setParent(patentId);
@@ -181,7 +186,7 @@ public class SavePatentToEsThread extends Thread {
             UploadPatentWebDTO uploadPatentWebDTO1 = new UploadPatentWebDTO();
             BeanUtils.copyProperties(uploadPatentWebDTO, uploadPatentWebDTO1);
             i++;
-     System.out.println("添加了"+i);
+            System.out.println("添加了" + i);
             uploadPatentWebDTOS.add(uploadPatentWebDTO1);
             if (taskLock.tryLock()) {
                 taskCondition.signalAll();
@@ -202,4 +207,34 @@ public class SavePatentToEsThread extends Thread {
     }
 
 
+    public Patent formPatent(Patent patent, Patent orgPatent) {
+        String publicNo = patent.getPublicNo();
+        String grantNo = patent.getGrantNo();
+        if (patent.getPatentNo().startsWith("CN")) {
+            if (patent.getPublicNo() != null) {
+                if (patent.getPublicNo().endsWith("B")) {
+                    grantNo = patent.getPublicNo();
+                }
+            }
+            if (patent.getGrantNo() != null) {
+                if (patent.getGrantNo().endsWith("A")) {
+                    publicNo = patent.getGrantNo();
+                }
+            }
+
+            patent.setPublicNo(publicNo);
+            patent.setGrantNo(grantNo);
+
+            if (orgPatent.getClaim() != null && orgPatent.getClaim().size() > 0 && orgPatent.getGrantNo() != null && patent.getGrantNo() == null) {
+                patent.setClaim(orgPatent.getClaim());
+            }
+            if(orgPatent.getGrantNo()!=null){
+                patent.setGrantFullText(patent.getPublicFullText());
+                patent.setPublicFullText(null);
+            }
+        }
+
+return  patent;
+    }
+
 }

+ 9 - 2
src/main/java/cn/cslg/pas/service/query/FormatQueryService.java

@@ -538,9 +538,13 @@ public class FormatQueryService {
            valueNode leftValue = (valueNode) Left;
        return   this.getQueryValue(Right,tableName,leftValue.getvalue(),this.getNodeStrCode(operate1));
         }
-      else if(operate1.gettype()==enuType.Logic)
+      else if(operate1.gettype()==enuType.Logic&&operate1.getoperateValue()==1)
         {
-      return "("+ this.webQueryToString2(Left,tableName)+this.getNodeStrCode(operate1)+this.webQueryToString2(Right,tableName)+")";
+      return "("+"/TI"+this.getNodeStrCode(operate1)+this.webQueryToString2(Right,tableName)+")";
+        }
+        else if(operate1.gettype()==enuType.Logic)
+        {
+            return "("+ this.webQueryToString2(Left,tableName)+this.getNodeStrCode(operate1)+this.webQueryToString2(Right,tableName)+")";
         }
       return null;
     }
@@ -562,6 +566,9 @@ public class FormatQueryService {
             treeNode Left = operatenode.getLeft();
             treeNode Right = operatenode.getRight();
             operate operate1 =  operatenode.getoperate();
+            if(operate1.getoperateValue()==1){
+                return "("+"/TI"+this.getNodeStrCode(operate1)+this.getQueryValue(Right,tableName,field,option)+")";
+            }
       return "("+this.getQueryValue(Left,tableName,field,option)+this.getNodeStrCode(operate1)+this.getQueryValue(Right,tableName,field,option)+")";
         }
 

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

@@ -66,7 +66,7 @@ PCSUrl: http://localhost:8871
 #OPSUrl: http://192.168.2.24:5001
 OPSUrl: http://139.224.24.90:5001
 PASUrl: http://localhost:8879
-FMSUrl: http://192.168.2.24:8803
+FMSUrl: http://localhost:8803
 FileSource: 1
 ES:
   patentVector: patent_vector

+ 2 - 2
src/main/resources/jsons/patent.json

@@ -767,7 +767,7 @@
     "value": "ipcLevel5",
     "field": "IC",
     "esField": "mipc.level5",
-    "esClass": "keyWordQueryBuilder",
+    "esClass": "prefixQueryBuilder",
     "ifSearch": "false",
     "ifGroup": "false",
     "ifShow": "false",
@@ -885,7 +885,7 @@
     "value": "cpcLevel5",
     "field": "CPC",
     "esField": "mcpc.level5",
-    "esClass": "keyWordQueryBuilder",
+    "esClass": "prefixQueryBuilder",
     "ifSearch": "false",
     "ifGroup": "false",
     "ifShow": "false",