diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/IOutpatientChargeAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/IOutpatientChargeAppService.java index 84687919a..a0d345853 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/IOutpatientChargeAppService.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/IOutpatientChargeAppService.java @@ -35,9 +35,10 @@ public interface IOutpatientChargeAppService { * 根据就诊id查询患者处方列表 * * @param encounterId 就诊id + * @param statusEnum 收费状态过滤(可选,不传则返回全部状态) * @return 患者处方列表 */ - List getEncounterPatientPrescription(Long encounterId); + List getEncounterPatientPrescription(Long encounterId, Integer statusEnum); /** * 根据就诊id查询患者处方列表并新增字段:实收金额、应收金额、优惠金额、折扣率 diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java index d20bd6e21..cf47ec298 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java @@ -111,10 +111,11 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi * 根据就诊id查询患者处方列表 * * @param encounterId 就诊id + * @param statusEnum 收费状态过滤(可选,不传则返回全部状态) * @return 患者处方列表 */ @Override - public List getEncounterPatientPrescription(Long encounterId) { + public List getEncounterPatientPrescription(Long encounterId, Integer statusEnum) { List prescriptionDtoList = outpatientChargeAppMapper.selectEncounterPatientPrescription(encounterId, ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.MEDICATION.getValue(), @@ -123,7 +124,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDING.getValue(), ChargeItemStatus.REFUNDED.getValue(), ChargeItemStatus.PART_REFUND.getValue(), - CommonConstants.TableName.WOR_DEVICE_REQUEST); + CommonConstants.TableName.WOR_DEVICE_REQUEST, statusEnum); prescriptionDtoList.forEach(e -> { // 收费状态枚举 e.setStatusEnum_enumText(EnumUtils.getInfoByValue(ChargeItemStatus.class, e.getStatusEnum())); diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/controller/OutpatientChargeController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/controller/OutpatientChargeController.java index 6b87dfcfc..6a1a23eb4 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/controller/OutpatientChargeController.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/controller/OutpatientChargeController.java @@ -61,11 +61,13 @@ public class OutpatientChargeController { * 根据就诊id查询患者处方列表 * * @param encounterId 就诊id + * @param statusEnum 收费状态过滤(可选,不传则返回全部状态) * @return 患者处方列表 */ @GetMapping(value = "/patient-prescription") - public R getEncounterPatientPrescription(@RequestParam Long encounterId) { - return R.ok(outpatientChargeAppService.getEncounterPatientPrescription(encounterId)); + public R getEncounterPatientPrescription(@RequestParam Long encounterId, + @RequestParam(required = false) Integer statusEnum) { + return R.ok(outpatientChargeAppService.getEncounterPatientPrescription(encounterId, statusEnum)); } /** diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/mapper/OutpatientChargeAppMapper.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/mapper/OutpatientChargeAppMapper.java index 463982b01..1087b6757 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/mapper/OutpatientChargeAppMapper.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/chargemanage/mapper/OutpatientChargeAppMapper.java @@ -59,7 +59,8 @@ public interface OutpatientChargeAppMapper { @Param("chinesePatentMedicine") Integer chinesePatentMedicine, @Param("planned") Integer planned, @Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunding") Integer refunding, @Param("refunded") Integer refunded, - @Param("partRefund") Integer partRefund, @Param("worDeviceRequest") String worDeviceRequest); + @Param("partRefund") Integer partRefund, @Param("worDeviceRequest") String worDeviceRequest, + @Param("filterStatus") Integer filterStatus); /** * 根据就诊id查询患者处方列表并新增字段:应收金额,实收金额,优惠金额,折扣率 diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml index acd3dbd7e..636d1c5ef 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml @@ -173,13 +173,20 @@ AND T9sr.delete_flag = '0' LEFT JOIN wor_service_request AS wsrp ON wsrp.id = wsr.parent_id AND wsrp.delete_flag = '0' WHERE T1.encounter_id = #{encounterId} - AND T1.status_enum IN (0 - , #{planned} - , #{billable} - , #{billed} - , #{refunding} - , #{refunded} - , #{partRefund}) + + + AND T1.status_enum = #{filterStatus} + + + AND T1.status_enum IN (0 + , #{planned} + , #{billable} + , #{billed} + , #{refunding} + , #{refunded} + , #{partRefund}) + + AND T1.context_enum != #{register} AND ( -- 若能关联到请求表,则必须是“已签发”后才允许收费端展示 diff --git a/healthlink-his-ui/src/views/charge/cliniccharge/components/api.js b/healthlink-his-ui/src/views/charge/cliniccharge/components/api.js index 2f3de9a82..c3efbf2d8 100755 --- a/healthlink-his-ui/src/views/charge/cliniccharge/components/api.js +++ b/healthlink-his-ui/src/views/charge/cliniccharge/components/api.js @@ -14,9 +14,13 @@ export function getList(queryParams) { /** * 患者处方列表 */ -export function getChargeList(encounterId, config = {}) { +export function getChargeList(encounterId, statusEnum, config = {}) { + let url = '/charge-manage/charge/patient-prescription?encounterId=' + encounterId + if (statusEnum !== undefined && statusEnum !== null) { + url += '&statusEnum=' + statusEnum + } return request({ - url: '/charge-manage/charge/patient-prescription?encounterId=' + encounterId, + url: url, method: 'get', ...config }) diff --git a/healthlink-his-ui/src/views/charge/cliniccharge/index.vue b/healthlink-his-ui/src/views/charge/cliniccharge/index.vue index d4ff5d3f2..311bc94ff 100755 --- a/healthlink-his-ui/src/views/charge/cliniccharge/index.vue +++ b/healthlink-his-ui/src/views/charge/cliniccharge/index.vue @@ -466,9 +466,11 @@ function handleSelectionChange(selection) { } function handleTotalAmount() { if (selectedRows.value.length == 0) { - totalAmounts.value = chargeList.value.reduce((accumulator, currentRow) => { - return new Decimal(accumulator).add(currentRow.totalPrice.toFixed(2) || 0); - }, new Decimal(0)); + totalAmounts.value = chargeList.value + .filter((row) => row.statusEnum === 1) + .reduce((accumulator, currentRow) => { + return new Decimal(accumulator).add(currentRow.totalPrice.toFixed(2) || 0); + }, new Decimal(0)); } else { totalAmounts.value = selectedRows.value.reduce((accumulator, currentRow) => { return new Decimal(accumulator).add(currentRow.totalPrice.toFixed(2) || 0); @@ -530,7 +532,7 @@ function clickRow(params) { patientInfo.value = { ...row, encounterId: encId }; chargeLoading.value = true; encounterId.value = encId; - getChargeList(encId).then((res) => { + getChargeList(encId, queryParams.value.statusEnum).then((res) => { chargeList.value = res.data; setTimeout(() => { chargeLoading.value = false; @@ -544,7 +546,7 @@ function handleClose(value, msg) { if (value == 'success') { proxy.$modal.msgSuccess(msg); chargeLoading.value = true; - getChargeList(patientInfo.value.encounterId, { skipErrorMsg: true }).then((res) => { + getChargeList(patientInfo.value.encounterId, queryParams.value.statusEnum, { skipErrorMsg: true }).then((res) => { chargeList.value = res.data; setTimeout(() => { chargeLoading.value = false;