712 【收费工作站-预交金管理】“预交金管理”页面缺失展示“支付方式”列及患者“床号”、“费用类型”

This commit is contained in:
wangjian963
2026-06-17 15:18:48 +08:00
parent b6eec300a9
commit d7d76c922e
3 changed files with 56 additions and 31 deletions

View File

@@ -93,4 +93,9 @@ public class AdvancePaymentInfoDto {
*/ */
private BigDecimal balanceAmount; private BigDecimal balanceAmount;
/**
* 费用类型(医保类型,如:职工医保)
*/
private String feeType;
} }

View File

@@ -18,7 +18,8 @@
api.inHospital_org_name, api.inHospital_org_name,
api.account_id, api.account_id,
api.total_amount, api.total_amount,
api.balance_amount api.balance_amount,
api.fee_type
from (SELECT ae.tenant_id, from (SELECT ae.tenant_id,
ae.ID AS encounter_id, ae.ID AS encounter_id,
ae.bus_no AS bus_no, ae.bus_no AS bus_no,
@@ -34,7 +35,8 @@
aa.id AS account_id, aa.id AS account_id,
COALESCE(payment.total_amount, 0) AS total_amount, COALESCE(payment.total_amount, 0) AS total_amount,
COALESCE(payment.total_amount, 0) - COALESCE(consumption.consumption_amount, 0) + COALESCE(payment.total_amount, 0) - COALESCE(consumption.consumption_amount, 0) +
COALESCE(return_pay.return_amount, 0) AS balance_amount COALESCE(return_pay.return_amount, 0) AS balance_amount,
fee_info.fee_type AS fee_type
FROM adm_encounter AS ae FROM adm_encounter AS ae
LEFT JOIN adm_patient AS ap ON ap.ID = ae.patient_id LEFT JOIN adm_patient AS ap ON ap.ID = ae.patient_id
AND ap.delete_flag = '0' AND ap.delete_flag = '0'
@@ -83,6 +85,14 @@
AND aci.status_enum IN (#{status3}) AND aci.status_enum IN (#{status3})
AND aci.encounter_id = ae.ID AND aci.encounter_id = ae.ID
) AS return_pay ON TRUE ) AS return_pay ON TRUE
LEFT JOIN LATERAL (
SELECT fc.contract_name AS fee_type
FROM adm_account AS aa2
LEFT JOIN fin_contract AS fc ON fc.bus_no = aa2.contract_no AND fc.delete_flag = '0'
WHERE aa2.encounter_id = ae.ID AND aa2.delete_flag = '0'
AND aa2.type_code != #{accountTypeCode}
LIMIT 1
) AS fee_info ON TRUE
WHERE ae.delete_flag = '0' WHERE ae.delete_flag = '0'
AND ae.status_enum != #{registeredFlag} AND ae.status_enum != #{registeredFlag}
AND ae.class_enum = #{classEnum} AND ae.class_enum = #{classEnum}

View File

@@ -8,29 +8,28 @@
<el-row <el-row
:gutter="20" :gutter="20"
align="middle" align="middle"
justify="space-between"
> >
<el-col :span="6"> <el-col :span="16">
<span class="descriptions-item-label">住院号</span>
<el-input
v-model="queryParams.searchKey"
placeholder="请输入内容"
clearable
style="width: 300px"
@keyup.enter="getPatientInfo"
/>
<el-button
type="primary"
style="margin-left: 10px"
@click="getPatientInfo"
>
查询
</el-button>
</el-col>
<el-col
:span="18"
style="text-align: right"
>
<el-space> <el-space>
<span class="descriptions-item-label">住院号</span>
<el-input
v-model="queryParams.searchKey"
placeholder="请输入住院号"
clearable
style="width: 260px"
@keyup.enter="getPatientInfo"
/>
<el-button
type="primary"
@click="getPatientInfo"
>
查询
</el-button>
</el-space>
</el-col>
<el-col :span="8">
<el-space style="float: right">
<el-button <el-button
type="primary" type="primary"
@click="confirmCharge()" @click="confirmCharge()"
@@ -107,21 +106,32 @@
:gutter="24" :gutter="24"
style="margin-top: 10px" style="margin-top: 10px"
> >
<el-col :span="23"> <el-col :span="6">
<span class="descriptions-item-label">在院科室/病区: </span> <span class="descriptions-item-label">在院科室/病区: </span>
<span <span
v-if="patientInfo.inHospitalOrgName" v-if="patientInfo.inHospitalOrgName"
class="descriptions-item-value" class="descriptions-item-value"
> >
{{ patientInfo.inHospitalOrgName }} / {{ patientInfo.inHospitalOrgName }} /
{{ {{ patientInfo.wardName + formatValue(patientInfo.houseName) }}
patientInfo.wardName +
formatValue(patientInfo.houseName) +
formatValue(patientInfo.bedName)
}}
</span> </span>
</el-col> </el-col>
<el-col :span="1"> <el-col :span="4">
<span class="descriptions-item-label">床号: </span>
<span class="descriptions-item-value">
{{ patientInfo.bedName || '--' }}
</span>
</el-col>
<el-col :span="4">
<span class="descriptions-item-label">费用类型: </span>
<span class="descriptions-item-value">
{{ patientInfo.feeType || '自费' }}
</span>
</el-col>
<el-col
:span="9"
style="text-align: right"
>
<el-button <el-button
type="primary" type="primary"
@click="refund()" @click="refund()"
@@ -366,7 +376,7 @@ async function handlePrint(row) {
// 科室信息 // 科室信息
inHospitalOrgName: patientInfo.value.inHospitalOrgName || "", inHospitalOrgName: patientInfo.value.inHospitalOrgName || "",
bedName: patientInfo.value.bedName || "", bedName: patientInfo.value.bedName || "",
contractName: patientInfo.value.contractName || "自费", contractName: patientInfo.value.feeType || patientInfo.value.contractName || "自费",
// 费用信息 // 费用信息
chargeItem: "住院预缴款", chargeItem: "住院预缴款",
paymentMethod: row.payWayEnum_enumText || row.paymentMethod || row.paymentEnum_enumText || "现金", paymentMethod: row.payWayEnum_enumText || row.paymentMethod || row.paymentEnum_enumText || "现金",