Przeglądaj źródła

安全指数代码提交

jingyuanchao 1 rok temu
rodzic
commit
da5977a045
13 zmienionych plików z 207 dodań i 53 usunięć
  1. 6 1
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/DictConstants.java
  2. 32 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/SafeScoreSourceDto.java
  3. 39 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/SafeScoreResumptionDataVo.java
  4. 16 3
      soc-common/soc-common-security/src/main/java/com/xunmei/common/security/utils/DictUtils.java
  5. 10 34
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java
  6. 5 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/ResumptionService.java
  7. 53 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ResumptionServiceImpl.java
  8. 9 3
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/controller/CoreSafeMonthScoreController.java
  9. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafeMonthScoreService.java
  10. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafetyExceptionDataService.java
  11. 13 4
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafeMonthScoreServiceImpl.java
  12. 17 5
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafetyExceptionDataServiceImpl.java
  13. 1 1
      soc-modules/soc-modules-core/src/main/resources/mapper/safetyindex/CoreSafeMonthScoreMapper.xml

+ 6 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/DictConstants.java

@@ -1,6 +1,10 @@
 package com.xunmei.common.core.constant;
 
 
+import cn.hutool.core.util.ObjectUtil;
+
+import java.util.List;
+
 /**
  * @author jingyuanchao
  * @date 2023/9/8 18:33
@@ -205,7 +209,7 @@ public class DictConstants {
     /**
      * 机构扩展平台品牌
      */
-   public static final String ORG_PLATFORM_BRAND = "org_platform_brand";
+    public static final String ORG_PLATFORM_BRAND = "org_platform_brand";
 
     /**
      * 机构扩展平台供应商品牌
@@ -244,4 +248,5 @@ public class DictConstants {
     public static final String DRILL_TASK_REC_STATUS = "drill_task_rec_status";
 
 
+
 }

+ 32 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/SafeScoreSourceDto.java

@@ -0,0 +1,32 @@
+package com.xunmei.common.core.domain.safetyindex.dto;
+
+import cn.hutool.core.date.DateUtil;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SafeScoreSourceDto {
+
+    private Long orgId;
+
+    private Date date;
+
+    private String typeCode;
+
+    private Integer dataMonth;
+
+    private Integer dataYear;
+
+    public void setDate(Date date) {
+        this.date = date;
+        if (null != this.date){
+            this.dataMonth = DateUtil.month(date) + 1;
+            this.dataYear = DateUtil.year(date);
+        }
+    }
+}

+ 39 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/SafeScoreResumptionDataVo.java

@@ -0,0 +1,39 @@
+package com.xunmei.common.core.domain.safetyindex.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 指数扣分详细-安保履职
+ */
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class SafeScoreResumptionDataVo {
+
+    private String resumptionId;
+
+    private String resumptionTaskName;
+
+    private String orgName;
+
+    private String execManName;
+
+    private String execPostName;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date planTimeStart;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date planTimeEnd;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date execTimeStart;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date execTimeEnd;
+
+    private Integer execStatus;
+    private String execStatusText;
+}

+ 16 - 3
soc-common/soc-common-security/src/main/java/com/xunmei/common/security/utils/DictUtils.java

@@ -1,14 +1,14 @@
 package com.xunmei.common.security.utils;
 
-import com.alibaba.fastjson2.JSONArray;
+import cn.hutool.core.util.ObjectUtil;
 import com.xunmei.common.core.constant.CacheConstants;
-import com.xunmei.common.core.utils.SpringUtils;
 import com.xunmei.common.core.utils.StringUtils;
 import com.xunmei.common.redis.utils.RedisUtils;
 import com.xunmei.system.api.domain.SysDictData;
+import io.netty.util.internal.StringUtil;
 
-import java.util.Collection;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 字典工具类
@@ -71,4 +71,17 @@ public class DictUtils {
     public static String getCacheKey(String configKey) {
         return CacheConstants.SYS_DICT_KEY + configKey;
     }
+
+    public static String getDictLabel(String status, Integer statusNum) {
+        final List<SysDictData> statusTextList = DictUtils.getDictCache(status);
+        if (ObjectUtil.isNotEmpty(statusTextList) && ObjectUtil.isNotNull(statusNum)) {
+            Optional<SysDictData> optional = statusTextList.stream()
+                    .filter(dict -> ObjectUtil.equal(dict.getDictValue(), String.valueOf(statusNum)))
+                    .findFirst();
+            if (optional.isPresent()) {
+                return optional.get().getDictLabel();
+            }
+        }
+        return StringUtil.EMPTY_STRING;
+    }
 }

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

@@ -198,15 +198,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
 
         }
         //处理演练任务类型字典
-        final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
-        if (ObjectUtil.isNotEmpty(drillTypeDictList) && ObjectUtil.isNotEmpty(record.getType())) {
-            drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), record.getType().toString())).findFirst().ifPresent(dict -> record.setTypeText(dict.getDictLabel()));
-        }
+        record.setTypeText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_TYPE, record.getType()));
         //处理演练任务推荐状态字典
-        final List<SysDictData> drillTaskRecStatusList = DictUtils.getDictCache(DictConstants.DRILL_TASK_REC_STATUS);
-        if (ObjectUtil.isNotEmpty(drillTaskRecStatusList) && ObjectUtil.isNotEmpty(record.getRecStatus())) {
-            drillTaskRecStatusList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), record.getRecStatus().toString())).findFirst().ifPresent(dict -> record.setRecStatusText(dict.getDictLabel()));
-        }
+        record.setRecStatusText(DictUtils.getDictLabel(DictConstants.DRILL_TASK_REC_STATUS, record.getRecStatus()));
     }
 
     @Override
@@ -236,14 +230,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
            /* detailVo.setAbsenceList(collect.get(1));
             detailVo.setAbsentList(collect.get(2));*/
         }
-        final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
-        if (ObjectUtil.isNotEmpty(drillTypeDictList) && ObjectUtil.isNotEmpty(detailVo.getType())) {
-            drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), detailVo.getType().toString())).findFirst().ifPresent(dict -> detailVo.setTypeText(dict.getDictLabel()));
-        }
-        final List<SysDictData> recStatusDictList = DictUtils.getDictCache(DictConstants.DRILL_TASK_REC_STATUS);
-        if (ObjectUtil.isNotEmpty(recStatusDictList) && ObjectUtil.isNotEmpty(detailVo.getRecStatus())) {
-            recStatusDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), detailVo.getRecStatus().toString())).findFirst().ifPresent(dict -> detailVo.setRecStatusText(dict.getDictLabel()));
-        }
+        //处理演练任务类型字典
+        detailVo.setTypeText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_TYPE, detailVo.getType()));
+        detailVo.setRecStatusText(DictUtils.getDictLabel(DictConstants.DRILL_TASK_REC_STATUS, detailVo.getRecStatus()));
         return detailVo;
     }
 
@@ -745,18 +734,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         IPage<CoreDrillTaskRecPageVo> page;
 
         page = coreDrillTaskMapper.selectRecPage(request.getPageRequest(), request);
-
-        final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
-        final List<SysDictData> drillTaskRecStatusList = DictUtils.getDictCache(DictConstants.DRILL_TASK_REC_STATUS);
         for (CoreDrillTaskRecPageVo record : page.getRecords()) {
             //处理演练任务类型字典
-            if (ObjectUtil.isNotEmpty(drillTypeDictList) && ObjectUtil.isNotEmpty(record.getType())) {
-                drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), record.getType().toString())).findFirst().ifPresent(dict -> record.setTypeText(dict.getDictLabel()));
-            }
+            record.setTypeText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_TYPE, record.getType()));
             //处理演练任务推荐状态字典
-            if (ObjectUtil.isNotEmpty(drillTaskRecStatusList) && ObjectUtil.isNotEmpty(record.getRecStatus())) {
-                drillTaskRecStatusList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), record.getRecStatus().toString())).findFirst().ifPresent(dict -> record.setRecStatusText(dict.getDictLabel()));
-            }
+            record.setRecStatusText(DictUtils.getDictLabel(DictConstants.DRILL_TASK_REC_STATUS, record.getRecStatus()));
+
         }
         return TableDataInfo.build(page);
     }
@@ -770,16 +753,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         if (ObjectUtil.isEmpty(records)) {
             return TableDataInfo.build(page);
         }
-        //处理演练任务类型字典
-        final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
-        if (ObjectUtil.isEmpty(drillTypeDictList)) {
-            return TableDataInfo.build(page);
-        }
         for (CoreDrillTaskRecTaskPageVo record : records) {
-            if (record.getType() == null) {
-                continue;
-            }
-            drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), record.getType().toString())).findFirst().ifPresent(dict -> record.setTypeText(dict.getDictLabel()));
+            //处理演练任务类型字典
+            record.setTypeText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_TYPE, record.getType()));
         }
         return TableDataInfo.build(page);
     }

+ 5 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/ResumptionService.java

@@ -6,11 +6,13 @@ import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafetyIndexReCalculateDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
+import com.xunmei.common.core.domain.safetyindex.vo.SafeScoreResumptionDataVo;
 import com.xunmei.common.core.utils.ResumptionType;
 import com.xunmei.core.resumption.domain.AppPlan;
 import com.xunmei.core.resumption.domain.Resumption;
-import com.xunmei.core.resumption.dto.resumptionRegister.ResumptionTaskDataDto;
 import com.xunmei.core.resumption.dto.TaskDetailsDto;
+import com.xunmei.core.resumption.dto.resumptionRegister.ResumptionTaskDataDto;
 import com.xunmei.core.resumption.vo.AppRulePointTaskVo;
 import com.xunmei.core.resumption.vo.ResumptionAppVo;
 import com.xunmei.core.resumption.vo.ResumptionTaskNewDto;
@@ -51,4 +53,6 @@ public interface ResumptionService extends IService<Resumption> {
 
     List<CoreSafetyExceptionData> findResumptionList(DateTime time);
     List<CoreSafetyExceptionData> findResumptionListNew(List<Long> orgIds, Date startTime, Date endTime, CoreSafetyIndexReCalculateDto request);
+
+    List<SafeScoreResumptionDataVo>  findSource(SafeScoreSourceDto request);
 }

+ 53 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ResumptionServiceImpl.java

@@ -4,17 +4,23 @@ import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafetyIndexReCalculateDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
+import com.xunmei.common.core.domain.safetyindex.vo.SafeScoreResumptionDataVo;
 import com.xunmei.common.core.utils.DateHelper;
 import com.xunmei.common.core.utils.ResumptionType;
+import com.xunmei.common.core.utils.StreamHelper;
 import com.xunmei.common.core.utils.Ymd;
+import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.core.resumption.domain.AppPlan;
 import com.xunmei.core.resumption.domain.Resumption;
 import com.xunmei.core.resumption.dto.TaskDetailsDto;
@@ -27,6 +33,9 @@ import com.xunmei.core.resumption.vo.AppRulePointTaskVo;
 import com.xunmei.core.resumption.vo.ResumptionAppVo;
 import com.xunmei.core.resumption.vo.ResumptionTaskNewDto;
 import com.xunmei.core.resumption.vo.WorkChangeResumptionVo;
+import com.xunmei.core.safetyindex.mapper.CoreSafeMonthScoreMapper;
+import com.xunmei.core.safetyindex.mapper.CoreSafetyExceptionDataMapper;
+import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.domain.SysRole;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,7 +59,12 @@ public class ResumptionServiceImpl extends ServiceImpl<ResumptionMapper, Resumpt
 
     @Autowired
     private RemoteRoleService roleService;
-
+    @Autowired
+    private RemoteOrgService orgService;
+    @Autowired
+    private CoreSafetyExceptionDataMapper exceptionDataMapper;
+    @Autowired
+    private CoreSafeMonthScoreMapper safeMonthScoreMapper;
     @Override
     public List<Map<String, Object>> findDayTaskList(int year, int quarter, String dateTime, Long roleId, Long orgid) {
         return resumptionMapper.findDayTaskList(year, quarter, dateTime, roleId, orgid);
@@ -322,4 +336,42 @@ public class ResumptionServiceImpl extends ServiceImpl<ResumptionMapper, Resumpt
         SysRole role = roleService.getRoleByName("网点安全员", SecurityConstants.INNER);
         return baseMapper.findResumptionListNew(orgIds,startTime ,endTime,role.getId(),request);
     }
+
+    @Override
+    public List<SafeScoreResumptionDataVo>  findSource(SafeScoreSourceDto request) {
+
+
+        List<CoreSafetyExceptionData> excetionDataList = exceptionDataMapper.selectList(new LambdaQueryWrapper<CoreSafetyExceptionData>()
+                .eq(CoreSafetyExceptionData::getOrgId, request.getOrgId())
+                .eq(CoreSafetyExceptionData::getDataSource, "core_resumption")
+                .between(CoreSafetyExceptionData::getDataTime, DateUtil.beginOfMonth(request.getDate()), DateUtil.endOfMonth(request.getDate())));
+        List<SafeScoreResumptionDataVo> voList = StreamHelper.to(excetionDataList, safetyExcetionData -> {
+            SafeScoreResumptionDataVo resumptionDataVo = new SafeScoreResumptionDataVo();
+            int year = DateUtil.year(request.getDate());
+            int quarter = DateUtil.quarter(request.getDate());
+            Resumption resumption = baseMapper.selectOne(new LambdaQueryWrapper<Resumption>()
+                    .eq(Resumption::getId, safetyExcetionData.getDataId())
+                    .eq(Resumption::getYmdYear, year)
+                    .eq(Resumption::getYmdQuarter, quarter));
+            resumptionDataVo.setResumptionId(resumption.getId().toString());
+            resumptionDataVo.setExecManName(resumption.getUpdateBy());
+            String roleName = this.roleService.getRoleById(resumption.getRoleId(),SecurityConstants.INNER).getRoleName();
+            resumptionDataVo.setExecPostName(roleName);
+            resumptionDataVo.setExecStatus(resumption.getStatus());
+            String dictLabel = DictUtils.getDictLabel(DictConstants.RESUMPTION_STATUS, resumption.getStatus());
+            resumptionDataVo.setExecStatusText(dictLabel);
+            resumptionDataVo.setExecTimeStart(resumption.getStartTime());
+            resumptionDataVo.setExecTimeEnd(resumption.getEndTime());
+            resumptionDataVo.setPlanTimeStart(resumption.getPlanStartTime());
+            resumptionDataVo.setPlanTimeEnd(resumption.getPlanEndTime());
+//            Org org = resumption.getOrg();
+//            System.out.println(org);
+            String orgName = this.orgService.selectOrgById(resumption.getOrgId(),SecurityConstants.INNER).getName();
+            resumptionDataVo.setOrgName(orgName);
+            String planName = this.appPlanMapper.selectPlanNameById(resumption.getPlanId());
+            resumptionDataVo.setResumptionTaskName(planName);
+            return resumptionDataVo;
+        });
+        return voList;
+    }
 }

+ 9 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/controller/CoreSafeMonthScoreController.java

@@ -3,8 +3,8 @@ package com.xunmei.core.safetyindex.controller;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailPageVo;
-import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailVo;
 import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
 import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
@@ -50,8 +50,14 @@ public class CoreSafeMonthScoreController extends BaseController {
     @ApiOperation(value = "获取某机构指数分布详情")
     //@RequiresPermissions("core:safeMonthScore:query")
     @PostMapping("/find/singleOrg")
-    public CoreSafeMonthScoreDetailVo singleOrg(@RequestBody CoreSafeMonthScorePageDto request) {
-        return coreSafeMonthScoreService.singleOrg(request);
+    public AjaxResult singleOrg(@RequestBody CoreSafeMonthScorePageDto request) {
+        return success(coreSafeMonthScoreService.singleOrg(request));
+    }
+
+    @PostMapping("/singleData/detail")
+    public AjaxResult findSource(@RequestBody SafeScoreSourceDto request){
+        Object source = this.coreSafeMonthScoreService.findSource(request);
+        return success(source);
     }
 
 

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafeMonthScoreService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailPageVo;
 import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailVo;
 import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
@@ -81,4 +82,6 @@ public interface ICoreSafeMonthScoreService extends IService<CoreSafeMonthScore>
 
     CoreSafeMonthScoreDetailVo singleOrg(CoreSafeMonthScorePageDto request);
 
+    Object findSource(SafeScoreSourceDto request);
+
 }

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafetyExceptionDataService.java

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafetyIndexReCalculateDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 
 import java.util.Date;
 import java.util.List;
@@ -33,4 +34,6 @@ public interface ICoreSafetyExceptionDataService extends IService<CoreSafetyExce
     void reCalculate(CoreSafetyIndexReCalculateDto request);
 
     void deleteAndUpdateByOrgIdAndDataTime(List<Long> orgIds, DateTime startTime, DateTime endTime, CoreSafetyIndexReCalculateDto request);
+
+    Object findSource(SafeScoreSourceDto request);
 }

+ 13 - 4
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafeMonthScoreServiceImpl.java

@@ -12,6 +12,7 @@ import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 import com.xunmei.common.core.domain.safetyindex.vo.*;
 import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.util.BeanHelper;
@@ -19,6 +20,7 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.safetyindex.mapper.CoreSafeLevelMapper;
 import com.xunmei.core.safetyindex.mapper.CoreSafeMonthScoreMapper;
 import com.xunmei.core.safetyindex.service.ICoreSafeMonthScoreService;
+import com.xunmei.core.safetyindex.service.ICoreSafetyExceptionDataService;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
@@ -42,6 +44,8 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
     @Autowired
     private CoreSafeMonthScoreMapper coreSafeMonthScoreMapper;
     @Autowired
+    private ICoreSafetyExceptionDataService exceptionDataService;
+    @Autowired
     private RemoteOrgService orgService;
     @Autowired
     private CoreSafeLevelMapper safeLevelMapper;
@@ -104,7 +108,7 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
 
     @Override
     public CoreSafeMonthScoreDetailVo singleOrg(CoreSafeMonthScorePageDto request) {
-        CoreSafeMonthScoreDetailVo detailVo=new CoreSafeMonthScoreDetailVo();
+        CoreSafeMonthScoreDetailVo detailVo = new CoreSafeMonthScoreDetailVo();
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
                 orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         List<Long> collect = Arrays.stream(sysOrg.getPath().split("-")).map(Long::valueOf).collect(Collectors.toList());
@@ -115,7 +119,7 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
         detailVo.setSecondOrgName(sysOrgList.get(1).getName());
         detailVo.setOrgTypeText(OrgTypeEnum.getName(sysOrg.getType()));
 
-       List<MonthScoreDetailDictDetailTempVo> tempVoList= baseMapper.selectDetailVoData(request);
+        List<MonthScoreDetailDictDetailTempVo> tempVoList = baseMapper.selectDetailVoData(request);
         Map<String, List<MonthScoreDetailDictDetailTempVo>> listMap = tempVoList.stream().collect(Collectors.groupingBy(MonthScoreDetailDictDetailTempVo::getTypeCode));
         List<MonthScoreDetailDictVo> dataList = new ArrayList<MonthScoreDetailDictVo>();
         detailVo.setDataList(dataList);
@@ -128,12 +132,17 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
 
             List<MonthScoreDetailDictDetailVo> detailVoList = BeanHelper.copyProperties(voList, MonthScoreDetailDictDetailVo.class);
             dictVo.setDetailList(detailVoList);
-
+            dictVo.setScore(voList.stream().mapToDouble(MonthScoreDetailDictDetailTempVo::getScore).sum());
+            dictVo.setTimes(voList.stream().mapToInt(MonthScoreDetailDictDetailTempVo::getTimes).sum());
             dataList.add(dictVo);
         }
+        return detailVo;
+    }
 
+    @Override
+    public Object findSource(SafeScoreSourceDto request) {
 
-        return detailVo;
+        return exceptionDataService.findSource(request);
     }
 
     /**

+ 17 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafetyExceptionDataServiceImpl.java

@@ -13,7 +13,9 @@ import com.xunmei.common.core.constant.Constants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.safetyindex.domain.*;
 import com.xunmei.common.core.domain.safetyindex.dto.CoreSafetyIndexReCalculateDto;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 import com.xunmei.common.core.domain.safetyindex.vo.SafeIndexRuleCountVo;
+import com.xunmei.common.core.domain.safetyindex.vo.SafeScoreResumptionDataVo;
 import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.redis.utils.RedisUtils;
 import com.xunmei.core.question.service.IQuestionService;
@@ -106,7 +108,7 @@ public class CoreSafetyExceptionDataServiceImpl extends ServiceImpl<CoreSafetyEx
 
         DateTime time = dealTimeParam(date);
         int year = time.year();
-        int month = time.month()+1;
+        int month = time.month() + 1;
         //获取指标配置
         List<SafeIndexRuleCountVo> safeIndexConfigVoList = ruleService.findSafeIndexRuleVoList();
         //履职的指标配置
@@ -736,7 +738,7 @@ public class CoreSafetyExceptionDataServiceImpl extends ServiceImpl<CoreSafetyEx
 
     private DateTime dealTimeParam(String date) {
         DateTime parse = DateUtil.beginOfMonth(DateUtil.parse(date));
-        parse.setField(DateField.MONTH, DateUtil.offsetMonth(parse,-1).month());
+        parse.setField(DateField.MONTH, DateUtil.offsetMonth(parse, -1).month());
 
         return parse;
     }
@@ -788,9 +790,7 @@ public class CoreSafetyExceptionDataServiceImpl extends ServiceImpl<CoreSafetyEx
         //监控巡检
         doMonitorExceptionData(orgIds, startTime);
 
-
         reCalculateSafetyIndex(orgIds, DateUtil.format(startTime, "yyyy-MM-dd"));
-
     }
 
 
@@ -807,7 +807,19 @@ public class CoreSafetyExceptionDataServiceImpl extends ServiceImpl<CoreSafetyEx
         //删除现有的异常数据,并重新拉取数据计算
         List<Long> idList = sysOrgList.stream().map(SysOrg::getId).collect(Collectors.toList());
         this.deleteAndUpdateByOrgIdAndDataTime(idList, startTime, endTime, request);
+    }
 
-
+    @Override
+    public Object findSource(SafeScoreSourceDto request) {
+        switch (request.getTypeCode()) {
+            case RESUMPTION_DICT_CODE:
+                List<SafeScoreResumptionDataVo> source = resumptionService.findSource(request);
+                return source;
+           /* case MONITORING_DICT_CODE:
+                return monitoringRetrievalTaskService.findSource(request);
+            case QUESTION_DICT_CODE:
+                return questionService.findSource(request);*/
+        }
+        return null;
     }
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/safetyindex/CoreSafeMonthScoreMapper.xml

@@ -214,7 +214,7 @@
 
     <select id="selectDetailVoData"
             resultType="com.xunmei.common.core.domain.safetyindex.vo.MonthScoreDetailDictDetailTempVo">
-        select q.typeCode,q.typeName, d.code as projectCode, d.name projectName,d2.code as pointName,d2.name pointName, q.indicator_note itemName, q.score score, q.times times,q.score_real realScore,q.rule_id indexId
+        select q.typeCode,q.typeName, d.code as projectCode, d.name projectName,d2.code as pointCode,d2.name pointName, q.indicator_note itemName, q.score as score, q.times as times,q.score_real realScore,q.rule_id
         from core_safety_dict d,
              (
                  select q.*, c.project_code,c.point_code