fix(common): 修复公共服务返回空值问题并优化查询条件
- 修复 CommonServiceImpl 中返回空集合而非 null 的问题 - 添加新的国际化错误消息用于目录不存在的情况 - 重构门诊挂号查询的时间和状态过滤条件为动态SQL - 更新支付对账分组字段以包含合同编号 - 调整会诊相关API端点路径和请求方法 - 优化技术工作站退费审批接口路径和参数传递方式 - 重构待处理EMR页面跳转逻辑,移除确认对话框直接跳转住院医生工作站
This commit is contained in:
@@ -666,7 +666,7 @@ public class CommonServiceImpl implements ICommonService {
|
||||
.eq(DocInventoryItemStatic::getDeleteFlag, DelFlag.NO.getCode())
|
||||
.eq(DocInventoryItemStatic::getTenantId, SecurityUtils.getLoginUser().getTenantId()));
|
||||
if (docInventoryItemStaticList.isEmpty()) {
|
||||
return null;
|
||||
return R.ok(Collections.emptyList());
|
||||
}
|
||||
// 直接去重并按BusNo倒序排序
|
||||
List<String> busNoList = docInventoryItemStaticList.stream().map(DocInventoryItemStatic::getBusNo).distinct() // 去重
|
||||
|
||||
@@ -52,4 +52,5 @@ apl.payment.M00007=\u672A\u67E5\u8BE2\u5230\u6536\u8D39\u9879\u76EE
|
||||
apl.payment.M00008=\u672A\u67E5\u8BE2\u5230{0}\u8D26\u6237\u4FE1\u606F
|
||||
apl.payment.M00009=\u672A\u67E5\u8BE2\u5230\u6536\u8D39\u9879\u76EE\uFF0C\u4E0D\u9700\u8981\u8F6C\u6362\u8D26\u6237
|
||||
apl.adjustPrice.M00001=\u6267\u884C\u5931\u8D25\uFF0C\u672A\u52A0\u8F7D\u5230\u4EFB\u4F55\u6570\u636E\uFF01
|
||||
apl.adjustPrice.M00002=\u6267\u884C\u5931\u8D25\uFF0C\u6539\u4EF7\u5355\u4E2D\u6709\u6B63\u5728\u5BA1\u6838\u4E2D\u7684\u8D27\u54C1\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u63D0\u4EA4\uFF01
|
||||
apl.adjustPrice.M00002=\u6267\u884C\u5931\u8D25\uFF0C\u6539\u4EF7\u5355\u4E2D\u6709\u6B63\u5728\u5BA1\u6838\u4E2D\u7684\u8D27\u54C1\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u63D0\u4EA4\uFF01
|
||||
apl.yb.M00001={0} catalog does not exist, please contact administrator
|
||||
|
||||
@@ -52,4 +52,5 @@ apl.payment.M00007=\u672A\u67E5\u8BE2\u5230\u6536\u8D39\u9879\u76EE
|
||||
apl.payment.M00008=\u672A\u67E5\u8BE2\u5230{0}\u8D26\u6237\u4FE1\u606F
|
||||
apl.payment.M00009=\u672A\u67E5\u8BE2\u5230\u6536\u8D39\u9879\u76EE\uFF0C\u4E0D\u9700\u8981\u8F6C\u6362\u8D26\u6237
|
||||
apl.adjustPrice.M00001=\u6267\u884C\u5931\u8D25\uFF0C\u672A\u52A0\u8F7D\u5230\u4EFB\u4F55\u6570\u636E\uFF01
|
||||
apl.adjustPrice.M00002=\u6267\u884C\u5931\u8D25\uFF0C\u6539\u4EF7\u5355\u4E2D\u6709\u6B63\u5728\u5BA1\u6838\u4E2D\u7684\u8D27\u54C1\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u63D0\u4EA4\uFF01
|
||||
apl.adjustPrice.M00002=\u6267\u884C\u5931\u8D25\uFF0C\u6539\u4EF7\u5355\u4E2D\u6709\u6B63\u5728\u5BA1\u6838\u4E2D\u7684\u8D27\u54C1\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u63D0\u4EA4\uFF01
|
||||
apl.yb.M00001={0}\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
|
||||
@@ -217,11 +217,20 @@
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
AND T10.context_enum = #{register}
|
||||
AND (#{registerTimeSTime} IS NULL OR T1.create_time >= CAST(#{registerTimeSTime} AS TIMESTAMP))
|
||||
AND (#{registerTimeETime} IS NULL OR T1.create_time <= CAST(#{registerTimeETime} AS TIMESTAMP))
|
||||
AND (#{statusFilter} IS NULL
|
||||
OR (#{statusFilter} >= 0 AND T1.status_enum = #{statusFilter})
|
||||
OR (#{statusFilter} = -1 AND T1.status_enum != 6))
|
||||
<if test='registerTimeSTime != null'>
|
||||
AND T1.create_time >= CAST(#{registerTimeSTime} AS TIMESTAMP)
|
||||
</if>
|
||||
<if test='registerTimeETime != null'>
|
||||
AND T1.create_time <= CAST(#{registerTimeETime} AS TIMESTAMP)
|
||||
</if>
|
||||
<if test='statusFilter != null'>
|
||||
<if test='statusFilter >= 0'>
|
||||
AND T1.status_enum = #{statusFilter}
|
||||
</if>
|
||||
<if test='statusFilter == -1'>
|
||||
AND T1.status_enum != 6
|
||||
</if>
|
||||
</if>
|
||||
) AS T9
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.register_time DESC
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
AND account.contract_no = #{contractNo}
|
||||
</if>
|
||||
GROUP BY payment.ID,
|
||||
account.ID
|
||||
account.ID,
|
||||
account.contract_no
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
||||
// 查询会诊申请列表
|
||||
export function listRequest(query) {
|
||||
return request({
|
||||
url: '/consultation/request/list',
|
||||
url: '/consultation/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export function listRequest(query) {
|
||||
// 查询会诊申请详细
|
||||
export function getRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/' + id,
|
||||
url: '/consultation/detail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export function getRequest(id) {
|
||||
// 新增会诊申请
|
||||
export function addRequest(data) {
|
||||
return request({
|
||||
url: '/consultation/request',
|
||||
url: '/consultation/save',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -29,8 +29,8 @@ export function addRequest(data) {
|
||||
// 修改会诊申请
|
||||
export function updateRequest(data) {
|
||||
return request({
|
||||
url: '/consultation/request',
|
||||
method: 'put',
|
||||
url: '/consultation/save',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
@@ -38,48 +38,48 @@ export function updateRequest(data) {
|
||||
// 删除会诊申请
|
||||
export function delRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/' + id,
|
||||
method: 'delete'
|
||||
url: '/consultation/cancel/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 提交会诊申请
|
||||
export function submitRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/submit/' + id,
|
||||
method: 'put'
|
||||
url: '/consultation/submit/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 取消提交会诊申请
|
||||
export function cancelSubmitRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/cancelSubmit/' + id,
|
||||
method: 'put'
|
||||
url: '/consultation/cancel/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 结束会诊申请
|
||||
export function endRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/end/' + id,
|
||||
method: 'put'
|
||||
url: '/consultation/complete/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 作废会诊申请
|
||||
export function cancelRequest(id) {
|
||||
return request({
|
||||
url: '/consultation/request/cancel/' + id,
|
||||
method: 'put'
|
||||
url: '/consultation/cancel/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 确认会诊
|
||||
export function confirmRequest(data) {
|
||||
return request({
|
||||
url: '/consultation/request/confirm',
|
||||
method: 'put',
|
||||
url: '/consultation/confirmation/confirm',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
@@ -87,8 +87,8 @@ export function confirmRequest(data) {
|
||||
// 签名会诊
|
||||
export function signRequest(data) {
|
||||
return request({
|
||||
url: '/consultation/request/sign',
|
||||
method: 'put',
|
||||
data: data
|
||||
url: '/consultation/confirmation/sign',
|
||||
method: 'post',
|
||||
params: { consultationId: data.consultationId }
|
||||
})
|
||||
}
|
||||
@@ -10,16 +10,16 @@ export function executeExamOrder(data) { return request({ url: "/tech-station/ex
|
||||
export function executeLabOrder(data) { return request({ url: "/tech-station/execute/lab", method: "post", data }) }
|
||||
|
||||
// 查询退费审批列表
|
||||
export function listRefundApproveOrders(params) { return request({ url: "/tech-station/refund/approve/list", method: "get", params }) }
|
||||
export function listRefundApproveOrders(params) { return request({ url: "/tech-station/refund-approve/list", method: "get", params }) }
|
||||
|
||||
// 审批通过检查退费
|
||||
export function approveExamRefund(data) { return request({ url: "/tech-station/refund/approve/exam", method: "post", data }) }
|
||||
export function approveExamRefund(data) { return request({ url: "/tech-station/refund-approve/approve/exam/" + data.applyNo, method: "put", data }) }
|
||||
|
||||
// 审批驳回检查退费
|
||||
export function rejectExamRefund(data) { return request({ url: "/tech-station/refund/reject/exam", method: "post", data }) }
|
||||
export function rejectExamRefund(data) { return request({ url: "/tech-station/refund-approve/reject/exam/" + data.applyNo, method: "put", data }) }
|
||||
|
||||
// 审批通过检验退费
|
||||
export function approveLabRefund(data) { return request({ url: "/tech-station/refund/approve/lab", method: "post", data }) }
|
||||
export function approveLabRefund(data) { return request({ url: "/tech-station/refund-approve/approve/lab/" + data.applyNo, method: "put", data }) }
|
||||
|
||||
// 审批驳回检验退费
|
||||
export function rejectLabRefund(data) { return request({ url: "/tech-station/refund/reject/lab", method: "post", data }) }
|
||||
export function rejectLabRefund(data) { return request({ url: "/tech-station/refund-approve/reject/lab/" + data.applyNo, method: "put", data }) }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<div class="pending-emr-page">
|
||||
<!-- 页面头部 -->
|
||||
<div class="page-header">
|
||||
@@ -139,8 +139,12 @@ import { parseTime } from '@/utils/index.js'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { Document, Refresh, Search, Delete } from '@element-plus/icons-vue'
|
||||
import { ElDivider } from 'element-plus'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { updatePatientInfo } from '@/views/inpatientDoctor/home/store/patient'
|
||||
import { updateLocalPatientInfo } from '@/views/inpatientDoctor/home/store/localPatient'
|
||||
|
||||
// 响应式数据
|
||||
const router = useRouter()
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const emrList = ref([])
|
||||
@@ -209,38 +213,18 @@ const handleRowClick = (row) => {
|
||||
|
||||
// 写病历
|
||||
const handleWriteEmr = (row) => {
|
||||
console.log('写病历:', row)
|
||||
// 弹出写病历弹窗
|
||||
ElMessageBox.confirm('确定要为患者 ' + row.patientName + ' 写病历吗?', '确认', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info'
|
||||
}).then(() => {
|
||||
// 这里可以跳转到病历编辑页面或弹出病历编辑弹窗
|
||||
ElMessage.success('正在打开病历编辑页面...')
|
||||
// TODO: 实现写病历的具体逻辑
|
||||
// 例如:router.push({ path: '/doctorstation/emr', query: { encounterId: row.encounterId } })
|
||||
}).catch(() => {
|
||||
// 取消操作
|
||||
})
|
||||
// 存储患者信息并跳转到住院医生工作站
|
||||
updatePatientInfo(row)
|
||||
updateLocalPatientInfo(row)
|
||||
router.push({ path: '/inHospital/inpatientDoctor/home' })
|
||||
}
|
||||
|
||||
// 查看患者
|
||||
const handleViewPatient = (row) => {
|
||||
console.log('查看患者:', row)
|
||||
// 弹出查看患者弹窗
|
||||
ElMessageBox.confirm('确定要查看患者 ' + row.patientName + ' 的详细信息吗?', '确认', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info'
|
||||
}).then(() => {
|
||||
// 这里可以跳转到患者详情页面或弹出患者详情弹窗
|
||||
ElMessage.success('正在打开患者详情页面...')
|
||||
// TODO: 实现查看患者的具体逻辑
|
||||
// 例如:router.push({ path: '/doctorstation/patient-details', query: { encounterId: row.encounterId } })
|
||||
}).catch(() => {
|
||||
// 取消操作
|
||||
})
|
||||
// 存储患者信息并跳转到住院医生工作站
|
||||
updatePatientInfo(row)
|
||||
updateLocalPatientInfo(row)
|
||||
router.push({ path: '/inHospital/inpatientDoctor/home' })
|
||||
}
|
||||
|
||||
// 获取性别文本
|
||||
|
||||
Reference in New Issue
Block a user