From b861e4d4b85de979b0e54085fe6fcd55fb1680d8 Mon Sep 17 00:00:00 2001 From: liupanting Date: Thu, 27 Feb 2025 11:40:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=8A=E7=96=97=E7=9B=AE=E5=BD=95=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DiagnosisTreatmentController.java | 59 +++++++++++--- .../MedicationManageController.java | 21 ++++- .../dto/DeviceManageSelParam.java | 3 - .../dto/DiagnosisTreatmentDto.java | 5 +- .../dto/DiagnosisTreatmentInitDto.java | 12 +-- .../dto/DiagnosisTreatmentSelParam.java | 2 +- .../dto/DiagnosisTreatmentUpDto.java | 5 +- .../mapper/MedicationManageSearchMapper.java | 3 + .../MedicationManageSearchMapper.xml | 76 +++++++++++++++++++ .../common/enums/ActivityDefCategory.java | 18 +++++ .../workflow/domain/ActivityDefinition.java | 5 +- 11 files changed, 181 insertions(+), 28 deletions(-) create mode 100644 openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ActivityDefCategory.java 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 cb8ecb92..0f4fec5b 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 @@ -10,11 +10,6 @@ import java.util.stream.Stream; import javax.servlet.http.HttpServletRequest; -import com.openhis.administration.domain.Location; -import com.openhis.common.enums.ConditionDefinitionSource; -import com.openhis.web.basedatamanage.dto.OrganizationQueryDto; -import com.openhis.web.basicservice.dto.HealthcareServiceInitDto; -import com.openhis.web.datadictionary.dto.*; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -22,15 +17,23 @@ 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.core.domain.entity.SysDictType; 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.enums.ActivityDefCategory; import com.openhis.common.enums.OrganizationType; import com.openhis.common.enums.PublicationStatus; import com.openhis.common.utils.HisPageUtils; import com.openhis.common.utils.HisQueryUtils; +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; @@ -52,6 +55,7 @@ public class DiagnosisTreatmentController { private final IActivityDefinitionService iActivityDefinitionService; private final ActivityDefinitionMapper activityDefinitionMapper; private final IOrganizationService iOrganizationService; + private final ISysDictTypeService iSysDictTypeService; /** * 诊疗目录初期查询 @@ -63,19 +67,56 @@ public class DiagnosisTreatmentController { DiagnosisTreatmentInitDto diagnosisTreatmentInitDto = new DiagnosisTreatmentInitDto(); // 获取状态 List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .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()); + .map(exeOrg -> new DiagnosisTreatmentInitDto.exeOrganization(exeOrg.getId(), exeOrg.getName())) + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations); // 获取诊疗分类 + // 查询医疗服务项 + SysDictType medical_service_item = + iSysDictTypeService.selectDictTypeByType(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getCode()); + // 查询医疗服务项类型 + 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(medical_service_item.getDictId(), + medical_service_item.getDictName()); + diseaseTreatmentCategory.setChildren(diseaseTreatmentCategoryList); + diseaseTreatmentCategories.add(diseaseTreatmentCategory); + diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); + + // 查询手术与治疗 + SysDictType medical_service_item2 = + iSysDictTypeService.selectDictTypeByType(ActivityDefCategory.TREATMENT_SURGERY.getCode()); + // 查询手术与治疗类型 + 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(medical_service_item2.getDictId(), + medical_service_item2.getDictName()); + diseaseTreatmentCategory2.setChildren(diseaseTreatmentCategoryList2); + diseaseTreatmentCategories.add(diseaseTreatmentCategory2); + diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); return R.ok(diagnosisTreatmentInitDto); } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/MedicationManageController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/MedicationManageController.java index a5745b1c..b0041e2e 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/MedicationManageController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/MedicationManageController.java @@ -6,7 +6,10 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.core.common.utils.poi.ExcelUtil; +import com.core.system.domain.SysOperLog; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -208,14 +211,26 @@ public class MedicationManageController { return null; } + /** * 药品目录导出 - * - * @param medicationManageDto 药品目录 + * @param searchKey 查询条件 + * @param statusEnum 查询条件-状态 + * @param ybMatchFlag 查询条件-是否对码 + * @param categoryCode 查询条件-药品分类 + * @param response * @return */ @GetMapping("/information-export") - public R exportDisease(@RequestBody MedicationManageDto medicationManageDto) { + public R exportMedication(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "ybMatchFlag", defaultValue = "-1") Integer ybMatchFlag, + @RequestParam(value = "statusEnum", defaultValue = "-1") Integer statusEnum, + @RequestParam(value = "categoryCode", defaultValue = "") String categoryCode, HttpServletResponse response) { + // 获取租户ID + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + List list = medicationManageSearchMapper.getList(searchKey,ybMatchFlag,statusEnum,categoryCode,tenantId); + ExcelUtil util = new ExcelUtil<>(MedicationManageDto.class); + util.exportExcel(response, list, "药品目录"); return null; } } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java index 4a2328a2..a51a2b21 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java @@ -16,9 +16,6 @@ public class DeviceManageSelParam { /** 器材分类 */ private Integer categoryEnum; - /** 器材种类 */ - private String typeCode; - /** 医保对码标记 */ private Integer ybMatchFlag; 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 7cd85117..a57edee7 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 @@ -2,6 +2,7 @@ package com.openhis.web.datadictionary.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.enums.ActivityDefCategory; import com.openhis.common.enums.PublicationStatus; import lombok.Data; @@ -21,7 +22,7 @@ public class DiagnosisTreatmentDto { private Long id; /** 目录类别 */ - private Integer categoryEnum; + private ActivityDefCategory categoryEnum; /** 编码 */ private String busNo; @@ -36,7 +37,7 @@ public class DiagnosisTreatmentDto { private String wbStr; /** 类型 */ - private Integer typeEnum; + private String typeCode; /** 使用单位 */ private String permittedUnitCode; diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentInitDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentInitDto.java index a6526890..ac908ee5 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentInitDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentInitDto.java @@ -38,11 +38,11 @@ public class DiagnosisTreatmentInitDto { */ @Data public static class diseaseTreatmentCategory { - private Integer value; + private Long value; private String info; - List children = new ArrayList<>(); + private List children = new ArrayList<>(); - public diseaseTreatmentCategory(Integer value, String info) { + public diseaseTreatmentCategory(Long value, String info) { this.value = value; this.info = info; } @@ -53,11 +53,11 @@ public class DiagnosisTreatmentInitDto { */ @Data public static class diseaseTreatmentType { - private Integer value; + private String value; private String info; - List children = new ArrayList<>(); + private List children = new ArrayList<>(); - public diseaseTreatmentType(Integer value, String info) { + public diseaseTreatmentType(String value, String info) { this.value = value; this.info = info; } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentSelParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentSelParam.java index cc6dddbb..fd5c2294 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentSelParam.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiagnosisTreatmentSelParam.java @@ -18,7 +18,7 @@ public class DiagnosisTreatmentSelParam { private Integer categoryEnum; /** 类型 */ - private Integer typeEnum; + private String typeCode; /** 医保对码标记 */ private Integer ybMatchFlag; 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 551d3cc4..873c27af 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 @@ -4,6 +4,7 @@ import javax.validation.constraints.NotBlank; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.enums.ActivityDefCategory; import lombok.Data; import lombok.experimental.Accessors; @@ -21,7 +22,7 @@ public class DiagnosisTreatmentUpDto { private Long id; /** 目录类别 */ - private Integer categoryEnum; + private ActivityDefCategory categoryEnum; /** 编码 */ @NotBlank(message = "项目编码不能为空") @@ -38,7 +39,7 @@ public class DiagnosisTreatmentUpDto { private String wbStr; /** 类型 */ - private Integer typeEnum; + private String typeCode; /** 使用单位 */ private String permittedUnitCode; diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/MedicationManageSearchMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/MedicationManageSearchMapper.java index 4ed11ede..47ecd5af 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/MedicationManageSearchMapper.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/MedicationManageSearchMapper.java @@ -55,4 +55,7 @@ public interface MedicationManageSearchMapper extends BaseMapper getList(@Param("searchKey") String searchKey, @Param("ybMatchFlag") Integer ybMatchFlag, + @Param("statusEnum") Integer statusEnum, @Param("categoryCode") String categoryCode,@Param("tenantId") Integer tenantId); } diff --git a/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/MedicationManageSearchMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/MedicationManageSearchMapper.xml index eb2ac380..c137eacc 100644 --- a/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/MedicationManageSearchMapper.xml +++ b/openhis-server/openhis-application/src/main/resources/mapper/datadictionary/MedicationManageSearchMapper.xml @@ -168,4 +168,80 @@ + \ No newline at end of file diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ActivityDefCategory.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ActivityDefCategory.java new file mode 100644 index 00000000..004aefbe --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ActivityDefCategory.java @@ -0,0 +1,18 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ActivityDefCategory { + MEDICAL_SERVICE_ITEM(1, "medical_service_item", "医疗服务项"), + + TREATMENT_SURGERY(2, "treatment_surgery", "手术与治疗"); + + @EnumValue + private final Integer value; + private final String code; + private final String info; +} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java index ae34a4e1..ec246aea 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.openhis.common.enums.ActivityDefCategory; import com.openhis.common.enums.PublicationStatus; import lombok.Data; @@ -27,7 +28,7 @@ public class ActivityDefinition extends HisBaseEntity { private Long id; /** 目录类别 */ - private Integer categoryEnum; + private ActivityDefCategory categoryEnum; /** 编码 */ private String busNo; @@ -42,7 +43,7 @@ public class ActivityDefinition extends HisBaseEntity { private String wbStr; /** 类型 */ - private Integer typeEnum; + private String typeCode; /** 使用单位 */ private String permittedUnitCode;