From 3bcfe18babcdb44a4c3e030859d79cd7ad1863cf Mon Sep 17 00:00:00 2001 From: anxin Date: Mon, 24 Feb 2025 17:03:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9C=BA=E6=9E=84organization=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrganizationController.java | 117 ++++++++++++++++++ .../service/IOrganizationService.java | 7 +- .../service/impl/OrganizationServiceImpl.java | 40 +++++- 3 files changed, 158 insertions(+), 6 deletions(-) create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationController.java diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationController.java new file mode 100644 index 00000000..5b9a8c25 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationController.java @@ -0,0 +1,117 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.basedatamanage.controller; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +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.enums.AssignSeqEnum; +import com.core.common.utils.AssignSeqUtil; +import com.core.common.utils.MessageUtils; +import com.openhis.administration.domain.Organization; +import com.openhis.administration.service.IOrganizationService; +import com.openhis.common.constant.PromptMsgConstant; + +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 机构管理(科室)controller + * + * @author + * @date 2025-02-21 + */ +@RestController +@RequestMapping("/basedatamanage/organization") +@Slf4j +@AllArgsConstructor +public class OrganizationController { + + private final IOrganizationService organizationService; + + @Autowired(required = false) + private AssignSeqUtil assignSeqUtil; + + /** + * 添加科室信息 + * + * @param organization 科室信息 + */ + @PostMapping("/organization") + public R addOrganization(@Validated @RequestBody Organization organization) { + + // 新增organization信息 + // Organization organization = new Organization(); + // BeanUtils.copyProperties(organizationdto, organization); + + // 基础采番 + String code = assignSeqUtil.getSeq(AssignSeqEnum.TEST.getPrefix()); + organization.setBus_no(code); + + boolean saveOrganizationSuccess = organizationService.save(organization); + + return saveOrganizationSuccess + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[] {"科室信息"})) + : R.fail(PromptMsgConstant.Common.M00007, null); + } + + /** + * 编辑科室信息 + * + * @param organization 科室信息 + */ + @PutMapping("/organization") + public R editOrganization(@Validated @RequestBody Organization organization) { + // 更新organization信息 + // Organization organization = new Organization(); + // BeanUtils.copyProperties(organizationdto, organization); + + boolean updateSuccess = organizationService.updateById(organization); + return updateSuccess + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"科室信息"})) + : R.fail(PromptMsgConstant.Common.M00007, null); + } + + /** + * 删除科室信息 + * + * @param orgId 主表id + */ + @DeleteMapping("/organization") + public R deleteSupplyRequest(@RequestParam Long orgId) { + + boolean deleteSuccess = organizationService.removeById(orgId); + + return deleteSuccess + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"科室信息"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00006, new Object[] {"科室信息删除失败"})); + } + + /** + * 科室分页列表 + * + * @param classEnum 机构分类枚举 + * @param activeFlag 活动标识 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @param request 请求数据 + * @return 科室分页列表 + */ + @GetMapping(value = "/organization") + public R getOrganizationPage(Integer classEnum, Integer activeFlag, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + + // 查询【科室】分页列表 + Page organizationPage = + organizationService.getOrganizationPage(classEnum, activeFlag, pageNo, pageSize); + return R.ok(organizationPage); + } + +} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationService.java index a64cc4ed..c9853467 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationService.java @@ -1,14 +1,15 @@ package com.openhis.administration.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.administration.domain.Organization; /** - * 机构管理Service接口 + * 机构管理(科室)Service接口 * * @author system - * @date 2025-02-20 + * @date 2025-02-21 */ public interface IOrganizationService extends IService { - + Page getOrganizationPage(Integer classEnum,Integer activeFlag, Integer pageNo, Integer pageSize); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java index e97a117c..4586afbc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java @@ -1,19 +1,53 @@ package com.openhis.administration.service.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +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.administration.domain.Organization; import com.openhis.administration.mapper.OrganizationMapper; import com.openhis.administration.service.IOrganizationService; +import com.openhis.common.enums.DelFlag; /** - * 机构管理Service业务层处理 + * 机构管理(科室)Service业务层处理 * * @author system - * @date 2025-02-20 + * @date 2025-02-21 */ @Service -public class OrganizationServiceImpl extends ServiceImpl implements IOrganizationService { +public class OrganizationServiceImpl extends ServiceImpl + implements IOrganizationService { + + @Autowired + private OrganizationMapper organizationMapper; + + /** + * 查询科室列表 + * + * @param classEnum 机构分类枚举 + * @param activeFlag 活动标识 + * @return 科室列表 + */ + @Override + public Page getOrganizationPage(Integer classEnum,Integer activeFlag, Integer pageNo, Integer pageSize) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + if (classEnum != null) { + queryWrapper.eq(Organization::getTypeEnum, classEnum); + } + + if (activeFlag != null) { + queryWrapper.eq(Organization::getTypeEnum, activeFlag); + } + + Page organizationPage = organizationMapper.selectPage(new Page<>(pageNo, pageSize), queryWrapper); + + // 返回科室信息列表 + return organizationPage; + } } \ No newline at end of file From 6cb9019cfb0d9669dd3313f51d858266d38235ae Mon Sep 17 00:00:00 2001 From: liupanting Date: Mon, 24 Feb 2025 17:15:17 +0800 Subject: [PATCH 2/2] =?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 --- .../controller/DiseaseManageController.java | 49 ++++++++++++++++--- .../clinical/domain/ConditionDefinition.java | 8 +-- .../service/IConditionDefinitionService.java | 27 +++++----- .../impl/ConditionDefinitionServiceImpl.java | 31 ++++++------ 4 files changed, 74 insertions(+), 41 deletions(-) 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 28d0db24..8ee8e339 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,17 +1,19 @@ package com.openhis.web.datadictionary.controller; +import java.util.Arrays; 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.core.common.utils.MessageUtils; 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 lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -36,7 +38,9 @@ public class DiseaseManageController { */ @GetMapping("/information-category") public R getDiseaseCategory() { - return null; + // 获取疾病目录种类 + List statusList = Arrays.asList(ConditionDefinitionSource.values()); + return R.ok(statusList); } /** @@ -44,6 +48,7 @@ public class DiseaseManageController { * * @param searchKey 查询条件 * @param status 查询条件-状态 + * @param status 查询条件-疾病种类 * @param pageNo 当前页码 * @param pageSize 查询条数 * @return @@ -52,18 +57,36 @@ public class DiseaseManageController { 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); + iConditionDefinitionService.getPage(searchKey, status, sourceEnum, pageNo, pageSize); // 返回【病种目录列表DTO】分页 return R.ok(diseasePage); } - // 病种目录编辑 + /** + * 根据id查询疾病详情 + * + * @param id 疾病ID + * @return + */ + @GetMapping("/information-one") + public R getDiseaseOne(@RequestParam(value = "id", required = false, defaultValue = "0") Long id) { + + // 根据ID查询【病种目录】 + ConditionDefinition byId = iConditionDefinitionService.getById(id); + return R.ok(byId); + } + + /** + * 病种目录编辑 + * + * @param conditionDefinitionList 病种目录实体列表 + * @return + */ @PutMapping("/information") public R editDisease(@RequestBody List conditionDefinitionList) { // 更新病种信息 @@ -72,17 +95,27 @@ public class DiseaseManageController { : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } - // 新增外来病种目录 + /** + * 新增外来病种目录 + * + * @param conditionDefinition 病种目录实体 + * @return + */ @PostMapping("/information") public R addDisease(@RequestBody ConditionDefinition conditionDefinition) { // 新增外来病种目录 return iConditionDefinitionService.addDisease(conditionDefinition) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"病种目录"})) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"})) : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } - // 新增医保病种目录 + /** + * 新增医保病种目录 + * + * @param conditionDefinition 病种目录实体 + * @return + */ @PostMapping("/information-yb") void AddYbDisease(@RequestBody ConditionDefinition conditionDefinition) {} } diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java index 4f45ddfe..43ce81a7 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java @@ -1,15 +1,12 @@ package com.openhis.clinical.domain; -import java.math.BigDecimal; -import java.util.Date; - 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.ConditionDefinitionSource; import com.openhis.common.enums.PublicationStatus; + import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -34,7 +31,7 @@ public class ConditionDefinition extends HisBaseEntity { private ConditionDefinitionSource sourceEnum; /** 编码 */ - private String condition_code; + private String conditionCode; /** 诊断名称 */ private String name; @@ -63,5 +60,4 @@ public class ConditionDefinition extends HisBaseEntity { /** 状态 */ private PublicationStatus statusEnum; - } 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 220d5ba8..77588421 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,7 +1,5 @@ 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; @@ -13,28 +11,33 @@ import com.openhis.clinical.domain.ConditionDefinition; * @date 2025-02-20 */ public interface IConditionDefinitionService extends IService { - /** - * 病种分类查询 - * - * @return - */ - List getMedicationCategory(); /** * 查询病种目录分页列表 - * + * * @param searchKey 查询条件 * @param status 查询条件-状态 + * @param sourceEnum 查询条件-疾病种类 * @param pageNo 当前页码 * @param pageSize 查询条数 * @return */ - Page getPage(String searchKey, Integer status, Integer source_enum, Long id, Integer pageNo, + Page getPage(String searchKey, Integer status, Integer sourceEnum, Integer pageNo, Integer pageSize); - // 新增病种目录 + /** + * 新增病种 + * + * @param conditionDefinition 病种目录实体 + * @return + */ boolean addDisease(ConditionDefinition conditionDefinition); - // 新增医保病种目录 + /** + * 新增医保病种 + * + * @param conditionDefinition 病种目录实体 + * @return + */ 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 b76cc15d..a4c59484 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 @@ -12,7 +12,6 @@ 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; @@ -31,22 +30,18 @@ public class ConditionDefinitionServiceImpl extends ServiceImpl getMedicationCategory() { - return null; - } - /** * 查询病种目录分页列表 * * @param searchKey 查询条件 * @param status 查询条件-状态 + * @param sourceEnum 查询条件-疾病种类 * @param pageNo 当前页码 * @param pageSize 查询条数 * @return */ @Override - public Page getPage(String searchKey, Integer status, Integer sourceEnum, Long id, Integer pageNo, + public Page getPage(String searchKey, Integer status, Integer sourceEnum, Integer pageNo, Integer pageSize) { Page conditionList; // 生成查询条件 @@ -54,7 +49,7 @@ public class ConditionDefinitionServiceImpl extends ServiceImpl q.like(ConditionDefinition::getCondition_code, searchKey).or() + queryWrapper.and(q -> q.like(ConditionDefinition::getConditionCode, searchKey).or() .like(ConditionDefinition::getName, searchKey).or().like(ConditionDefinition::getPyStr, searchKey).or() .like(ConditionDefinition::getWbStr, searchKey)); } @@ -66,25 +61,25 @@ public class ConditionDefinitionServiceImpl extends ServiceImpl(pageNo, pageSize), queryWrapper); // 返回病种目录列表 return conditionList; } + /** + * 新增病种 + * + * @param conditionDefinition 病种目录实体 + * @return + */ @Override @Transactional(rollbackFor = Exception.class) public boolean addDisease(ConditionDefinition conditionDefinition) { // 根据病种编码判断病种是否存在 List conditionDefinitions = conditionDefinitionMapper.selectList(new LambdaQueryWrapper() - .eq(ConditionDefinition::getCondition_code, conditionDefinition.getCondition_code())); + .eq(ConditionDefinition::getConditionCode, conditionDefinition.getConditionCode())); if (conditionDefinitions.size() > 0) { return false; } @@ -96,6 +91,12 @@ public class ConditionDefinitionServiceImpl extends ServiceImpl