| | |
| | | |
| | | /** |
| | | * 搜索医院 |
| | | * 支持根据医院名称或地址进行模糊搜索 |
| | | * 支持根据医院名称、地址、地域进行模糊搜索 |
| | | * @param keyword 搜索关键词(医院名称、地址、简称、省市区) |
| | | * @param region 地域关键词(用于过滤省市区) |
| | | */ |
| | | @GetMapping("/search") |
| | | public AjaxResult searchHospitals(@RequestParam(value = "keyword", required = false) String keyword) { |
| | | List<HospData> list = hospDataMapper.searchHospitals(keyword); |
| | | public AjaxResult searchHospitals( |
| | | @RequestParam(value = "keyword", required = false) String keyword, |
| | | @RequestParam(value = "region", required = false) String region) { |
| | | List<HospData> list = hospDataMapper.searchHospitals(keyword, region); |
| | | Integer homeHospId=hospDataMapper.getHomeHospId(); |
| | | if(homeHospId>0 && list.stream().count()>0 && list.stream().filter(hospData -> hospData.getHospId().equals(homeHospId)).count()<=0) { |
| | | HospData hospData= hospDataMapper.selectHospDataById(homeHospId); |
| | | list.add(0,hospData); |
| | | } |
| | | return success(list); |
| | | } |
| | | |
| | |
| | | HospData hospital = hospDataMapper.selectHospDataById(hospId); |
| | | return success(hospital); |
| | | } |
| | | |
| | | /** |
| | | * 获取常用转出医院列表 |
| | | * @param serviceOrdClass 分公司编码(service_order_class) |
| | | * @param region 地域关键词(可选) |
| | | */ |
| | | @GetMapping("/frequent/out") |
| | | public AjaxResult getFrequentOutHospitals( |
| | | @RequestParam("serviceOrdClass") String serviceOrdClass, |
| | | @RequestParam(value = "region", required = false) String region) { |
| | | // 查询常用转出医院ID列表 |
| | | List<Integer> hospIds = hospDataMapper.selectFrequentOutHospitalIds(serviceOrdClass); |
| | | if (hospIds == null || hospIds.isEmpty()) { |
| | | return success(); |
| | | } |
| | | |
| | | // 根据ID列表查询医院详情 |
| | | List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region); |
| | | |
| | | return success(hospitals); |
| | | } |
| | | |
| | | /** |
| | | * 获取常用转入医院列表 |
| | | * @param serviceOrdClass 分公司编码(service_order_class) |
| | | * @param region 地域关键词(可选) |
| | | */ |
| | | @GetMapping("/frequent/in") |
| | | public AjaxResult getFrequentInHospitals( |
| | | @RequestParam("serviceOrdClass") String serviceOrdClass, |
| | | @RequestParam(value = "region", required = false) String region) { |
| | | // 查询常用转入医院ID列表 |
| | | List<Integer> hospIds = hospDataMapper.selectFrequentInHospitalIds(serviceOrdClass); |
| | | if (hospIds == null || hospIds.isEmpty()) { |
| | | return success(); |
| | | } |
| | | Integer homeHospId=hospDataMapper.getHomeHospId(); |
| | | |
| | | // 根据ID列表查询医院详情 |
| | | List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region); |
| | | if(homeHospId>0) { |
| | | |
| | | HospData hospData= hospDataMapper.selectHospDataById(homeHospId); |
| | | hospitals.add(0,hospData); |
| | | } |
| | | return success(hospitals); |
| | | } |
| | | } |