149 门诊管理-》门诊输液查询不到患者已收费注射类的药品信息
This commit is contained in:
@@ -353,8 +353,6 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
|||||||
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
||||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
|
||||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
|
||||||
if(encounterDiagnosis.getCreateBy() == null){
|
if(encounterDiagnosis.getCreateBy() == null){
|
||||||
encounterDiagnosis.setCreateBy(username);
|
encounterDiagnosis.setCreateBy(username);
|
||||||
}
|
}
|
||||||
@@ -383,8 +381,6 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
|||||||
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
||||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
|
||||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
|
||||||
if(encounterDiagnosis.getCreateBy() == null){
|
if(encounterDiagnosis.getCreateBy() == null){
|
||||||
encounterDiagnosis.setCreateBy(username);
|
encounterDiagnosis.setCreateBy(username);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ public class OutpatientInfusionAppServiceImpl implements IOutpatientInfusionAppS
|
|||||||
OutpatientStationInitDto initDto = new OutpatientStationInitDto();
|
OutpatientStationInitDto initDto = new OutpatientStationInitDto();
|
||||||
// 执行状态
|
// 执行状态
|
||||||
List<OutpatientStationInitDto.ServiceStatus> serviceStatusOptions = new ArrayList<>();
|
List<OutpatientStationInitDto.ServiceStatus> serviceStatusOptions = new ArrayList<>();
|
||||||
|
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.ACTIVE.getValue(),
|
||||||
|
"待执行"));
|
||||||
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.COMPLETED.getValue(),
|
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.COMPLETED.getValue(),
|
||||||
RequestStatus.COMPLETED.getInfo()));
|
RequestStatus.COMPLETED.getInfo()));
|
||||||
// serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.IN_PROGRESS.getValue(),
|
|
||||||
// RequestStatus.IN_PROGRESS.getInfo()));
|
|
||||||
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.CANCELLED.getValue(),
|
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.CANCELLED.getValue(),
|
||||||
RequestStatus.CANCELLED.getInfo()));
|
RequestStatus.CANCELLED.getInfo()));
|
||||||
initDto.setServiceStatusOptions(serviceStatusOptions);
|
initDto.setServiceStatusOptions(serviceStatusOptions);
|
||||||
|
|||||||
@@ -622,6 +622,37 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!medicationRequestIdList.isEmpty()) {
|
if (!medicationRequestIdList.isEmpty()) {
|
||||||
|
// 获取药品请求信息,为输液类药品生成服务请求
|
||||||
|
List<MedicationRequest> medicationRequests = medicationRequestService.listByIds(medicationRequestIdList);
|
||||||
|
|
||||||
|
// 为输液类药品生成 wor_service_request 记录
|
||||||
|
for (MedicationRequest medReq : medicationRequests) {
|
||||||
|
if (medReq.getInfusionFlag() != null && medReq.getInfusionFlag() == 1) {
|
||||||
|
ServiceRequest serviceRequest = new ServiceRequest();
|
||||||
|
serviceRequest.setBasedOnId(medReq.getId())
|
||||||
|
.setBasedOnTable(CommonConstants.TableName.MED_MEDICATION_REQUEST)
|
||||||
|
.setEncounterId(medReq.getEncounterId())
|
||||||
|
.setPatientId(medReq.getPatientId())
|
||||||
|
.setActivityId(medReq.getMedicationId())
|
||||||
|
.setStatusEnum(RequestStatus.ACTIVE.getValue()) // 状态设为已发送 (2),这样门诊输液页面才能查到
|
||||||
|
.setGroupId(medReq.getGroupId())
|
||||||
|
.setOrgId(medReq.getOrgId())
|
||||||
|
.setRequesterId(medReq.getPractitionerId())
|
||||||
|
.setAuthoredTime(new Date())
|
||||||
|
.setEncounterDiagnosisId(medReq.getEncounterDiagnosisId())
|
||||||
|
.setConditionId(medReq.getConditionId())
|
||||||
|
.setQuantity(medReq.getQuantity())
|
||||||
|
.setUnitCode(medReq.getUnitCode())
|
||||||
|
.setPriorityEnum(medReq.getPriorityEnum())
|
||||||
|
.setPerformFlag(Whether.NO.getValue())
|
||||||
|
.setIntentEnum(medReq.getIntentEnum())
|
||||||
|
.setCategoryEnum(medReq.getCategoryEnum())
|
||||||
|
.setYbClassEnum(medReq.getYbClassEnum())
|
||||||
|
.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.SERVICE_RES_NO.getPrefix(), 4));
|
||||||
|
serviceRequestService.save(serviceRequest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 更新请求状态为已完成
|
// 更新请求状态为已完成
|
||||||
medicationRequestService.updateCompletedStatusBatch(medicationRequestIdList, null, null);
|
medicationRequestService.updateCompletedStatusBatch(medicationRequestIdList, null, null);
|
||||||
// 更新药品发放状态为待配药
|
// 更新药品发放状态为待配药
|
||||||
|
|||||||
@@ -34,14 +34,16 @@
|
|||||||
ON e.id = sr.encounter_id
|
ON e.id = sr.encounter_id
|
||||||
AND sr.refund_service_id IS NULL
|
AND sr.refund_service_id IS NULL
|
||||||
AND sr.delete_flag = '0'
|
AND sr.delete_flag = '0'
|
||||||
|
INNER JOIN med_medication_request mmr
|
||||||
|
ON mmr.id = sr.based_on_id
|
||||||
|
AND mmr.delete_flag = '0'
|
||||||
|
AND mmr.infusion_flag = 1
|
||||||
LEFT JOIN adm_patient pt
|
LEFT JOIN adm_patient pt
|
||||||
ON pt.id = sr.patient_id
|
ON pt.id = sr.patient_id
|
||||||
AND pt.delete_flag = '0'
|
AND pt.delete_flag = '0'
|
||||||
LEFT JOIN wor_activity_definition ad
|
|
||||||
ON ad.id = sr.activity_id
|
|
||||||
AND ad.delete_flag = '0'
|
|
||||||
WHERE e.delete_flag = '0'
|
WHERE e.delete_flag = '0'
|
||||||
AND sr.status_enum IN (#{inProgress}, #{completed}, #{cancelled})
|
AND sr.status_enum IN (#{inProgress}, #{completed}, #{cancelled})
|
||||||
|
AND sr.based_on_table = #{medMedicationRequest}
|
||||||
GROUP BY sr.status_enum,
|
GROUP BY sr.status_enum,
|
||||||
sr.encounter_id,
|
sr.encounter_id,
|
||||||
e.bus_no,
|
e.bus_no,
|
||||||
@@ -106,7 +108,7 @@
|
|||||||
mmr.performer_id,
|
mmr.performer_id,
|
||||||
dis.status_enum AS dispense_status,
|
dis.status_enum AS dispense_status,
|
||||||
mmd."name" AS medication_name,
|
mmd."name" AS medication_name,
|
||||||
ad."name" AS service_name,
|
mmd."name" AS service_name,
|
||||||
ap."name" AS practitioner_name,
|
ap."name" AS practitioner_name,
|
||||||
o."name" AS dept_name,
|
o."name" AS dept_name,
|
||||||
-- 新增子查询:查询配药人
|
-- 新增子查询:查询配药人
|
||||||
@@ -128,15 +130,12 @@
|
|||||||
AND wsr.delete_flag = '0'
|
AND wsr.delete_flag = '0'
|
||||||
AND wsr.refund_service_id IS NULL
|
AND wsr.refund_service_id IS NULL
|
||||||
LEFT JOIN med_medication_request mmr
|
LEFT JOIN med_medication_request mmr
|
||||||
ON mmr.group_id = wsr.group_id
|
ON mmr.id = wsr.based_on_id
|
||||||
AND mmr.delete_flag = '0'
|
AND mmr.delete_flag = '0'
|
||||||
AND mmr.infusion_flag = 1
|
AND mmr.infusion_flag = 1
|
||||||
LEFT JOIN med_medication_dispense dis
|
LEFT JOIN med_medication_dispense dis
|
||||||
ON dis.med_req_id = mmr.id
|
ON dis.med_req_id = mmr.id
|
||||||
AND dis.delete_flag = '0'
|
AND dis.delete_flag = '0'
|
||||||
LEFT JOIN wor_activity_definition ad
|
|
||||||
ON ad.id = wsr.activity_id
|
|
||||||
AND ad.delete_flag = '0'
|
|
||||||
LEFT JOIN med_medication_definition mmd
|
LEFT JOIN med_medication_definition mmd
|
||||||
ON mmr.medication_id = mmd.id
|
ON mmr.medication_id = mmd.id
|
||||||
AND mmd.delete_flag = '0'
|
AND mmd.delete_flag = '0'
|
||||||
@@ -147,7 +146,6 @@
|
|||||||
ON o.id = wsr.org_id
|
ON o.id = wsr.org_id
|
||||||
AND o.delete_flag = '0'
|
AND o.delete_flag = '0'
|
||||||
WHERE ae.id = #{encounterId}
|
WHERE ae.id = #{encounterId}
|
||||||
AND ad.category_code = '21'
|
|
||||||
AND wsr.based_on_table = #{medMedicationRequest}
|
AND wsr.based_on_table = #{medMedicationRequest}
|
||||||
AND ae.delete_flag = '0') AS pr
|
AND ae.delete_flag = '0') AS pr
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
@@ -173,13 +171,16 @@
|
|||||||
wsr.occurrence_end_time,
|
wsr.occurrence_end_time,
|
||||||
wsr.id AS service_id,
|
wsr.id AS service_id,
|
||||||
wsr.tenant_id,
|
wsr.tenant_id,
|
||||||
ad."name" AS service_name,
|
mmd."name" AS service_name,
|
||||||
ap."name" AS performer_name,
|
ap."name" AS performer_name,
|
||||||
al."name" AS org_name
|
al."name" AS org_name
|
||||||
FROM wor_service_request wsr
|
FROM wor_service_request wsr
|
||||||
LEFT JOIN wor_activity_definition ad
|
LEFT JOIN med_medication_request mmr
|
||||||
ON ad.id = wsr.activity_id
|
ON wsr.based_on_id = mmr.id
|
||||||
AND ad.delete_flag = '0'
|
AND mmr.delete_flag = '0'
|
||||||
|
LEFT JOIN med_medication_definition mmd
|
||||||
|
ON mmr.medication_id = mmd.id
|
||||||
|
AND mmd.delete_flag = '0'
|
||||||
LEFT JOIN adm_practitioner ap
|
LEFT JOIN adm_practitioner ap
|
||||||
ON wsr.performer_id = ap.id
|
ON wsr.performer_id = ap.id
|
||||||
AND ap.delete_flag = '0'
|
AND ap.delete_flag = '0'
|
||||||
|
|||||||
@@ -3,8 +3,9 @@
|
|||||||
* 从字典动态获取常量值,避免硬编码
|
* 从字典动态获取常量值,避免硬编码
|
||||||
*
|
*
|
||||||
* 使用方式:
|
* 使用方式:
|
||||||
* import { DIAG_TYPE } from '@/utils/medicalConstants';
|
* import { DIAG_TYPE, RequestStatus } from '@/utils/medicalConstants';
|
||||||
* medTypeCode: DIAG_TYPE.WESTERN_MEDICINE
|
* medTypeCode: DIAG_TYPE.WESTERN_MEDICINE
|
||||||
|
* serviceStatus: RequestStatus.ACTIVE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { getDicts } from '@/api/system/dict/data';
|
import { getDicts } from '@/api/system/dict/data';
|
||||||
@@ -12,6 +13,52 @@ import { getDicts } from '@/api/system/dict/data';
|
|||||||
// 诊断类型字典缓存
|
// 诊断类型字典缓存
|
||||||
let diagTypeCache = null;
|
let diagTypeCache = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求状态枚举(与后端 RequestStatus.java 保持一致)
|
||||||
|
* 用于服务申请、医嘱执行等状态管理
|
||||||
|
*/
|
||||||
|
export const RequestStatus = {
|
||||||
|
/** 待发送 */
|
||||||
|
DRAFT: 1,
|
||||||
|
/** 已发送/待执行 */
|
||||||
|
ACTIVE: 2,
|
||||||
|
/** 已完成 */
|
||||||
|
COMPLETED: 3,
|
||||||
|
/** 暂停 */
|
||||||
|
ON_HOLD: 4,
|
||||||
|
/** 取消/待退 */
|
||||||
|
CANCELLED: 5,
|
||||||
|
/** 停嘱 */
|
||||||
|
STOPPED: 6,
|
||||||
|
/** 不执行 */
|
||||||
|
ENDED: 7,
|
||||||
|
/** 未知 */
|
||||||
|
UNKNOWN: 9,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求状态枚举的说明信息
|
||||||
|
*/
|
||||||
|
export const RequestStatusDescriptions = {
|
||||||
|
1: '待发送',
|
||||||
|
2: '已发送/待执行',
|
||||||
|
3: '已完成',
|
||||||
|
4: '暂停',
|
||||||
|
5: '取消/待退',
|
||||||
|
6: '停嘱',
|
||||||
|
7: '不执行',
|
||||||
|
9: '未知',
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取请求状态的说明
|
||||||
|
* @param {number} value - 请求状态值
|
||||||
|
* @returns {string} - 说明信息
|
||||||
|
*/
|
||||||
|
export function getRequestStatusDescription(value) {
|
||||||
|
return RequestStatusDescriptions[value] || '未知状态';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取诊断类型字典(异步初始化)
|
* 获取诊断类型字典(异步初始化)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -175,6 +175,7 @@ import {
|
|||||||
} from './component/api';
|
} from './component/api';
|
||||||
import AdviceListDialog from './component/adviceListDialog.vue';
|
import AdviceListDialog from './component/adviceListDialog.vue';
|
||||||
import {formatDate, formatDateStr} from '@/utils/index';
|
import {formatDate, formatDateStr} from '@/utils/index';
|
||||||
|
import { RequestStatus } from '@/utils/medicalConstants';
|
||||||
|
|
||||||
const showSearch = ref(true);
|
const showSearch = ref(true);
|
||||||
const total = ref(1);
|
const total = ref(1);
|
||||||
@@ -210,7 +211,7 @@ const data = reactive({
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
searchKey: undefined,
|
searchKey: undefined,
|
||||||
serviceStatus: 3, // 默认值为已完成 (对应 RequestStatus.COMPLETED)
|
serviceStatus: RequestStatus.ACTIVE, // 默认值为待执行
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const { queryParams } = toRefs(data);
|
const { queryParams } = toRefs(data);
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ import PatientList from '../components/patientList.vue';
|
|||||||
import PrescriptionList from './components/prescriptionList.vue';
|
import PrescriptionList from './components/prescriptionList.vue';
|
||||||
import SummaryMedicineList from './components/summaryMedicineList.vue';
|
import SummaryMedicineList from './components/summaryMedicineList.vue';
|
||||||
import {inpatientNurseNavs} from '../constants/navigation';
|
import {inpatientNurseNavs} from '../constants/navigation';
|
||||||
|
import { RequestStatus } from '@/utils/medicalConstants';
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -115,7 +116,7 @@ const activeName = ref('preparation');
|
|||||||
const active = ref('first');
|
const active = ref('first');
|
||||||
const exeStatus = ref(1);
|
const exeStatus = ref(1);
|
||||||
const deadline = ref(proxy.formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
const deadline = ref(proxy.formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
||||||
const requestStatus = ref(3);
|
const requestStatus = ref(RequestStatus.COMPLETED);
|
||||||
const chooseAll = ref(false);
|
const chooseAll = ref(false);
|
||||||
const drugType = ref('1');
|
const drugType = ref('1');
|
||||||
const isDetails = ref('1');
|
const isDetails = ref('1');
|
||||||
|
|||||||
@@ -54,11 +54,12 @@
|
|||||||
import {getCurrentInstance} from 'vue';
|
import {getCurrentInstance} from 'vue';
|
||||||
import PatientList from '../components/patientList.vue';
|
import PatientList from '../components/patientList.vue';
|
||||||
import PrescriptionList from './components/prescriptionList.vue';
|
import PrescriptionList from './components/prescriptionList.vue';
|
||||||
|
import { RequestStatus } from '@/utils/medicalConstants';
|
||||||
|
|
||||||
const activeName = ref('preparation');
|
const activeName = ref('preparation');
|
||||||
const active = ref('first');
|
const active = ref('first');
|
||||||
const exeStatus = ref(1);
|
const exeStatus = ref(1);
|
||||||
const requestStatus = ref(3);
|
const requestStatus = ref(RequestStatus.COMPLETED);
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
// 存储子组件引用的对象
|
// 存储子组件引用的对象
|
||||||
|
|||||||
@@ -52,10 +52,11 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import PatientList from '../components/patientList.vue';
|
import PatientList from '../components/patientList.vue';
|
||||||
import PrescriptionList from './components/prescriptionList.vue';
|
import PrescriptionList from './components/prescriptionList.vue';
|
||||||
|
import { RequestStatus } from '@/utils/medicalConstants';
|
||||||
|
|
||||||
const activeName = ref('unverified');
|
const activeName = ref('unverified');
|
||||||
const active = ref('first');
|
const active = ref('first');
|
||||||
const requestStatus = ref(2);
|
const requestStatus = ref(RequestStatus.ACTIVE);
|
||||||
|
|
||||||
// 存储子组件引用的对象
|
// 存储子组件引用的对象
|
||||||
const prescriptionRefs = ref({});
|
const prescriptionRefs = ref({});
|
||||||
|
|||||||
Reference in New Issue
Block a user