服务管理-新增

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;
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<HealthcareServiceInitDto.activeFlagOption> activeFlagOptions = Stream.of(AccountStatus.values())
.map(status -> new HealthcareServiceInitDto.activeFlagOption(status.getValue(), status.getInfo()))
.collect(Collectors.toList());
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())
.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));
}

View File

@@ -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<activeFlagOption> activeFlagOptions;
//private List<locationIdOption> locationIdOptions;
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

@@ -42,4 +42,5 @@ apl.common.M00005={0}删除成功
apl.common.M00006=操作失败,该数据已被他人删除,请刷新后重试
apl.common.M00007=操作失败,该数据已被他人更改,请刷新后重试
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 M00010 = "apl.common.M00010";
}
}

View File

@@ -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;

View File

@@ -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<ChargeItemDefinit
/**
* 获取定价分页列表
*
*
* @param chargeItemDefinition 定价查询条件
* @param pageNo 页码
* @param pageSize 页面大小
* @param pageNo 页码
* @param pageSize 页面大小
* @return 定价分页列表
*/
Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, Integer pageSize);
/**
* 新增费用定价
*
*
* @param chargeItemDefinition 新增内容
* @return 新增结果
*/
@@ -32,9 +33,20 @@ public interface IChargeItemDefinitionService extends IService<ChargeItemDefinit
/**
* 删除费用定价
*
*
* @param id 费用定价id
* @return 新增结果
*/
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> {
/**
* 服务管理 新增
* @param healthcareService 表单信息
* @return 入库后信息
*/
HealthcareService addHealthcareService(HealthcareService healthcareService);
}

View File

@@ -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<ChargeItemDefinitionMapper, ChargeItemDefinition>
implements IChargeItemDefinitionService {
implements IChargeItemDefinitionService {
/**
* 获取分页列表
*
* @param chargeItemDefinition 查询条件
* @param pageNo 页码
* @param pageSize 页面大小
* @param pageNo 页码
* @param pageSize 页面大小
* @return 分页列表
*/
@Override
public Page<ChargeItemDefinition> getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo,
Integer pageSize) {
Integer pageSize) {
LambdaQueryWrapper<ChargeItemDefinition> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getValue());
@@ -73,4 +76,26 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl<ChargeItemDefin
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.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<HealthcareServiceMapper, HealthcareService> implements IHealthcareServiceService {
/**
* 服务管理 新增
* @param healthcareService 表单信息
* @return 入库后信息
*/
@Override
@Transactional(rollbackFor = Exception.class)
public HealthcareService addHealthcareService(HealthcareService healthcareService){
baseMapper.insert(healthcareService);
return healthcareService;