陈昶聿
3 小时以前 8895f10b758cdeb5d97736b2954385a15472dd4a
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -866,7 +866,7 @@
            log.info("该手术对应手术等级的长期任务不存在,任务ID为:{}", taskid);
            patMedOperationItem.setOpercheckFlag("2");
            patMedOperationItem.setLongTaskReason(longTaskReason + " & 该手术对应手术等级的长期任务不存在,任务ID为:" + taskid);
            patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
            patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem);
            return;
        } else {
            serviceTask = serviceTasks.get(0);
@@ -1292,19 +1292,31 @@
                    continue;
                }
                // 根据患者的疾病,获取该疾病的长期任务
                ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                serviceTaskoper.setLongtask(1L);
                serviceTaskoper.setOrgid(opItem.getOrgid());
                serviceTaskoper.setOplevelcode(opItem.getOplevelcode());
                //根据科室、病区过滤
                List<ServiceTaskoper> serviceTaskopersDept = new ArrayList<>();
                if(StringUtils.isNotEmpty(opItem.getLeaveldeptcode())){
                    serviceTaskoper.setDeptCode(opItem.getLeaveldeptcode());
                }else {
                    serviceTaskoper.setWardCode(opItem.getLeavehospitaldistrictcode());
                    ServiceTaskoper serviceTaskoper1 = new ServiceTaskoper();
                    serviceTaskoper1.setLongtask(1L);
                    serviceTaskoper1.setOrgid(opItem.getOrgid());
                    serviceTaskoper1.setOplevelcode(opItem.getOplevelcode());
                    serviceTaskoper1.setDeptCode(opItem.getLeaveldeptcode());
                    serviceTaskopersDept = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper1);
                }
                List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
                List<ServiceTaskoper> serviceTaskopersWard = new ArrayList<>();
                if(StringUtils.isNotEmpty(opItem.getLeavehospitaldistrictcode())){
                    ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                    serviceTaskoper2.setLongtask(1L);
                    serviceTaskoper2.setOrgid(opItem.getOrgid());
                    serviceTaskoper2.setOplevelcode(opItem.getOplevelcode());
                    serviceTaskoper2.setWardCode(opItem.getLeavehospitaldistrictcode());
                    serviceTaskopersWard = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper2);
                }
                List<ServiceTaskoper> serviceTaskopers = new ArrayList<>();
                serviceTaskopers.addAll(serviceTaskopersDept);
                serviceTaskopers.addAll(serviceTaskopersWard);
                //如果部门模板为空(将deptIsNull设置为true)
                if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) {
                    PatMedOperationItem patMedOperationItem = patMedOperationItemMapper.selectPatMedOperationItemById(opItem.getId());
@@ -1312,8 +1324,8 @@
                    patMedOperationItem.setLongTaskReason(patMedOperationItem.getLongTaskReason() + "所患的手术未配置长期任务;");
                    patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem);
                } else {
                    for (ServiceTaskoper serviceTaskoper1 : serviceTaskopers) {
                        writeInSubTaskForOp(serviceTaskoper1.getTaskId(), true, opItem, config);
                    for (ServiceTaskoper serviceTaskoper : serviceTaskopers) {
                        writeInSubTaskForOp(serviceTaskoper.getTaskId(), true, opItem, config);
                    }
                }