xiexiang 1 ano atrás
pai
commit
f9b70d91e5

+ 7 - 1
src/main/java/cn/cslg/pas/common/dto/ExportTaskDTO.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.common.dto;
 
 import cn.cslg.pas.common.dto.es.EsCustomFieldDTO;
+import cn.cslg.pas.common.vo.es.EsCustomFieldBatchVO;
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -18,7 +19,7 @@ import java.util.List;
 @Data
 public class ExportTaskDTO {
     private Integer projectId;
-
+    private Integer taskId;
     /**
      * 1 Excel导入
      * 2 专利号导入
@@ -49,4 +50,9 @@ public class ExportTaskDTO {
      * 完成时间
      */
     private Date finishTime;
+
+    private EsCustomFieldBatchVO EsVO;
+    private Integer state;
+    private String createId;
+    private String createName;
 }

+ 30 - 3
src/main/java/cn/cslg/pas/controller/PatentController.java

@@ -6,6 +6,7 @@ import cn.cslg.pas.common.dto.PatentExport.PatentExportParams;
 import cn.cslg.pas.common.dto.PatentExport.TaskParams;
 import cn.cslg.pas.common.dto.business.EsCountDTO;
 import cn.cslg.pas.common.dto.business.SelectClaimDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.StringRequest;
 import cn.cslg.pas.common.utils.*;
@@ -17,8 +18,11 @@ import cn.cslg.pas.common.vo.business.EsAllCountVO;
 import cn.cslg.pas.common.vo.business.PatentKinVO;
 import cn.cslg.pas.common.vo.business.PatentNoVO;
 import cn.cslg.pas.common.vo.es.EsCustomFieldBatchVO;
+import cn.cslg.pas.domain.business.ImportTask;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import cn.cslg.pas.service.business.ImportTaskService;
 import cn.cslg.pas.service.business.PDFExportFirstPageService;
 import cn.cslg.pas.service.business.PatentExportService;
 import cn.cslg.pas.service.business.MergePersonService;
@@ -71,6 +75,11 @@ public class PatentController {
     private PatentExportService patentExportService;
     @Autowired
     private PDFExportFirstPageService pdfExportFirstPageService;
+    @Autowired
+    private ImportTaskService importTaskService;
+    @Autowired
+    private LoginUtils loginUtils;
+
 
     @Operation(summary = "查询专利")
     @PostMapping("/queryPatent")
@@ -227,7 +236,16 @@ public class PatentController {
     @PostMapping("/exportPDFFirstPage")
     @Operation(summary = "导出专利PDF")
     public Response exportPDFFirstPage(@RequestBody EsCustomFieldBatchVO EsVO) throws IOException {
-        pdfExportFirstPageService.mergePdfFirstPage(EsVO);
+        ExportTaskDTO exportTaskDTO = new ExportTaskDTO();
+        exportTaskDTO.setProjectId(EsVO.getProjectId());
+        exportTaskDTO.setType(7);
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        exportTaskDTO.setCreateId(personnelVO.getId());
+        exportTaskDTO.setCreateName(personnelVO.getName());
+        Integer taskId = importTaskService.addExportTask(exportTaskDTO);
+        exportTaskDTO.setEsVO(EsVO);
+        exportTaskDTO.setTaskId(taskId);
+        pdfExportFirstPageService.mergePdfFirstPage(exportTaskDTO);
         Records records = new Records();
         records.setData("正在导出PDF首页");
         return Response.success(records);
@@ -236,9 +254,18 @@ public class PatentController {
     @PostMapping("/exportPatentExcel")
     @Operation(summary = "导出专利")
     public Response exportPatentExcel(@RequestBody EsCustomFieldBatchVO EsVO) throws IOException {
-        patentExportService.exportPatent(EsVO);
+        ExportTaskDTO exportTaskDTO = new ExportTaskDTO();
+        exportTaskDTO.setProjectId(EsVO.getProjectId());
+        exportTaskDTO.setType(6);
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        exportTaskDTO.setCreateId(personnelVO.getId());
+        exportTaskDTO.setCreateName(personnelVO.getName());
+        Integer taskId = importTaskService.addExportTask(exportTaskDTO);
+        exportTaskDTO.setEsVO(EsVO);
+        exportTaskDTO.setTaskId(taskId);
+        patentExportService.exportPatent(exportTaskDTO);
         Records records = new Records();
-        records.setData("正在导出专利");
+        records.setData("导出专利");
         return Response.success(records);
     }
 }

+ 29 - 13
src/main/java/cn/cslg/pas/service/business/ImportTaskService.java

@@ -76,6 +76,8 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
     private ProductService productService;
     @Autowired
     private ProjectService projectService;
+    @Autowired
+    private ImportTaskConditionService importTaskConditionService;
 
     @Override
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
@@ -390,39 +392,31 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
         if (exportTaskDTO == null) {
             throw new XiaoShiException("入参不能为空");
         }
-//        PersonnelVO personnelVO = new PersonnelVO();
-//        try {
-//            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-//        } catch (Exception e) {
-//            throw new UnLoginException("未登录");
-//        }
         ImportTaskCondition importTaskCondition = new ImportTaskCondition();
-        importTaskCondition.setFileGuid(exportTaskDTO.getFileGuid());
         if (exportTaskDTO.getProjectId() != null) {
             importTaskCondition.setProjectId(exportTaskDTO.getProjectId());
         }
         importTaskCondition.setIfUpdate(false);
         importTaskCondition.setType(exportTaskDTO.getType());
-//        importTaskCondition.setCreateId(personnelVO.getId());
-        importTaskCondition.setCreateId("328");
+        importTaskCondition.setCreateId(exportTaskDTO.getCreateId());
         importTaskCondition.insert();
+
         Integer importTaskConditionId = importTaskCondition.getId();
         if (importTaskConditionId != null) {
             ImportTask importTask = new ImportTask();
             importTask.setImportTaskConditionId(importTaskConditionId);
             importTask.setType(exportTaskDTO.getType());
             importTask.setAllNum(exportTaskDTO.getAllNum());
-            importTask.setDefaultNum(exportTaskDTO.getDefaultNum());
             importTask.setFinishTime(exportTaskDTO.getFinishTime());
-            importTask.setCreateId("328");
+            importTask.setState(0);
+            importTask.setCreateId(exportTaskDTO.getCreateId());
             String name = "";
             if (exportTaskDTO.getType().equals(6)) {
                 name = "【专利】";
             } else if (exportTaskDTO.getType().equals(7)){
                 name = "【PDF首页】";
             }
-//            String importTaskName = "导出" + name + "-" + personnelVO.getName();
-            String importTaskName = "导出" + name + "-" + "朱豪";
+            String importTaskName = "导出" + name + "-" + exportTaskDTO.getCreateName();
             importTask.setName(importTaskName);
             importTask.insert();
             return importTask.getId();
@@ -430,4 +424,26 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
             throw new XiaoShiException("导出任务记录失败");
         }
     }
+
+
+    public Integer updateExportTask(ExportTaskDTO exportTaskDTO){
+        if (exportTaskDTO == null) {
+            throw new XiaoShiException("入参不能为空");
+        }
+        ImportTask importTask = this.getById(exportTaskDTO.getTaskId());
+        if (importTask != null) {
+            Integer importTaskConditionId = importTask.getImportTaskConditionId();
+
+            ImportTaskCondition importTaskCondition = importTaskConditionService.getById(importTaskConditionId);
+            importTaskCondition.setFileGuid(exportTaskDTO.getFileGuid());
+            importTaskCondition.updateById();
+
+            importTask.setState(exportTaskDTO.getState());
+            importTask.setAllNum(exportTaskDTO.getAllNum());
+            importTask.setDefaultNum(exportTaskDTO.getDefaultNum());
+            importTask.setFinishTime(exportTaskDTO.getFinishTime());
+            importTask.updateById();
+        }
+        return importTask.getId();
+    }
 }

+ 11 - 12
src/main/java/cn/cslg/pas/service/business/PDFExportFirstPageService.java

@@ -60,7 +60,8 @@ public class PDFExportFirstPageService {
 
 
     @Async
-    public void mergePdfFirstPage(EsCustomFieldBatchVO EsVO){
+    public void mergePdfFirstPage(ExportTaskDTO exportTask){
+        EsCustomFieldBatchVO EsVO = exportTask.getEsVO();
         try {
             List<String> patentNos = this.getPatentNo(EsVO);
             Integer total = patentNos.size();
@@ -130,9 +131,9 @@ public class PDFExportFirstPageService {
                                 // 关闭当前处理的文档
                                 document.close();
                                 firstPageDocument.close();
-                                WebSocketMessageVO webSocketMessageVO =new WebSocketMessageVO();
+                                WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
                                 webSocketMessageVO.setProjectId(EsVO.getProjectId());
-                                webSocketMessageVO.setCreateId("328");
+                                webSocketMessageVO.setCreateId(exportTask.getCreateId());
                                 webSocketMessageVO.setCode(604);
                                 webSocketMessageVO.setAllNum(total);
                                 webSocketMessageVO.setCurrentNum(i+1);
@@ -158,7 +159,7 @@ public class PDFExportFirstPageService {
             resultDocument.close();
             WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
             webSocketMessageVO.setProjectId(EsVO.getProjectId());
-            webSocketMessageVO.setCreateId("328");
+            webSocketMessageVO.setCreateId(exportTask.getCreateId());
             webSocketMessageVO.setCode(605);
             webSocketMessageVO.setAllNum(total);
             webSocketMessageVO.setCurrentNum(total);
@@ -168,13 +169,11 @@ public class PDFExportFirstPageService {
             if (out.toByteArray() != null && out.toByteArray().length != 0) {
                 fileGuid = parseByteToFileUtils.uploadFile(out.toByteArray(), 2);
             }
-            ExportTaskDTO exportTaskDTO = new ExportTaskDTO();
-            exportTaskDTO.setProjectId(EsVO.getProjectId());
-            exportTaskDTO.setType(7);
-            exportTaskDTO.setFileGuid(fileGuid);
-            exportTaskDTO.setAllNum(total);
-            exportTaskDTO.setDefaultNum(defaultNum);
-            Integer taskId = importTaskService.addExportTask(exportTaskDTO);
+            exportTask.setFileGuid(fileGuid);
+            exportTask.setAllNum(total);
+            exportTask.setDefaultNum(defaultNum);
+            exportTask.setState(2);
+            Integer taskId = importTaskService.updateExportTask(exportTask);
             if (taskId == null) {
                 throw new XiaoShiException("导出记录失败");
             }
@@ -200,7 +199,7 @@ public class PDFExportFirstPageService {
                 isAdd.removeAll(isDel);
                 //创建一个输出流
                 return isAdd;
-            } else if (startNum > 1 && endNum > 0){
+            } else if (startNum >= 1 && endNum > 0){
                 List<String> patentNos = new ArrayList<>();
                 try {
                     patentNos = esCustomFieldService.getPatentNos(EsVO);

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

@@ -8,6 +8,7 @@ import cn.cslg.pas.common.vo.ConfigVOS.PatentConfigVO;
 import cn.cslg.pas.common.vo.WebSocketMessageVO;
 import cn.cslg.pas.common.vo.business.PatentNoVO;
 import cn.cslg.pas.common.vo.es.EsCustomFieldBatchVO;
+import cn.cslg.pas.domain.business.ImportTask;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.PatentExportFactory.GetValueImp;
 import cn.cslg.pas.factorys.PatentExportFactory.PatentExportFactory;
@@ -60,12 +61,13 @@ public class PatentExportService {
     /**
      * 导出专利
      *
-     * @param EsVO
+     * @param exportTask
      * @return
      * @throws IOException
      */
     @Async
-    public void exportPatent(EsCustomFieldBatchVO EsVO) throws IOException {
+    public void exportPatent(ExportTaskDTO exportTask) throws IOException {
+        EsCustomFieldBatchVO EsVO = exportTask.getEsVO();
         try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
             String esSelected = JsonUtils.objectToJson(EsVO.getSelected());
             //selected字符串转PatentExportVO集合
@@ -154,9 +156,9 @@ public class PatentExportService {
                         }
                     }
                 }
-                WebSocketMessageVO webSocketMessageVO =new WebSocketMessageVO();
+                WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
                 webSocketMessageVO.setProjectId(EsVO.getProjectId());
-                webSocketMessageVO.setCreateId("328");
+                webSocketMessageVO.setCreateId(exportTask.getCreateId());
                 webSocketMessageVO.setCode(602);
                 webSocketMessageVO.setAllNum(total);
                 webSocketMessageVO.setCurrentNum(i+1);
@@ -166,7 +168,7 @@ public class PatentExportService {
             hssfWorkbook.write(out);
             WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
             webSocketMessageVO.setProjectId(EsVO.getProjectId());
-            webSocketMessageVO.setCreateId("328");
+            webSocketMessageVO.setCreateId(exportTask.getCreateId());
             webSocketMessageVO.setCode(603);
             webSocketMessageVO.setAllNum(total);
             webSocketMessageVO.setCurrentNum(total);
@@ -176,13 +178,11 @@ public class PatentExportService {
             if (out.toByteArray() != null && out.toByteArray().length != 0) {
                 fileGuid = parseByteToFileUtils.uploadFile(out.toByteArray(), 1);
             }
-            ExportTaskDTO exportTaskDTO = new ExportTaskDTO();
-            exportTaskDTO.setProjectId(EsVO.getProjectId());
-            exportTaskDTO.setType(6);
-            exportTaskDTO.setFileGuid(fileGuid);
-            exportTaskDTO.setAllNum(total);
-            exportTaskDTO.setDefaultNum(defaultNum);
-            Integer taskId = importTaskService.addExportTask(exportTaskDTO);
+            exportTask.setFileGuid(fileGuid);
+            exportTask.setAllNum(total);
+            exportTask.setDefaultNum(defaultNum);
+            exportTask.setState(2);
+            Integer taskId = importTaskService.updateExportTask(exportTask);
             if (taskId == null) {
                 throw new XiaoShiException("导出记录失败");
             }