版本更新

This commit is contained in:
Zhang.WH
2025-10-16 17:17:24 +08:00
parent d23a594a4b
commit f515bb8fbb
600 changed files with 7881 additions and 35954 deletions

View File

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

View File

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

View File

@@ -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) {
// 耗材发放状态

View File

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

View File

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

View File

@@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
*/
@Data
@Accessors(chain = true)
public class InpatientMedicineInitDto {
public class MedicineSummaryInitDto {
/** 科室列表 */
private List<LongOptions> departmentOptions;

View File

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

View File

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

View File

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