liusheng
2 天以前 86b103f926cf92fff3d591c6ba07099ad8db3ad1
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -279,6 +279,7 @@
    @Override
    public Map<String, Object> patItemCount(ServiceSubtaskVO serviceSubtaskVO) {
        serviceSubtaskVO.setSendstate(null);
        serviceSubtaskVO.setPageSize(99999999);
        serviceSubtaskVO.setPageNum(1);
        List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO);
@@ -454,7 +455,7 @@
            serviceTask.setCreateTime(new Date());
            serviceTask.setUpdateTime(new Date());
            serviceTaskService.insertServiceTask(serviceTask);
            log.error("----serviceTaskVO.getAppltype()的值为:{}", serviceTaskVO.getAppltype());
            log.info("----serviceTaskVO.getAppltype()的值为:{}", serviceTaskVO.getAppltype());
            if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype())) {
                if (serviceTaskVO.getAppltype().equals("3")) {
                    ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
@@ -467,7 +468,7 @@
                    serviceTaskdiag.setGuid(serviceTask.getGuid());
                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
                    serviceTaskdiag.setCreateTime(new Date());
                    log.error("----serviceTaskdiag的值为:{}", serviceTaskdiag);
                    log.info("----serviceTaskdiag的值为:{}", serviceTaskdiag);
                    if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
                        String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
                        for (String icd10code : Icd10codes) {
@@ -490,7 +491,7 @@
                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
                        for (String opcode : opcodes) {
                            serviceTaskoper.setOpcode(opcode);
                            log.error("----serviceTaskoper的值为:{}", serviceTaskoper);
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                        }
                    }
@@ -595,7 +596,7 @@
            }
            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                    log.error("insertOrUpdateTask需要移除的subId为:{}", serviceSubtask.getId().toString());
                    log.info("insertOrUpdateTask需要移除的subId为:{}", serviceSubtask.getId().toString());
                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
@@ -685,7 +686,7 @@
                        serviceTaskdiag2.setIcd10code(icdcode);
                        List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag2);
                        serviceTaskdiag.setIcd10code(icdcode);
                        log.error("----serviceTaskdiag更新的值为:{}", serviceTaskdiag);
                        log.info("----serviceTaskdiag更新的值为:{}", serviceTaskdiag);
                        if (CollectionUtils.isNotEmpty(serviceTaskdiags)) {
                            serviceTaskdiag.setId(serviceTaskdiags.get(0).getId());
                            serviceTaskdiagService.updateServiceTaskdiag(serviceTaskdiag);
@@ -719,7 +720,7 @@
                        List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
                        serviceTaskoper.setOpcode(opcode);
                        log.error("----serviceTaskoper的值为:{}", serviceTaskoper);
                        log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                        if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                            serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                            serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
@@ -2183,10 +2184,10 @@
        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
        //Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
        Map<String, List<ServiceSubtask>> collect = new HashMap<>();
        if (serviceSubtaskCountReq.getStatisticaltype() != null && serviceSubtaskCountReq.getStatisticaltype() == 1) {
        if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) {
            collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
        }else if (serviceSubtaskCountReq.getStatisticaltype() != null && serviceSubtaskCountReq.getStatisticaltype() == 2){
        } else if (serviceSubtaskCountReq.getDeptcodes() != null && serviceSubtaskCountReq.getDeptcodes().size() > 0) {
            collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown")));
        }
        for (List<ServiceSubtask> serviceSubtaskList : collect.values()) {
@@ -2211,7 +2212,7 @@
        serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
        //出院人次
        serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
        for (ServiceSubtask serviceSubtask : serviceSubtaskList){
        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
            //无需随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
@@ -2221,67 +2222,67 @@
                serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
            }
            //首次出院随访
            if(serviceSubtask.getVisitCount() == 1){
            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() == 2) {
                    serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)){
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)) {
                    serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                    serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                }
                if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
                    double rate = (double)(serviceSubtaskStatistic.getFollowUpSuccess() + serviceSubtaskStatistic.getFollowUpFail()) / serviceSubtaskStatistic.getNeedFollowUp();
                    double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccess() + serviceSubtaskStatistic.getFollowUpFail()) / serviceSubtaskStatistic.getNeedFollowUp();
                    serviceSubtaskStatistic.setFollowUpRate(percentFormat.format(rate));
                } else {
                    serviceSubtaskStatistic.setFollowUpRate("0.00%");
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSms(serviceSubtaskStatistic.getSms() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                    serviceSubtaskStatistic.setAbnormal(serviceSubtaskStatistic.getAbnormal() + 1L);
                }
            }//二次出院随访
            else if (serviceSubtask.getVisitCount() > 1){
            else 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() == 2) {
                    serviceSubtaskStatistic.setPendingFollowUpAgain(serviceSubtaskStatistic.getPendingFollowUpAgain() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)){
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)) {
                    serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                    serviceSubtaskStatistic.setFollowUpFailAgain(serviceSubtaskStatistic.getFollowUpFailAgain() + 1L);
                }
                if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
                    double rate = (double)(serviceSubtaskStatistic.getFollowUpSuccessAgain() + serviceSubtaskStatistic.getFollowUpFailAgain()) / serviceSubtaskStatistic.getNeedFollowUpAgain();
                    double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccessAgain() + serviceSubtaskStatistic.getFollowUpFailAgain()) / serviceSubtaskStatistic.getNeedFollowUpAgain();
                    serviceSubtaskStatistic.setFollowUpRateAgain(percentFormat.format(rate));
                } else {
                    serviceSubtaskStatistic.setFollowUpRateAgain("0.00%");
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManualAgain(serviceSubtaskStatistic.getManualAgain() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSmsAgain(serviceSubtaskStatistic.getSmsAgain() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")){
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                    serviceSubtaskStatistic.setAbnormalAgain(serviceSubtaskStatistic.getAbnormalAgain() + 1L);
                }
            }