From cebe37809eae02c398454a20e27388f8282f41e7 Mon Sep 17 00:00:00 2001 From: liupanting Date: Tue, 25 Feb 2025 11:48:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=96=BE=E7=97=85=E7=9B=AE=E5=BD=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DiseaseManageController.java | 54 +++++++++++++--- .../datadictionary/dto/DiseaseManageDto.java | 61 +++++++++++++++++++ .../datadictionary/dto/DiseaseSourceDto.java | 18 ++++++ 3 files changed, 124 insertions(+), 9 deletions(-) create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseManageDto.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseSourceDto.java diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java index 8ee8e339..1a4272fe 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java @@ -1,19 +1,25 @@ package com.openhis.web.datadictionary.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.core.common.utils.MessageUtils; +import com.core.common.utils.bean.BeanUtils; import com.openhis.clinical.domain.ConditionDefinition; import com.openhis.clinical.service.IConditionDefinitionService; import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.enums.ConditionDefinitionSource; +import com.openhis.web.datadictionary.dto.DiseaseManageDto; +import com.openhis.web.datadictionary.dto.DiseaseSourceDto; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -40,7 +46,16 @@ public class DiseaseManageController { public R getDiseaseCategory() { // 获取疾病目录种类 List statusList = Arrays.asList(ConditionDefinitionSource.values()); - return R.ok(statusList); + List diseaseSourceDtos = new ArrayList<>(); + // 取得更新值 + for (ConditionDefinitionSource detail : statusList) { + DiseaseSourceDto diseaseSourceDto = new DiseaseSourceDto(); + diseaseSourceDto.setCode(detail.getCode()); + diseaseSourceDto.setValue(detail.getValue()); + diseaseSourceDto.setInfo(detail.getInfo()); + diseaseSourceDtos.add(diseaseSourceDto); + } + return R.ok(diseaseSourceDtos); } /** @@ -63,8 +78,18 @@ public class DiseaseManageController { // 查询【病种目录】分页列表 Page diseasePage = iConditionDefinitionService.getPage(searchKey, status, sourceEnum, pageNo, pageSize); + + // 获取入病种目录列表 + Page diseaseManageDtoPage = new Page<>(); + diseaseManageDtoPage.setRecords(diseasePage.getRecords().stream().map(entity -> { + // 定义【入病种目录列表DTO】 + DiseaseManageDto dto = new DiseaseManageDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + }).collect(Collectors.toList())); + // 返回【病种目录列表DTO】分页 - return R.ok(diseasePage); + return R.ok(diseaseManageDtoPage); } /** @@ -73,8 +98,8 @@ public class DiseaseManageController { * @param id 疾病ID * @return */ - @GetMapping("/information-one") - public R getDiseaseOne(@RequestParam(value = "id", required = false, defaultValue = "0") Long id) { + @GetMapping("/information-one/{id}") + public R getDiseaseOne(@PathVariable("id") Long id) { // 根据ID查询【病种目录】 ConditionDefinition byId = iConditionDefinitionService.getById(id); @@ -84,11 +109,18 @@ public class DiseaseManageController { /** * 病种目录编辑 * - * @param conditionDefinitionList 病种目录实体列表 + * @param diseaseManageDtos 病种目录列表 * @return */ @PutMapping("/information") - public R editDisease(@RequestBody List conditionDefinitionList) { + public R editDisease(@RequestBody List diseaseManageDtos) { + List conditionDefinitionList = new ArrayList<>(); + // 取得更新值 + for (DiseaseManageDto detail : diseaseManageDtos) { + ConditionDefinition conditionDefinition = new ConditionDefinition(); + BeanUtils.copyProperties(detail, conditionDefinition); + conditionDefinitionList.add(conditionDefinition); + } // 更新病种信息 return iConditionDefinitionService.updateBatchById(conditionDefinitionList) ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, null)) @@ -98,11 +130,13 @@ public class DiseaseManageController { /** * 新增外来病种目录 * - * @param conditionDefinition 病种目录实体 + * @param diseaseManageDto 病种目录实体 * @return */ @PostMapping("/information") - public R addDisease(@RequestBody ConditionDefinition conditionDefinition) { + public R addDisease(@Validated @RequestBody DiseaseManageDto diseaseManageDto) { + ConditionDefinition conditionDefinition = new ConditionDefinition(); + BeanUtils.copyProperties(diseaseManageDto, conditionDefinition); // 新增外来病种目录 return iConditionDefinitionService.addDisease(conditionDefinition) ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"})) @@ -117,5 +151,7 @@ public class DiseaseManageController { * @return */ @PostMapping("/information-yb") - void AddYbDisease(@RequestBody ConditionDefinition conditionDefinition) {} + public R addYbDisease(@RequestBody ConditionDefinition conditionDefinition) { + return null; + } } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseManageDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseManageDto.java new file mode 100644 index 00000000..63b3c15b --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseManageDto.java @@ -0,0 +1,61 @@ +package com.openhis.web.datadictionary.dto; + +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.ConditionDefinitionSource; +import com.openhis.common.enums.PublicationStatus; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 疾病目录分页Dto + * + * @author lpt + * @date 2025-02-25 + */ +@Data +@Accessors(chain = true) +public class DiseaseManageDto { + /** ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 所属分类 */ + private ConditionDefinitionSource sourceEnum; + + /** 编码 */ + @NotBlank(message = "疾病编码不能为空") + private String conditionCode; + + /** 诊断名称 */ + @NotBlank(message = "疾病名称不能为空") + private String name; + + /** 诊断名称拼音 */ + private String pyStr; + + /** 诊断名称五笔拼音 */ + private String wbStr; + + /** 类型 */ + private String typeCode; + + /** 描述 */ + private String description; + + /** 医保标记 */ + private Integer ybFlag; + + /** 医保编码 */ + private String ybNo; + + /** 医保对码标记 */ + private Integer ybMatchFlag; + + /** 状态 */ + private PublicationStatus statusEnum; + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseSourceDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseSourceDto.java new file mode 100644 index 00000000..2d7bf785 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseSourceDto.java @@ -0,0 +1,18 @@ +package com.openhis.web.datadictionary.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 疾病目录种别dto + * + * @author lpt + * @date 2025-02-25 + */ +@Data +@Accessors(chain = true) +public class DiseaseSourceDto { + private Integer value; + private String code; + private String info; +}