diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/IOutpatientRegistrationAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/IOutpatientRegistrationAppService.java index 2f79e2a89..8b5de03b9 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/IOutpatientRegistrationAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/IOutpatientRegistrationAppService.java @@ -48,6 +48,11 @@ public interface IOutpatientRegistrationAppService { IPage getPractitionerMetadataByLocationId(Long orgId, String searchKey, Integer pageNo, Integer pageSize); + /** + * 查询全院医生(不限科室),按角色过滤 + */ + IPage getAllDoctors(String searchKey, Integer pageNo, Integer pageSize); + /** * 根据机构id筛选服务项目 * diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRegistrationAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRegistrationAppServiceImpl.java index c92887ae4..a707111e6 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRegistrationAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientRegistrationAppServiceImpl.java @@ -243,6 +243,22 @@ public class OutpatientRegistrationAppServiceImpl implements IOutpatientRegistra return practitionerMetadataPage; } + /** + * 查询全院医生(不限科室),按角色过滤 + */ + @Override + public IPage getAllDoctors(String searchKey, Integer pageNo, Integer pageSize) { + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(null, searchKey, + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); + IPage page = + outpatientRegistrationAppMapper.getAllDoctorPage(new Page<>(pageNo, pageSize), + PractitionerRoles.DOCTOR.getCode(), queryWrapper); + page.getRecords().forEach(e -> { + e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); + }); + return page; + } + /** * 根据机构id筛选服务项目 * diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/controller/OutpatientRegistrationController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/controller/OutpatientRegistrationController.java index 7446fe099..43fee617d 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/controller/OutpatientRegistrationController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/controller/OutpatientRegistrationController.java @@ -87,6 +87,17 @@ public class OutpatientRegistrationController { iOutpatientRegistrationAppService.getPractitionerMetadataByLocationId(orgId, searchKey, pageNo, pageSize)); } + /** + * 查询全院医生(不限科室),用于手术申请等需跨科室选择医生的场景 + */ + @GetMapping(value = "/all-doctors") + public R getAllDoctors( + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) { + return R.ok(iOutpatientRegistrationAppService.getAllDoctors(searchKey, pageNo, pageSize)); + } + /** * 根据机构id筛选服务项目 */ diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/mapper/OutpatientRegistrationAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/mapper/OutpatientRegistrationAppMapper.java index 7d3352737..7f4d23b74 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/mapper/OutpatientRegistrationAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/mapper/OutpatientRegistrationAppMapper.java @@ -24,6 +24,13 @@ public interface OutpatientRegistrationAppMapper { @Param("orgId") Long orgId, @Param("RoleCode") String RoleCode, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + /** + * 查询全院医生(不限科室),按角色过滤 + */ + IPage getAllDoctorPage(@Param("page") Page page, + @Param("RoleCode") String RoleCode, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + /** * 根据病人id和科室id查询当日挂号次数 */ diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml index 383d78c02..772db5d2c 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml @@ -31,6 +31,34 @@ ${ew.customSqlSegment} + + +