|
|
|
@@ -11,6 +11,8 @@ import java.util.stream.Stream;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.openhis.administration.domain.Supplier;
|
|
|
|
|
|
|
|
import com.openhis.administration.service.ISupplierService;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -20,21 +22,20 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import com.core.common.core.domain.R;
|
|
|
|
import com.core.common.core.domain.R;
|
|
|
|
import com.core.common.core.domain.entity.SysDictData;
|
|
|
|
import com.core.common.core.domain.entity.SysDictData;
|
|
|
|
import com.core.common.utils.MessageUtils;
|
|
|
|
import com.core.common.utils.*;
|
|
|
|
import com.core.common.utils.SecurityUtils;
|
|
|
|
|
|
|
|
import com.core.common.utils.bean.BeanUtils;
|
|
|
|
import com.core.common.utils.bean.BeanUtils;
|
|
|
|
import com.core.system.service.ISysDictTypeService;
|
|
|
|
import com.core.system.service.ISysDictTypeService;
|
|
|
|
|
|
|
|
import com.openhis.administration.domain.ChargeItemDefinition;
|
|
|
|
import com.openhis.administration.domain.Organization;
|
|
|
|
import com.openhis.administration.domain.Organization;
|
|
|
|
import com.openhis.administration.service.IOrganizationService;
|
|
|
|
import com.openhis.administration.service.IOrganizationService;
|
|
|
|
|
|
|
|
import com.openhis.common.constant.CommonConstants;
|
|
|
|
import com.openhis.common.constant.PromptMsgConstant;
|
|
|
|
import com.openhis.common.constant.PromptMsgConstant;
|
|
|
|
import com.openhis.common.enums.*;
|
|
|
|
import com.openhis.common.enums.*;
|
|
|
|
import com.openhis.common.utils.EnumUtils;
|
|
|
|
import com.openhis.common.utils.EnumUtils;
|
|
|
|
import com.openhis.common.utils.HisQueryUtils;
|
|
|
|
import com.openhis.common.utils.HisQueryUtils;
|
|
|
|
import com.openhis.web.datadictionary.appservice.IDiagnosisTreatmentManageAppService;
|
|
|
|
import com.openhis.web.datadictionary.appservice.IDiagnosisTreatmentManageAppService;
|
|
|
|
import com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto;
|
|
|
|
import com.openhis.web.datadictionary.appservice.IItemDefinitionService;
|
|
|
|
import com.openhis.web.datadictionary.dto.DiagnosisTreatmentInitDto;
|
|
|
|
import com.openhis.web.datadictionary.dto.*;
|
|
|
|
import com.openhis.web.datadictionary.dto.DiagnosisTreatmentSelParam;
|
|
|
|
|
|
|
|
import com.openhis.web.datadictionary.dto.DiagnosisTreatmentUpDto;
|
|
|
|
|
|
|
|
import com.openhis.web.datadictionary.mapper.ActivityDefinitionManageMapper;
|
|
|
|
import com.openhis.web.datadictionary.mapper.ActivityDefinitionManageMapper;
|
|
|
|
import com.openhis.workflow.domain.ActivityDefinition;
|
|
|
|
import com.openhis.workflow.domain.ActivityDefinition;
|
|
|
|
import com.openhis.workflow.mapper.ActivityDefinitionMapper;
|
|
|
|
import com.openhis.workflow.mapper.ActivityDefinitionMapper;
|
|
|
|
@@ -59,6 +60,13 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
private ISysDictTypeService iSysDictTypeService;
|
|
|
|
private ISysDictTypeService iSysDictTypeService;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ActivityDefinitionManageMapper activityDefinitionManageMapper;
|
|
|
|
private ActivityDefinitionManageMapper activityDefinitionManageMapper;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private IItemDefinitionService itemDefinitionServic;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private ISysDictTypeService sysDictTypeService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired(required = false)
|
|
|
|
|
|
|
|
AssignSeqUtil assignSeqUtil;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 诊疗目录初期查询
|
|
|
|
* 诊疗目录初期查询
|
|
|
|
@@ -82,7 +90,15 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations);
|
|
|
|
diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取诊疗分类
|
|
|
|
// 获取诊目录疗分类
|
|
|
|
|
|
|
|
List<SysDictData> diagnosisList =
|
|
|
|
|
|
|
|
sysDictTypeService.selectDictDataByType(CommonConstants.DictName.DIAGNOSIS_CATEGORY_CODE);
|
|
|
|
|
|
|
|
// 获取诊疗录疗分类
|
|
|
|
|
|
|
|
List<DiagnosisTreatmentInitDto.dictCategoryCode> diagnosisCategories = diagnosisList.stream().map(
|
|
|
|
|
|
|
|
category -> new DiagnosisTreatmentInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel()))
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
diagnosisTreatmentInitDto.setDiagnosisCategoryOptions(diagnosisCategories);
|
|
|
|
|
|
|
|
|
|
|
|
// 查询医疗服务项类型
|
|
|
|
// 查询医疗服务项类型
|
|
|
|
List<SysDictData> medical_service_items =
|
|
|
|
List<SysDictData> medical_service_items =
|
|
|
|
iSysDictTypeService.selectDictDataByType(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getCode());
|
|
|
|
iSysDictTypeService.selectDictDataByType(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getCode());
|
|
|
|
@@ -92,30 +108,31 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
status.getDictLabel()))
|
|
|
|
status.getDictLabel()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
List<DiagnosisTreatmentInitDto.diseaseTreatmentCategory> diseaseTreatmentCategories = new ArrayList<>();
|
|
|
|
List<DiagnosisTreatmentInitDto.diseaseTreatmentCategory> diseaseTreatmentCategories = new ArrayList<>();
|
|
|
|
|
|
|
|
//
|
|
|
|
DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory =
|
|
|
|
// //获取目录分类
|
|
|
|
new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getValue(),
|
|
|
|
// DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory =
|
|
|
|
ActivityDefCategory.MEDICAL_SERVICE_ITEM.getInfo());
|
|
|
|
// new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.MEDICAL_SERVICE_ITEM.getValue(),
|
|
|
|
diseaseTreatmentCategory.setChildren(diseaseTreatmentCategoryList);
|
|
|
|
// ActivityDefCategory.MEDICAL_SERVICE_ITEM.getInfo());
|
|
|
|
diseaseTreatmentCategories.add(diseaseTreatmentCategory);
|
|
|
|
// diseaseTreatmentCategory.setChildren(diseaseTreatmentCategoryList);
|
|
|
|
diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories);
|
|
|
|
// diseaseTreatmentCategories.add(diseaseTreatmentCategory);
|
|
|
|
|
|
|
|
// diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories);
|
|
|
|
// 查询手术与治疗类型
|
|
|
|
//
|
|
|
|
List<SysDictData> medical_service_items2 =
|
|
|
|
// // 查询手术与治疗类型
|
|
|
|
iSysDictTypeService.selectDictDataByType(ActivityDefCategory.TREATMENT_SURGERY.getCode());
|
|
|
|
// List<SysDictData> medical_service_items2 =
|
|
|
|
// 获取手术与治疗List
|
|
|
|
// iSysDictTypeService.selectDictDataByType(ActivityDefCategory.TREATMENT_SURGERY.getCode());
|
|
|
|
List<DiagnosisTreatmentInitDto.diseaseTreatmentType> diseaseTreatmentCategoryList2 = medical_service_items2
|
|
|
|
// // 获取手术与治疗List
|
|
|
|
.stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(),
|
|
|
|
// List<DiagnosisTreatmentInitDto.diseaseTreatmentType> diseaseTreatmentCategoryList2 = medical_service_items2
|
|
|
|
status.getDictLabel()))
|
|
|
|
// .stream().map(status -> new DiagnosisTreatmentInitDto.diseaseTreatmentType(status.getDictValue(),
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
// status.getDictLabel()))
|
|
|
|
|
|
|
|
// .collect(Collectors.toList());
|
|
|
|
DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory2 =
|
|
|
|
//
|
|
|
|
new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.TREATMENT_SURGERY.getValue(),
|
|
|
|
// DiagnosisTreatmentInitDto.diseaseTreatmentCategory diseaseTreatmentCategory2 =
|
|
|
|
ActivityDefCategory.TREATMENT_SURGERY.getInfo());
|
|
|
|
// new DiagnosisTreatmentInitDto.diseaseTreatmentCategory(ActivityDefCategory.TREATMENT_SURGERY.getValue(),
|
|
|
|
diseaseTreatmentCategory2.setChildren(diseaseTreatmentCategoryList2);
|
|
|
|
// ActivityDefCategory.TREATMENT_SURGERY.getInfo());
|
|
|
|
diseaseTreatmentCategories.add(diseaseTreatmentCategory2);
|
|
|
|
// diseaseTreatmentCategory2.setChildren(diseaseTreatmentCategoryList2);
|
|
|
|
|
|
|
|
// diseaseTreatmentCategories.add(diseaseTreatmentCategory2);
|
|
|
|
diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories);
|
|
|
|
//
|
|
|
|
|
|
|
|
// diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取类型
|
|
|
|
// 获取类型
|
|
|
|
List<DiagnosisTreatmentInitDto.statusEnumOption> typeEnumOptions = Stream.of(ActivityType.values())
|
|
|
|
List<DiagnosisTreatmentInitDto.statusEnumOption> typeEnumOptions = Stream.of(ActivityType.values())
|
|
|
|
@@ -138,15 +155,6 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public R<?> getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey,
|
|
|
|
public R<?> getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey,
|
|
|
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
|
|
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
|
|
|
//
|
|
|
|
|
|
|
|
// // 构建查询条件
|
|
|
|
|
|
|
|
// QueryWrapper<ActivityDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam,
|
|
|
|
|
|
|
|
// searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request);
|
|
|
|
|
|
|
|
// // 设置排序
|
|
|
|
|
|
|
|
// queryWrapper.orderByAsc("bus_no");
|
|
|
|
|
|
|
|
// // 分页查询
|
|
|
|
|
|
|
|
// Page<DiagnosisTreatmentDto> diseaseTreatmentPage = HisPageUtils.selectPage(activityDefinitionMapper,
|
|
|
|
|
|
|
|
// queryWrapper, pageNo, pageSize, DiagnosisTreatmentDto.class);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 构建查询条件
|
|
|
|
// 构建查询条件
|
|
|
|
QueryWrapper<DiagnosisTreatmentDto> queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam,
|
|
|
|
QueryWrapper<DiagnosisTreatmentDto> queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam,
|
|
|
|
@@ -163,8 +171,6 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
|
|
|
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
|
|
|
// 类型举类回显赋值
|
|
|
|
// 类型举类回显赋值
|
|
|
|
e.setTypeEnum_enumText(EnumUtils.getInfoByValue(ActivityType.class, e.getTypeEnum()));
|
|
|
|
e.setTypeEnum_enumText(EnumUtils.getInfoByValue(ActivityType.class, e.getTypeEnum()));
|
|
|
|
// 目录类别举类回显赋值
|
|
|
|
|
|
|
|
e.setCategory_enumText(EnumUtils.getInfoByValue(ActivityDefCategory.class, e.getCategoryEnum()));
|
|
|
|
|
|
|
|
// 状态举类回显赋值
|
|
|
|
// 状态举类回显赋值
|
|
|
|
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
|
|
|
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
@@ -198,14 +204,32 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public R<?> editDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) {
|
|
|
|
public R<?> editDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) {
|
|
|
|
|
|
|
|
|
|
|
|
ActivityDefinition ActivityDefinition = new ActivityDefinition();
|
|
|
|
ActivityDefinition activityDefinition = new ActivityDefinition();
|
|
|
|
BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition);
|
|
|
|
BeanUtils.copyProperties(diagnosisTreatmentUpDto, activityDefinition);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 使用10位数基础采番
|
|
|
|
|
|
|
|
String code = assignSeqUtil.getSeq(AssignSeqEnum.DEVICE_NUM.getPrefix(), 10);
|
|
|
|
|
|
|
|
activityDefinition.setBusNo(code);
|
|
|
|
|
|
|
|
// 拼音码
|
|
|
|
|
|
|
|
activityDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(activityDefinition.getName()));
|
|
|
|
|
|
|
|
// 五笔码
|
|
|
|
|
|
|
|
activityDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(activityDefinition.getName()));
|
|
|
|
|
|
|
|
|
|
|
|
// 更新诊疗信息
|
|
|
|
// 更新诊疗信息
|
|
|
|
return iActivityDefinitionService.updateById(ActivityDefinition)
|
|
|
|
if (iActivityDefinitionService.updateById(activityDefinition)) {
|
|
|
|
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"}))
|
|
|
|
ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition();
|
|
|
|
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
|
|
|
chargeItemDefinition.setYbType(diagnosisTreatmentUpDto.getYbType())
|
|
|
|
|
|
|
|
.setTypeCode(diagnosisTreatmentUpDto.getItemTypeCode())
|
|
|
|
|
|
|
|
.setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION)
|
|
|
|
|
|
|
|
.setInstanceId(diagnosisTreatmentUpDto.getId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 更新价格表
|
|
|
|
|
|
|
|
return itemDefinitionServic.updateItem(chargeItemDefinition)
|
|
|
|
|
|
|
|
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"}))
|
|
|
|
|
|
|
|
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -267,13 +291,31 @@ public class DiagnosisTreatmentManageAppServiceImpl implements IDiagnosisTreatme
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public R<?> addDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) {
|
|
|
|
public R<?> addDiseaseTreatment(DiagnosisTreatmentUpDto diagnosisTreatmentUpDto) {
|
|
|
|
|
|
|
|
|
|
|
|
ActivityDefinition ActivityDefinition = new ActivityDefinition();
|
|
|
|
ActivityDefinition activityDefinition = new ActivityDefinition();
|
|
|
|
BeanUtils.copyProperties(diagnosisTreatmentUpDto, ActivityDefinition);
|
|
|
|
BeanUtils.copyProperties(diagnosisTreatmentUpDto, activityDefinition);
|
|
|
|
|
|
|
|
// 拼音码
|
|
|
|
|
|
|
|
activityDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(activityDefinition.getName()));
|
|
|
|
|
|
|
|
// 五笔码
|
|
|
|
|
|
|
|
activityDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(activityDefinition.getName()));
|
|
|
|
|
|
|
|
|
|
|
|
// 新增外来诊疗目录
|
|
|
|
// 新增外来诊疗目录
|
|
|
|
ActivityDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue());
|
|
|
|
activityDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue());
|
|
|
|
return iActivityDefinitionService.addDiagnosisTreatment(ActivityDefinition)
|
|
|
|
if (iActivityDefinitionService.addDiagnosisTreatment(activityDefinition)) {
|
|
|
|
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"}))
|
|
|
|
|
|
|
|
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null));
|
|
|
|
ItemUpFromDirectoryDto itemUpFromDirectoryDto = new ItemUpFromDirectoryDto();
|
|
|
|
|
|
|
|
BeanUtils.copyProperties(diagnosisTreatmentUpDto, itemUpFromDirectoryDto);
|
|
|
|
|
|
|
|
itemUpFromDirectoryDto.setTypeCode(diagnosisTreatmentUpDto.getItemTypeCode())
|
|
|
|
|
|
|
|
.setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION)
|
|
|
|
|
|
|
|
.setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue())
|
|
|
|
|
|
|
|
.setConditionFlag(Whether.YES.getValue()).setChargeName(diagnosisTreatmentUpDto.getName())
|
|
|
|
|
|
|
|
.setInstanceId(activityDefinition.getId()).setPrice(diagnosisTreatmentUpDto.getRetailPrice());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return itemDefinitionServic.addItem(itemUpFromDirectoryDto)
|
|
|
|
|
|
|
|
? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"}))
|
|
|
|
|
|
|
|
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|