版本更新
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package com.openhis.web.pharmacymanage.appservice;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.pharmacymanage.dto.InpatientMedicineSearchParam;
|
||||
|
||||
import java.util.List;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummarySearchParam;
|
||||
|
||||
/**
|
||||
* 住院汇总发药 应用实现接口
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
* @author yuxj
|
||||
* @date 2025/6/3
|
||||
*/
|
||||
public interface IInpatientMedicineSummaryDispenseAppService {
|
||||
public interface ISummaryDispenseMedicineAppService {
|
||||
|
||||
/**
|
||||
* 页面初始化
|
||||
@@ -31,7 +31,7 @@ public interface IInpatientMedicineSummaryDispenseAppService {
|
||||
* @param pageSize 查询条数
|
||||
* @param request 请求数据
|
||||
*/
|
||||
R<?> getMedicationSummaryInfo(InpatientMedicineSearchParam searchParam, String searchKey, Integer pageNo,
|
||||
R<?> getMedicationSummaryInfo(MedicineSummarySearchParam searchParam, String searchKey, Integer pageNo,
|
||||
Integer pageSize, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
@@ -40,7 +40,7 @@ public interface IInpatientMedicineSummaryDispenseAppService {
|
||||
* @param searchParam 条件
|
||||
* @return 处理结果
|
||||
*/
|
||||
R<?> medicineDispense(List<InpatientMedicineSearchParam> searchParam);
|
||||
R<?> SummaryDispenseMedicine(List<MedicineSummarySearchParam> searchParam);
|
||||
|
||||
/**
|
||||
* 作废
|
||||
@@ -49,5 +49,5 @@ public interface IInpatientMedicineSummaryDispenseAppService {
|
||||
* @param notPerformedReasonEnum 未发原因
|
||||
* @return 处理结果
|
||||
*/
|
||||
R<?> medicineCancel(List<Long> deliveryIdList, Integer notPerformedReasonEnum);
|
||||
R<?> dispenseCancel(List<Long> deliveryIdList, Integer notPerformedReasonEnum);
|
||||
}
|
||||
@@ -8,6 +8,9 @@ import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.openhis.yb.dto.MedicalInventory3511Output;
|
||||
import com.openhis.yb.dto.MedicalInventory3511Param;
|
||||
import com.openhis.yb.service.YbHttpUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@@ -117,6 +120,9 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService {
|
||||
@Resource
|
||||
private ReceiptApprovalAppServiceImpl receiptApprovalAppService;
|
||||
|
||||
@Resource
|
||||
private YbHttpUtils ybHttpUtils;
|
||||
|
||||
/**
|
||||
* 获取页面初始化信息
|
||||
*
|
||||
@@ -421,31 +427,43 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService {
|
||||
// 调用医保商品销售退货接口
|
||||
String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关
|
||||
if (Whether.YES.getCode().equals(ybSwitch)) {
|
||||
if (!medicationRefundList.isEmpty() || !devRefundList.isEmpty()) {
|
||||
List<DeviceDefinition> deviceDefinitions = new ArrayList<>();
|
||||
List<MedicationDefinition> medicationDefinitions = new ArrayList<>();
|
||||
if (!medicationRefundList.isEmpty()) {
|
||||
// 设置进销存参数
|
||||
List<MedicationDefinition> medicationDefinitions =
|
||||
medicationDefinitionService.listByIds(supplyItemDetailList.stream()
|
||||
.filter(x -> x.getItemTable().equals(CommonConstants.TableName.MED_MEDICATION_DEFINITION))
|
||||
.map(SupplyItemDetailDto::getItemId).collect(Collectors.toList()));
|
||||
List<DeviceDefinition> deviceDefinitions = deviceDefinitionService.listByIds(supplyItemDetailList
|
||||
.stream().filter(x -> x.getItemTable().equals(CommonConstants.TableName.ADM_DEVICE_DEFINITION))
|
||||
medicationDefinitions = medicationDefinitionService.listByIds(supplyItemDetailList.stream()
|
||||
.filter(x -> x.getItemTable().equals(CommonConstants.TableName.MED_MEDICATION_DEFINITION))
|
||||
.map(SupplyItemDetailDto::getItemId).collect(Collectors.toList()));
|
||||
}
|
||||
if (!devRefundList.isEmpty()) {
|
||||
deviceDefinitions = deviceDefinitionService.listByIds(supplyItemDetailList.stream()
|
||||
.filter(x -> x.getItemTable().equals(CommonConstants.TableName.ADM_DEVICE_DEFINITION))
|
||||
.map(SupplyItemDetailDto::getItemId).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
// 用itemId分组
|
||||
Map<Long, MedicationDefinition> medicationMap = medicationDefinitions.stream()
|
||||
.collect(Collectors.toMap(MedicationDefinition::getId, Function.identity()));
|
||||
Map<Long, DeviceDefinition> deviceMap =
|
||||
deviceDefinitions.stream().collect(Collectors.toMap(DeviceDefinition::getId, Function.identity()));
|
||||
// 创建映射表,添加空集合保护
|
||||
Map<Long, MedicationDefinition> medicationMap =
|
||||
medicationDefinitions != null ? medicationDefinitions.stream().filter(Objects::nonNull)
|
||||
.collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())) : new HashMap<>();
|
||||
|
||||
// 设置库存变更参数
|
||||
for (SupplyItemDetailDto dto : supplyItemDetailList) {
|
||||
if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dto.getItemTable())) {
|
||||
Map<Long, DeviceDefinition> deviceMap =
|
||||
deviceDefinitions != null ? deviceDefinitions.stream().filter(Objects::nonNull)
|
||||
.collect(Collectors.toMap(DeviceDefinition::getId, Function.identity())) : new HashMap<>();
|
||||
|
||||
// 设置库存变更参数,添加完整判空
|
||||
for (SupplyItemDetailDto dto : supplyItemDetailList) {
|
||||
if (dto == null)
|
||||
continue;
|
||||
if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dto.getItemTable())) {
|
||||
if (dto.getItemId() != null) {
|
||||
MedicationDefinition med = medicationMap.get(dto.getItemId());
|
||||
if (med != null) {
|
||||
dto.setItemBusNo(med.getBusNo()).setPartPercent(med.getPartPercent())
|
||||
.setRxFlag(med.getRxFlag()).setYbNo(med.getYbNo());
|
||||
}
|
||||
} else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dto.getItemTable())) {
|
||||
}
|
||||
} else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dto.getItemTable())) {
|
||||
if (dto.getItemId() != null) {
|
||||
DeviceDefinition dev = deviceMap.get(dto.getItemId());
|
||||
if (dev != null) {
|
||||
dto.setItemBusNo(dev.getBusNo()).setPartPercent(dev.getPartPercent())
|
||||
@@ -453,14 +471,14 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService {
|
||||
}
|
||||
}
|
||||
}
|
||||
uploadFailedNoList = this.ybReturnIntegrated(medDispenseIdList, devDispenseIdList);
|
||||
uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList,
|
||||
YbInvChgType.OTHER_OUT, DateUtils.getNowDate());
|
||||
if (uploadFailedNoList != null) {
|
||||
returnMsg = "3506商品销售退货上传错误,错误项目编码" + uploadFailedNoList;
|
||||
} else {
|
||||
returnMsg = "3506商品销售退货上传成功";
|
||||
}
|
||||
}
|
||||
uploadFailedNoList = this.ybReturnIntegrated(medDispenseIdList, devDispenseIdList);
|
||||
uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList,
|
||||
YbInvChgType.OTHER_OUT, DateUtils.getNowDate());
|
||||
if (uploadFailedNoList != null) {
|
||||
returnMsg = "3506商品销售退货上传错误,错误项目编码" + uploadFailedNoList;
|
||||
} else {
|
||||
returnMsg = "3506商品销售退货上传成功";
|
||||
}
|
||||
}
|
||||
// 返回退药成功信息
|
||||
@@ -618,6 +636,21 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService {
|
||||
} else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dispenseInventoryDto.getItemTable())) {
|
||||
medical3506Param.setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION);
|
||||
}
|
||||
MedicalInventory3511Output medicalInventory3511Output =
|
||||
ybHttpUtils.querySalesInfo(getMedical3511Param(dispenseInventoryDto));
|
||||
medical3506Param.setMedinsProdSelNo(medicalInventory3511Output.getMedinsProdSelNo());
|
||||
return medical3506Param;
|
||||
}
|
||||
|
||||
private MedicalInventory3511Param getMedical3511Param(DispenseInventoryDto dispenseInventoryDto) {
|
||||
MedicalInventory3511Param medicalInventory3511Param = new MedicalInventory3511Param();
|
||||
|
||||
String fixmedinsCode =
|
||||
SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE);
|
||||
// TODO
|
||||
medicalInventory3511Param.setFixmedinsCode(fixmedinsCode).setMedinsListCodg(dispenseInventoryDto.getYbNo())
|
||||
.setFixmedinsBchno(dispenseInventoryDto.getLotNumber()).setBegndate(dispenseInventoryDto.getDispenseTime()).setEnddate(dispenseInventoryDto.getDispenseTime());
|
||||
|
||||
return medicalInventory3511Param;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import java.util.stream.Stream;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.openhis.web.pharmacymanage.dto.InpatientMedicineSummaryDto;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -32,12 +31,13 @@ import com.openhis.common.utils.EnumUtils;
|
||||
import com.openhis.common.utils.HisQueryUtils;
|
||||
import com.openhis.medication.domain.MedicationDispense;
|
||||
import com.openhis.medication.service.IMedicationDispenseService;
|
||||
import com.openhis.web.inhospitalnursestation.appservice.IInpatientMedicineCollectionAppService;
|
||||
import com.openhis.web.pharmacymanage.appservice.IInpatientMedicineSummaryDispenseAppService;
|
||||
import com.openhis.web.pharmacymanage.dto.InpatientMedicineInitDto;
|
||||
import com.openhis.web.pharmacymanage.dto.InpatientMedicineSearchParam;
|
||||
import com.openhis.web.pharmacymanage.mapper.InpatientMedicineSummaryDispenseMapper;
|
||||
import com.openhis.web.inhospitalnursestation.appservice.IMedicineSummaryAppService;
|
||||
import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppService;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummaryDto;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummaryInitDto;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummarySearchParam;
|
||||
import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper;
|
||||
import com.openhis.web.pharmacymanage.mapper.SummaryDispenseMedicineMapper;
|
||||
import com.openhis.workflow.domain.DeviceDispense;
|
||||
import com.openhis.workflow.domain.InventoryItem;
|
||||
import com.openhis.workflow.domain.SupplyDelivery;
|
||||
@@ -54,7 +54,7 @@ import com.openhis.workflow.service.ISupplyRequestService;
|
||||
* @date 2025/6/3
|
||||
*/
|
||||
@Service
|
||||
public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatientMedicineSummaryDispenseAppService {
|
||||
public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMedicineAppService {
|
||||
|
||||
@Autowired
|
||||
private IMedicationDispenseService medicationDispenseService;
|
||||
@@ -66,7 +66,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
private IInventoryItemService iInventoryItemService;
|
||||
|
||||
@Autowired
|
||||
private InpatientMedicineSummaryDispenseMapper inpatientMedicineDispenseMapper;
|
||||
private SummaryDispenseMedicineMapper inpatientMedicineDispenseMapper;
|
||||
|
||||
@Autowired
|
||||
private ReturnMedicineMapper returnMedicineMapper;
|
||||
@@ -85,7 +85,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
private WesternMedicineDispenseAppServiceImpl westernMedicineDispenseAppServiceImpl;
|
||||
|
||||
@Autowired
|
||||
private IInpatientMedicineCollectionAppService inpatientMedicineCollectionAppService;
|
||||
private IMedicineSummaryAppService inpatientMedicineCollectionAppService;
|
||||
|
||||
/**
|
||||
* 获取页面初始化信息
|
||||
@@ -95,7 +95,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
@Override
|
||||
public R<?> init() {
|
||||
|
||||
InpatientMedicineInitDto initDto = new InpatientMedicineInitDto();
|
||||
MedicineSummaryInitDto initDto = new MedicineSummaryInitDto();
|
||||
|
||||
// // 获取科室下拉选列表 todo 前台直接调用共通方法
|
||||
// List<Organization> organizationList = organizationService.getList(OrganizationType.DEPARTMENT.getValue(),
|
||||
@@ -105,9 +105,9 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
// organization.getName())).collect(Collectors.toList());
|
||||
|
||||
// 未发药原因下拉选列表
|
||||
List<InpatientMedicineInitDto.IntegerOptions> notPerformedReasonOptions =
|
||||
List<MedicineSummaryInitDto.IntegerOptions> notPerformedReasonOptions =
|
||||
Stream.of(NotPerformedReasonEnum.values())
|
||||
.map(notPerformedReason -> new InpatientMedicineInitDto.IntegerOptions(notPerformedReason.getValue(),
|
||||
.map(notPerformedReason -> new MedicineSummaryInitDto.IntegerOptions(notPerformedReason.getValue(),
|
||||
notPerformedReason.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -115,12 +115,12 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
List<Practitioner> applicantList = practitionerService.getList();
|
||||
|
||||
// 发药状态
|
||||
List<InpatientMedicineInitDto.IntegerOptions> dispenseStatusOptions = new ArrayList<>();
|
||||
dispenseStatusOptions.add(new InpatientMedicineInitDto.IntegerOptions(DispenseStatus.SUMMARIZED.getValue(),
|
||||
List<MedicineSummaryInitDto.IntegerOptions> dispenseStatusOptions = new ArrayList<>();
|
||||
dispenseStatusOptions.add(new MedicineSummaryInitDto.IntegerOptions(DispenseStatus.SUMMARIZED.getValue(),
|
||||
DispenseStatus.SUMMARIZED.getInfo()));
|
||||
dispenseStatusOptions.add(new InpatientMedicineInitDto.IntegerOptions(DispenseStatus.COMPLETED.getValue(),
|
||||
dispenseStatusOptions.add(new MedicineSummaryInitDto.IntegerOptions(DispenseStatus.COMPLETED.getValue(),
|
||||
DispenseStatus.COMPLETED.getInfo()));
|
||||
dispenseStatusOptions.add(new InpatientMedicineInitDto.IntegerOptions(DispenseStatus.DECLINED.getValue(),
|
||||
dispenseStatusOptions.add(new MedicineSummaryInitDto.IntegerOptions(DispenseStatus.DECLINED.getValue(),
|
||||
DispenseStatus.DECLINED.getInfo()));
|
||||
|
||||
initDto// .setDepartmentOptions(organizationOptions)
|
||||
@@ -139,37 +139,35 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
* @param request 请求数据
|
||||
*/
|
||||
@Override
|
||||
public R<?> getMedicationSummaryInfo(InpatientMedicineSearchParam searchParam, String searchKey, Integer pageNo,
|
||||
public R<?> getMedicationSummaryInfo(MedicineSummarySearchParam searchParam, String searchKey, Integer pageNo,
|
||||
Integer pageSize, HttpServletRequest request) {
|
||||
|
||||
// 构建查询条件
|
||||
QueryWrapper<InpatientMedicineSearchParam> queryWrapper =
|
||||
QueryWrapper<MedicineSummarySearchParam> queryWrapper =
|
||||
HisQueryUtils.buildQueryWrapper(searchParam, searchKey, null, request);
|
||||
queryWrapper.orderByDesc(CommonConstants.FieldName.applyTime);
|
||||
|
||||
// 查询医嘱详细信息
|
||||
Page<InpatientMedicineSummaryDto> prescriptionItemInfoPageDto =
|
||||
Page<MedicineSummaryDto> prescriptionItemInfoPageDto =
|
||||
inpatientMedicineDispenseMapper.selectMedicationSummaryInfo(new Page<>(pageNo, pageSize), queryWrapper,
|
||||
CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION,
|
||||
SupplyType.DISPENSING_ORDER.getValue(), SupplyCategory.INPATIENT_PATIENT_SUMMARY_DISPENSING.getValue());
|
||||
|
||||
List<InpatientMedicineSummaryDto.Option> unitList;
|
||||
List<MedicineSummaryDto.Option> unitList;
|
||||
// 个别项目设定
|
||||
for (InpatientMedicineSummaryDto prescriptionInfoDto : prescriptionItemInfoPageDto
|
||||
.getRecords()) {
|
||||
for (MedicineSummaryDto prescriptionInfoDto : prescriptionItemInfoPageDto.getRecords()) {
|
||||
// 状态
|
||||
prescriptionInfoDto.setStatusEnum_enumText(
|
||||
EnumUtils.getInfoByValue(DispenseStatus.class, prescriptionInfoDto.getStatusEnum()));
|
||||
// 追溯码单位列表
|
||||
unitList = new ArrayList<>();
|
||||
unitList.add(new InpatientMedicineSummaryDto.Option(prescriptionInfoDto.getMaxUnitCode(),
|
||||
unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMaxUnitCode(),
|
||||
prescriptionInfoDto.getMaxUnitCode_dictText()));
|
||||
unitList.add(new InpatientMedicineSummaryDto.Option(prescriptionInfoDto.getMinUnitCode(),
|
||||
unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMinUnitCode(),
|
||||
prescriptionInfoDto.getMinUnitCode_dictText()));
|
||||
|
||||
prescriptionInfoDto.setUnitList(unitList);
|
||||
} ;
|
||||
|
||||
return R.ok(prescriptionItemInfoPageDto);
|
||||
}
|
||||
|
||||
@@ -180,10 +178,10 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
* @return 处理结果
|
||||
*/
|
||||
@Override
|
||||
public R<?> medicineDispense(List<InpatientMedicineSearchParam> searchParam) {
|
||||
public R<?> SummaryDispenseMedicine(List<MedicineSummarySearchParam> searchParam) {
|
||||
// 构建供应发放Id到追溯码的映射
|
||||
Map<Long, String> traceNoMap = new HashMap<>();
|
||||
for (InpatientMedicineSearchParam param : searchParam) {
|
||||
for (MedicineSummarySearchParam param : searchParam) {
|
||||
if (param != null && param.getDeliveryId() != null) {
|
||||
traceNoMap.put(param.getDeliveryId(), param.getTraceNo());
|
||||
}
|
||||
@@ -191,7 +189,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
|
||||
// 供应发放idList
|
||||
List<Long> deliveryIdList =
|
||||
searchParam.stream().map(InpatientMedicineSearchParam::getDeliveryId).collect(Collectors.toList());
|
||||
searchParam.stream().map(MedicineSummarySearchParam::getDeliveryId).collect(Collectors.toList());
|
||||
// 获取供应发放信息列表
|
||||
List<SupplyDelivery> supplyDeliveryInfoList = supplyDeliveryService.selectByIdList(deliveryIdList);
|
||||
// 供应申请idList
|
||||
@@ -214,7 +212,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
idList = Arrays.stream(idArray).map(String::trim) // 去除每个元素前后的空格
|
||||
.filter(str -> !str.isEmpty()) // 过滤空字符串(如连续逗号导致的空值)
|
||||
.map(Long::parseLong) // 转换为Long类型
|
||||
.collect(Collectors.toList()); // 收集为List<Long>
|
||||
.toList(); // 收集为List<Long>
|
||||
// 设置发放ID列表,追溯码映射
|
||||
if (item.getBasedOnTable().equals(CommonConstants.TableName.MED_MEDICATION_DISPENSE)) {
|
||||
// 耗材发放ID列表
|
||||
@@ -426,7 +424,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
* @return 处理结果
|
||||
*/
|
||||
@Override
|
||||
public R<?> medicineCancel(List<Long> deliveryIdList, Integer notPerformedReasonEnum) {
|
||||
public R<?> dispenseCancel(List<Long> deliveryIdList, Integer notPerformedReasonEnum) {
|
||||
// 获取供应发放信息列表
|
||||
List<SupplyDelivery> supplyDeliveryInfoList = supplyDeliveryService.selectByIdList(deliveryIdList);
|
||||
List<SupplyRequest> supplyRequestInfoList;
|
||||
@@ -448,7 +446,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
idList = Arrays.stream(idArray).map(String::trim) // 去除每个元素前后的空格
|
||||
.filter(str -> !str.isEmpty()) // 过滤空字符串(如连续逗号导致的空值)
|
||||
.map(Long::parseLong) // 转换为Long类型
|
||||
.collect(Collectors.toList()); // 收集为List<Long>
|
||||
.toList(); // 收集为List<Long>
|
||||
// 设置发放ID列表,追溯码映射
|
||||
if (item.getBasedOnTable().equals(CommonConstants.TableName.MED_MEDICATION_DISPENSE)) {
|
||||
// 耗材发放ID列表
|
||||
@@ -482,7 +480,7 @@ public class InpatientMedicineSummaryDispenseAppServiceImpl implements IInpatien
|
||||
}
|
||||
|
||||
// 获取发耗材单id列表
|
||||
List<DeviceDispense> devDispenseInfoList = deviceDispenseService.selectByIdList(devDispenseIdList);
|
||||
List<DeviceDispense> devDispenseInfoList = deviceDispenseService.listByIds(devDispenseIdList);
|
||||
if (devDispenseInfoList != null) {
|
||||
for (DeviceDispense deviceDispense : devDispenseInfoList) {
|
||||
// 耗材发放状态
|
||||
@@ -1,19 +1,19 @@
|
||||
package com.openhis.web.pharmacymanage.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.pharmacymanage.appservice.IInpatientMedicineSummaryDispenseAppService;
|
||||
import com.openhis.web.pharmacymanage.dto.InpatientMedicineSearchParam;
|
||||
import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppService;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummarySearchParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 住院汇总发药
|
||||
*
|
||||
@@ -21,13 +21,13 @@ import java.util.List;
|
||||
* @date 2025/6/3
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pharmacy-manage/inpatient-medicine-summary-dispense")
|
||||
@RequestMapping("/pharmacy-manage/summary-dispense-medicine")
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public class InpatientMedicineSummaryDispenseController {
|
||||
public class SummaryDispenseMedicineController {
|
||||
|
||||
@Resource
|
||||
public IInpatientMedicineSummaryDispenseAppService medicineSummaryDispenseService;
|
||||
public ISummaryDispenseMedicineAppService medicineSummaryDispenseService;
|
||||
|
||||
/**
|
||||
* 获取页面初始化信息
|
||||
@@ -48,8 +48,8 @@ public class InpatientMedicineSummaryDispenseController {
|
||||
* @param pageSize 查询条数
|
||||
* @param request 请求数据
|
||||
*/
|
||||
@GetMapping("/medicationSummary-list")
|
||||
public R<?> getMedicationSummaryInfo(InpatientMedicineSearchParam searchParam, String searchKey,
|
||||
@GetMapping("/medication_summary-list")
|
||||
public R<?> getMedicationSummaryInfo(MedicineSummarySearchParam searchParam, String searchKey,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||
return medicineSummaryDispenseService.getMedicationSummaryInfo(searchParam, searchKey, pageNo, pageSize,
|
||||
@@ -57,14 +57,14 @@ public class InpatientMedicineSummaryDispenseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 核对发药
|
||||
* 汇总发药
|
||||
*
|
||||
* @param searchParam 条件
|
||||
* @return 处理结果
|
||||
*/
|
||||
@PutMapping("/medicine-dispense")
|
||||
public R<?> medicineDispense(@RequestBody List<InpatientMedicineSearchParam> searchParam) {
|
||||
return medicineSummaryDispenseService.medicineDispense(searchParam);
|
||||
@PutMapping("/summary-dispense-medicine")
|
||||
public R<?> SummaryDispenseMedicine(@RequestBody List<MedicineSummarySearchParam> searchParam) {
|
||||
return medicineSummaryDispenseService.SummaryDispenseMedicine(searchParam);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,9 +74,9 @@ public class InpatientMedicineSummaryDispenseController {
|
||||
* @param notPerformedReasonEnum 未发原因
|
||||
* @return 处理结果
|
||||
*/
|
||||
@PutMapping("/medicine-cancel")
|
||||
public R<?> medicineCancel(@RequestBody List<Long> deliveryIdList, Integer notPerformedReasonEnum) {
|
||||
return medicineSummaryDispenseService.medicineCancel(deliveryIdList, notPerformedReasonEnum);
|
||||
@PutMapping("/dispense-cancel")
|
||||
public R<?> dispenseCancel(@RequestBody List<Long> deliveryIdList, Integer notPerformedReasonEnum) {
|
||||
return medicineSummaryDispenseService.dispenseCancel(deliveryIdList, notPerformedReasonEnum);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,7 +21,7 @@ import lombok.experimental.Accessors;
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class InpatientMedicineSummaryDto {
|
||||
public class MedicineSummaryDto {
|
||||
|
||||
/**
|
||||
* 单据号
|
||||
@@ -110,7 +110,7 @@ public class InpatientMedicineSummaryDto {
|
||||
/**
|
||||
* 单位列表
|
||||
*/
|
||||
private List<InpatientMedicineSummaryDto.Option> unitList;
|
||||
private List<MedicineSummaryDto.Option> unitList;
|
||||
|
||||
@Data
|
||||
public static class Option {
|
||||
@@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class InpatientMedicineInitDto {
|
||||
public class MedicineSummaryInitDto {
|
||||
|
||||
/** 科室列表 */
|
||||
private List<LongOptions> departmentOptions;
|
||||
@@ -4,12 +4,10 @@
|
||||
package com.openhis.web.pharmacymanage.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
|
||||
import com.openhis.common.annotation.Dict;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@@ -21,7 +19,7 @@ import lombok.experimental.Accessors;
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class InpatientMedicineSearchParam implements Serializable {
|
||||
public class MedicineSummarySearchParam implements Serializable {
|
||||
|
||||
/** 科室 */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||
*/
|
||||
package com.openhis.web.pharmacymanage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.openhis.web.inhospitalnursestation.dto.InpatientMedicinePrescriptionInfoDto;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
||||
import com.openhis.web.pharmacymanage.dto.*;
|
||||
|
||||
@Repository
|
||||
public interface InpatientMedicineSummaryDispenseMapper {
|
||||
|
||||
/**
|
||||
* 医嘱列表查询
|
||||
*
|
||||
* @param page 分页
|
||||
* @param queryWrapper 查询条件
|
||||
* @param medicationDefinition 药品定义
|
||||
* @param deviceDefinition 耗材定义
|
||||
* @return 医嘱信息
|
||||
*/
|
||||
Page<InpatientMedicineSummaryDto> selectMedicationSummaryInfo(
|
||||
@Param("page") Page<InpatientMedicinePrescriptionInfoDto> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<InpatientMedicineSearchParam> queryWrapper,
|
||||
@Param("medicationDefinition") String medicationDefinition,
|
||||
@Param("deviceDefinition") String deviceDefinition, @Param("typeEnum") Integer typeEnum,@Param("categoryEnum") Integer categoryEnum
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||
*/
|
||||
package com.openhis.web.pharmacymanage.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummaryDto;
|
||||
import com.openhis.web.pharmacymanage.dto.MedicineSummarySearchParam;
|
||||
|
||||
@Repository
|
||||
public interface SummaryDispenseMedicineMapper {
|
||||
|
||||
/**
|
||||
* 汇总药品信息列表查询
|
||||
*
|
||||
* @param page 分页
|
||||
* @param queryWrapper 查询条件
|
||||
* @param medicationDefinition 药品定义
|
||||
* @param deviceDefinition 耗材定义
|
||||
* @return 汇总药品信息
|
||||
*/
|
||||
Page<MedicineSummaryDto> selectMedicationSummaryInfo(@Param("page") Page<MedicineSummaryDto> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<MedicineSummarySearchParam> queryWrapper,
|
||||
@Param("medicationDefinition") String medicationDefinition, @Param("deviceDefinition") String deviceDefinition,
|
||||
@Param("typeEnum") Integer typeEnum, @Param("categoryEnum") Integer categoryEnum);
|
||||
}
|
||||
Reference in New Issue
Block a user