From 3a96873df46f857c405fe76176c72d369164c9d9 Mon Sep 17 00:00:00 2001 From: liuhongrui Date: Fri, 28 Mar 2025 17:28:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=99=A8=E6=9D=90=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?=E8=AF=8A=E7=96=97=E6=A0=BC=E5=BC=8F=E6=8F=90=E5=8F=96=EF=BC=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IDiagnosisTreatmentManageAppService.java | 86 ++++++ .../appservice/IItemDefinitionService.java | 9 - .../impl/DeviceManageAppServiceImpl.java | 2 +- ...iagnosisTreatmentManageAppServiceImpl.java | 279 ++++++++++++++++++ .../DiagnosisTreatmentController.java | 167 +---------- .../dto/DiagnosisTreatmentDto.java | 4 + .../dto/DiagnosisTreatmentUpDto.java | 12 + .../ActivityDefinitionManageMapper.java | 40 +++ .../ActivityDefinitionManageMapper.xml | 136 +++++++++ 9 files changed, 573 insertions(+), 162 deletions(-) create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagnosisTreatmentManageAppService.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagnosisTreatmentManageAppServiceImpl.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java create mode 100644 openhis-server/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagnosisTreatmentManageAppService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagnosisTreatmentManageAppService.java new file mode 100644 index 00000000..e4aa4f26 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IDiagnosisTreatmentManageAppService.java @@ -0,0 +1,86 @@ +package com.openhis.web.datadictionary.appservice; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import com.core.common.core.domain.R; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentSelParam; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentUpDto; + +/** + * 诊疗目录 + * + * @author liuhr + * @date 2025/3/28 + */ +public interface IDiagnosisTreatmentManageAppService { + + /** + * 诊疗目录初期查询 + * + * @return + */ + R getDiseaseTreatmentInit(); + + /** + * 查询诊疗目录分页列表 + * + * @param DiagnosisTreatmentSelParam 查询条件 + * @param searchKey 查询条件-模糊查询 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return + */ + R getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request); + + /** + * 根据id查询诊疗详情 + * + * @param id 诊疗ID + * @return + */ + R getDiseaseTreatmentOne(Long id); + + /** + * 诊疗目录编辑 + * + * @param diagnosisTreatmentUpDto 诊疗目录列表 + * @return + */ + R editDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto); + + /** + * 诊疗目录停用 + * + * @param ids 诊疗目录ID列表 + * @return + */ + R editDiseaseTreatmentStop(List ids); + + /** + * 诊疗目录启用 + * + * @param ids 诊疗目录ID列表 + * @return + */ + R editDiseaseTreatmentStart(List ids); + + /** + * 新增外来诊疗目录 + * + * @param diagnosisTreatmentUpDto 诊疗目录 + * @return + */ + @PostMapping("/information") + R addDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto); + +} \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IItemDefinitionService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IItemDefinitionService.java index 53980f83..15cce3a3 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IItemDefinitionService.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/IItemDefinitionService.java @@ -22,15 +22,6 @@ public interface IItemDefinitionService { */ boolean addItem(ItemUpFromDirectoryDto itemUpFromDirectoryDto); - -// /** -// * 添加器材的项目定价 -// * -// * @param deviceManageUpDto 器材目录信息 -// * @param deviceDefinition 器材信息 -// */ -// boolean addItem(ItemUpFromDirectoryDto itemUpFromDirectoryDto, DeviceDefinition deviceDefinition); -// /** * 修改项目定价表 * diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java index 072e7de6..64911631 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java @@ -199,7 +199,7 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 更新器材信息 if (deviceDefinitionService.updateById(deviceDefinition)) { ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); - chargeItemDefinition.setYbType(deviceManageDto.getItemTypeCode()).setTypeCode(deviceManageDto.getTypeCode()) + chargeItemDefinition.setYbType(deviceManageDto.getYbType()).setTypeCode(deviceManageDto.getItemTypeCode()) .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) .setInstanceId(deviceDefinition.getId()); diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagnosisTreatmentManageAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagnosisTreatmentManageAppServiceImpl.java new file mode 100644 index 00000000..181bdee9 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagnosisTreatmentManageAppServiceImpl.java @@ -0,0 +1,279 @@ +package com.openhis.web.datadictionary.appservice.impl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.core.common.core.domain.entity.SysDictData; +import com.core.common.utils.MessageUtils; +import com.core.common.utils.SecurityUtils; +import com.core.common.utils.bean.BeanUtils; +import com.core.system.service.ISysDictTypeService; +import com.openhis.administration.domain.Organization; +import com.openhis.administration.service.IOrganizationService; +import com.openhis.common.constant.PromptMsgConstant; +import com.openhis.common.enums.*; +import com.openhis.common.utils.EnumUtils; +import com.openhis.common.utils.HisQueryUtils; +import com.openhis.web.datadictionary.appservice.IDiagnosisTreatmentManageAppService; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentInitDto; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentSelParam; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentUpDto; +import com.openhis.web.datadictionary.mapper.ActivityDefinitionManageMapper; +import com.openhis.workflow.domain.ActivityDefinition; +import com.openhis.workflow.mapper.ActivityDefinitionMapper; +import com.openhis.workflow.service.IActivityDefinitionService; + +/** + * 诊疗实现类 + * + * @author Wuser + * @date 2025/3/28 + */ +@Service +public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatmentManageAppService { + + @Autowired + private IActivityDefinitionService iActivityDefinitionService; + @Autowired + private ActivityDefinitionMapper activityDefinitionMapper; + @Autowired + private IOrganizationService iOrganizationService; + @Autowired + private ISysDictTypeService iSysDictTypeService; + @Resource + private ActivityDefinitionManageMapper activityDefinitionManageMapper; + + /** + * 诊疗目录初期查询 + * + * @return + */ + @Override + public R getDiseaseTreatmentInit() { + DiagnosisTreatmentInitDto diagnosisTreatmentInitDto = new DiagnosisTreatmentInitDto(); + // 获取状态 + List statusEnumOptions = Stream.of(PublicationStatus.values()) + .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); + diagnosisTreatmentInitDto.setStatusFlagOptions(statusEnumOptions); + // 获取执行科室 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Organization::getTypeEnum, OrganizationType.HOSPITAL_DEPARTMENT); + List organizations = iOrganizationService.list(queryWrapper); + List exeOrganizations = organizations.stream() + .map(exeOrg -> new DiagnosisTreatmentInitDto.exeOrganization(exeOrg.getId(), exeOrg.getName())) + .collect(Collectors.toList()); + diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations); + + // 获取诊疗分类 + // 查询医疗服务项类型 + List medical_service_items = + iSysDictTypeService.selectDictDataByType(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getCode()); + // 获取医疗服务项List + List diseaseTreatmentCategoryList = medical_service_items + .stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(), + status.getDictLabel())) + .collect(Collectors.toList()); + List diseaseTreatmentCategories = new ArrayList<>(); + + DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory = + new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getValue(), + ActivityDefCategory.MEDICAL_SERVICE_ITEM.getInfo()); + diseaseTreatmentCategory.setChildren(diseaseTreatmentCategoryList); + diseaseTreatmentCategories.add(diseaseTreatmentCategory); + diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); + + // 查询手术与治疗类型 + List medical_service_items2 = + iSysDictTypeService.selectDictDataByType(ActivityDefCategory.TREATMENT_SURGERY.getCode()); + // 获取手术与治疗List + List diseaseTreatmentCategoryList2 = medical_service_items2 + .stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(), + status.getDictLabel())) + .collect(Collectors.toList()); + + DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory2 = + new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.TREATMENT_SURGERY.getValue(), + ActivityDefCategory.TREATMENT_SURGERY.getInfo()); + diseaseTreatmentCategory2.setChildren(diseaseTreatmentCategoryList2); + diseaseTreatmentCategories.add(diseaseTreatmentCategory2); + + diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); + + // 获取类型 + List typeEnumOptions = Stream.of(ActivityType.values()) + .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); + diagnosisTreatmentInitDto.setTypeEnumOptions(typeEnumOptions); + + return R.ok(diagnosisTreatmentInitDto); + } + + /** + * 查询诊疗目录分页列表 + * + * @param DiagnosisTreatmentSelParam 查询条件 + * @param searchKey 查询条件-模糊查询 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return + */ + @Override + public R getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey, + Integer pageNo, Integer pageSize, HttpServletRequest request) { + // + // // 构建查询条件 + // QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam, + // searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); + // // 设置排序 + // queryWrapper.orderByAsc("bus_no"); + // // 分页查询 + // Page diseaseTreatmentPage = HisPageUtils.selectPage(activityDefinitionMapper, + // queryWrapper, pageNo, pageSize, DiagnosisTreatmentDto.class); + + // 构建查询条件 + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam, + searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); + + // 分页查询 + IPage diseaseTreatmentPage = + activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page<>(pageNo, pageSize), 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.setCategory_enumText(EnumUtils.getInfoByValue(ActivityDefCategory.class, e.getCategoryEnum())); + // 状态举类回显赋值 + e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum())); + }); + + // 返回【诊疗目录列表DTO】分页 + return R.ok(diseaseTreatmentPage); + } + + /** + * 根据id查询诊疗详情 + * + * @param id 诊疗ID + * @return + */ + @Override + public R getDiseaseTreatmentOne(Long id) { + + // 获取租户ID + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + // 根据ID查询【诊疗目录】 + return R.ok(activityDefinitionManageMapper.getDiseaseTreatmentOne(id, tenantId)); + + } + + /** + * 诊疗目录编辑 + * + * @param diagnosisTreatmentUpDto 诊疗目录列表 + * @return + */ + @Override + public R editDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) { + + ActivityDefinition ActivityDefinition = new ActivityDefinition(); + BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition); + + // 更新诊疗信息 + return iActivityDefinitionService.updateById(ActivityDefinition) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + + } + + /** + * 诊疗目录停用 + * + * @param ids 诊疗目录ID列表 + * @return + */ + @Override + public R editDiseaseTreatmentStop(List ids) { + + List ActivityDefinitionList = new CopyOnWriteArrayList<>(); + + // 取得更新值 + for (Long detail : ids) { + ActivityDefinition ActivityDefinition = new ActivityDefinition(); + ActivityDefinition.setId(detail); + ActivityDefinition.setStatusEnum(PublicationStatus.RETIRED.getValue()); + ActivityDefinitionList.add(ActivityDefinition); + } + // 更新诊疗信息 + return iActivityDefinitionService.updateBatchById(ActivityDefinitionList) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + + } + + /** + * 诊疗目录启用 + * + * @param ids 诊疗目录ID列表 + * @return + */ + @Override + public R editDiseaseTreatmentStart(List ids) { + + List ActivityDefinitionList = new CopyOnWriteArrayList<>(); + + // 取得更新值 + for (Long detail : ids) { + ActivityDefinition ActivityDefinition = new ActivityDefinition(); + ActivityDefinition.setId(detail); + ActivityDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); + ActivityDefinitionList.add(ActivityDefinition); + } + // 更新诊疗信息 + return iActivityDefinitionService.updateBatchById(ActivityDefinitionList) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + + } + + /** + * 新增外来诊疗目录 + * + * @param diagnosisTreatmentUpDto 诊疗目录 + * @return + */ + @Override + public R addDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) { + + ActivityDefinition ActivityDefinition = new ActivityDefinition(); + BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition); + // 新增外来诊疗目录 + ActivityDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue()); + return iActivityDefinitionService.addDiagnosisTreatment(ActivityDefinition) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + + } +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java index 62936fa3..89112892 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiagnosisTreatmentController.java @@ -1,40 +1,18 @@ package com.openhis.web.datadictionary.controller; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.stream.Collectors; -import java.util.stream.Stream; import javax.servlet.http.HttpServletRequest; -import com.openhis.common.enums.*; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -import com.core.common.core.domain.entity.SysDictData; -import com.core.common.utils.MessageUtils; -import com.core.common.utils.bean.BeanUtils; -import com.core.system.service.ISysDictTypeService; -import com.openhis.administration.domain.Organization; -import com.openhis.administration.service.IOrganizationService; -import com.openhis.common.constant.PromptMsgConstant; -import com.openhis.common.utils.EnumUtils; -import com.openhis.common.utils.HisPageUtils; -import com.openhis.common.utils.HisQueryUtils; +import com.openhis.web.datadictionary.appservice.IDiagnosisTreatmentManageAppService; import com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto; -import com.openhis.web.datadictionary.dto.DiagnosisTreatmentInitDto; import com.openhis.web.datadictionary.dto.DiagnosisTreatmentSelParam; import com.openhis.web.datadictionary.dto.DiagnosisTreatmentUpDto; -import com.openhis.workflow.domain.ActivityDefinition; -import com.openhis.workflow.mapper.ActivityDefinitionMapper; -import com.openhis.workflow.service.IActivityDefinitionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -50,10 +28,9 @@ import lombok.extern.slf4j.Slf4j; @Slf4j @AllArgsConstructor public class DiagnosisTreatmentController { - private final IActivityDefinitionService iActivityDefinitionService; - private final ActivityDefinitionMapper activityDefinitionMapper; - private final IOrganizationService iOrganizationService; - private final ISysDictTypeService iSysDictTypeService; + + @Autowired + private IDiagnosisTreatmentManageAppService diagnosisTreatmentManageAppService; /** * 诊疗目录初期查询 @@ -62,63 +39,8 @@ public class DiagnosisTreatmentController { */ @GetMapping("/init") public R getDiseaseTreatmentInit() { - DiagnosisTreatmentInitDto diagnosisTreatmentInitDto = new DiagnosisTreatmentInitDto(); - // 获取状态 - List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); - diagnosisTreatmentInitDto.setStatusFlagOptions(statusEnumOptions); - // 获取执行科室 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Organization::getTypeEnum, OrganizationType.HOSPITAL_DEPARTMENT); - List organizations = iOrganizationService.list(queryWrapper); - List exeOrganizations = organizations.stream() - .map(exeOrg -> new DiagnosisTreatmentInitDto.exeOrganization(exeOrg.getId(), exeOrg.getName())) - .collect(Collectors.toList()); - diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations); - // 获取诊疗分类 - // 查询医疗服务项类型 - List medical_service_items = - iSysDictTypeService.selectDictDataByType(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getCode()); - // 获取医疗服务项List - List diseaseTreatmentCategoryList = medical_service_items - .stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(), - status.getDictLabel())) - .collect(Collectors.toList()); - List diseaseTreatmentCategories = new ArrayList<>(); - - DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory = - new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getValue(), - ActivityDefCategory.MEDICAL_SERVICE_ITEM.getInfo()); - diseaseTreatmentCategory.setChildren(diseaseTreatmentCategoryList); - diseaseTreatmentCategories.add(diseaseTreatmentCategory); - diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); - - // 查询手术与治疗类型 - List medical_service_items2 = - iSysDictTypeService.selectDictDataByType(ActivityDefCategory.TREATMENT_SURGERY.getCode()); - // 获取手术与治疗List - List diseaseTreatmentCategoryList2 = medical_service_items2 - .stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(), - status.getDictLabel())) - .collect(Collectors.toList()); - - DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory2 = - new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.TREATMENT_SURGERY.getValue(), - ActivityDefCategory.TREATMENT_SURGERY.getInfo()); - diseaseTreatmentCategory2.setChildren(diseaseTreatmentCategoryList2); - diseaseTreatmentCategories.add(diseaseTreatmentCategory2); - - diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); - - // 获取类型 - List typeEnumOptions = Stream.of(ActivityType.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); - diagnosisTreatmentInitDto.setTypeEnumOptions(typeEnumOptions); - - return R.ok(diagnosisTreatmentInitDto); + return diagnosisTreatmentManageAppService.getDiseaseTreatmentInit(); } /** @@ -136,30 +58,9 @@ public class DiagnosisTreatmentController { @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { - // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam, - searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); - // 设置排序 - queryWrapper.orderByAsc("bus_no"); - // 分页查询 - Page diseaseTreatmentPage = HisPageUtils.selectPage(activityDefinitionMapper, - queryWrapper, pageNo, pageSize, DiagnosisTreatmentDto.class); - - 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.setCategory_enumText(EnumUtils.getInfoByValue(ActivityDefCategory.class, e.getCategoryEnum())); - //状态举类回显赋值 - e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum())); - }); - // 返回【诊疗目录列表DTO】分页 - return R.ok(diseaseTreatmentPage); + return diagnosisTreatmentManageAppService.getDiseaseTreatmentPage(DiagnosisTreatmentSelParam, searchKey, pageNo, + pageSize, request); } /** @@ -169,12 +70,9 @@ public class DiagnosisTreatmentController { * @return */ @GetMapping("/information-one") - public R getDiseaseTreatmentOne(@PathVariable("id") Long id) { - DiagnosisTreatmentDto diagnosisTreatmentDto = new DiagnosisTreatmentDto(); - // 根据ID查询【诊疗目录】 - ActivityDefinition activityDefinition = iActivityDefinitionService.getById(id); - BeanUtils.copyProperties(activityDefinition, diagnosisTreatmentDto); - return R.ok(diagnosisTreatmentDto); + public R getDiseaseTreatmentOne(@RequestParam Long id) { + + return diagnosisTreatmentManageAppService.getDiseaseTreatmentOne(id); } /** @@ -186,13 +84,7 @@ public class DiagnosisTreatmentController { @PutMapping("/information") public R editDiseaseTreatment(@RequestBody DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) { - ActivityDefinition ActivityDefinition = new ActivityDefinition(); - BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition); - - // 更新诊疗信息 - return iActivityDefinitionService.updateById(ActivityDefinition) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + return diagnosisTreatmentManageAppService.editDiseaseTreatment(diagnosisTreatmentUpDto); } /** @@ -203,19 +95,8 @@ public class DiagnosisTreatmentController { */ @PutMapping("/information-stop") public R editDiseaseTreatmentStop(@RequestBody List ids) { - List ActivityDefinitionList = new CopyOnWriteArrayList<>(); - // 取得更新值 - for (Long detail : ids) { - ActivityDefinition ActivityDefinition = new ActivityDefinition(); - ActivityDefinition.setId(detail); - ActivityDefinition.setStatusEnum(PublicationStatus.RETIRED.getValue()); - ActivityDefinitionList.add(ActivityDefinition); - } - // 更新诊疗信息 - return iActivityDefinitionService.updateBatchById(ActivityDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + return diagnosisTreatmentManageAppService.editDiseaseTreatmentStop(ids); } /** @@ -226,19 +107,7 @@ public class DiagnosisTreatmentController { */ @PutMapping("/information-start") public R editDiseaseTreatmentStart(@RequestBody List ids) { - List ActivityDefinitionList = new CopyOnWriteArrayList<>(); - - // 取得更新值 - for (Long detail : ids) { - ActivityDefinition ActivityDefinition = new ActivityDefinition(); - ActivityDefinition.setId(detail); - ActivityDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); - ActivityDefinitionList.add(ActivityDefinition); - } - // 更新诊疗信息 - return iActivityDefinitionService.updateBatchById(ActivityDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + return diagnosisTreatmentManageAppService.editDiseaseTreatmentStart(ids); } /** @@ -249,13 +118,7 @@ public class DiagnosisTreatmentController { */ @PostMapping("/information") public R addDiseaseTreatment(@Validated @RequestBody DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) { - ActivityDefinition ActivityDefinition = new ActivityDefinition(); - BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition); - // 新增外来诊疗目录 - ActivityDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue()); - return iActivityDefinitionService.addDiagnosisTreatment(ActivityDefinition) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + return diagnosisTreatmentManageAppService.addDiseaseTreatment(diagnosisTreatmentUpDto); } /** diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java index c6ab1373..d49976d2 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java @@ -66,10 +66,14 @@ public class DiagnosisTreatmentDto { private String statusEnum_enumText; /** 身体部位 */ + @Dict(dictCode = "body_site_code") private String bodySiteCode; + private String bodySiteCode_dictText; /** 所需标本 */ + @Dict(dictCode = "specimen_code") private String specimenCode; + private String specimenCode_dictText; /** 说明 */ private String descriptionText; diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentUpDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentUpDto.java index 6e70dfcf..e46683b7 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentUpDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentUpDto.java @@ -77,6 +77,18 @@ public class DiagnosisTreatmentUpDto { /** 规则id */ private Integer ruleId; + /** 所属科室 */ + @Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name") + @JsonSerialize(using = ToStringSerializer.class) + private Long orgId; + private String orgId_dictText; + + /** 所在位置 */ + @Dict(dictTable = "adm_location", dictCode = "id", dictText = "name") + @JsonSerialize(using = ToStringSerializer.class) + private Long locationId; + private String locationId_dictText; + /** 财务类别 */ @Dict(dictCode = "fin_type_code") private String itemTypeCode; diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java new file mode 100644 index 00000000..5a4f0937 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ActivityDefinitionManageMapper.java @@ -0,0 +1,40 @@ +package com.openhis.web.datadictionary.mapper; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto; + +/** + * 诊疗定义管理 + * + * @author liuhr + * @date 2025/3/28 + */ +@Repository +public interface ActivityDefinitionManageMapper { + + /** + * 诊疗目录分页查询 + * + * @param page 分页参数 + * @param queryWrapper 查询条件 + * @return 器材记录 + */ + IPage getDiseaseTreatmentPage(@Param("page") Page page, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + /** + * 诊疗详情 + * + * @param id 诊疗ID + * @param tenantId 租户 + * @return + */ + DiagnosisTreatmentDto getDiseaseTreatmentOne(@Param("id") Long id, @Param("tenantId") Integer tenantId); + +} diff --git a/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml new file mode 100644 index 00000000..d0192249 --- /dev/null +++ b/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/ActivityDefinitionManageMapper.xml @@ -0,0 +1,136 @@ + + + + + + + + \ No newline at end of file From 141a81b5cfe1b92a524f4922b6aedb3e5ffbe3c5 Mon Sep 17 00:00:00 2001 From: liuhongrui Date: Fri, 28 Mar 2025 17:29:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AF=8A=E7=96=97=E7=9B=AE=E5=BD=95up?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java | 1 + 1 file changed, 1 insertion(+) diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java index d49976d2..dec2ecb1 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentDto.java @@ -114,5 +114,6 @@ public class DiagnosisTreatmentDto { /** 最高零售价 */ private BigDecimal maximumRetailPrice; + }