149 门诊管理-》门诊输液查询不到患者已收费注射类的药品信息
This commit is contained in:
@@ -353,8 +353,6 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
||||
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||
if(encounterDiagnosis.getCreateBy() == null){
|
||||
encounterDiagnosis.setCreateBy(username);
|
||||
}
|
||||
@@ -383,8 +381,6 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
||||
encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag());
|
||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||
encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate());
|
||||
encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime());
|
||||
if(encounterDiagnosis.getCreateBy() == null){
|
||||
encounterDiagnosis.setCreateBy(username);
|
||||
}
|
||||
|
||||
@@ -62,10 +62,10 @@ public class OutpatientInfusionAppServiceImpl implements IOutpatientInfusionAppS
|
||||
OutpatientStationInitDto initDto = new OutpatientStationInitDto();
|
||||
// 执行状态
|
||||
List<OutpatientStationInitDto.ServiceStatus> serviceStatusOptions = new ArrayList<>();
|
||||
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.ACTIVE.getValue(),
|
||||
"待执行"));
|
||||
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.COMPLETED.getValue(),
|
||||
RequestStatus.COMPLETED.getInfo()));
|
||||
// serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.IN_PROGRESS.getValue(),
|
||||
// RequestStatus.IN_PROGRESS.getInfo()));
|
||||
serviceStatusOptions.add(new OutpatientStationInitDto.ServiceStatus(RequestStatus.CANCELLED.getValue(),
|
||||
RequestStatus.CANCELLED.getInfo()));
|
||||
initDto.setServiceStatusOptions(serviceStatusOptions);
|
||||
|
||||
@@ -622,6 +622,37 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
|
||||
});
|
||||
|
||||
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);
|
||||
// 更新药品发放状态为待配药
|
||||
|
||||
@@ -34,14 +34,16 @@
|
||||
ON e.id = sr.encounter_id
|
||||
AND sr.refund_service_id IS NULL
|
||||
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
|
||||
ON pt.id = sr.patient_id
|
||||
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'
|
||||
AND sr.status_enum IN (#{inProgress}, #{completed}, #{cancelled})
|
||||
AND sr.based_on_table = #{medMedicationRequest}
|
||||
GROUP BY sr.status_enum,
|
||||
sr.encounter_id,
|
||||
e.bus_no,
|
||||
@@ -106,7 +108,7 @@
|
||||
mmr.performer_id,
|
||||
dis.status_enum AS dispense_status,
|
||||
mmd."name" AS medication_name,
|
||||
ad."name" AS service_name,
|
||||
mmd."name" AS service_name,
|
||||
ap."name" AS practitioner_name,
|
||||
o."name" AS dept_name,
|
||||
-- 新增子查询:查询配药人
|
||||
@@ -128,15 +130,12 @@
|
||||
AND wsr.delete_flag = '0'
|
||||
AND wsr.refund_service_id IS NULL
|
||||
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.infusion_flag = 1
|
||||
LEFT JOIN med_medication_dispense dis
|
||||
ON dis.med_req_id = mmr.id
|
||||
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
|
||||
ON mmr.medication_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
@@ -147,7 +146,6 @@
|
||||
ON o.id = wsr.org_id
|
||||
AND o.delete_flag = '0'
|
||||
WHERE ae.id = #{encounterId}
|
||||
AND ad.category_code = '21'
|
||||
AND wsr.based_on_table = #{medMedicationRequest}
|
||||
AND ae.delete_flag = '0') AS pr
|
||||
${ew.customSqlSegment}
|
||||
@@ -173,13 +171,16 @@
|
||||
wsr.occurrence_end_time,
|
||||
wsr.id AS service_id,
|
||||
wsr.tenant_id,
|
||||
ad."name" AS service_name,
|
||||
mmd."name" AS service_name,
|
||||
ap."name" AS performer_name,
|
||||
al."name" AS org_name
|
||||
FROM wor_service_request wsr
|
||||
LEFT JOIN wor_activity_definition ad
|
||||
ON ad.id = wsr.activity_id
|
||||
AND ad.delete_flag = '0'
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON wsr.based_on_id = mmr.id
|
||||
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
|
||||
ON wsr.performer_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
/**
|
||||
* 医疗常量配置
|
||||
* 从字典动态获取常量值,避免硬编码
|
||||
*
|
||||
*
|
||||
* 使用方式:
|
||||
* import { DIAG_TYPE } from '@/utils/medicalConstants';
|
||||
* import { DIAG_TYPE, RequestStatus } from '@/utils/medicalConstants';
|
||||
* medTypeCode: DIAG_TYPE.WESTERN_MEDICINE
|
||||
* serviceStatus: RequestStatus.ACTIVE
|
||||
*/
|
||||
|
||||
import { getDicts } from '@/api/system/dict/data';
|
||||
@@ -12,6 +13,52 @@ import { getDicts } from '@/api/system/dict/data';
|
||||
// 诊断类型字典缓存
|
||||
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';
|
||||
import AdviceListDialog from './component/adviceListDialog.vue';
|
||||
import {formatDate, formatDateStr} from '@/utils/index';
|
||||
import { RequestStatus } from '@/utils/medicalConstants';
|
||||
|
||||
const showSearch = ref(true);
|
||||
const total = ref(1);
|
||||
@@ -210,7 +211,7 @@ const data = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
searchKey: undefined,
|
||||
serviceStatus: 3, // 默认值为已完成 (对应 RequestStatus.COMPLETED)
|
||||
serviceStatus: RequestStatus.ACTIVE, // 默认值为待执行
|
||||
},
|
||||
});
|
||||
const { queryParams } = toRefs(data);
|
||||
|
||||
@@ -107,6 +107,7 @@ import PatientList from '../components/patientList.vue';
|
||||
import PrescriptionList from './components/prescriptionList.vue';
|
||||
import SummaryMedicineList from './components/summaryMedicineList.vue';
|
||||
import {inpatientNurseNavs} from '../constants/navigation';
|
||||
import { RequestStatus } from '@/utils/medicalConstants';
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const router = useRouter();
|
||||
@@ -115,7 +116,7 @@ const activeName = ref('preparation');
|
||||
const active = ref('first');
|
||||
const exeStatus = ref(1);
|
||||
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 drugType = ref('1');
|
||||
const isDetails = ref('1');
|
||||
|
||||
@@ -54,11 +54,12 @@
|
||||
import {getCurrentInstance} from 'vue';
|
||||
import PatientList from '../components/patientList.vue';
|
||||
import PrescriptionList from './components/prescriptionList.vue';
|
||||
import { RequestStatus } from '@/utils/medicalConstants';
|
||||
|
||||
const activeName = ref('preparation');
|
||||
const active = ref('first');
|
||||
const exeStatus = ref(1);
|
||||
const requestStatus = ref(3);
|
||||
const requestStatus = ref(RequestStatus.COMPLETED);
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
// 存储子组件引用的对象
|
||||
|
||||
@@ -52,10 +52,11 @@
|
||||
<script setup>
|
||||
import PatientList from '../components/patientList.vue';
|
||||
import PrescriptionList from './components/prescriptionList.vue';
|
||||
import { RequestStatus } from '@/utils/medicalConstants';
|
||||
|
||||
const activeName = ref('unverified');
|
||||
const active = ref('first');
|
||||
const requestStatus = ref(2);
|
||||
const requestStatus = ref(RequestStatus.ACTIVE);
|
||||
|
||||
// 存储子组件引用的对象
|
||||
const prescriptionRefs = ref({});
|
||||
|
||||
Reference in New Issue
Block a user