73 门诊医生排班管理
This commit is contained in:
@@ -43,6 +43,22 @@ public interface IDiagTreatMAppService {
|
||||
R<?> getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey,
|
||||
Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 获取挂号项目列表(医保类型为13)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 挂号项目列表
|
||||
*/
|
||||
R<?> getRegistrationItems(Long orgId);
|
||||
|
||||
/**
|
||||
* 获取诊查项目列表(医保类型为02)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 诊查项目列表
|
||||
*/
|
||||
R<?> getClinicItems(Long orgId);
|
||||
|
||||
/**
|
||||
* 根据id查询诊疗详情
|
||||
*
|
||||
|
||||
@@ -186,10 +186,24 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService {
|
||||
public R<?> getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey,
|
||||
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||
|
||||
// 临时保存ybType值并从参数对象中移除,避免HisQueryUtils构建yb_type条件
|
||||
String ybTypeValue = null;
|
||||
if (DiagnosisTreatmentSelParam != null && StringUtils.isNotEmpty(DiagnosisTreatmentSelParam.getYbType())) {
|
||||
ybTypeValue = DiagnosisTreatmentSelParam.getYbType();
|
||||
DiagnosisTreatmentSelParam.setYbType(null); // 临时移除,防止HisQueryUtils处理
|
||||
}
|
||||
|
||||
// 构建查询条件
|
||||
QueryWrapper<DiagnosisTreatmentDto> queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam,
|
||||
searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request);
|
||||
|
||||
// 如果需要按医保类型过滤(如挂号费类型13),添加带表别名的条件
|
||||
if (ybTypeValue != null) {
|
||||
queryWrapper.eq("T2.yb_type", ybTypeValue);
|
||||
// 恢复参数对象中的值
|
||||
DiagnosisTreatmentSelParam.setYbType(ybTypeValue);
|
||||
}
|
||||
|
||||
// 分页查询
|
||||
IPage<DiagnosisTreatmentDto> diseaseTreatmentPage
|
||||
= activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page<DiagnosisTreatmentDto>(pageNo, pageSize), queryWrapper);
|
||||
@@ -211,6 +225,86 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService {
|
||||
return R.ok(diseaseTreatmentPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取挂号项目列表(医保类型为13)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 挂号项目列表
|
||||
*/
|
||||
@Override
|
||||
public R<?> getRegistrationItems(Long orgId) {
|
||||
// 构建查询条件,只查询医保类型为13(挂号费)的项目
|
||||
QueryWrapper<DiagnosisTreatmentDto> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("T2.yb_type", "13"); // 使用T2表的yb_type字段,避免歧义
|
||||
queryWrapper.eq("T1.delete_flag", "0"); // 只查询未删除的记录
|
||||
queryWrapper.eq("T2.instance_table", "wor_activity_definition"); // 确保关联正确
|
||||
|
||||
// 如果提供了科室ID,则过滤该科室的项目
|
||||
if (orgId != null) {
|
||||
queryWrapper.eq("T1.org_id", orgId); // 使用机构ID进行过滤
|
||||
}
|
||||
|
||||
// 分页查询,设置一个较大的页大小以获取所有挂号项目
|
||||
IPage<DiagnosisTreatmentDto> diseaseTreatmentPage
|
||||
= activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page<DiagnosisTreatmentDto>(1, 100), queryWrapper);
|
||||
|
||||
diseaseTreatmentPage.getRecords().forEach(e -> {
|
||||
// 医保标记枚举类回显赋值
|
||||
e.setYbFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbFlag()));
|
||||
// 医保对码标记枚举类回显赋值
|
||||
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||
// 类型枚举类回显赋值
|
||||
e.setTypeEnum_enumText(EnumUtils.getInfoByValue(ActivityType.class, e.getTypeEnum()));
|
||||
// 状态枚举类回显赋值
|
||||
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||
// 划价标记
|
||||
e.setPricingFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getPricingFlag()));
|
||||
});
|
||||
|
||||
// 返回挂号项目列表
|
||||
return R.ok(diseaseTreatmentPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取诊查项目列表(医保类型为02)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 诊查项目列表
|
||||
*/
|
||||
@Override
|
||||
public R<?> getClinicItems(Long orgId) {
|
||||
// 构建查询条件,只查询医保类型为02(诊查费)的项目
|
||||
QueryWrapper<DiagnosisTreatmentDto> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("T2.yb_type", "02"); // 使用T2表的yb_type字段,避免歧义
|
||||
queryWrapper.eq("T1.delete_flag", "0"); // 只查询未删除的记录
|
||||
queryWrapper.eq("T2.instance_table", "wor_activity_definition"); // 确保关联正确
|
||||
|
||||
// 如果提供了科室ID,则过滤该科室的项目
|
||||
if (orgId != null) {
|
||||
queryWrapper.eq("T1.org_id", orgId); // 使用机构ID进行过滤
|
||||
}
|
||||
|
||||
// 分页查询,设置一个较大的页大小以获取所有诊查项目
|
||||
IPage<DiagnosisTreatmentDto> diseaseTreatmentPage
|
||||
= activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page<DiagnosisTreatmentDto>(1, 100), queryWrapper);
|
||||
|
||||
diseaseTreatmentPage.getRecords().forEach(e -> {
|
||||
// 医保标记枚举类回显赋值
|
||||
e.setYbFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbFlag()));
|
||||
// 医保对码标记枚举类回显赋值
|
||||
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||
// 类型枚举类回显赋值
|
||||
e.setTypeEnum_enumText(EnumUtils.getInfoByValue(ActivityType.class, e.getTypeEnum()));
|
||||
// 状态枚举类回显赋值
|
||||
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||
// 划价标记
|
||||
e.setPricingFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getPricingFlag()));
|
||||
});
|
||||
|
||||
// 返回诊查项目列表
|
||||
return R.ok(diseaseTreatmentPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询诊疗详情
|
||||
*
|
||||
|
||||
@@ -154,4 +154,26 @@ public class DiagnosisTreatmentController {
|
||||
public R<?> validateActivityEdit(Long activityId) {
|
||||
return diagTreatMAppService.validateActivityEdit(activityId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取挂号项目列表(医保类型为13)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 挂号项目列表
|
||||
*/
|
||||
@GetMapping("/registration-items")
|
||||
public R<?> getRegistrationItems(@RequestParam(required = false) Long orgId) {
|
||||
return diagTreatMAppService.getRegistrationItems(orgId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取诊查项目列表(医保类型为02)
|
||||
*
|
||||
* @param orgId 科室ID
|
||||
* @return 诊查项目列表
|
||||
*/
|
||||
@GetMapping("/clinic-items")
|
||||
public R<?> getClinicItems(@RequestParam(required = false) Long orgId) {
|
||||
return diagTreatMAppService.getClinicItems(orgId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,9 @@ public class DiagnosisTreatmentSelParam {
|
||||
/** 类型 */
|
||||
private Integer typeEnum;
|
||||
|
||||
/** 医保类型 */
|
||||
private String ybType;
|
||||
|
||||
/** 医保对码标记 */
|
||||
private Integer ybMatchFlag;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user