diff --git a/common/src/main/java/com/sdm/common/entity/resp/data/SimulationTaskResultCurveResp.java b/common/src/main/java/com/sdm/common/entity/resp/data/SimulationTaskResultCurveResp.java index ce9c6963..3539e2c2 100644 --- a/common/src/main/java/com/sdm/common/entity/resp/data/SimulationTaskResultCurveResp.java +++ b/common/src/main/java/com/sdm/common/entity/resp/data/SimulationTaskResultCurveResp.java @@ -35,4 +35,7 @@ public class SimulationTaskResultCurveResp extends BaseResp { @Schema(description = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; + + @Schema(description = "排序号") + private String tag1; } diff --git a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java index 4a5bfedd..bb68cee7 100644 --- a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java @@ -143,8 +143,18 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { .eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId()) .isNull(FileMetadataInfo::getDeletedAt) .list(); - List sortedList = fileMetadataInfoList.stream() - .sorted(Comparator.comparing(FileMetadataInfo::getTag1, + PageInfo page = new PageInfo<>(fileMetadataInfoList); + long total = page.getTotal(); + + List fileIdList = fileMetadataInfoList.stream().map(FileMetadataInfo::getId).toList(); + List finalResultList = hierarchyHelper.processFileHierarchy( + fileIdList, + SimulationTaskResultCurveResp.class, + FileMetadataHierarchyHelper::setFileHierarchy + ); + + List sortedList = finalResultList.stream() + .sorted(Comparator.comparing(SimulationTaskResultCurveResp::getTag1, Comparator.nullsLast((tag1, tag2) -> { try { int num1 = Integer.parseInt(tag1.trim()); @@ -154,20 +164,11 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { return tag1.compareTo(tag2); } }))) - .collect(Collectors.toList()); - PageInfo page = new PageInfo<>(sortedList); - long total = page.getTotal(); + .toList(); - List fileIdList = sortedList.stream().map(FileMetadataInfo::getId).toList(); - List finalResultList = hierarchyHelper.processFileHierarchy( - fileIdList, - SimulationTaskResultCurveResp.class, - FileMetadataHierarchyHelper::setFileHierarchy - ); - - PageInfo page1 = new PageInfo<>(finalResultList); + PageInfo page1 = new PageInfo<>(sortedList); page1.setTotal(total); - return PageUtils.getJsonObjectSdmResponse(finalResultList, page1); + return PageUtils.getJsonObjectSdmResponse(sortedList, page1); } } return PageUtils.getJsonObjectSdmResponse(new ArrayList<>(), new PageInfo<>()); diff --git a/project/src/main/java/com/sdm/project/controller/YAModelController.java b/project/src/main/java/com/sdm/project/controller/YAModelController.java index e45166d0..379f1ef1 100644 --- a/project/src/main/java/com/sdm/project/controller/YAModelController.java +++ b/project/src/main/java/com/sdm/project/controller/YAModelController.java @@ -39,6 +39,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -52,6 +53,7 @@ import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.*; +@Slf4j @RestController @RequestMapping("/dataManager/tree/node") @Tag(name = "宜安项目数据归档", description = "宜安项目模型数据关了") @@ -458,6 +460,7 @@ public class YAModelController { String pubKey = decodedJWT.getSubject(); //String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjz2pItCtM2Itf3knLhA1ZWzTVtKKY692Eptk3ZUy4qjlv+2e6u78/cBYZsVa/1nOyHPtb2j9xZAsHYGKZGoh64UWSewUhRdUO15xBRr5DyGEdTWHjwc1GHf7c99rKCjKDO2Xdp7cpqYABOAxgkSA2vP5zqhSCq0FCqwleEPLG1aAa/kh/oUzCZLUoSjZIdqQOgHJTZojqNeQCOC6U8Q+kUcHdKbptewu1A6XK8DHV0WqiJJEG3kyaoAZ1kGtr6ETtGy++aRvJT9gZN4M4bIgucKtAu2dcqQHj9jZ1i2xwhY3nmLjqaz3y313/IEYpMTG8pnPb8eP5usHDaDmH8RqJAgMBAAECggEAAzz05WYGWxkGvEjpHYhJOUR3yWeuNSaodNhVf+ZVO2tGAmQuWz8d2zOshCqAw/8Jv3IaN+kbCvNG0okBufQP0ZoFZY1f/xXhzc7OTG4JEc7yuIEQl897btDl+lk97nOAJx7z9ws7MCwlFyEUAY6s29glkYTBrgmTmy1FXKIqImsLfVV3LgfL2Mkixn0YSSsbUh2b+dki1zxjct3hTGZVh29bKOpbflOaG0LqEO0UwSX92Y/ir+fKmC8zEFbi5HZANYODivm8DiwF7khpraayf78kG3liccOTMMLVxIHwNiS9wcLG8WPuVEphlXMT4Ev4lq5VFM3mVxtd9g21ESbuvwKBgQDmsgE8u66qKVBsndp2K9FV9VWYDA4fYfRswDAWnZDCzIdanT0NFPp8s3nZCVU4FfX4m958yOrJ/MVp6d58z6fgkYQh2qL2Wy6zRPaIxCc6JG3FheFSxfWyULU/mBBK02ntUZCXEs8XKjAfDvmxaVVeonv0nCSgVwxJ4ypB5BZ+owKBgQC1x0GDnWtMbNGUMx6tYtFGWQIgop4hVQe6ZNgkKaQX7gtMa5egEda6ga6wCTV3+ZvQ9tBa1DxUFb5N/TrtQdFm39gOSXyhWSrntUKqaSFo03GvXXvvze2D3+uXpk7S8yzWuuD3OYyYj9S3nFVZffymabfukuY7oY3AN0E0PALw4wKBgQDQiyGrMU6X7HkTdy9BnCLEvd7+cAdkPzyiAqp2B0IRlqrVM0c5SDmX+PaxSEqNROzyLJVX4Ji+t44OTKgf0+hCjckQgYDHi24QCMuEny2G1d+Vq40hMmsFIwh10JUJz0v2iMFYkFw86JpPuU3nHv1ZazD60xwZBhfJw10z62iaWQKBgH+EVgsUJS8pryO9cKnFBnXI/tsR+Mf9NDynfZBwvbIjxT1IxMb/fJi9XGQVMbMGIS5H1gXBmMiLsEJZgDrrzw/Ru2jaWFl/ib+dwjR1J4C3w6p3c/fXh+TY8hYiDm2hNTU1R5dmgaCMVXawbpcm8FN1Ghh8aJIwVJYgrNcNuiptAoGAO14DHGqUXZZ//erIYWVfL0CAMXqy38dqNmfbzSAXYyLDl6cn49CCHF0GXOfCOesQN9ToQbqpLrntFgcFe0hil5dIWYafk9fHjjR8N8g74ijErQmCEAQy22b06V0q7rLzEsU/HDVL+RZg2aY4hDN+ODHRdpdFkOxsCYV73gevVeo="; //pubKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo89qSLQrTNiLX95Jy4QNWVs01bSimOvdhKbZN2VMuKo5b/tnuru/P3AWGbFWv9Zzshz7W9o/cWQLB2BimRqIeuFFknsFIUXVDtecQUa+Q8hhHU1h48HNRh3+3Pfaygoygztl3ae3KamAATgMYJEgNrz+c6oUgqtBQqsJXhDyxtWgGv5If6FMwmS1KEo2SHakDoByU2aI6jXkAjgulPEPpFHB3Sm6bXsLtQOlyvAx1dFqoiSRBt5MmqAGdZBra+hE7RsvvmkbyU/YGTeDOGyILnCrQLtnXKkB4/Y2dYtscIWN55i46ms98t9d/yBGKTExvKZz2/Hj+brBw2g5h/EaiQIDAQAB"; + log.info("clientName:"+clientName); String verityPublicKey = getCidTokenPubKey(userName,clientName,frontendPrivateKey,pubKey); if(!SystemOperate.verify(verityPublicKey,token)) { @@ -514,6 +517,7 @@ public class YAModelController { { JSONObject resultObject = JSONObject.parseObject(pulbicKeyResult); JSONArray resultArray = resultObject.getJSONArray("datas"); + log.info("public keys:"+resultArray.toString()); if(resultArray!=null) { for(int i=0;i command = new ArrayList<>(); command.add("python"); command.add("/opt/script/newExportWord.py"); command.add(TEMP_REPORT_PATH + randomId); command.add("/opt/script/template/仿真报告标准模板_v1.0.docx"); + command.add(reportName); String commands = String.join(" ", command); // 调用脚本 @@ -1532,9 +1537,6 @@ public class SimulationRunServiceImpl extends ServiceImpl command = new ArrayList<>(); command.add("python"); @@ -1703,6 +1709,7 @@ public class SimulationRunServiceImpl extends ServiceImpl imageNames = extractPicNames(reportContent); if (CollectionUtils.isNotEmpty(imageNames)) { int sortOrder = 1; for (String imageName : imageNames) { - archiveReportAndImage(req.getTaskId(), req.getRunId(), randomId, FileBizTypeEnum.CLOUD_FILE, imageName, String.valueOf(sortOrder++)); + archiveReportAndImage(null, req.getTaskId(), req.getRunId(), randomId, FileBizTypeEnum.CLOUD_FILE, imageName, String.valueOf(sortOrder++)); } } return SdmResponse.success(); @@ -1761,7 +1768,7 @@ public class SimulationRunServiceImpl extends ServiceImpl command = new ArrayList<>(); command.add("python"); @@ -2027,6 +2036,7 @@ public class SimulationRunServiceImpl extends ServiceImpl imageNames = extractPicNames(reportContent); if (CollectionUtils.isNotEmpty(imageNames)) { int sortOrder = 1; for (String imageName : imageNames) { - archiveReportAndImage(req.getTaskId(), req.getRunId(), randomId, FileBizTypeEnum.CLOUD_FILE, imageName, String.valueOf(sortOrder++)); + archiveReportAndImage(null, req.getTaskId(), req.getRunId(), randomId, FileBizTypeEnum.CLOUD_FILE, imageName, String.valueOf(sortOrder++)); } } - // 获取临时路径中脚本生成的报告 - String reportName = "report_" + - LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + - ".docx"; FileInputStream fileInputStream = new FileInputStream(TEMP_REPORT_PATH + randomId + File.separator + reportName); fileData = fileInputStream.readAllBytes();