疾病目录格式修改
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
package com.openhis.web.datadictionary.appservice;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageSelParam;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageUpDto;
|
||||
|
||||
/**
|
||||
* 病种目录
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/3/30
|
||||
*/
|
||||
public interface IDiseaseManageAppService {
|
||||
|
||||
/**
|
||||
* 病种目录初始化
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
R<?> getDiseaseInit();
|
||||
|
||||
/**
|
||||
* 查询病种目录分页列表
|
||||
*
|
||||
* @param diseaseManageSelParam 查询条件
|
||||
* @param searchKey 查询条件-模糊查询
|
||||
* @param pageNo 当前页码
|
||||
* @param pageSize 查询条数
|
||||
* @return
|
||||
*/
|
||||
R<?> getDiseaseList(DiseaseManageSelParam diseaseManageSelParam, String searchKey, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 根据id查询疾病详情
|
||||
*
|
||||
* @param id 疾病ID
|
||||
* @return
|
||||
*/
|
||||
R<?> getDiseaseOne(Long id);
|
||||
|
||||
/**
|
||||
* 病种目录编辑
|
||||
*
|
||||
* @param diseaseManageDto 病种目录列表
|
||||
* @return
|
||||
*/
|
||||
R<?> editDisease(DiseaseManageUpDto diseaseManageDto);
|
||||
|
||||
/**
|
||||
* 病种目录停用
|
||||
*
|
||||
* @param ids 病种目录ID列表
|
||||
* @return
|
||||
*/
|
||||
R<?> editDiseaseStop(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 病种目录启用
|
||||
*
|
||||
* @param ids 病种目录ID列表
|
||||
* @return
|
||||
*/
|
||||
R<?> editDiseaseStart(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 新增外来病种目录
|
||||
*
|
||||
* @param diseaseManageUpDto 病种目录
|
||||
* @return
|
||||
*/
|
||||
R<?> addDisease(DiseaseManageUpDto diseaseManageUpDto);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
package com.openhis.web.datadictionary.appservice.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.core.common.utils.ChineseConvertUtils;
|
||||
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.core.common.utils.bean.BeanUtils;
|
||||
import com.openhis.clinical.domain.ConditionDefinition;
|
||||
import com.openhis.clinical.mapper.ConditionDefinitionMapper;
|
||||
import com.openhis.clinical.service.IConditionDefinitionService;
|
||||
import com.openhis.common.constant.PromptMsgConstant;
|
||||
import com.openhis.common.enums.ConditionDefinitionSource;
|
||||
import com.openhis.common.enums.PublicationStatus;
|
||||
import com.openhis.common.enums.Whether;
|
||||
import com.openhis.common.utils.EnumUtils;
|
||||
import com.openhis.common.utils.HisPageUtils;
|
||||
import com.openhis.common.utils.HisQueryUtils;
|
||||
import com.openhis.web.datadictionary.appservice.IDiseaseManageAppService;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageDto;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageInitDto;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageSelParam;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageUpDto;
|
||||
|
||||
/**
|
||||
* 病种目录 实现
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/3/30
|
||||
*/
|
||||
@Service
|
||||
public class DiseaseManageAppServiceImpl implements IDiseaseManageAppService {
|
||||
|
||||
@Autowired
|
||||
private ConditionDefinitionMapper conditionDefinitionMapper;
|
||||
@Autowired
|
||||
private IConditionDefinitionService ConditionDefinitionService;
|
||||
|
||||
/**
|
||||
* 病种目录初始化
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public R<?> getDiseaseInit() {
|
||||
|
||||
DiseaseManageInitDto diseaseManageInitDto = new DiseaseManageInitDto();
|
||||
// 获取疾病目录种类
|
||||
List<DiseaseManageInitDto.diseaseCategory> diseaseCategoryList = Stream.of(ConditionDefinitionSource.values())
|
||||
.map(status -> new DiseaseManageInitDto.diseaseCategory(status.getValue(), status.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
diseaseManageInitDto.setDiseaseCategoryList(diseaseCategoryList);
|
||||
// 获取状态
|
||||
List<DiseaseManageInitDto.statusEnumOption> statusEnumOptions = Stream.of(PublicationStatus.values())
|
||||
.map(status -> new DiseaseManageInitDto.statusEnumOption(status.getValue(), status.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
diseaseManageInitDto.setStatusFlagOptions(statusEnumOptions);
|
||||
|
||||
return R.ok(diseaseManageInitDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询病种目录分页列表
|
||||
*
|
||||
* @param diseaseManageSelParam 查询条件
|
||||
* @param searchKey 查询条件-模糊查询
|
||||
* @param pageNo 当前页码
|
||||
* @param pageSize 查询条数
|
||||
* @return
|
||||
*/
|
||||
public R<?> getDiseaseList(DiseaseManageSelParam diseaseManageSelParam, String searchKey, Integer pageNo,
|
||||
Integer pageSize, HttpServletRequest request) {
|
||||
|
||||
// 构建查询条件
|
||||
QueryWrapper<ConditionDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(diseaseManageSelParam,
|
||||
searchKey, new HashSet<>(Arrays.asList("condition_code", "name", "py_str", "wb_str")), request);
|
||||
// 设置排序
|
||||
queryWrapper.orderByAsc("condition_code");
|
||||
// 分页查询
|
||||
Page<DiseaseManageDto> diseasePage =
|
||||
HisPageUtils.selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, DiseaseManageDto.class);
|
||||
|
||||
diseasePage.getRecords().forEach(e -> {
|
||||
// 医保对码枚举类回显赋值
|
||||
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||
// 状态
|
||||
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||
});
|
||||
|
||||
// 返回【病种目录列表DTO】分页
|
||||
return R.ok(diseasePage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询疾病详情
|
||||
*
|
||||
* @param id 疾病ID
|
||||
* @return
|
||||
*/
|
||||
public R<?> getDiseaseOne(Long id) {
|
||||
DiseaseManageDto diseaseManageDto = new DiseaseManageDto();
|
||||
// 根据ID查询【病种目录】
|
||||
ConditionDefinition conditionDefinition = ConditionDefinitionService.getById(id);
|
||||
BeanUtils.copyProperties(conditionDefinition, diseaseManageDto);
|
||||
return R.ok(diseaseManageDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 病种目录编辑
|
||||
*
|
||||
* @param diseaseManageDto 病种目录列表
|
||||
* @return
|
||||
*/
|
||||
public R<?> editDisease(DiseaseManageUpDto diseaseManageDto) {
|
||||
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
BeanUtils.copyProperties(diseaseManageDto, conditionDefinition);
|
||||
// 拼音码
|
||||
conditionDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(conditionDefinition.getName()));
|
||||
// 五笔码
|
||||
conditionDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(conditionDefinition.getName()));
|
||||
|
||||
// 更新病种信息
|
||||
return ConditionDefinitionService.updateById(conditionDefinition)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* 病种目录停用
|
||||
*
|
||||
* @param ids 病种目录ID列表
|
||||
* @return
|
||||
*/
|
||||
public R<?> editDiseaseStop(List<Long> ids) {
|
||||
List<ConditionDefinition> conditionDefinitionList = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 取得更新值
|
||||
for (Long detail : ids) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
conditionDefinition.setId(detail);
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.RETIRED.getValue());
|
||||
conditionDefinitionList.add(conditionDefinition);
|
||||
}
|
||||
// 更新病种信息
|
||||
return ConditionDefinitionService.updateBatchById(conditionDefinitionList)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* 病种目录启用
|
||||
*
|
||||
* @param ids 病种目录ID列表
|
||||
* @return
|
||||
*/
|
||||
public R<?> editDiseaseStart(List<Long> ids) {
|
||||
List<ConditionDefinition> conditionDefinitionList = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 取得更新值
|
||||
for (Long detail : ids) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
conditionDefinition.setId(detail);
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue());
|
||||
conditionDefinitionList.add(conditionDefinition);
|
||||
}
|
||||
// 更新病种信息
|
||||
return ConditionDefinitionService.updateBatchById(conditionDefinitionList)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增外来病种目录
|
||||
*
|
||||
* @param diseaseManageUpDto 病种目录
|
||||
* @return
|
||||
*/
|
||||
public R<?> addDisease(DiseaseManageUpDto diseaseManageUpDto) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
BeanUtils.copyProperties(diseaseManageUpDto, conditionDefinition);
|
||||
// 新增外来病种目录
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue());
|
||||
// 拼音码
|
||||
conditionDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(conditionDefinition.getName()));
|
||||
// 五笔码
|
||||
conditionDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(conditionDefinition.getName()));
|
||||
return ConditionDefinitionService.addDisease(conditionDefinition)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,32 +1,18 @@
|
||||
package com.openhis.web.datadictionary.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.openhis.common.enums.*;
|
||||
import com.openhis.common.utils.EnumUtils;
|
||||
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.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.core.common.core.domain.R;
|
||||
import com.core.common.utils.MessageUtils;
|
||||
import com.core.common.utils.bean.BeanUtils;
|
||||
import com.openhis.clinical.domain.ConditionDefinition;
|
||||
import com.openhis.clinical.mapper.ConditionDefinitionMapper;
|
||||
import com.openhis.clinical.service.IConditionDefinitionService;
|
||||
import com.openhis.common.constant.PromptMsgConstant;
|
||||
import com.openhis.common.utils.HisPageUtils;
|
||||
import com.openhis.common.utils.HisQueryUtils;
|
||||
import com.openhis.web.datadictionary.appservice.IDiseaseManageAppService;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageDto;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageInitDto;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageSelParam;
|
||||
import com.openhis.web.datadictionary.dto.DiseaseManageUpDto;
|
||||
|
||||
@@ -44,8 +30,9 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public class DiseaseManageController {
|
||||
private final IConditionDefinitionService iConditionDefinitionService;
|
||||
private final ConditionDefinitionMapper conditionDefinitionMapper;
|
||||
|
||||
@Autowired
|
||||
private IDiseaseManageAppService diseaseManageAppService;
|
||||
|
||||
/**
|
||||
* 病种目录初始化
|
||||
@@ -55,19 +42,7 @@ public class DiseaseManageController {
|
||||
@GetMapping("/information-init")
|
||||
public R<?> getDiseaseInit() {
|
||||
|
||||
DiseaseManageInitDto diseaseManageInitDto = new DiseaseManageInitDto();
|
||||
// 获取疾病目录种类
|
||||
List<DiseaseManageInitDto.diseaseCategory> diseaseCategoryList = Stream.of(ConditionDefinitionSource.values())
|
||||
.map(status -> new DiseaseManageInitDto.diseaseCategory(status.getValue(), status.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
diseaseManageInitDto.setDiseaseCategoryList(diseaseCategoryList);
|
||||
// 获取状态
|
||||
List<DiseaseManageInitDto.statusEnumOption> statusEnumOptions = Stream.of(PublicationStatus.values())
|
||||
.map(status -> new DiseaseManageInitDto.statusEnumOption(status.getValue(), status.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
diseaseManageInitDto.setStatusFlagOptions(statusEnumOptions);
|
||||
|
||||
return R.ok(diseaseManageInitDto);
|
||||
return diseaseManageAppService.getDiseaseInit();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -85,24 +60,8 @@ public class DiseaseManageController {
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||
|
||||
// 构建查询条件
|
||||
QueryWrapper<ConditionDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(diseaseManageSelParam,
|
||||
searchKey, new HashSet<>(Arrays.asList("condition_code", "name", "py_str", "wb_str")), request);
|
||||
// 设置排序
|
||||
queryWrapper.orderByAsc("condition_code");
|
||||
// 分页查询
|
||||
Page<DiseaseManageDto> diseasePage =
|
||||
HisPageUtils.selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, DiseaseManageDto.class);
|
||||
|
||||
diseasePage.getRecords().forEach(e -> {
|
||||
// 医保对码枚举类回显赋值
|
||||
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||
//状态
|
||||
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||
});
|
||||
|
||||
// 返回【病种目录列表DTO】分页
|
||||
return R.ok(diseasePage);
|
||||
return diseaseManageAppService.getDiseaseList(diseaseManageSelParam, searchKey, pageNo, pageSize, request);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -113,11 +72,9 @@ public class DiseaseManageController {
|
||||
*/
|
||||
@GetMapping("/information-one")
|
||||
public R<?> getDiseaseOne(@RequestParam Long id) {
|
||||
DiseaseManageDto diseaseManageDto = new DiseaseManageDto();
|
||||
|
||||
// 根据ID查询【病种目录】
|
||||
ConditionDefinition conditionDefinition = iConditionDefinitionService.getById(id);
|
||||
BeanUtils.copyProperties(conditionDefinition, diseaseManageDto);
|
||||
return R.ok(diseaseManageDto);
|
||||
return diseaseManageAppService.getDiseaseOne(id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -133,9 +90,7 @@ public class DiseaseManageController {
|
||||
BeanUtils.copyProperties(diseaseManageDto, conditionDefinition);
|
||||
|
||||
// 更新病种信息
|
||||
return iConditionDefinitionService.updateById(conditionDefinition)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
return diseaseManageAppService.editDisease(diseaseManageDto);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,19 +101,8 @@ public class DiseaseManageController {
|
||||
*/
|
||||
@PutMapping("/information-stop")
|
||||
public R<?> editDiseaseStop(@RequestBody List<Long> ids) {
|
||||
List<ConditionDefinition> conditionDefinitionList = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 取得更新值
|
||||
for (Long detail : ids) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
conditionDefinition.setId(detail);
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.RETIRED.getValue());
|
||||
conditionDefinitionList.add(conditionDefinition);
|
||||
}
|
||||
// 更新病种信息
|
||||
return iConditionDefinitionService.updateBatchById(conditionDefinitionList)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
return diseaseManageAppService.editDiseaseStop(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -169,19 +113,9 @@ public class DiseaseManageController {
|
||||
*/
|
||||
@PutMapping("/information-start")
|
||||
public R<?> editDiseaseStart(@RequestBody List<Long> ids) {
|
||||
List<ConditionDefinition> conditionDefinitionList = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 取得更新值
|
||||
for (Long detail : ids) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
conditionDefinition.setId(detail);
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue());
|
||||
conditionDefinitionList.add(conditionDefinition);
|
||||
}
|
||||
// 更新病种信息
|
||||
return iConditionDefinitionService.updateBatchById(conditionDefinitionList)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
||||
return diseaseManageAppService.editDiseaseStart(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -192,13 +126,8 @@ public class DiseaseManageController {
|
||||
*/
|
||||
@PostMapping("/information")
|
||||
public R<?> addDisease(@Validated @RequestBody DiseaseManageUpDto diseaseManageUpDto) {
|
||||
ConditionDefinition conditionDefinition = new ConditionDefinition();
|
||||
BeanUtils.copyProperties(diseaseManageUpDto, conditionDefinition);
|
||||
// 新增外来病种目录
|
||||
conditionDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue());
|
||||
return iConditionDefinitionService.addDisease(conditionDefinition)
|
||||
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"}))
|
||||
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null));
|
||||
|
||||
return diseaseManageAppService.addDisease(diseaseManageUpDto);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user