Procházet zdrojové kódy

数据导入中数据更新文件上传, 执行数据处理

Gaokun Wang před 7 měsíci
rodič
revize
0446e6d568

+ 11 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/controller/AlgorithmController.java

@@ -102,4 +102,15 @@ public class AlgorithmController {
     public CommonResult<List<String>> getDataByOssId(@PathVariable Long ossId) {
         return CommonResult.success(algorithmService.getDataByOssId(ossId));
     }
+    /**
+     * 获取曲线数据根据OssId
+     *
+     * @param ossId 入参数据
+     * @return org.eco.common.core.core.domain.CommonResult<java.lang.String> 结果
+     **/
+    @Log(title = "获取数据参数名称", businessType = BusinessType.EXECUTE)
+    @GetMapping("/playback/data/{ossId}")
+    public CommonResult<List<String>> getPlaybackDataByOssId(@PathVariable Long ossId) {
+        return CommonResult.success(algorithmService.getDataByOssId(ossId));
+    }
 }

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/domain/MaintenanceDecision.java

@@ -31,7 +31,7 @@ public class MaintenanceDecision extends BaseEntity {
     /**
      * 架次号
      */
-    private Long sortieNo;
+    private String sortieNo;
 
     /**
      * 机号

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceDecisionBo.java

@@ -27,7 +27,7 @@ public class MaintenanceDecisionBo extends BaseEntity {
      * 架次号
      */
     @NotNull(message = "架次号不能为空")
-    private Long sortieNo;
+    private String sortieNo;
 
     /**
      * 机号Id

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceDecisionVo.java

@@ -38,7 +38,7 @@ public class MaintenanceDecisionVo extends BaseEntity implements Serializable {
      * 架次号
      */
     @ExcelProperty(value = "架次号")
-    private Long sortieNo;
+    private String sortieNo;
 
     /**
      * 机号Id

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/WarningImportVo.java

@@ -30,7 +30,7 @@ public class WarningImportVo implements Serializable {
      * 架次号
      */
     @ExcelProperty(value = "架次号")
-    private Long sortieNo;
+    private String sortieNo;
 
     /**
      * 机号

+ 16 - 8
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AlgorithmService.java

@@ -1,6 +1,8 @@
 package org.eco.als.service.impl;
 
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import jakarta.annotation.Resource;
@@ -29,6 +31,7 @@ import org.eco.common.core.constant.Constants;
 import org.eco.common.core.exception.BusinessException;
 import org.eco.common.core.utils.HttpUtils;
 import org.eco.common.core.utils.StringUtils;
+import org.eco.common.core.utils.file.FileUtils;
 import org.eco.system.domain.vo.SysOssVo;
 import org.eco.system.service.ISysOssService;
 import org.springframework.stereotype.Service;
@@ -233,16 +236,21 @@ public class AlgorithmService implements IAlgorithmService {
     }
 
     private SysOssVo getSysOssVo(AlgorithmBo algorithmBo) {
-        File file = null;
-        try (InputStream inputStream = ossService.getFileStream(algorithmBo.getOssId())) {
-            file = CsvUtils.excelToFileCsvByColumns(inputStream, algorithmBo.getColumnData());
-        } catch (Exception e) {
-            log.error("文件转换异常:{}", e.getMessage());
+        SysOssVo sysOss = ossService.getById(algorithmBo.getOssId());
+        if (ObjectUtil.isNull(sysOss)) {
+            throw new BusinessException("文件数据不存在!");
         }
-        if (ObjectUtil.isNull(file)) {
-            return null;
+        String path = StringUtils.substringAfter(sysOss.getFileName(), Constants.RESOURCE_PREFIX);
+        String tempPathCsv = EcoConfig.getTempPath() + "/" + CsvUtils.getName(FileUtils.getNameNotSuffix(sysOss.getOriginalName()));
+
+        JSONArray jsonArray =CsvUtils.getCsvDataByHeaders(path, Arrays.asList(algorithmBo.getColumnData()), null);
+        File file = CsvUtils.jsonToFileCsvByJsonArray(jsonArray, tempPathCsv);
+
+        if (ObjectUtil.isNotNull(file)) {
+            sysOss = ossService.upload(file);
         }
-        return ossService.upload(file);
+        FileUtil.del(tempPathCsv);
+        return sysOss;
     }
 
     @Override

+ 7 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/DataImportServiceImpl.java

@@ -162,6 +162,13 @@ public class DataImportServiceImpl extends BaseServiceImpl<DataImportMapper, Dat
      */
     @Override
     public boolean update(DataImportBo dataImportBo) {
+        SysOssVo ossVo = ossService.getById(dataImportBo.getOssId());
+        String path = StringUtils.substringAfter(ossVo.getFileName(), Constants.RESOURCE_PREFIX);
+        String pathCsv = EcoConfig.getTempPath() + "/" + CsvUtils.getName(FileUtils.getNameNotSuffix(ossVo.getOriginalName()));
+        File file = CsvUtils.excelToFileCsv(EcoConfig.getProfile() + path, pathCsv);
+        ossVo = ossService.upload(file);
+        FileUtil.del(pathCsv);
+        dataImportBo.setOssId(ossVo.getOssId());
         DataImport dataImport = MapstructUtils.convert(dataImportBo, DataImport.class);
         if (ObjectUtil.isNotNull(dataImport) && ObjectUtil.isNotNull(dataImport.getId())) {
             return this.updateById(dataImport);