已修改5个文件
108 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-hzszlyy.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -545,7 +545,7 @@
                RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
                String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
                String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
                String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
                try {
                    SendMagParam sendMagParam = new SendMagParam();
                    sendMagParam.setType("5");
@@ -556,6 +556,7 @@
                        ServiceOutPath serviceOutPath = new ServiceOutPath();
                        serviceOutPath.setParam1(taskId);
                        serviceOutPath.setParam2(patid);
                        serviceOutPath.setParam6(subId);
                        serviceOutPath.setCreateTime(new Date());
                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
                        iServiceOutPathService.insertServiceOutPath(serviceOutPath);
@@ -570,6 +571,7 @@
                        serviceOutPath.setParam1(taskId);
                        serviceOutPath.setParam2(patid);
                        serviceOutPath.setParam3(ivrTask1.getTaskName());
                        serviceOutPath.setParam6(subId);
                        serviceOutPath.setCreateTime(new Date());
                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
                        iServiceOutPathService.insertServiceOutPath(serviceOutPath);
@@ -587,6 +589,7 @@
                        serviceOutPath.setParam1(taskId);
                        serviceOutPath.setParam2(patid);
                        serviceOutPath.setParam3(ivrTask1.getTaskName());
                        serviceOutPath.setParam6(subId);
                        serviceOutPath.setCreateTime(new Date());
                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
                        iServiceOutPathService.insertServiceOutPath(serviceOutPath);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -71,38 +71,38 @@
//        List<ServiceTask> list = serviceTaskService.selectServiceTaskList(serviceTask);
        List<ServiceTask> list = serviceTaskService.selectServiceTaskAndtaskDeptList(serviceTask);
        List<ServiceTaskVO> serviceTaskVOS = DtoConversionUtils.sourceToTarget(list, ServiceTaskVO.class);
//
//        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
//
//        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
//        serviceSubtaskEntity.setTaskIds(taskIds);
//        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
//        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
//        // 批量查询所有子任务
//        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
//                .selectServiceSubtaskList(serviceSubtaskEntity)
//                .stream()
//                .filter(subtask -> subtask.getTaskid() != null)  // 添加过滤
//                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
        serviceSubtaskEntity.setTaskIds(taskIds);
        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
        // 批量查询所有子任务
        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
                .selectServiceSubtaskList(serviceSubtaskEntity)
                .stream()
                .filter(subtask -> subtask.getTaskid() != null)  // 添加过滤
                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
        if (CollectionUtils.isNotEmpty(serviceTaskVOS)) {
//            for (ServiceTaskVO taskVO : serviceTaskVOS) {
//                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
//
//                if (CollectionUtils.isNotEmpty(subtasks)) {
//                    //已发送(子任务中的 sendstate=1为被领取)
//                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
//                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
//                    //未发送
//                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
//                            s.getSendstate() == 2L).count();
//                    taskVO.setYfs(yfs);
//                    taskVO.setWfs(wfs);
//
//                }
//
//            }
            for (ServiceTaskVO taskVO : serviceTaskVOS) {
                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
                if (CollectionUtils.isNotEmpty(subtasks)) {
                    //已发送(子任务中的 sendstate=1为被领取)
                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
                    //未发送
                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            s.getSendstate() == 2L).count();
                    taskVO.setYfs(yfs);
                    taskVO.setWfs(wfs);
                }
            }
            //获取total
            long total = PageUtils.count(new ISelect() {
                @Override
ruoyi-admin/src/main/resources/application-hzszlyy.yml
@@ -6,14 +6,14 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://192.169.129.197:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:mysql://192.169.129.197:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&connectTimeout=600000&socketTimeout=1200000
        username: smartor
        password: smartor
        driverClassName: com.mysql.cj.jdbc.Driver
      # 从库数据源
      slave:
        enabled: true
        url: jdbc:oracle:thin:@//192.200.85.40:1521/hzsyhis?useUnicode=true&characterEncoding=GBK
        url: jdbc:oracle:thin:@//192.200.85.40:1521/hzsyhis?useUnicode=true&characterEncoding=GBK&connectTimeout=600000&socketTimeout=1200000
        username: wssf
        password: Hzsywssf
        driver-class-name: oracle.jdbc.OracleDriver
smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
@@ -102,6 +102,9 @@
    @Excel(name = " 应随访人次 ")
    private Long followUpNeeded = 0L;
    @ApiModelProperty(value = "首次无需随访")
    private Long nonFollowUpFirst = 0L;
    @ApiModelProperty(value = "首次应随访")
    @Excel(name = " 首次应随访 ")
    private Long needFollowUp = 0L;
@@ -228,6 +231,10 @@
    @Excel(name = " 二次应随访 ")
    private Long needFollowUpAgain = 0L;
    @ApiModelProperty(value = "二次无需随访")
    @Excel(name = " 二次无需随访 ")
    private Long nonFollowUpAgain = 0L;
    @ApiModelProperty(value = "二次待随访")
    @Excel(name = " 二次待随访 ")
    private Long pendingFollowUpAgain = 0L;
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2866,9 +2866,9 @@
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                        serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
                    }
                    //首次待随访
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
                        serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
                    //首次无需随访
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                        serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                    }
                    //首次随访失败(包括随访失败+人工超时)
                    if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
@@ -2880,6 +2880,10 @@
                    if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("1")) {
                        //首次随访成功
                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                            serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                        }
                        //首次无需随访
                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
                            serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                        }
                        //首次随访人工 (不统计不执行)
@@ -2956,6 +2960,10 @@
                    //再次应随访
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                        serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
                    }
                    //再次无需随访
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                        serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
                    }
                    //再次待随访
                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3101,23 +3109,15 @@
                serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
            }
            //首次出院随访-统计再次推送数量
            if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
                //再次应随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                    serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
                }
                //再次随访完成
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) {
                    serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
                }
            }
            //首次出院随访
            if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
                //首次应随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                    serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
                }
                //首次无需随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                    serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                }
                //首次待随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3266,6 +3266,10 @@
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                    serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
                }
                //再次无需随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                    serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
                }
                //再次待随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
                    serviceSubtaskStatistic.setPendingFollowUpAgain(serviceSubtaskStatistic.getPendingFollowUpAgain() + 1L);