Browse Source

履职登记簿代码提交

jingyuanchao 1 year ago
parent
commit
b5906e7dc6

+ 27 - 16
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/AppPlanServiceImpl.java

@@ -1075,6 +1075,10 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         String fileName = registerBookPdfService.getPdfFileName(RegisterBookType.ON_DUTY_USER, sysOrg.getName());
         Map<String, Object> data = this.getFtlResumptionNotWorkTime(orgId, date);
+        if (!checkHasData(data)) {
+            log.error("未查询到履职数据,未能生成{},机构名称:{}", RegisterBookType.ON_DUTY_USER.getText(), sysOrg.getShortName());
+            return;
+        }
         data.put("title", RegisterBookType.ON_DUTY_USER.getText());
         data.put("fileName", fileName);
         data.put("orgName", sysOrg.getShortName());
@@ -1114,15 +1118,8 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         String fileName = registerBookPdfService.getPdfFileName(RegisterBookType.SECURITY_PERFORMANCE, sysOrg.getName());
         Map<String, Object> data = this.getFtlResumptionDaily(orgId, date);
-        final List<SysDictData> dictCache = DictUtils.getDictCache(DictConstants.RESUMPTION_PLAN_EXEC);
-        final List<String> names = dictCache.stream().map(SysDictData::getDictLabel).collect(Collectors.toList());
-        List<ResumptionPdf> list = new ArrayList<>();
-        for (String name : names) {
-            final List<ResumptionPdf> pdfList = (List<ResumptionPdf>) data.get(name);
-
-            list.addAll(ObjectUtil.isNull(pdfList) ? new ArrayList<>() : pdfList);
-        }
-        if (ObjectUtil.isEmpty(list)) {
+        if (!checkHasData(data)) {
+            log.error("未查询到履职数据,未能生成{},机构名称:{}", RegisterBookType.SECURITY_PERFORMANCE.getText(), sysOrg.getShortName());
             return;
         }
         data.put("fileName", fileName);
@@ -1172,10 +1169,28 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
         }
     }
 
+    private Boolean checkHasData(Map<String, Object> data) {
+        final List<SysDictData> dictCache = DictUtils.getDictCache(DictConstants.RESUMPTION_PLAN_EXEC);
+        final List<String> names = dictCache.stream().map(SysDictData::getDictLabel).collect(Collectors.toList());
+        List<ResumptionPdf> list = new ArrayList<>();
+        for (String name : names) {
+            final List<ResumptionPdf> pdfList = (List<ResumptionPdf>) data.get(name);
+
+            list.addAll(ObjectUtil.isNull(pdfList) ? new ArrayList<>() : pdfList);
+        }
+        return ObjectUtil.isNotEmpty(list);
+    }
+
     @Override
     public void buildResumptionAllDayPdf(Long orgId, Date date) {
-        final List<Map<String, Object>> mapList = this.getFtlResumptionAllDay(orgId, date);
+        SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+
+        final List<Map<String, Object>> mapList = this.getFtlResumptionAllDay(sysOrg, date);
         for (Map<String, Object> data : mapList) {
+            if (!checkHasData(data)) {
+                log.error("未查询到履职数据,未能生成{},机构名称:{}", RegisterBookType.getEnums((Integer) data.get("planType")).getText(), sysOrg.getShortName());
+                return;
+            }
             CompletableFuture.runAsync(() -> {
                 R<String> r = RemoteCallHandlerExecutor.executeRemoteCall(() -> fileService.generateResumptionPdf(data), ErrorMsgConstants.GENERATE_PDF_ERROR);
                 if (null == r || null == r.getData()) {
@@ -1185,7 +1200,6 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
                 if (ObjectUtil.isNull(id)) {
                     throw new SystemException(ErrorMsgConstants.GENERATE_PDF_ERROR);
                 }*/
-                SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
                 String pdfUrl = r.getData();
                 CoreRegisterBookPdf registerBookPdf = new CoreRegisterBookPdf();
                 registerBookPdf.setId(IdWorker.getId());
@@ -1206,12 +1220,9 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
 
     }
 
-    private List<Map<String, Object>> getFtlResumptionAllDay(Long orgId, Date date) {
-
-        SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-
+    private List<Map<String, Object>> getFtlResumptionAllDay(SysOrg sysOrg, Date date) {
         //查询执行时刻为全天的的履职数据
-        List<Resumption> allDayDataList = resumptionMapper.selectBySubmitTimeAndPlanType(date, Arrays.asList(4, 5, 6), orgId);
+        List<Resumption> allDayDataList = resumptionMapper.selectBySubmitTimeAndPlanType(date, Arrays.asList(4, 5, 6), sysOrg.getId());
         //全天的的履职数据需要生成三种登记簿,所以还需要跟根据任务类型来分组 // 4:“110”入侵报警系统测试 5:不间断电源(UPS)维护 6:离行式自助银行巡检
         final Map<Integer, List<Resumption>> listMap = allDayDataList.stream().filter(res -> Arrays.asList(4, 5, 6).contains(res.getPlanType())).collect(Collectors.groupingBy(Resumption::getPlanType));
         List<Map<String, Object>> maps = new ArrayList<>();