ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -196,6 +196,7 @@ * @return */ @ApiOperation("各科室服务人次") @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/getDeptRanking") public TableDataInfo getDeptRanking(@RequestBody PatMedReq patMedReq) { return getDataTable(patMedInhospService.getDeptRanking(patMedReq)); smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -296,6 +296,11 @@ */ @ApiModelProperty(value = "疾病长期任务,是否处理:0未处理 1处理成功 2处理失败 ") private String diagcheckFlag; /** * 手术长期任务,是否处理:0未处理 1处理 */ @ApiModelProperty(value = "手术长期任务,是否处理:0未处理 1处理成功 2处理失败 ") private String opercheckFlag; /** * 年龄 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -41,6 +41,8 @@ @Autowired private ServiceTaskdiagMapper serviceTaskdiagMapper; @Autowired private ServiceTaskoperMapper serviceTaskoperMapper; @Autowired private PatArchiveMapper patArchiveMapper; @Autowired private PatArchiveImportMapper patArchiveImportMapper; @@ -376,6 +378,60 @@ patMedInhospMapper.updatePatMedInhosp(pmiJB); } } PatMedInhosp pmss = new PatMedInhosp(); //获取需要出院疾病随访,未处理的数据 pmss.setOpercheckFlag("0"); pmss.setInhospstate("1"); pmss.setFuflag("1"); List<PatMedInhosp> patMedInhospSSs = patMedInhospMapper.selectPatMedInhospList(pmss); log.info("dealOutHospInfo需要处理的出院疾病患者信息:{}", CollectionUtils.isNotEmpty(patMedInhospSSs) ? patMedInhospSSs.size() : null); for (PatMedInhosp patMedInhosp1 : patMedInhospSSs) { String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); patMedInhosp1.setTagname(tagname); } for (PatMedInhosp pmiSS : patMedInhospSSs) { //获取患者信息 PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiSS.getPatid()); if (Objects.isNull(patArchive)) { pmiSS.setDiagcheckFlag("2"); pmiSS.setLongTaskReason("患者基本信息为空"); patMedInhospMapper.updatePatMedInhosp(pmiSS); continue; } try { // if (StringUtils.isEmpty(pmiSS.getLeaveicd10code())) { // continue; // } // 根据患者的疾病,获取该疾病的长期任务 ServiceTaskoper serviceTaskoper = new ServiceTaskoper(); serviceTaskoper.setLongtask(1L); serviceTaskoper.setOrgid(pmiSS.getOrgid()); //todo serviceTaskoper.setOplevelcode(""); List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper); //如果部门模板为空(将deptIsNull设置为true) if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) { PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiSS.getInhospid()); pmiSS.setOpercheckFlag("2"); pmiSS.setLongTaskReason(patMedInhosp.getLongTaskReason() + "所患的手术未配置长期任务;"); patMedInhospMapper.updatePatMedInhosp(pmiSS); } else { for (ServiceTaskoper serviceTaskoper1 : serviceTaskopers) { writeInSubTask(serviceTaskoper1.getTaskId(), true, pmiSS, patArchive, 3, config); } } } catch (Exception e) { e.printStackTrace(); log.error("人员手术处理出异常了:{}", e.getMessage()); pmiSS.setOpercheckFlag("2"); pmiSS.setLongTaskReason("人员手术处理异常:" + e.getMessage()); patMedInhospMapper.updatePatMedInhosp(pmiSS); } } } //获取未处理在院的数据(如果刚刚出院的患者数据的出院时间,在下面查询出的入院时间之前,那之前的出院患者的数据,也得停掉,因为又入院了) smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -205,6 +205,15 @@ try { List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class); serviceTaskVO.setPreachformList(mapList); if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){ ServiceTaskoper operVo = new ServiceTaskoper(); operVo.setTaskId(serviceTask.getTaskid()); operVo.setOrgid(serviceTask.getOrgid()); List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo); if(ObjectUtils.isNotEmpty(serviceTaskopers)){ serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode()); } } // // String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(",")); // serviceTaskVO.setPreachform(result); @@ -222,6 +231,15 @@ serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon()); serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight()); serviceTaskVO.setPreachform(serviceTask.getPreachform()); if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){ ServiceTaskoper operVo = new ServiceTaskoper(); operVo.setTaskId(serviceTask.getTaskid()); operVo.setOrgid(serviceTask.getOrgid()); List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo); if(ObjectUtils.isNotEmpty(serviceTaskopers)){ serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode()); } } String sendTimeSlot = serviceTask.getSendTimeSlot(); ObjectMapper objectMapper = new ObjectMapper(); try { @@ -309,7 +327,6 @@ // String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(",")); // serviceTaskVO.setPreachform(result); } serviceTaskVO.setPatTaskRelevances(patTaskRelevances); return serviceTaskVO; } @@ -606,13 +623,15 @@ serviceTaskoper.setGuid(serviceTask.getGuid()); serviceTaskoper.setOrgid(serviceTask.getOrgid()); serviceTaskoper.setCreateTime(new Date()); if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) { String[] opcodes = serviceTaskVO.getOpcode().split(","); for (String opcode : opcodes) { serviceTaskoper.setOpcode(opcode); if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) { // String[] opcodes = serviceTaskVO.getOpcode().split(","); // for (String opcode : opcodes) { // serviceTaskoper.setOpcode(opcode); // log.info("----serviceTaskoper的值为:{}", serviceTaskoper); // serviceTaskoperService.insertServiceTaskoper(serviceTaskoper); // } log.info("----serviceTaskoper的值为:{}", serviceTaskoper); serviceTaskoperService.insertServiceTaskoper(serviceTaskoper); } } } else { @@ -867,6 +886,18 @@ // } // } // } ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper(); serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid()); serviceTaskoper2.setOrgid(serviceTask.getOrgid()); // serviceTaskoper2.setOplevelcode(serviceTaskVO.getOplevelcode()); List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2); if (CollectionUtils.isNotEmpty(serviceTaskopers)) { serviceTaskoper.setId(serviceTaskopers.get(0).getId()); serviceTaskoperService.updateServiceTaskoper(serviceTaskoper); } else { serviceTaskoperService.insertServiceTaskoper(serviceTaskoper); } } } if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) { smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -1894,6 +1894,9 @@ FROM service_subtask WHERE DATE_FORMAT(finishtime, '%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(finishtime, '%Y-%m-%d') <= #{endDate} <if test="orgid != null"> AND orgid = #{orgid} </if> GROUP BY deptname </select> @@ -2236,6 +2239,9 @@ <if test="excep != null "> AND excep = #{excep} </if> <if test="taskName != null and taskName != ''"> AND task_name like concat('%', #{taskName}, '%') </if> <if test="visitCount != null and visitCount == 1"> AND visit_count = 1 </if>