liusheng
2025-03-06 d9a919279d92fdbb25591b56ad0f746c5609e5a7
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -516,6 +516,7 @@
                serviceTaskdept.setTaskId(serviceTask.getTaskid());
                serviceTaskdept.setTaskName(serviceTask.getTaskName());
                serviceTaskdept.setLongtask(0L);
                serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
                if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
                if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
                    String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
@@ -1608,7 +1609,7 @@
            }
        }
        if (existList.size() != 0) redisCache.setCacheListRight("cache-exist", existList);
        log.error("-----------实际拉取的电话数据量:{}", pullTaskVOList.size());
        log.error("-----------实际拉取的电话数据量:{}", CollectionUtils.isNotEmpty(pullTaskVOList) ? pullTaskVOList.size() : null);
        return pullTaskVOList;
    }
@@ -1647,7 +1648,10 @@
                    }
                }
                //如果ivrTaskTemplateScript为空,也就没有往下执行的必要了
                if (ObjectUtils.isEmpty(ivrTaskTemplateScript)) return null;
                if (ObjectUtils.isEmpty(ivrTaskTemplateScript)) {
                    log.error("---------这个ivrTaskTemplate.getId()的问题为空:{}", ivrTaskTemplate.getId());
                    continue;
                }
                //获取通配符匹配过后的问题
                String scrContent = getObject(serviceSubtask, ivrTaskTemplateScript.getIvrtext());
                String kcb = serviceTask.getKcb() + "," + scrContent;
@@ -1988,7 +1992,7 @@
            serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid()));
            serviceSubtask.setFinishtime(new Date());
            serviceSubtask.setUpdateTime(new Date());
            log.error("电话拨打已完成serviceSubtask的值为:{}",serviceSubtask);
            log.error("电话拨打已完成serviceSubtask的值为:{}", serviceSubtask);
            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
            //下载文件
            ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
@@ -2107,12 +2111,12 @@
                serviceSubtaskStatistic.setYczs(serviceSubtaskStatistic.getYczs() + 1L);
            }
        }
        //随访完成率=已发送/随访数
        if (serviceSubtaskStatistic.getYfsCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) {
        //随访完成率=已完成/应随访量
        if (serviceSubtaskStatistic.getYwcCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) {
            serviceSubtaskStatistic.setSfwcl("0");
        } else {
//            BigDecimal multiply = BigDecimal.valueOf(serviceSubtaskStatistic.getYfsCount()).divide(BigDecimal.valueOf(serviceSubtaskList.size()), 2, BigDecimal.ROUND_HALF_UP);
            BigDecimal multiply = new BigDecimal(serviceSubtaskStatistic.getYfsCount().toString()).divide(new BigDecimal(serviceSubtaskList.size() + ""), 2, BigDecimal.ROUND_HALF_UP);
            BigDecimal multiply = new BigDecimal(serviceSubtaskStatistic.getYwcCount().toString()).divide(new BigDecimal(serviceSubtaskStatistic.getYsfCount().toString()), 2, BigDecimal.ROUND_HALF_UP);
            serviceSubtaskStatistic.setSfwcl(multiply.toString());
        }
@@ -2180,10 +2184,12 @@
        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
        String taskId = rsaPublicKeyExample.encryptedData(serviceSubtask.getTaskid().toString(), pub_key);
        String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
        String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
        ServiceOutPath serviceOutPath = new ServiceOutPath();
        serviceOutPath.setParam1(taskId);
        serviceOutPath.setParam2(patid);
        serviceOutPath.setCreateTime(new Date());
        serviceOutPath.setParam6(subId);
        iServiceOutPathService.insertServiceOutPath(serviceOutPath);
        //转成16进制
        String format = String.format("%03X", serviceOutPath.getId());