|  | @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateTime;
 | 
	
		
			
				|  |  |  import cn.hutool.core.date.DateUtil;
 | 
	
		
			
				|  |  |  import cn.hutool.core.util.ObjectUtil;
 | 
	
		
			
				|  |  |  import com.alibaba.excel.EasyExcel;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
	
		
			
				|  | @@ -20,6 +21,9 @@ import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.retrieval.vo.*;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.domain.safetyindex.vo.SafeScoreResumptionDataVo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.enums.CycleCommonEnum;
 | 
	
	
		
			
				|  | @@ -29,6 +33,7 @@ import com.xunmei.common.core.event.WorkTimeChangeEvent;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.DateHelper;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.DateUtils;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.Ymd;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.vo.IdNameVo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.web.page.TableDataInfo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
 | 
	
	
		
			
				|  | @@ -37,6 +42,8 @@ import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
 | 
	
		
			
				|  |  |  import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
 | 
	
		
			
				|  |  |  import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 | 
	
		
			
				|  |  |  import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 | 
	
		
			
				|  |  | +import com.xunmei.core.safetyindex.mapper.CoreSafetyExceptionDataMapper;
 | 
	
		
			
				|  |  | +import com.xunmei.system.api.Eto.RoleConditionEto;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteDictDataService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteRoleService;
 | 
	
	
		
			
				|  | @@ -87,6 +94,9 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      RemoteWorkTimeService workTimeService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    CoreSafetyExceptionDataMapper exceptionDataMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public TableDataInfo selectPage(RetrievalTaskPageDto request) {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -256,16 +266,16 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
	
		
			
				|  |  |              //对list进行重新编号和保存
 | 
	
		
			
				|  |  |              //对lista 按机构进行分组
 | 
	
		
			
				|  |  |              Map<Long, List<CoreMonitoringRetrievalTask>> map = lista.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getOrgId));
 | 
	
		
			
				|  |  | -            for(Long  orgId:map.keySet()){
 | 
	
		
			
				|  |  | +            for (Long orgId : map.keySet()) {
 | 
	
		
			
				|  |  |                  List<CoreMonitoringRetrievalTask> listb = map.get(orgId);
 | 
	
		
			
				|  |  | -                for(int i=0;i<listb.size();i++){
 | 
	
		
			
				|  |  | -                    listb.get(i).setOrderNum(i+1);
 | 
	
		
			
				|  |  | +                for (int i = 0; i < listb.size(); i++) {
 | 
	
		
			
				|  |  | +                    listb.get(i).setOrderNum(i + 1);
 | 
	
		
			
				|  |  |                      // 第" + frequency + "次调阅
 | 
	
		
			
				|  |  | -                    String oldName =  listb.get(i).getTaskName();
 | 
	
		
			
				|  |  | -                    String str  =  "第"+(i+1)+"次调阅";
 | 
	
		
			
				|  |  | +                    String oldName = listb.get(i).getTaskName();
 | 
	
		
			
				|  |  | +                    String str = "第" + (i + 1) + "次调阅";
 | 
	
		
			
				|  |  |                      int index = oldName.lastIndexOf("第");
 | 
	
		
			
				|  |  | -                    if(index>0){
 | 
	
		
			
				|  |  | -                        listb.get(i).setTaskName(oldName.substring(0,index)+str);
 | 
	
		
			
				|  |  | +                    if (index > 0) {
 | 
	
		
			
				|  |  | +                        listb.get(i).setTaskName(oldName.substring(0, index) + str);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  listAll.addAll(listb);
 | 
	
	
		
			
				|  | @@ -640,7 +650,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
 | 
	
		
			
				|  |  |      public void selectMonitorExceptionData(DateTime time) {
 | 
	
		
			
				|  |  |          SysRole role = roleService.getRoleByName("网点负责人", SecurityConstants.INNER);
 | 
	
		
			
				|  |  |          //扩展字段1:任务状态 扩展字段2 计划id
 | 
	
	
		
			
				|  | @@ -648,7 +658,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
 | 
	
		
			
				|  |  |      public void selectMonitorExceptionData(List<Long> orgIds, DateTime time) {
 | 
	
		
			
				|  |  |          SysRole role = roleService.getRoleByName("网点安全员", SecurityConstants.INNER);
 | 
	
		
			
				|  |  |          //扩展字段1:任务状态 扩展字段2 计划id
 | 
	
	
		
			
				|  | @@ -657,6 +667,42 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    public Object findSource(SafeScoreSourceDto request) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<CoreSafetyExceptionData> exceptionDataList = exceptionDataMapper.selectList(new LambdaQueryWrapper<CoreSafetyExceptionData>()
 | 
	
		
			
				|  |  | +                .eq(CoreSafetyExceptionData::getOrgId, request.getOrgId())
 | 
	
		
			
				|  |  | +                .eq(CoreSafetyExceptionData::getDataSource, "core_monitoring_retrieval_task")
 | 
	
		
			
				|  |  | +                .between(CoreSafetyExceptionData::getDataTime, DateUtil.beginOfMonth(request.getDate()), DateUtil.endOfMonth(request.getDate())));
 | 
	
		
			
				|  |  | +        if (CollectionUtil.isEmpty(exceptionDataList)) {
 | 
	
		
			
				|  |  | +            return null;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<String> dataIdList = exceptionDataList.stream().map(CoreSafetyExceptionData::getDataId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<CoreMonitoringRetrievalTask> taskList = baseMapper.selectTaskByIdList(dataIdList);
 | 
	
		
			
				|  |  | +        List<Long> roleIdList = taskList.stream().map(CoreMonitoringRetrievalTask::getRoleId).distinct().collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<SafeScoreResumptionDataVo> list = new ArrayList<>();
 | 
	
		
			
				|  |  | +        Map<Long, String> map = getRoleNames(roleIdList);
 | 
	
		
			
				|  |  | +        for (CoreMonitoringRetrievalTask task : taskList) {
 | 
	
		
			
				|  |  | +            SafeScoreResumptionDataVo safeScoreResumptionDataVo = new SafeScoreResumptionDataVo();
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setId(task.getId().toString());
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setTaskName(task.getTaskName());
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setOrgName(task.getOrgName());
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setExecPostName(map.get(task.getRoleId()));
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setPlanTimeStart(task.getPlanEndTime());
 | 
	
		
			
				|  |  | +            safeScoreResumptionDataVo.setPlanTimeEnd(task.getPlanEndTime());
 | 
	
		
			
				|  |  | +            list.add(safeScoreResumptionDataVo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return list;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private Map<Long, String> getRoleNames(List<Long> roleIdList) {
 | 
	
		
			
				|  |  | +        RoleConditionEto conditionEto = new RoleConditionEto();
 | 
	
		
			
				|  |  | +        conditionEto.setIds(roleIdList);
 | 
	
		
			
				|  |  | +        List<IdNameVo> names = roleService.getNames(conditionEto);
 | 
	
		
			
				|  |  | +        return names.stream().collect(Collectors.toMap(IdNameVo::getId, IdNameVo::getName));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
 | 
	
		
			
				|  |  |          //修改的作息的日期
 |