ソースを参照

3/12 推送修改

lwhhszx 1 年間 前
コミット
f5d7a4c415

+ 9 - 1
src/main/java/cn/cslg/pas/common/utils/FileUtils.java

@@ -27,7 +27,15 @@ public class FileUtils {
         //获取 applicationHome 内的路径 ...\target\classes 到这一层级下
         File file = ah.getSource();
         //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为  ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root
-        String rootPath = file.getParentFile().toString() + FILE_SEPARATOR + fileName;
+        String rootPath =null;
+
+        if (fileName!=null&&!fileName.equals(""))
+        {
+            rootPath= file.getParentFile().toString() + FILE_SEPARATOR + fileName;
+        }
+        else {
+            rootPath = file.getParentFile().toString();
+        }
         //根据上方生成的根目录路径 生成对应文件夹 没有就新建
         File root = new File(rootPath);
         if (!root.exists()) {

+ 37 - 0
src/main/java/cn/cslg/pas/controller/ExportProjectController.java

@@ -0,0 +1,37 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.service.exportProject.ExportProjectService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+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.RestController;
+
+/**
+ * 项目导出控制层
+ *
+ * @author lrj
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/exportProject")
+@RestController
+public class ExportProjectController {
+    @Autowired
+    private ExportProjectService exportProjectService;
+    @Operation(summary = "查询无效理由")
+    @PostMapping("/writeProjectToFile")
+    public Response writeProjectToFile() {
+        exportProjectService.writeProjectToFile(3);
+        return Response.success("");
+    }
+
+    @Operation(summary = "查询无效理由")
+    @PostMapping("/readProjectFromFile")
+    public Response readProjectFromFile() {
+        exportProjectService.readProjectFromFile();
+        return Response.success("");
+    }
+}

+ 20 - 18
src/main/java/cn/cslg/pas/service/business/invalidReport/EvidenceReasonService.java

@@ -74,15 +74,6 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
                 addEvidenceReasonsDTOList.add(item);
             }
         });
-        //遍历插入无id特征
-        addEvidenceReasonsDTOList.forEach(item -> {
-            if (item.getFeatureId() == null) {
-                Feature feature = new Feature();
-                feature.setContent(item.getFeatureText());
-                feature.insert();
-                item.setFeatureId(feature.getId());
-            }
-        });
 
         List<AssoGroupFeature> assoGroupFeatures = new ArrayList<>();
         List<Integer> assoIds = new ArrayList<>();
@@ -114,6 +105,24 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
                     .eq(AssoFeatureReason::getGen, gen);
             assoFeatureReasonService.remove(queryWrapper12);
         }
+
+        //遍历插入无id特征
+        addEvidenceReasonsDTOList.forEach(item -> {
+            if (item.getFeatureId() == null) {
+                Feature feature = new Feature();
+                feature.setContent(item.getFeatureText());
+                feature.insert();
+                item.setFeatureId(feature.getId());
+                AssoGroupFeature assoGroupFeature = new AssoGroupFeature();
+                assoGroupFeature.setFeatureId(feature.getId());
+                assoGroupFeature.setFeatureOrder(item.getFeatureOrder());
+                assoGroupFeature.setGroupId(groupId);
+                assoGroupFeature.setFeatureGen(gen);
+                assoGroupFeature.insert();
+                item.setFeatureGroupId(assoGroupFeature.getId());
+            }
+        });
+
         for (AddEvidenceReasonsDTO addEvidenceReasonsDTO : addEvidenceReasonsDTOs) {
             //获得特征信息
             Integer featureId = addEvidenceReasonsDTO.getFeatureId();
@@ -123,19 +132,12 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
             //判断
             AddEvidenceReasonsDTO tem = addEvidenceReasonsDTOList.stream()
                     .filter(item -> addEvidenceReasonsDTO.getFeatureOrder().equals(item.getFeatureOrder())).findFirst().orElse(null);
-            if (tem != null) {
+
                 featureId = tem.getFeatureId();
-            }
 
             //当特征和证据组合关联id未存在时
             if (featureGroupId == null) {
-                AssoGroupFeature assoGroupFeature = new AssoGroupFeature();
-                assoGroupFeature.setFeatureId(featureId);
-                assoGroupFeature.setFeatureOrder(featureOrder);
-                assoGroupFeature.setGroupId(groupId);
-                assoGroupFeature.setFeatureGen(gen);
-                assoGroupFeature.insert();
-                featureGroupId = assoGroupFeature.getId();
+                featureGroupId =tem.getFeatureGroupId();
             } else {
                 AssoGroupFeature assoGroupFeature = assoGroupFeatureService.getById(featureGroupId);
                 if (assoGroupFeature.getOperateMode() == null || (assoGroupFeature.getOperateMode() != null && !assoGroupFeature.getOperateMode().equals(1))) {

+ 97 - 0
src/main/java/cn/cslg/pas/service/exportProject/ExportProjectService.java

@@ -0,0 +1,97 @@
+package cn.cslg.pas.service.exportProject;
+
+
+import cn.cslg.pas.common.utils.FileUtils;
+import cn.cslg.pas.common.utils.JsonUtils;
+import cn.cslg.pas.common.utils.UploadPatentBatchUtil;
+import cn.cslg.pas.common.vo.PatentData;
+import cn.cslg.pas.common.vo.UploadParamsVO;
+import cn.cslg.pas.common.vo.UploadSettingVO;
+import cn.cslg.pas.domain.business.PatentProject;
+import cn.cslg.pas.domain.business.Project;
+import cn.cslg.pas.service.business.PatentProjectService;
+import cn.cslg.pas.service.business.ProjectService;
+import cn.hutool.core.util.ZipUtil;
+import com.google.gson.JsonObject;
+import org.apache.poi.ss.usermodel.PictureData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 将专利源数据转换为专利VO实体类业务层
+ *
+ * @Author chenyu
+ * @Date 2023/5/31
+ */
+@Service
+public class ExportProjectService {
+    @Autowired
+    private ProjectService projectService;
+
+    //将项目对象写进文件
+    public void writeProjectToFile(Integer projectId) {
+        //根据projectId查询对象
+        try {
+            Project project = projectService.getById(projectId);
+            String url = FileUtils.getStaticPath("test");
+            String trueUrl = url + "\\Student.json";
+            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(trueUrl));
+            oos.writeObject(project);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     * 从文件中读取对象
+     */
+    public void readProjectFromFile() {
+        //根据projectId查询对象
+        try {
+            String url = FileUtils.getStaticPath("test");
+            String trueUrl = url + "\\Student.json";
+            ObjectInputStream ois = new ObjectInputStream(new FileInputStream(trueUrl));
+            Project project = (Project) ois.readObject();
+            System.out.println("名字为:" + project.getId());
+            String outUrl = FileUtils.getStaticPath("");
+            String trueOutUrl = outUrl + "\\test.zip";
+            ZipUtil.zip(url, trueOutUrl);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+    }
+
+    /**
+     * 获取专利对象
+     */
+    private void getPatentsFromEs() {
+
+
+    }
+
+    /**
+     * 获取专利标引对象
+     */
+    private void getCustomFieldFromEs() {
+
+
+    }
+
+    /**
+     * 获取项目附件
+     */
+    private void getProjectFile() {
+
+
+    }
+}