| | |
| | | patMedInhosp1.setDiagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC()); |
| | | } |
| | | |
| | | patMedInhosp1.setInhospstate("1"); |
| | | String orgid = ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null; |
| | | if(StringUtils.isNotEmpty(orgid) && orgid.equals("47246103233112211A1001")){ |
| | | //缙云二院 住院记录不更新状态 |
| | | }else { |
| | | patMedInhosp1.setInhospstate("1"); |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) { |
| | | patMedInhosp1.setUpdateTime(new Date()); |
| | | patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); |
| | | patMedInhosp1.setOrgid(orgid); |
| | | if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) { |
| | | //不需要长期任务随访 |
| | | patMedInhosp1.setFuflag("0"); |
| | |
| | | patMedInhosp1.setHospitalcode(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); |
| | | patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null); |
| | | patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null); |
| | | patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); |
| | | patMedInhosp1.setOrgid(orgid); |
| | | //丽水无院区,默认值是 1 |
| | | patMedInhosp1.setCampusid("1"); |
| | | patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null); |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean cancelOperationInfo(Map dataMap) { |
| | | log.info("ServiceExternalServiceImpl---cancelOperationInfo的撤销的值为:{}", dataMap); |
| | | |
| | | Map yeWuXX = (Map) dataMap.get("YeWuXX"); |
| | | Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; |
| | | ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); |
| | | PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null); |
| | | //手术撤销 |
| | | Map<String, Object> sscx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuCX") : null; |
| | | ExternalOperationInfo externalOperationInfo = null; |
| | | if (ObjectUtils.isNotEmpty(sscx)) |
| | | externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true); |
| | | PatMedOperation patMedOperation = new PatMedOperation(); |
| | | patMedOperation.setPatid(patArchive.getId()); |
| | | patMedOperation.setOrgid(patArchive.getOrgid()); |
| | | patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID()); |
| | | //查询一下,该患者是否已经有这些数据 |
| | | List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation); |
| | | if (CollectionUtils.isNotEmpty(patMedOperations)) { |
| | | for(PatMedOperation operation : patMedOperations){ |
| | | Long id = operation.getId(); |
| | | //如果手术撤销,直接删除该条手术信息 |
| | | if (ObjectUtils.isNotEmpty(sscx)) { |
| | | operation.setId(id); |
| | | operation.setCheckFlag("1"); |
| | | operation.setDelFlag("1"); |
| | | //同时去查询,是否在subtask中生成任务,如果生成出得立马删除 |
| | | // 手术随访 |
| | | PatMedOperationItem pmoi = new PatMedOperationItem(); |
| | | //获取需要出院手术随访,未处理的数据 |
| | | pmoi.setOpid(operation.getId().toString()); |
| | | List<PatMedOperationItem> patMedOperationItems |
| | | = patMedOperationItemMapper.selectOperationItemList(pmoi); |
| | | List<Long> operationItemIds = patMedOperationItems.stream() |
| | | .map(PatMedOperationItem::getId) |
| | | .filter(Objects::nonNull) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | |
| | | |
| | | //不需要服务了,需要通过patid和sendstate=1,2,3,5,7去查询一下,service_subtask里是否有正在执行的任务, |
| | | //有的话,立即停了 |
| | | List<Long> sendstates = Arrays.asList(1L, 2L, 3L, 5L, 7L); |
| | | List<ServiceSubtask> serviceSubtaskList = new ArrayList<>(); |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setOrgid(patArchive.getOrgid()); |
| | | serviceSubtaskVO.setPatid(patArchive.getId()); |
| | | serviceSubtaskVO.setSendstates(sendstates); |
| | | serviceSubtaskVO.setOperationItemIds(operationItemIds); |
| | | serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | //去redis中,查询是否有subid,有的话移除cache-exist |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList)) { |
| | | for (ServiceSubtask serviceSubtask : serviceSubtaskList) { |
| | | log.info("需要移除的subId为:{}", serviceSubtask.getId().toString()); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setRemark("手术撤销"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString()); |
| | | redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString()); |
| | | redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString()); |
| | | redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString()); |
| | | redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString()); |
| | | redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString()); |
| | | } |
| | | } |
| | | operation.setUpdateTime(new Date()); |
| | | patMedOperationMapper.updatePatMedOperation(operation); |
| | | patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(operation.getOpid()); |
| | | } |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | //新增患者基本信息 |
| | | private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) { |
| | | Date parse = null; |
| | |
| | | return true; |
| | | case "SM_SQ_CheXiao": |
| | | log.info("手术撤销入参类型为:{}", type); |
| | | cancelOperationInfo(dataMap); |
| | | return true; |
| | | case "TJ_YW_BaoGaoXX": |
| | | log.info("体检报告入参类型为:{}", type); |