From 23c6050be4333c783ad4f7e12a735a7b4744edaa Mon Sep 17 00:00:00 2001 From: liupanting Date: Fri, 21 Feb 2025 15:47:46 +0800 Subject: [PATCH 1/3] =?UTF-8?q?pom.xml=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openhis-server/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhis-server/pom.xml b/openhis-server/pom.xml index b81d0790..7a6e5e3c 100644 --- a/openhis-server/pom.xml +++ b/openhis-server/pom.xml @@ -36,7 +36,7 @@ 5.7.12 5.3.39 1.18.26 - 3.4.2 + 3.5.3 6.8.0 From a26b626e5ff0671c4f35fef826082fe6d20e33a4 Mon Sep 17 00:00:00 2001 From: liupanting Date: Fri, 21 Feb 2025 15:49:03 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datadictionary/dto/{DiseaseInDto.java => DiseaseDto.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/{DiseaseInDto.java => DiseaseDto.java} (96%) diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseInDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java similarity index 96% rename from openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseInDto.java rename to openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java index 1b32fbc2..f91b6963 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseInDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class DiseaseInDto { +public class DiseaseDto { /** 所属分类 */ private Integer sourceEnum; From 3c82374029ec0684bdc14b1fa01bf051f09031c5 Mon Sep 17 00:00:00 2001 From: liupanting Date: Mon, 24 Feb 2025 15:23:24 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=97=85=E7=A7=8D=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assembler/DiseaseManagementAssembler.java | 4 - .../controller/DiseaseManageController.java | 88 +++++++++++++++++++ .../DiseaseManagementController.java | 64 -------------- .../web/datadictionary/dto/DiseaseDto.java | 52 ----------- .../service/IConditionDefinitionService.java | 26 ++++++ .../impl/ConditionDefinitionServiceImpl.java | 88 ++++++++++++++++++- 6 files changed, 200 insertions(+), 122 deletions(-) delete mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/DiseaseManagementAssembler.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java delete mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java delete mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/DiseaseManagementAssembler.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/DiseaseManagementAssembler.java deleted file mode 100644 index ffe13843..00000000 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/DiseaseManagementAssembler.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.openhis.web.datadictionary.assembler; - -public class DiseaseManagementAssembler { -} 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 new file mode 100644 index 00000000..28d0db24 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java @@ -0,0 +1,88 @@ +package com.openhis.web.datadictionary.controller; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import com.core.common.utils.MessageUtils; +import org.springframework.web.bind.annotation.*; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.openhis.clinical.domain.ConditionDefinition; +import com.openhis.clinical.service.IConditionDefinitionService; +import com.openhis.common.constant.PromptMsgConstant; + +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * TODO:病种目录 + * + * @author lpt + * @date 2025-02-20 + */ +@RestController +@RequestMapping("/datadictionary/disease") +@Slf4j +@AllArgsConstructor +public class DiseaseManageController { + private final IConditionDefinitionService iConditionDefinitionService; + + /** + * 病种目录分类查询 + * + * @return + */ + @GetMapping("/information-category") + public R getDiseaseCategory() { + return null; + } + + /** + * 查询病种目录分页列表 + * + * @param searchKey 查询条件 + * @param status 查询条件-状态 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return + */ + @GetMapping("/information-page") + public R getDiseaseList(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "status", defaultValue = "-1") Integer status, + @RequestParam(value = "sourceEnum", defaultValue = "-1") Integer sourceEnum, + @RequestParam(value = "id", defaultValue = "-1") Long id, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + + // 查询【病种目录】分页列表 + Page diseasePage = + iConditionDefinitionService.getPage(searchKey, status, sourceEnum, id,pageNo, pageSize); + // 返回【病种目录列表DTO】分页 + return R.ok(diseasePage); + } + + // 病种目录编辑 + @PutMapping("/information") + public R editDisease(@RequestBody List conditionDefinitionList) { + // 更新病种信息 + return iConditionDefinitionService.updateBatchById(conditionDefinitionList) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, null)) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + } + + // 新增外来病种目录 + @PostMapping("/information") + public R addDisease(@RequestBody ConditionDefinition conditionDefinition) { + // 新增外来病种目录 + return iConditionDefinitionService.addDisease(conditionDefinition) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"病种目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + + } + + // 新增医保病种目录 + @PostMapping("/information-yb") + void AddYbDisease(@RequestBody ConditionDefinition conditionDefinition) {} +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java deleted file mode 100644 index e84318de..00000000 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.openhis.web.datadictionary.controller; - -import java.util.List; - -import com.core.common.utils.bean.BeanUtils; -import com.openhis.web.datadictionary.dto.DiseaseInDto; -import org.springframework.web.bind.annotation.*; - -import com.openhis.clinical.domain.ConditionDefinition; -import com.openhis.clinical.service.IConditionDefinitionService; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * TODO:病种目录 - * - * @author lpt - * @date 2025-02-20 - */ -@RestController -@RequestMapping("/DataDictionary-DiseaseManagement") -@Slf4j -@AllArgsConstructor -public class DiseaseManagementController { - private final IConditionDefinitionService iConditionDefinitionService; - - /** - * 病种目录分类查询 - * - * @return - */ - @GetMapping("/GetDiseaseCategory") - public List GetDiseaseCategory() { - return null; - } - - /** - * 病种目录查询 - * - * @param - * @return - */ - @GetMapping("/GetDiseaseList") - public List GetDiseaseList() { - return null; - } - - // 病种目录编辑 - @PutMapping("/EditDisease") - void EditDisease() {} - - // 新增外来病种目录 - @PostMapping("/AddDisease") - void AddDisease(DiseaseInDto diseaseInDto) { - ConditionDefinition conditionDefinition = new ConditionDefinition(); - BeanUtils.copyProperties(diseaseInDto,conditionDefinition); -// iConditionDefinitionService.AddDisease(conditionDefinition); - } - - // 新增医保病种目录 - @PostMapping("/AddYbDisease") - void AddYbDisease(@RequestParam int id) {} -} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java deleted file mode 100644 index f91b6963..00000000 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DiseaseDto.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.openhis.web.datadictionary.dto; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 病种目录列表 dto - * - * @author lpt - * @date 2025-02-20 - */ -@Data -@Accessors(chain = true) -public class DiseaseDto { - /** 所属分类 */ - private Integer sourceEnum; - - /** 编码 */ - private String code; - - /** 诊断名称 */ - private String name; - - /** 诊断名称拼音 */ - private String pyCode; - - /** 诊断名称五笔拼音 */ - private String wbCode; - - /** 类型 */ - private String typeCode; - - /** 描述 */ - private String description; - - /** 医保标记 */ - private Integer ybFlag; - - /** 医保编码 */ - private String ybCode; - - /** 医保对码标记 */ - private Integer ybMatchFlag; - - /** 状态 */ - private Integer statusEnum; - - /** 删除状态 */ - private Integer deleteFlag; - /** 租户 */ - private Integer tenantId; -} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IConditionDefinitionService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IConditionDefinitionService.java index 078dd624..220d5ba8 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IConditionDefinitionService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IConditionDefinitionService.java @@ -1,5 +1,8 @@ package com.openhis.clinical.service; +import java.util.List; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.clinical.domain.ConditionDefinition; @@ -10,5 +13,28 @@ import com.openhis.clinical.domain.ConditionDefinition; * @date 2025-02-20 */ public interface IConditionDefinitionService extends IService { + /** + * 病种分类查询 + * + * @return + */ + List getMedicationCategory(); + /** + * 查询病种目录分页列表 + * + * @param searchKey 查询条件 + * @param status 查询条件-状态 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return + */ + Page getPage(String searchKey, Integer status, Integer source_enum, Long id, Integer pageNo, + Integer pageSize); + + // 新增病种目录 + boolean addDisease(ConditionDefinition conditionDefinition); + + // 新增医保病种目录 + boolean addYbDisease(ConditionDefinition conditionDefinition); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/ConditionDefinitionServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/ConditionDefinitionServiceImpl.java index c737f067..b76cc15d 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/ConditionDefinitionServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/ConditionDefinitionServiceImpl.java @@ -1,11 +1,21 @@ package com.openhis.clinical.service.impl; -import org.springframework.stereotype.Service; +import java.util.List; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.openhis.clinical.domain.ConditionDefinition; import com.openhis.clinical.mapper.ConditionDefinitionMapper; import com.openhis.clinical.service.IConditionDefinitionService; +import com.openhis.common.enums.DelFlag; + +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; /** * 诊断定义管理Service业务层处理 @@ -13,7 +23,81 @@ import com.openhis.clinical.service.IConditionDefinitionService; * @author system * @date 2025-02-20 */ +@Slf4j @Service -public class ConditionDefinitionServiceImpl extends ServiceImpl implements IConditionDefinitionService { +@AllArgsConstructor +public class ConditionDefinitionServiceImpl extends ServiceImpl + implements IConditionDefinitionService { + private final ConditionDefinitionMapper conditionDefinitionMapper; + + @Override + public List getMedicationCategory() { + return null; + } + + /** + * 查询病种目录分页列表 + * + * @param searchKey 查询条件 + * @param status 查询条件-状态 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return + */ + @Override + public Page getPage(String searchKey, Integer status, Integer sourceEnum, Long id, Integer pageNo, + Integer pageSize) { + Page conditionList; + // 生成查询条件 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + // 模糊查询项目 + if (StringUtils.isNotEmpty(searchKey)) { + // 模糊查询项目为【疾病编码】,【疾病名称】,【拼音】,【五笔】 + queryWrapper.and(q -> q.like(ConditionDefinition::getCondition_code, searchKey).or() + .like(ConditionDefinition::getName, searchKey).or().like(ConditionDefinition::getPyStr, searchKey).or() + .like(ConditionDefinition::getWbStr, searchKey)); + } + // 查询状态 + if (status != -1) { + queryWrapper.eq(ConditionDefinition::getStatusEnum, status); + } + // 分类查询 + if (sourceEnum != -1) { + queryWrapper.eq(ConditionDefinition::getSourceEnum, sourceEnum); + } + // Id查询 + if (id != -1) { + queryWrapper.eq(ConditionDefinition::getId, id); + } + // 查询删除状态 + queryWrapper.eq(ConditionDefinition::getDeleteFlag, DelFlag.NO.getCode()); + // 查询病种目录列表 + conditionList = conditionDefinitionMapper.selectPage(new Page<>(pageNo, pageSize), queryWrapper); + // 返回病种目录列表 + return conditionList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addDisease(ConditionDefinition conditionDefinition) { + // 根据病种编码判断病种是否存在 + List conditionDefinitions = + conditionDefinitionMapper.selectList(new LambdaQueryWrapper() + .eq(ConditionDefinition::getCondition_code, conditionDefinition.getCondition_code())); + if (conditionDefinitions.size() > 0) { + return false; + } + // 新增病种 + int insert = conditionDefinitionMapper.insert(conditionDefinition); + if (insert != 1) { + return false; + } + return true; + } + + @Override + public boolean addYbDisease(ConditionDefinition conditionDefinition) { + return false; + } } \ No newline at end of file