|
|
|
|
@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.core.common.core.domain.R;
|
|
|
|
|
import com.core.common.enums.AssignSeqEnum;
|
|
|
|
|
import com.core.common.enums.ChargeItemEnum;
|
|
|
|
|
import com.core.common.enums.DefinitionTypeEnum;
|
|
|
|
|
import com.core.common.utils.AssignSeqUtil;
|
|
|
|
|
import com.core.common.utils.MessageUtils;
|
|
|
|
|
@@ -28,6 +29,7 @@ import com.openhis.administration.service.IChargeItemDefAppService;
|
|
|
|
|
import com.openhis.administration.service.IChargeItemDefinitionService;
|
|
|
|
|
import com.openhis.common.constant.PromptMsgConstant;
|
|
|
|
|
import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto;
|
|
|
|
|
import com.openhis.web.datadictionary.dto.ChargeItemOptionDto;
|
|
|
|
|
import com.openhis.web.datadictionary.dto.ItemDefSearchParam;
|
|
|
|
|
import com.openhis.web.datadictionary.dto.ItemDefinitionDto;
|
|
|
|
|
import com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper;
|
|
|
|
|
@@ -51,15 +53,74 @@ public class ItemDefinitionController {
|
|
|
|
|
private IChargeItemDefAppService chargeItemDefAppService;
|
|
|
|
|
@Autowired(required = false)
|
|
|
|
|
private ChargeItemDefSearchMapper chargeItemDefSearchMapper;
|
|
|
|
|
// @Autowired(required = false)
|
|
|
|
|
// private IMedicationDefinitionService medicationDefinitionService;
|
|
|
|
|
// @Autowired(required = false)
|
|
|
|
|
// private IDeviceDefinitionService deviceDefinitionService;
|
|
|
|
|
// @Autowired(required = false)
|
|
|
|
|
// private IActivityDefinitionService activityDefinitionService;
|
|
|
|
|
@Autowired(required = false)
|
|
|
|
|
private AssignSeqUtil assignSeqUtil;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 项目定价列表
|
|
|
|
|
*
|
|
|
|
|
* @param itemDefSearchParam 查询条件
|
|
|
|
|
* @return 项目定价列表
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping(value = "/init")
|
|
|
|
|
public R<?> getInitDefinitionOptions(ItemDefSearchParam itemDefSearchParam) {
|
|
|
|
|
List<ChargeItemOptionDto> chargeItemOptions = new ArrayList<>();
|
|
|
|
|
if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 西药
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.WEST_MEDICINE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.WEST_MEDICINE.getInfo()));
|
|
|
|
|
// 中药饮片
|
|
|
|
|
chargeItemOptions
|
|
|
|
|
.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.CHINESE_MEDICINE_SLICES_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.CHINESE_MEDICINE_SLICES_FEE.getInfo()));
|
|
|
|
|
// 中成药
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.CHINESE_MEDICINE_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.CHINESE_MEDICINE_FEE.getInfo()));
|
|
|
|
|
// 其他
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.OTHER_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.OTHER_FEE.getInfo()));
|
|
|
|
|
} else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 卫生材料
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.SANITARY_MATERIALS_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.SANITARY_MATERIALS_FEE.getInfo()));
|
|
|
|
|
// 其他
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.OTHER_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.OTHER_FEE.getInfo()));
|
|
|
|
|
} else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 床位
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.BED_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.BED_FEE.getInfo()));
|
|
|
|
|
// 诊察
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.DIAGNOSTIC_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.DIAGNOSTIC_FEE.getInfo()));
|
|
|
|
|
// 检查
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.CHECK_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.CHECK_FEE.getInfo()));
|
|
|
|
|
// 化验
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.DIAGNOSTIC_TEST_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.DIAGNOSTIC_TEST_FEE.getInfo()));
|
|
|
|
|
// 治疗
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.MEDICAL_EXPENSE_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.MEDICAL_EXPENSE_FEE.getInfo()));
|
|
|
|
|
// 手术
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.OPERATION_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.OPERATION_FEE.getInfo()));
|
|
|
|
|
// 护理费
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.NURSING_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.NURSING_FEE.getInfo()));
|
|
|
|
|
// 其他
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.GENERAL_CONSULTATION_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.GENERAL_CONSULTATION_FEE.getInfo()));
|
|
|
|
|
// 挂号
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.REGISTRATION_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.REGISTRATION_FEE.getInfo()));
|
|
|
|
|
// 其他
|
|
|
|
|
chargeItemOptions.add(new ChargeItemOptionDto().setValue(ChargeItemEnum.OTHER_FEE.getCode())
|
|
|
|
|
.setLabel(ChargeItemEnum.OTHER_FEE.getInfo()));
|
|
|
|
|
}
|
|
|
|
|
return R.ok(chargeItemOptions);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 项目定价列表
|
|
|
|
|
*
|
|
|
|
|
@@ -72,60 +133,12 @@ public class ItemDefinitionController {
|
|
|
|
|
@GetMapping(value = "/item-definition-page")
|
|
|
|
|
public R<?> getDefinitionPage(ItemDefSearchParam itemDefSearchParam,
|
|
|
|
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
|
|
|
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
|
|
|
|
// region
|
|
|
|
|
/// todo: 代码未测试
|
|
|
|
|
// 获取定价查询条件
|
|
|
|
|
// ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition();
|
|
|
|
|
// BeanUtils.copyProperties(itemDefSearchParam, chargeItemDefinition);
|
|
|
|
|
|
|
|
|
|
// ====================================================================================
|
|
|
|
|
|
|
|
|
|
// 查询【费用定价管理】分页列表
|
|
|
|
|
// Page<ChargeItemDefinition> chargeItemDefinitionPage =
|
|
|
|
|
// chargeItemDefinitionMapper.getPage(itemDefSearchParam, pageNo, pageSize);
|
|
|
|
|
// if (chargeItemDefinitionPage.getRecords() != null) {
|
|
|
|
|
// List<ChargeItemDefApp> chargeItemDefAppList = chargeItemDefAppService.listByIds(chargeItemDefinitionPage
|
|
|
|
|
// .getRecords().stream().filter(e -> e.getInstanceTable().equals("adm_charge_item_def_app"))
|
|
|
|
|
// .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList()));
|
|
|
|
|
// // 通过 DefinitionType 区分药品定价/器具定价/手术定价
|
|
|
|
|
// if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// // 获取药品定价列表
|
|
|
|
|
// List<MedicationDefinition> medicationList =
|
|
|
|
|
// medicationDefinitionService.listByIds(chargeItemDefinitionPage.getRecords().stream()
|
|
|
|
|
// .filter(e -> e.getInstanceTable().equals("med_medication_definition"))
|
|
|
|
|
// .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList()));
|
|
|
|
|
//
|
|
|
|
|
// return R.ok(ItemDefinitionAssembler.assembleMedDefinitionDto(chargeItemDefinitionPage,
|
|
|
|
|
// chargeItemDefAppList, medicationList, itemDefSearchParam));
|
|
|
|
|
// } else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// // 获取器具定价列表
|
|
|
|
|
// List<DeviceDefinition> deviceDefinitionList = deviceDefinitionService.listByIds(chargeItemDefinitionPage
|
|
|
|
|
// .getRecords().stream().filter(e -> e.getInstanceTable().equals("adm_device_definition"))
|
|
|
|
|
// .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList()));
|
|
|
|
|
//
|
|
|
|
|
// return R.ok(ItemDefinitionAssembler.assembleDevDefinitionDto(chargeItemDefinitionPage,
|
|
|
|
|
// chargeItemDefAppList, deviceDefinitionList, itemDefSearchParam));
|
|
|
|
|
// } else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// List<ActivityDefinition> activityDefinitionList =
|
|
|
|
|
// activityDefinitionService.listByIds(chargeItemDefinitionPage.getRecords().stream()
|
|
|
|
|
// .filter(e -> e.getInstanceTable().equals("wor_activity_definition"))
|
|
|
|
|
// .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList()));
|
|
|
|
|
//
|
|
|
|
|
// return R.ok(ItemDefinitionAssembler.assembleProDefinitionDto(chargeItemDefinitionPage,
|
|
|
|
|
// chargeItemDefAppList, activityDefinitionList, itemDefSearchParam));
|
|
|
|
|
// } else {
|
|
|
|
|
// return R.ok(new Page<ChargeItemDefPageDto>());
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// return R.ok(new Page<ChargeItemDefPageDto>());
|
|
|
|
|
// }
|
|
|
|
|
// endregion
|
|
|
|
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
|
|
|
|
@RequestParam(value = "searchKey", defaultValue = "10") String searchKey, HttpServletRequest request) {
|
|
|
|
|
|
|
|
|
|
IPage<ChargeItemDefPageDto> chargeItemDefinitionPage = new Page<>();
|
|
|
|
|
List<ChargeItemDefPageDto> chargeItemDefinitionList;
|
|
|
|
|
|
|
|
|
|
// TODO: 待测试
|
|
|
|
|
// 跳过的数量
|
|
|
|
|
int skipCount = 0;
|
|
|
|
|
if (pageNo > 0) {
|
|
|
|
|
@@ -135,51 +148,29 @@ public class ItemDefinitionController {
|
|
|
|
|
if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 获取定价列表
|
|
|
|
|
chargeItemDefinitionList =
|
|
|
|
|
chargeItemDefSearchMapper.getMedList(itemDefSearchParam, pageNo, pageSize, skipCount);
|
|
|
|
|
// 设置分页条件
|
|
|
|
|
chargeItemDefinitionPage.setSize(pageSize);
|
|
|
|
|
chargeItemDefinitionPage.setCurrent(pageNo);
|
|
|
|
|
if (chargeItemDefinitionList.size() > 0) {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount());
|
|
|
|
|
chargeItemDefinitionPage.setRecords(chargeItemDefinitionList);
|
|
|
|
|
} else {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(0);
|
|
|
|
|
chargeItemDefinitionPage.setRecords(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
return R.ok(chargeItemDefinitionPage, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
|
|
|
|
|
chargeItemDefSearchMapper.getMedList(itemDefSearchParam, pageNo, pageSize, searchKey, skipCount);
|
|
|
|
|
} else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 获取定价列表
|
|
|
|
|
chargeItemDefinitionList =
|
|
|
|
|
chargeItemDefSearchMapper.getDevList(itemDefSearchParam, pageNo, pageSize, skipCount);
|
|
|
|
|
// 设置分页条件
|
|
|
|
|
chargeItemDefinitionPage.setSize(pageSize);
|
|
|
|
|
chargeItemDefinitionPage.setCurrent(pageNo);
|
|
|
|
|
if (chargeItemDefinitionList.size() > 0) {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount());
|
|
|
|
|
chargeItemDefinitionPage.setRecords(chargeItemDefinitionList);
|
|
|
|
|
} else {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(0);
|
|
|
|
|
chargeItemDefinitionPage.setRecords(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
return R.ok(chargeItemDefinitionPage, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
|
|
|
|
|
chargeItemDefSearchMapper.getDevList(itemDefSearchParam, pageNo, pageSize, searchKey, skipCount);
|
|
|
|
|
} else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) {
|
|
|
|
|
// 获取定价列表
|
|
|
|
|
chargeItemDefinitionList =
|
|
|
|
|
chargeItemDefSearchMapper.getActList(itemDefSearchParam, pageNo, pageSize, skipCount);
|
|
|
|
|
// 设置分页条件
|
|
|
|
|
chargeItemDefinitionPage.setSize(pageSize);
|
|
|
|
|
chargeItemDefinitionPage.setCurrent(pageNo);
|
|
|
|
|
if (chargeItemDefinitionList.size() > 0) {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount());
|
|
|
|
|
chargeItemDefinitionPage.setRecords(chargeItemDefinitionList);
|
|
|
|
|
} else {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(0);
|
|
|
|
|
chargeItemDefinitionPage.setRecords(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
return R.ok(chargeItemDefinitionPage, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
|
|
|
|
|
chargeItemDefSearchMapper.getActList(itemDefSearchParam, pageNo, pageSize, searchKey, skipCount);
|
|
|
|
|
} else {
|
|
|
|
|
return R.ok(new Page<>(), MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
|
|
|
|
|
chargeItemDefinitionList = new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
// 设置分页条件
|
|
|
|
|
chargeItemDefinitionPage.setSize(pageSize);
|
|
|
|
|
chargeItemDefinitionPage.setCurrent(pageNo);
|
|
|
|
|
if (chargeItemDefinitionList.size() > 0) {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount());
|
|
|
|
|
chargeItemDefinitionPage.setRecords(chargeItemDefinitionList);
|
|
|
|
|
} else {
|
|
|
|
|
chargeItemDefinitionPage.setTotal(0);
|
|
|
|
|
chargeItemDefinitionPage.setRecords(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
return R.ok(chargeItemDefinitionPage, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|