diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java index ab4f4edb..fd11e97f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java @@ -236,6 +236,11 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi EnumUtils.getInfoByValue(DispenseStatus.class, medicineDispenseOrder.getStatusEnum())); // 设置所在表名 medicineDispenseOrder.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION); + // 处方类型(发药类型:门诊/住院等) + if (medicineDispenseOrder.getDispenseEnum() != null) { + medicineDispenseOrder.setDispenseEnum_enumText( + EnumUtils.getInfoByValue(EncounterClass.class, medicineDispenseOrder.getDispenseEnum())); + } }); return R.ok(medicineDispenseOrderPage); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java index 2759e116..910243f4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java @@ -271,6 +271,12 @@ public class ItemDispenseOrderDto { private String medTypeCode; private String medTypeCode_dictText; + /** + * 发药类型(处方类型:门诊/住院等) + */ + private Integer dispenseEnum; + private String dispenseEnum_enumText; + /** * 输液标志 */ diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml index cf4e2a22..f61bb8f2 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml @@ -41,6 +41,7 @@ + @@ -169,7 +170,8 @@ ii.inventory_quantity, ii.inventory_lot_number, ii.expiration_date, - ii.med_type_code + ii.med_type_code, + ii.dispense_enum FROM ( SELECT T8."name" AS department_name, T9.id AS doctor_id, T9."name" AS doctor_name, @@ -188,7 +190,7 @@ T1.status_enum, T2.rate_code, T1.location_id, - T1.method_code, + T2.method_code, T1.lot_number, T2.dose_unit_code, T2.dispense_per_quantity, @@ -216,7 +218,8 @@ T14.quantity AS inventory_quantity, T14.lot_number AS inventory_lot_number, T14.expiration_date, - T15.med_type_code + T15.med_type_code, + T1.dispense_enum FROM med_medication_dispense AS T1 LEFT JOIN med_medication_request AS T2 ON T1.med_req_id = T2.id @@ -252,7 +255,7 @@ ON T1.location_id = T13.id AND T13.delete_flag = '0' LEFT JOIN wor_inventory_item AS T14 - ON T2.medication_id = T14.item_id + ON T1.medication_id = T14.item_id AND T1.location_id = T14.location_id AND T14.delete_flag = '0' LEFT JOIN adm_encounter_diagnosis AS T15 diff --git a/openhis-ui-vue3/src/views/pharmacymanagement/westernmedicine/index.vue b/openhis-ui-vue3/src/views/pharmacymanagement/westernmedicine/index.vue index d5f94e95..80135112 100644 --- a/openhis-ui-vue3/src/views/pharmacymanagement/westernmedicine/index.vue +++ b/openhis-ui-vue3/src/views/pharmacymanagement/westernmedicine/index.vue @@ -239,7 +239,7 @@ - + @@ -836,7 +836,7 @@ function getRowMarkers(groupCounts, data) { function spanMethod({row, column, rowIndex, columnIndex}) { // 定义需要合并的列范围(前6列,包括selection列) - const columnsToMerge = [1, 2, 3, 17]; // 假设selection列是第0列,其他列依次是1, 2, 3, 4, 5 + const columnsToMerge = [1, 2, 3]; // 假设selection列是第0列,其他列依次是1, 2, 3, 4, 5 // 检查当前列是否在需要合并的列范围内 if (row.prescriptionNo) { if (columnsToMerge.includes(columnIndex)) {