Sfoglia il codice sorgente

登记簿生成时 机构名称拼接错误处理

jingyuanchao 1 anno fa
parent
commit
d593384ee6

+ 12 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -766,7 +766,18 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         }*/
         return sign;
     }
+    private String getFileOrgName(SysOrg org){
+        String[] strings = org.getPath().split("-");
+        List<Long> list = Arrays.stream(strings).map(Long::valueOf).collect(Collectors.toList());
+        List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        final Map<Long, String> map = sysOrgList.stream().collect(Collectors.toMap(SysOrg::getId, SysOrg::getShortName));
+        List<String> list1 = new ArrayList<>();
+        for (String orgId : strings) {
+            list1.add(map.get(Long.parseLong(orgId)));
+        }
+        return   String.join("_", list1);
 
+    }
 
     @Override
     public AjaxResult buildDrillTaskPdf(Long id) {
@@ -775,12 +786,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             return AjaxResult.success(task.getPdfUrl());
         }
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(task.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        String[] strings = sysOrg.getPath().split("-");
-        List<Long> list = Arrays.stream(strings).map(Long::valueOf).collect(Collectors.toList());
-        List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        String orgName = sysOrgList.stream().map(SysOrg::getName).collect(Collectors.joining("_"));
-
-        String fileName = orgName + "_" + RegisterBookType.SAFETY_DRILL.getText() + "_" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".pdf";
+        String fileName = getFileOrgName(sysOrg) + "_" + RegisterBookType.SAFETY_DRILL.getText() + "_" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".pdf";
         Map<String, Object> data = this.getFtlDrill(task);
         data.put("fileName", fileName);
         data.put("id", id);

+ 13 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -780,12 +780,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             return AjaxResult.success(task.getPdfUrl());
         }
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(task.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        String[] strings = sysOrg.getPath().split("-");
-        List<Long> list = Arrays.stream(strings).map(Long::valueOf).collect(Collectors.toList());
-        List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        String orgName = sysOrgList.stream().map(SysOrg::getName).collect(Collectors.joining("_"));
-
-        String fileName = orgName + "_" + RegisterBookType.EDUCATION_TRAINING.getText() + "_" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".pdf";
+        String fileName = getFileOrgName(sysOrg) + "_" + RegisterBookType.EDUCATION_TRAINING.getText() + "_" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".pdf";
         Map<String, Object> data = this.getFtlEdu(task);
         data.put("fileName", fileName);
         data.put("id", id);
@@ -815,6 +810,18 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");
     }
 
+    private String getFileOrgName(SysOrg org){
+        String[] strings = org.getPath().split("-");
+        List<Long> list = Arrays.stream(strings).map(Long::valueOf).collect(Collectors.toList());
+        List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgByIdList(list, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        final Map<Long, String> map = sysOrgList.stream().collect(Collectors.toMap(SysOrg::getId, SysOrg::getShortName));
+        List<String> list1 = new ArrayList<>();
+        for (String orgId : strings) {
+            list1.add(map.get(Long.parseLong(orgId)));
+        }
+        return   String.join("_", list1);
+    }
+
     private Map<String, Object> getFtlEdu(CoreEduTrainingTaskDetailVo task) {
         Map<String, Object> data = new HashMap<>();
         String time = DateUtil.format(task.getTrainingStartDateTime(), "yyyy年MM月dd日");