瀏覽代碼

Merge branch 'V0.0.5' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.0.5

jiawuxian 1 年之前
父節點
當前提交
469a0d4c37

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/resumption/service/impl/ResumptionReportServiceImpl.java

@@ -45,6 +45,9 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         //判断机构类型,如果机构类型大于行社,都展示行社数据
         SysOrg sysOrg = orgService.selectSysOrgById(resumptionDTO.getOrgId(), SecurityConstants.INNER);
         List<SysOrg> sysOrgs;
+        if (null==sysOrg.getType()){
+            return Collections.emptyList();
+        }
         if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
             sysOrgs = orgService.selectSysOrgByPathAndType(sysOrg.getPath(), 3, SecurityConstants.INNER);
         } else if (sysOrg.getType() == 3) {
@@ -183,6 +186,9 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         //判断机构类型,如果机构类型大于行社,都展示行社数据
         SysOrg sysOrg = orgService.selectSysOrgById(resumptionDTO.getOrgId(), SecurityConstants.INNER);
         List<SysOrg> sysOrgs;
+        if (null==sysOrg.getType()){
+            return Collections.emptyList();
+        }
         if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
             sysOrgs = orgService.selectSysOrgByPathAndType(sysOrg.getPath(), 3, SecurityConstants.INNER);
         } else if (sysOrg.getType() == 3) {
@@ -261,6 +267,9 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         //判断机构类型,如果机构类型大于行社,都展示行社数据
         SysOrg sysOrg = orgService.selectSysOrgById(resumptionDTO.getOrgId(), SecurityConstants.INNER);
         List<SysOrg> sysOrgs;
+        if (null==sysOrg.getType()){
+            return Collections.emptyList();
+        }
         if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
             sysOrgs = orgService.selectSysOrgByPathAndType(sysOrg.getPath(), 3, SecurityConstants.INNER);
         } else if (sysOrg.getType() == 3) {

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/safetyInspect/service/impl/SafetyInspectServiceImpl.java

@@ -47,6 +47,9 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
         //判断机构类型,如果机构类型大于行社,都展示行社数据
         SysOrg sysOrg = orgService.selectSysOrgById(safetyInspectDTO.getOrgId(), SecurityConstants.INNER);
         List<SysOrg> sysOrgs;
+        if(null==sysOrg.getType()){
+            return Collections.emptyList();
+        }
         if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
             sysOrgs = orgService.selectSysOrgByPathAndType(sysOrg.getPath(), 3, SecurityConstants.INNER);
         } else if (sysOrg.getType() == 3) {

+ 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<>();