服务管理-新增

This commit is contained in:
Wang.Huan
2025-02-28 14:10:56 +08:00
parent 9700598832
commit 33c174b386
9 changed files with 80 additions and 48 deletions

View File

@@ -4,11 +4,12 @@
package com.openhis.web.basicservice.controller; package com.openhis.web.basicservice.controller;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.core.common.utils.MessageUtils;
import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.domain.ChargeItemDefinition;
import com.openhis.administration.domain.HealthcareService; import com.openhis.administration.domain.HealthcareService;
import com.openhis.administration.mapper.LocationMapper;
import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.administration.service.IChargeItemDefinitionService;
import com.openhis.administration.service.IHealthcareServiceService; import com.openhis.administration.service.IHealthcareServiceService;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.AccountStatus; import com.openhis.common.enums.AccountStatus;
import com.openhis.common.enums.WhetherContainUnknown; import com.openhis.common.enums.WhetherContainUnknown;
import com.openhis.web.basicservice.dto.HealthcareServiceAddOrUpdateParam; 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 com.openhis.web.basicservice.mapper.HealthcareServiceBizMapper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -37,32 +39,18 @@ public class HealthcareServiceController {
private final HealthcareServiceBizMapper healthcareServiceBizMapper; private final HealthcareServiceBizMapper healthcareServiceBizMapper;
private final LocationMapper locationMapper;
/** /**
* 服务管理基础数据初始化 * 服务管理基础数据初始化
*/ */
@GetMapping(value = "/init") @GetMapping(value = "/init")
public R<?> init(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, public R<?> init() {
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(value = "searchKey", defaultValue = "") String searchKey) {
HealthcareServiceInitDto healthcareServiceInitDto = new HealthcareServiceInitDto(); HealthcareServiceInitDto healthcareServiceInitDto = new HealthcareServiceInitDto();
// 活动标记 // 活动标记
List<HealthcareServiceInitDto.activeFlagOption> activeFlagOptions = Stream.of(AccountStatus.values()) List<HealthcareServiceInitDto.activeFlagOption> activeFlagOptions = Stream.of(AccountStatus.values())
.map(status -> new HealthcareServiceInitDto.activeFlagOption(status.getValue(), status.getInfo())) .map(status -> new HealthcareServiceInitDto.activeFlagOption(status.getValue(), status.getInfo()))
.collect(Collectors.toList()); .collect(Collectors.toList());
healthcareServiceInitDto.setActiveFlagOptions(activeFlagOptions); healthcareServiceInitDto.setActiveFlagOptions(activeFlagOptions);
/* // 构建查询条件
QueryWrapper<Location> queryWrapper = HisQueryUtils.buildQueryWrapper(null, searchKey,
new HashSet<>(Arrays.asList("name")), null);
Page<Location> LocationPage = HisPageUtils.selectPage(
locationMapper, queryWrapper, pageNo, pageSize, Location.class);
List<Location> LocationList = LocationPage.getRecords();
// 位置信息
List<HealthcareServiceInitDto.locationIdOption> locationIdOptions = LocationList.stream()
.map(location -> new HealthcareServiceInitDto.locationIdOption(location.getId(), location.getName()))
.collect(Collectors.toList());
healthcareServiceInitDto.setLocationIdOptions(locationIdOptions);*/
// 是否需要预约 // 是否需要预约
List<HealthcareServiceInitDto.appointmentRequiredFlagOption> appointmentRequiredFlagOptions = Stream.of(WhetherContainUnknown.values()) List<HealthcareServiceInitDto.appointmentRequiredFlagOption> appointmentRequiredFlagOptions = Stream.of(WhetherContainUnknown.values())
.map(wh -> new HealthcareServiceInitDto.appointmentRequiredFlagOption(wh.getValue(), wh.getInfo())) .map(wh -> new HealthcareServiceInitDto.appointmentRequiredFlagOption(wh.getValue(), wh.getInfo()))
@@ -75,15 +63,18 @@ public class HealthcareServiceController {
* 服务管理 新增 * 服务管理 新增
*/ */
@PostMapping(value = "/healthcare-service") @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(); HealthcareService healthcareServiceFormData = healthcareServiceAddOrUpdateParam.getHealthcareServiceFormData();
// 费用定价-表单数据 // 费用定价-表单数据
ChargeItemDefinition chargeItemDefinitionFormData = healthcareServiceAddOrUpdateParam.getChargeItemDefinitionFormData(); ChargeItemDefinition chargeItemDefinitionFormData = healthcareServiceAddOrUpdateParam.getChargeItemDefinitionFormData();
// 服务管理-新增 // 服务管理-新增
HealthcareService healthcareService = iHealthcareServiceService.addHealthcareService(healthcareServiceFormData); 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));
} }

View File

@@ -6,7 +6,7 @@ import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
/** /**
* 服务管理 基础数据 * 服务管理 init基础数据
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@@ -14,7 +14,6 @@ public class HealthcareServiceInitDto {
private List<activeFlagOption> activeFlagOptions; private List<activeFlagOption> activeFlagOptions;
//private List<locationIdOption> locationIdOptions;
private List<appointmentRequiredFlagOption> appointmentRequiredFlagOptions; private List<appointmentRequiredFlagOption> 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;
}
}*/
/** /**
* 是否需要预约 * 是否需要预约
*/ */

View File

@@ -43,3 +43,4 @@ apl.common.M00006=操作失败,该数据已被他人删除,请刷新后重试
apl.common.M00007=操作失败,该数据已被他人更改,请刷新后重试 apl.common.M00007=操作失败,该数据已被他人更改,请刷新后重试
apl.common.M00008=请勿重复提交 apl.common.M00008=请勿重复提交
apl.common.M00009=查询成功 apl.common.M00009=查询成功
apl.common.M00010=操作失败,请联系管理员

View File

@@ -52,5 +52,10 @@ public class PromptMsgConstant {
*/ */
String M00009 = "apl.common.M00009"; String M00009 = "apl.common.M00009";
/**
* 操作失败,请联系管理员
*/
String M00010 = "apl.common.M00010";
} }
} }

View File

@@ -38,8 +38,8 @@ public class ChargeItemDefinition extends HisBaseEntity {
/** 状态 */ /** 状态 */
private PublicationStatus statusEnum; private PublicationStatus statusEnum;
/** 机构编码 */ /** 机构ID */
private String orgCode; private Long orgId;
/** 描述 */ /** 描述 */
private String description; private String description;
@@ -60,7 +60,7 @@ public class ChargeItemDefinition extends HisBaseEntity {
private String typeCode; private String typeCode;
/** 医保类别 */ /** 医保类别 */
private Integer ybType; private String ybType;
/** 是否使用详细价格规则 */ /** 是否使用详细价格规则 */
private Integer conditionFlag; private Integer conditionFlag;

View File

@@ -3,6 +3,7 @@ package com.openhis.administration.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.domain.ChargeItemDefinition;
import com.openhis.administration.domain.HealthcareService;
/** /**
* 费用定价管理Service接口 * 费用定价管理Service接口
@@ -16,8 +17,8 @@ public interface IChargeItemDefinitionService extends IService<ChargeItemDefinit
* 获取定价分页列表 * 获取定价分页列表
* *
* @param chargeItemDefinition 定价查询条件 * @param chargeItemDefinition 定价查询条件
* @param pageNo 页码 * @param pageNo 页码
* @param pageSize 页面大小 * @param pageSize 页面大小
* @return 定价分页列表 * @return 定价分页列表
*/ */
Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, Integer pageSize); Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, Integer pageSize);
@@ -37,4 +38,15 @@ public interface IChargeItemDefinitionService extends IService<ChargeItemDefinit
* @return 新增结果 * @return 新增结果
*/ */
boolean deleteChargeItemDefinition(Long id); boolean deleteChargeItemDefinition(Long id);
/**
* 通过服务管理新增费用定价
*
* @param healthcareService 服务管理
* @param chargeItemDefinition 费用定价
* @return 新增结果
*/
boolean addChargeItemDefinitionByHealthcareService(HealthcareService healthcareService, ChargeItemDefinition chargeItemDefinition);
} }

View File

@@ -11,6 +11,11 @@ import com.openhis.administration.domain.HealthcareService;
*/ */
public interface IHealthcareServiceService extends IService<HealthcareService> { public interface IHealthcareServiceService extends IService<HealthcareService> {
/**
* 服务管理 新增
* @param healthcareService 表单信息
* @return 入库后信息
*/
HealthcareService addHealthcareService(HealthcareService healthcareService); HealthcareService addHealthcareService(HealthcareService healthcareService);
} }

View File

@@ -1,5 +1,7 @@
package com.openhis.administration.service.impl; package com.openhis.administration.service.impl;
import com.openhis.administration.domain.HealthcareService;
import com.openhis.common.constant.CommonConstants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.mapper.ChargeItemDefinitionMapper;
import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.administration.service.IChargeItemDefinitionService;
import com.openhis.common.enums.DelFlag; import com.openhis.common.enums.DelFlag;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 费用定价管理Service业务层处理 * 费用定价管理Service业务层处理
@@ -18,19 +21,19 @@ import com.openhis.common.enums.DelFlag;
*/ */
@Service @Service
public class ChargeItemDefinitionServiceImpl extends ServiceImpl<ChargeItemDefinitionMapper, ChargeItemDefinition> public class ChargeItemDefinitionServiceImpl extends ServiceImpl<ChargeItemDefinitionMapper, ChargeItemDefinition>
implements IChargeItemDefinitionService { implements IChargeItemDefinitionService {
/** /**
* 获取分页列表 * 获取分页列表
* *
* @param chargeItemDefinition 查询条件 * @param chargeItemDefinition 查询条件
* @param pageNo 页码 * @param pageNo 页码
* @param pageSize 页面大小 * @param pageSize 页面大小
* @return 分页列表 * @return 分页列表
*/ */
@Override @Override
public Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, public Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo,
Integer pageSize) { Integer pageSize) {
LambdaQueryWrapper<ChargeItemDefinition> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ChargeItemDefinition> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getValue()); queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getValue());
@@ -73,4 +76,26 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl<ChargeItemDefin
return baseMapper.deleteById(id) > 0; return baseMapper.deleteById(id) > 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;
}
}
} }

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.openhis.administration.domain.HealthcareService; import com.openhis.administration.domain.HealthcareService;
import com.openhis.administration.mapper.HealthcareServiceMapper; import com.openhis.administration.mapper.HealthcareServiceMapper;
import com.openhis.administration.service.IHealthcareServiceService; import com.openhis.administration.service.IHealthcareServiceService;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 服务项目管理Service业务层处理 * 服务项目管理Service业务层处理
@@ -16,7 +17,14 @@ import com.openhis.administration.service.IHealthcareServiceService;
@Service @Service
public class HealthcareServiceServiceImpl extends ServiceImpl<HealthcareServiceMapper, HealthcareService> implements IHealthcareServiceService { public class HealthcareServiceServiceImpl extends ServiceImpl<HealthcareServiceMapper, HealthcareService> implements IHealthcareServiceService {
/**
* 服务管理 新增
* @param healthcareService 表单信息
* @return 入库后信息
*/
@Override @Override
@Transactional(rollbackFor = Exception.class)
public HealthcareService addHealthcareService(HealthcareService healthcareService){ public HealthcareService addHealthcareService(HealthcareService healthcareService){
baseMapper.insert(healthcareService); baseMapper.insert(healthcareService);
return healthcareService; return healthcareService;