From 33c174b386f77b96ca8267b95efd0298bc6e16ac Mon Sep 17 00:00:00 2001 From: "Wang.Huan" Date: Fri, 28 Feb 2025 14:10:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AE=A1=E7=90=86-=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HealthcareServiceController.java | 29 ++++++---------- .../dto/HealthcareServiceInitDto.java | 17 +--------- .../main/resources/i18n/messages.properties | 3 +- .../common/constant/PromptMsgConstant.java | 5 +++ .../domain/ChargeItemDefinition.java | 6 ++-- .../service/IChargeItemDefinitionService.java | 22 ++++++++++--- .../service/IHealthcareServiceService.java | 5 +++ .../impl/ChargeItemDefinitionServiceImpl.java | 33 ++++++++++++++++--- .../impl/HealthcareServiceServiceImpl.java | 8 +++++ 9 files changed, 80 insertions(+), 48 deletions(-) diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java index 2bb28a10..7ec14b88 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java @@ -4,11 +4,12 @@ package com.openhis.web.basicservice.controller; import com.core.common.core.domain.R; +import com.core.common.utils.MessageUtils; import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.domain.HealthcareService; -import com.openhis.administration.mapper.LocationMapper; import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.administration.service.IHealthcareServiceService; +import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.enums.AccountStatus; import com.openhis.common.enums.WhetherContainUnknown; import com.openhis.web.basicservice.dto.HealthcareServiceAddOrUpdateParam; @@ -16,6 +17,7 @@ import com.openhis.web.basicservice.dto.HealthcareServiceInitDto; import com.openhis.web.basicservice.mapper.HealthcareServiceBizMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -37,32 +39,18 @@ public class HealthcareServiceController { private final HealthcareServiceBizMapper healthcareServiceBizMapper; - private final LocationMapper locationMapper; /** * 服务管理基础数据初始化 */ @GetMapping(value = "/init") - public R init(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(value = "searchKey", defaultValue = "") String searchKey) { + public R init() { HealthcareServiceInitDto healthcareServiceInitDto = new HealthcareServiceInitDto(); // 活动标记 List activeFlagOptions = Stream.of(AccountStatus.values()) .map(status -> new HealthcareServiceInitDto.activeFlagOption(status.getValue(), status.getInfo())) .collect(Collectors.toList()); healthcareServiceInitDto.setActiveFlagOptions(activeFlagOptions); - /* // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(null, searchKey, - new HashSet<>(Arrays.asList("name")), null); - Page LocationPage = HisPageUtils.selectPage( - locationMapper, queryWrapper, pageNo, pageSize, Location.class); - List LocationList = LocationPage.getRecords(); - // 位置信息 - List locationIdOptions = LocationList.stream() - .map(location -> new HealthcareServiceInitDto.locationIdOption(location.getId(), location.getName())) - .collect(Collectors.toList()); - healthcareServiceInitDto.setLocationIdOptions(locationIdOptions);*/ // 是否需要预约 List appointmentRequiredFlagOptions = Stream.of(WhetherContainUnknown.values()) .map(wh -> new HealthcareServiceInitDto.appointmentRequiredFlagOption(wh.getValue(), wh.getInfo())) @@ -75,15 +63,18 @@ public class HealthcareServiceController { * 服务管理 新增 */ @PostMapping(value = "/healthcare-service") - public R add(@Validated @RequestBody HealthcareServiceAddOrUpdateParam healthcareServiceAddOrUpdateParam){ + @Transactional(rollbackFor = Exception.class) + public R add(@Validated @RequestBody HealthcareServiceAddOrUpdateParam healthcareServiceAddOrUpdateParam) { // 服务管理-表单数据 HealthcareService healthcareServiceFormData = healthcareServiceAddOrUpdateParam.getHealthcareServiceFormData(); // 费用定价-表单数据 ChargeItemDefinition chargeItemDefinitionFormData = healthcareServiceAddOrUpdateParam.getChargeItemDefinitionFormData(); // 服务管理-新增 HealthcareService healthcareService = iHealthcareServiceService.addHealthcareService(healthcareServiceFormData); - - return null; + // 同时保存费用定价 + boolean res = iChargeItemDefinitionService.addChargeItemDefinitionByHealthcareService(healthcareService, chargeItemDefinitionFormData); + return res ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[]{"服务管理"})) : + R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00010, null)); } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java index e57a2a5f..bf6b20fb 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java @@ -6,7 +6,7 @@ import lombok.experimental.Accessors; import java.util.List; /** - * 服务管理 基础数据 + * 服务管理 init基础数据 */ @Data @Accessors(chain = true) @@ -14,7 +14,6 @@ public class HealthcareServiceInitDto { private List activeFlagOptions; - //private List locationIdOptions; private List appointmentRequiredFlagOptions; @@ -32,20 +31,6 @@ public class HealthcareServiceInitDto { } } -/* *//** - * 位置信息 - *//* - @Data - public static class locationIdOption { - private Long value; - private String label; - - public locationIdOption(Long value, String label) { - this.value = value; - this.label = label; - } - }*/ - /** * 是否需要预约 */ diff --git a/openhis-server/openhis-application/src/main/resources/i18n/messages.properties b/openhis-server/openhis-application/src/main/resources/i18n/messages.properties index dec8fe35..31c39ddf 100644 --- a/openhis-server/openhis-application/src/main/resources/i18n/messages.properties +++ b/openhis-server/openhis-application/src/main/resources/i18n/messages.properties @@ -42,4 +42,5 @@ apl.common.M00005={0}删除成功 apl.common.M00006=操作失败,该数据已被他人删除,请刷新后重试 apl.common.M00007=操作失败,该数据已被他人更改,请刷新后重试 apl.common.M00008=请勿重复提交 -apl.common.M00009=查询成功 \ No newline at end of file +apl.common.M00009=查询成功 +apl.common.M00010=操作失败,请联系管理员 \ No newline at end of file diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/constant/PromptMsgConstant.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/constant/PromptMsgConstant.java index 14871d87..16c0a30d 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/constant/PromptMsgConstant.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/constant/PromptMsgConstant.java @@ -52,5 +52,10 @@ public class PromptMsgConstant { */ String M00009 = "apl.common.M00009"; + /** + * 操作失败,请联系管理员 + */ + String M00010 = "apl.common.M00010"; + } } diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItemDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItemDefinition.java index adbfdd2a..fb63ec88 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItemDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItemDefinition.java @@ -38,8 +38,8 @@ public class ChargeItemDefinition extends HisBaseEntity { /** 状态 */ private PublicationStatus statusEnum; - /** 机构编码 */ - private String orgCode; + /** 机构ID */ + private Long orgId; /** 描述 */ private String description; @@ -60,7 +60,7 @@ public class ChargeItemDefinition extends HisBaseEntity { private String typeCode; /** 医保类别 */ - private Integer ybType; + private String ybType; /** 是否使用详细价格规则 */ private Integer conditionFlag; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java index e2c99a71..8e7dabbc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java @@ -3,6 +3,7 @@ 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.ChargeItemDefinition; +import com.openhis.administration.domain.HealthcareService; /** * 费用定价管理Service接口 @@ -14,17 +15,17 @@ public interface IChargeItemDefinitionService extends IService getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, Integer pageSize); /** * 新增费用定价 - * + * * @param chargeItemDefinition 新增内容 * @return 新增结果 */ @@ -32,9 +33,20 @@ public interface IChargeItemDefinitionService extends IService { + /** + * 服务管理 新增 + * @param healthcareService 表单信息 + * @return 入库后信息 + */ HealthcareService addHealthcareService(HealthcareService healthcareService); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java index 9165da6b..8b9f238d 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java @@ -1,5 +1,7 @@ package com.openhis.administration.service.impl; +import com.openhis.administration.domain.HealthcareService; +import com.openhis.common.constant.CommonConstants; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -9,6 +11,7 @@ import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.mapper.ChargeItemDefinitionMapper; import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.common.enums.DelFlag; +import org.springframework.transaction.annotation.Transactional; /** * 费用定价管理Service业务层处理 @@ -18,19 +21,19 @@ import com.openhis.common.enums.DelFlag; */ @Service public class ChargeItemDefinitionServiceImpl extends ServiceImpl - implements IChargeItemDefinitionService { + implements IChargeItemDefinitionService { /** * 获取分页列表 * * @param chargeItemDefinition 查询条件 - * @param pageNo 页码 - * @param pageSize 页面大小 + * @param pageNo 页码 + * @param pageSize 页面大小 * @return 分页列表 */ @Override public Page getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, - Integer pageSize) { + Integer pageSize) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getValue()); @@ -73,4 +76,26 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl 0; } } + + + /** + * 通过服务管理新增费用定价 + * + * @param healthcareService 服务管理 + * @param chargeItemDefinition 费用定价 + * @return 新增结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addChargeItemDefinitionByHealthcareService(HealthcareService healthcareService, ChargeItemDefinition chargeItemDefinition) { + // 服务管理主键id + if (healthcareService.getId() != null) { + chargeItemDefinition.setInstanceTable(CommonConstants.TableName.ADM_HEALTHCARE_SERVICE); + chargeItemDefinition.setInstanceId(healthcareService.getId()); + return baseMapper.insert(chargeItemDefinition) > 0; + } else { + return false; + } + } + } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java index caf6c4eb..cb47ce1c 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.openhis.administration.domain.HealthcareService; import com.openhis.administration.mapper.HealthcareServiceMapper; import com.openhis.administration.service.IHealthcareServiceService; +import org.springframework.transaction.annotation.Transactional; /** * 服务项目管理Service业务层处理 @@ -16,7 +17,14 @@ import com.openhis.administration.service.IHealthcareServiceService; @Service public class HealthcareServiceServiceImpl extends ServiceImpl implements IHealthcareServiceService { + + /** + * 服务管理 新增 + * @param healthcareService 表单信息 + * @return 入库后信息 + */ @Override + @Transactional(rollbackFor = Exception.class) public HealthcareService addHealthcareService(HealthcareService healthcareService){ baseMapper.insert(healthcareService); return healthcareService;