From 702162dba7c934b206c31d286a5b3886674d0b96 Mon Sep 17 00:00:00 2001 From: anxin Date: Thu, 13 Mar 2025 19:06:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E6=9E=84=E4=BD=8D=E7=BD=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IOrganizationLocationAppService.java | 48 +++++++++ .../OrganizationLocationAppServiceImpl.java | 101 ++++++++++++++++++ .../OrganizationLocationController.java | 76 ++----------- .../basedatamanage/dto/LocationQueryDto.java | 9 +- .../basedatamanage/dto/OrgLocQueryDto.java | 9 +- .../administration/domain/Organization.java | 1 - 6 files changed, 165 insertions(+), 79 deletions(-) create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/IOrganizationLocationAppService.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/IOrganizationLocationAppService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/IOrganizationLocationAppService.java new file mode 100644 index 00000000..78412fe3 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/IOrganizationLocationAppService.java @@ -0,0 +1,48 @@ +package com.openhis.web.basedatamanage.appservice; + +import javax.servlet.http.HttpServletRequest; + +import com.core.common.core.domain.R; +import com.openhis.web.basedatamanage.dto.OrgLocQueryDto; +import com.openhis.web.basedatamanage.dto.OrgLocQueryParam; + +/** + * Organization 应该服务类 + */ +public interface IOrganizationLocationAppService { + /** + * 查询机构位置 + * + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @param request 请求数据 + * @return 机构位置分页列表 + */ + R getOrgLocPage(OrgLocQueryParam orgLocQueryParam, String searchKey, Integer pageNo, Integer pageSize, + HttpServletRequest request); + + /** + * 机构位置信息详情 + * + * @param orgLocId 机构位置信息id + * @return 机构位置信息详情 + */ + R getOrgLocById(Long orgLocId); + + /** + * 添加/编辑机构位置信息 + * + * @param orgLocQueryDto 机构位置信息 + * @return 操作结果 + */ + R addOrEditOrgLoc(OrgLocQueryDto orgLocQueryDto); + + /** + * 机构位置信息 + * + * @param orgLocId 机构位置信息id + * @return 操作结果 + */ + R deleteOrgLoc(Long orgLocId); + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java new file mode 100644 index 00000000..67e8fc9c --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java @@ -0,0 +1,101 @@ +package com.openhis.web.basedatamanage.appservice.impl; + +import java.util.Arrays; +import java.util.HashSet; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +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.utils.MessageUtils; +import com.openhis.administration.domain.OrganizationLocation; +import com.openhis.administration.mapper.OrganizationLocationMapper; +import com.openhis.administration.service.IOrganizationLocationService; +import com.openhis.common.constant.PromptMsgConstant; +import com.openhis.common.utils.HisPageUtils; +import com.openhis.common.utils.HisQueryUtils; +import com.openhis.web.basedatamanage.appservice.IOrganizationLocationAppService; +import com.openhis.web.basedatamanage.dto.OrgLocQueryDto; +import com.openhis.web.basedatamanage.dto.OrgLocQueryParam; + +@Service +public class OrganizationLocationAppServiceImpl implements IOrganizationLocationAppService { + + @Autowired + private OrganizationLocationMapper organizationLocationMapper; + + @Autowired + private IOrganizationLocationService organizationLocationService; + + @Override + public R getOrgLocPage(OrgLocQueryParam orgLocQueryParam, String searchKey, Integer pageNo, Integer pageSize, + HttpServletRequest request) { + + // 构建查询条件 + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(orgLocQueryParam, searchKey, + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), request); + + // 查询机构位置分页列表 + Page orgLocQueryDtoPage = + HisPageUtils.selectPage(organizationLocationMapper, queryWrapper, pageNo, pageSize, OrgLocQueryDto.class); + + return R.ok(orgLocQueryDtoPage); + } + + /** + * 机构位置信息详情 + * + * @param orgLocId 机构位置信息id + * @return 机构位置信息详情 + */ + @Override + public R getOrgLocById(Long orgLocId) { + OrganizationLocation orgLoc = organizationLocationService.getById(orgLocId); + return R.ok(orgLoc, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"机构位置信息查询"})); + } + + /** + * 添加/编辑机构位置信息 + * + * @param orgLocQueryDto 机构位置信息 + * @return 操作结果 + */ + @Override + public R addOrEditOrgLoc(OrgLocQueryDto orgLocQueryDto) { + + OrganizationLocation orgLoc = new OrganizationLocation(); + BeanUtils.copyProperties(orgLocQueryDto, orgLoc); + + if (orgLocQueryDto.getId() != null) { + // 更新机构位置信息 + organizationLocationService.updateById(orgLoc); + } else { + // 新增机构位置信息 + organizationLocationService.save(orgLoc); + } + // 返回机构位置id + return R.ok(orgLoc.getId(), + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"机构位置信息更新添加"})); + } + + /** + * 删除机构位置 + * + * @param orgLocId 机构位置信息id + * @return 操作结果 + */ + @Override + public R deleteOrgLoc(Long orgLocId) { + // 删除机构位置信息 + boolean deleteOrgLocSuccess = organizationLocationService.removeById(orgLocId); + return deleteOrgLocSuccess + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"机构位置信息"})) + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, new Object[] {"机构位置信息"})); + } + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationLocationController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationLocationController.java index f72826fa..22535fd3 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationLocationController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/controller/OrganizationLocationController.java @@ -3,30 +3,18 @@ */ package com.openhis.web.basedatamanage.controller; -import java.util.Arrays; -import java.util.HashSet; - import javax.servlet.http.HttpServletRequest; -import org.springframework.beans.BeanUtils; 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.utils.MessageUtils; import com.openhis.administration.domain.Location; -import com.openhis.administration.domain.OrganizationLocation; -import com.openhis.administration.mapper.OrganizationLocationMapper; import com.openhis.administration.service.ILocationService; -import com.openhis.administration.service.IOrganizationLocationService; import com.openhis.administration.service.IOrganizationService; -import com.openhis.common.constant.PromptMsgConstant; -import com.openhis.common.utils.HisPageUtils; -import com.openhis.common.utils.HisQueryUtils; +import com.openhis.web.basedatamanage.appservice.IOrganizationLocationAppService; import com.openhis.web.basedatamanage.dto.OrgLocInitDto; import com.openhis.web.basedatamanage.dto.OrgLocQueryDto; import com.openhis.web.basedatamanage.dto.OrgLocQueryParam; @@ -46,9 +34,6 @@ import lombok.extern.slf4j.Slf4j; @AllArgsConstructor public class OrganizationLocationController { - @Autowired - private final IOrganizationLocationService organizationLocationService; - @Autowired private IOrganizationService organizationService; @@ -56,7 +41,7 @@ public class OrganizationLocationController { private ILocationService locationService; @Autowired - private OrganizationLocationMapper organizationLocationMapper; + private IOrganizationLocationAppService iOrganizationLocationAppService; /** * 机构位置关系初始化 @@ -88,40 +73,8 @@ public class OrganizationLocationController { @RequestParam(value = "searchKey", defaultValue = "") String searchKey, @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + return iOrganizationLocationAppService.getOrgLocPage(orgLocQueryParam, searchKey, pageNo, pageSize, request); - // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(orgLocQueryParam, searchKey, - new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), request); - - // 设置排序 - queryWrapper.orderByDesc("create_time"); - - // 执行分页查询并转换为 orgLocQueryDtoPage - Page orgLocQueryDtoPage = - HisPageUtils.selectPage(organizationLocationMapper, queryWrapper, pageNo, pageSize, OrgLocQueryDto.class); - - return R.ok(orgLocQueryDtoPage, - MessageUtils.createMessage(PromptMsgConstant.Common.M00009, new Object[] {"机构信息"})); - - } - - /** - * 添加机构位置关系信息 - * - * @param orgLocQueryDto 机构位置关系信息 - */ - @PostMapping("/org-loc") - public R addOrgLoc(@Validated @RequestBody OrgLocQueryDto orgLocQueryDto) { - - // 新增organizationLocation信息 - OrganizationLocation orgLoc = new OrganizationLocation(); - BeanUtils.copyProperties(orgLocQueryDto, orgLoc); - - boolean saveOrgLocSuccess = organizationLocationService.save(orgLoc); - - return saveOrgLocSuccess - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[] {"机构位置关系信息"})) - : R.fail(PromptMsgConstant.Common.M00007, null); } /** @@ -131,9 +84,7 @@ public class OrganizationLocationController { */ @GetMapping("/org-loc-getById") public R getOrgLocById(@Validated @RequestParam Long orgLocId) { - - OrganizationLocation orgLoc = organizationLocationService.getById(orgLocId); - return R.ok(orgLoc, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, new Object[] {"机构位置关系信息"})); + return iOrganizationLocationAppService.getOrgLocById(orgLocId); } /** @@ -142,16 +93,8 @@ public class OrganizationLocationController { * @param orgLocQueryDto 机构位置关系信息 */ @PutMapping("/org-loc") - public R editOrgLoc(@Validated @RequestBody OrgLocQueryDto orgLocQueryDto) { - - // 编辑organizationLocation信息 - OrganizationLocation orgLoc = new OrganizationLocation(); - BeanUtils.copyProperties(orgLocQueryDto, orgLoc); - - boolean editOrgLocSuccess = organizationLocationService.updateById(orgLoc); - return editOrgLocSuccess - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"机构位置关系信息"})) - : R.fail(PromptMsgConstant.Common.M00007, null); + public R addOrEditOrgLoc(@Validated @RequestBody OrgLocQueryDto orgLocQueryDto) { + return iOrganizationLocationAppService.addOrEditOrgLoc(orgLocQueryDto); } /** @@ -161,12 +104,7 @@ public class OrganizationLocationController { */ @DeleteMapping("/org-loc") public R delOrgLoc(@RequestParam Long orgLocId) { - - boolean delOrgLocSuccess = organizationLocationService.removeById(orgLocId); - - return delOrgLocSuccess - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"机构位置关系信息"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00006, new Object[] {"机构位置关系信息"})); + return iOrganizationLocationAppService.deleteOrgLoc(orgLocId); } } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/LocationQueryDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/LocationQueryDto.java index 750dcf5e..92ea55e7 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/LocationQueryDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/LocationQueryDto.java @@ -11,9 +11,6 @@ import javax.validation.constraints.NotNull; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.openhis.common.enums.LocationBedStatus; -import com.openhis.common.enums.LocationMode; -import com.openhis.common.enums.LocationStatus; import lombok.Data; import lombok.experimental.Accessors; @@ -39,19 +36,19 @@ public class LocationQueryDto { /** 状态编码 */ @NotNull(message = "状态编码不能为空") -// private LocationStatus statusEnum; + // private LocationStatus statusEnum; private Integer statusEnum; private String statusEnum_enumText; /** 操作状态 */ @NotNull(message = "操作状态不能为空") -// private LocationBedStatus operationalEnum; + // private LocationBedStatus operationalEnum; private Integer operationalEnum; private String operationalEnum_enumText; /** 模式编码 */ @NotNull(message = "模式编码不能为空") -// private LocationMode modeEnum; + // private LocationMode modeEnum; private Integer modeEnum; private String modeEnum_enumText; diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OrgLocQueryDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OrgLocQueryDto.java index 57bf8712..b36ca597 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OrgLocQueryDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basedatamanage/dto/OrgLocQueryDto.java @@ -5,8 +5,8 @@ package com.openhis.web.basedatamanage.dto; import java.util.Date; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.experimental.Accessors; @@ -20,16 +20,19 @@ import lombok.experimental.Accessors; public class OrgLocQueryDto { /** ID */ - @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) private Long id; /** 机构编码 */ + @JsonSerialize(using = ToStringSerializer.class) private Long organizationId; /** 位置编码 */ + @JsonSerialize(using = ToStringSerializer.class) private Long locationId; /** 默认药房 */ + @JsonSerialize(using = ToStringSerializer.class) private Long defLocationId; /** 药品类别 */ diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java index 3ec0f9c2..927ec15d 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java @@ -27,7 +27,6 @@ public class Organization extends HisBaseEntity { /** ID */ @TableId(type = IdType.ASSIGN_ID) - @JsonSerialize(using = ToStringSerializer.class) private Long id; /** 编码 */