liusheng
3 天以前 e6456d2196b3e57bd06be0fbc74dd3e0fc28fdeb
smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -38,7 +38,7 @@
    private ServiceSubtaskMapper serviceSubtaskMapper;
    @Autowired
    private IvrTaskTemplateMapper ivrTaskTemplateMapper;
    private ServiceTaskdeptMapper serviceTaskdeptMapper;
    @Autowired
    private PatArchiveImportMapper patArchiveImportMapper;
@@ -155,16 +155,67 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean deleteServiceTaskByTaskid(Long taskid) {
        ServiceSubtask ServiceTaskcall = new ServiceSubtask();
        ServiceTaskcall.setTaskid(taskid);
        ServiceTaskcall.setDelFlag("1");
        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(ServiceTaskcall);
        ServiceSubtask serviceSubtask = new ServiceSubtask();
        serviceSubtask.setTaskid(taskid);
        //查询子任务
        ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
        for (ServiceSubtask ss : serviceSubtaskList) {
            log.error("sfSend需要移除的subId为:{}", ss.getId().toString());
            redisCache.removeElementFromList("cache-exist", ss.getId().toString());
            redisCache.removeElementFromList("cache-0", ss.getId().toString());
            redisCache.removeElementFromList("cache-1", ss.getId().toString());
            redisCache.removeElementFromList("cache-2", ss.getId().toString());
            redisCache.removeElementFromList("cache-3", ss.getId().toString());
            redisCache.removeElementFromList("cache-4", ss.getId().toString());
        }
        serviceSubtask.setDelFlag("1");
        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
        //关联表删除
        ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
        serviceTaskdept.setTaskId(taskid);
        int i = serviceTaskdeptMapper.deleteServiceTaskdeptByTaskId(serviceTaskdept);
        Boolean isSuccess = false;
        if (!aBoolean) {
        if (!aBoolean || i <= 0) {
            new BaseException("任务删除失败");
        }
        isSuccess = serviceTaskMapper.deleteServiceTaskByTaskid(taskid);
        return isSuccess;
    }
    /**
     * 获取随访及时率
     *
     * @param serviceSubtask
     * @return
     */
    public Map<String, Object> selectTimelyRate(ServiceSubtask serviceSubtask) {
        if (serviceSubtask.getEndtime() != null && new Date().before(serviceSubtask.getEndtime())) {
            serviceSubtask.setEndtime(new Date());
        }
        Double dob = serviceSubtaskMapper.selectTimelyRate(serviceSubtask);
        // 1. 查询全部数据(SQL不分页)
        List<ServiceSubtask> allList = serviceSubtaskMapper.selectTimelyRateDetail(serviceSubtask);
        // 2. Java代码分页
        int pageNum = serviceSubtask.getPn() != null ? serviceSubtask.getPn() : 1;
        int pageSize = serviceSubtask.getPs() != null ? serviceSubtask.getPs() : 10;
        int fromIndex = (pageNum - 1) * pageSize;
        int toIndex = Math.min(fromIndex + pageSize, allList.size());
        List<ServiceSubtask> pageList = new ArrayList<>();
        if (fromIndex < allList.size()) {
            pageList = allList.subList(fromIndex, toIndex);
        }
        log.info("代码分页参数: pageNum={}, pageSize={}, fromIndex={}, toIndex={}, total={}", pageNum, pageSize, fromIndex, toIndex, allList.size());
        Map<String, Object> map = new HashMap<>();
        map.put("rate", dob);
        map.put("detail", pageList);
        map.put("total", allList.size()); // 可选:返回总数
        return map;
    }
    @Override
@@ -204,8 +255,8 @@
                Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss);
                if (integer != null && integer != 6) {
                    ss.setSendstate(1L);
                    ss.setResult("success");
                    ss.setFinishtime(new Date());
//                    ss.setResult("success");
//                    ss.setFinishtime(new Date());
                    serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
                }
            }
@@ -218,7 +269,6 @@
        map.put("type", serviceTask.getType());
        map.put("taskName", serviceTask.getTaskName());
        map.put("submit", "0");
        return map;
    }
@@ -284,7 +334,7 @@
                ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
            }
        }
        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort));
        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort));
        return ivrLibaTemplateScriptVOS;
    }