feat(medicalOrderSet): 优化医嘱组套功能实现

- 实现医嘱基础列表的分页功能,添加loading状态和缓存机制
- 添加防抖处理和组织机构ID参数支持,优化性能表现
- 实现医嘱组套的完整编辑功能,包括增删改查操作界面
- 添加医嘱组套预览、应用和管理功能模块
- 实现西医组套筛选功能,确保tcmFlag参数正确传递
- 优化医嘱组套数据结构,完善明细项信息处理逻辑
- 添加表单验证和错误处理,提升用户体验和系统稳定性
- 重构代码结构,采用响应式设计提高可维护性
This commit is contained in:
2026-03-17 09:57:21 +08:00
parent 03939fb232
commit 8a7d2abb4a
30 changed files with 2066 additions and 543 deletions

View File

@@ -54,12 +54,12 @@
LEFT JOIN med_medication_request T17
on T1.id = T17.refund_medicine_id
AND T17.delete_flag = '0'
WHERE T1.status_enum = #{completed} --'3'
AND T2.status_enum = #{eventStatus} --'4'
AND T1.delete_flag = '0'
AND TO_CHAR(T2.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
AND T1.refund_medicine_id IS NULL
AND T17.refund_medicine_id IS NULL
WHERE T1.status_enum = #{completed} --'3'
AND T2.status_enum = #{eventStatus} --'4'
AND T1.delete_flag = '0'
AND T2.dispense_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.refund_medicine_id IS NULL
AND T17.refund_medicine_id IS NULL
UNION ALL
@@ -86,12 +86,12 @@
LEFT JOIN wor_device_request T17
on T4.id = T17.refund_device_id
AND T17.delete_flag = '0'
WHERE T4.status_enum = #{completed} --'3'
AND T5.status_enum = #{eventStatus} --'4'
AND T4.delete_flag = '0'
AND TO_CHAR(T5.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
AND T4.refund_device_id IS NULL
AND T17.refund_device_id IS NULL
WHERE T4.status_enum = #{completed} --'3'
AND T5.status_enum = #{eventStatus} --'4'
AND T4.delete_flag = '0'
AND T5.dispense_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
AND T4.refund_device_id IS NULL
AND T17.refund_device_id IS NULL
) AS q1
UNION ALL
@@ -142,11 +142,11 @@
ON T10.id = T11.medication_def_id AND T11.delete_flag = '0'
LEFT JOIN wor_supply_delivery T12
ON T12.request_id = T9.id AND T12.delete_flag = '0'
WHERE (T9.type_enum = #{returnIssue} OR T9.type_enum = #{issueInventory})
AND T9.item_table = #{medDefTableName} --'med_medication_definition'
AND T12.status_enum = #{eventStatus}--'4'
AND T9.delete_flag = '0'
AND TO_CHAR(T12.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
WHERE (T9.type_enum = #{returnIssue} OR T9.type_enum = #{issueInventory})
AND T9.item_table = #{medDefTableName} --'med_medication_definition'
AND T12.status_enum = #{eventStatus}--'4'
AND T9.delete_flag = '0'
AND T12.occurrence_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
UNION ALL
@@ -169,11 +169,11 @@
ON T13.item_id = T14.id AND T14.delete_flag = '0'
LEFT JOIN wor_supply_delivery T15
ON T15.request_id = T13.id AND T15.delete_flag = '0'
WHERE (T13.type_enum = #{returnIssue} OR T13.type_enum = #{issueInventory})
AND T13.item_table = #{devDefTableName} --'adm_device_definition'
AND T15.status_enum = #{eventStatus}--'4'
AND T13.delete_flag = '0'
AND TO_CHAR(T15.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
WHERE (T13.type_enum = #{returnIssue} OR T13.type_enum = #{issueInventory})
AND T13.item_table = #{devDefTableName} --'adm_device_definition'
AND T15.status_enum = #{eventStatus}--'4'
AND T13.delete_flag = '0'
AND T15.occurrence_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
) AS q2
GROUP BY
name,
@@ -215,12 +215,11 @@
T16.name AS org_name,
SUM(T8.total_price) AS total_money
FROM med_medication_request T1
LEFT JOIN med_medication_dispense T2
ON T2.med_req_id = T1.id
AND T2.delete_flag = '0'
/* 时间区间 */
AND
TO_CHAR(T2.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
LEFT JOIN med_medication_dispense T2
ON T2.med_req_id = T1.id
AND T2.delete_flag = '0'
/* 时间区间 */
AND T2.dispense_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
LEFT JOIN adm_charge_item T8
ON T8.service_table = #{medReqTableName} --'med_medication_request'
AND T8.service_id = T1.id
@@ -248,11 +247,10 @@
SUM(T9.total_price) AS total_money
FROM wor_device_request T4
LEFT JOIN wor_device_dispense T5
ON T5.device_req_id = T4.id
AND T5.delete_flag = '0'
/* 时间区间 */
AND
TO_CHAR(T5.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
ON T5.device_req_id = T4.id
AND T5.delete_flag = '0'
/* 时间区间 */
AND T5.dispense_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
LEFT JOIN adm_charge_item T9
ON T9.service_table = #{devReqTableName} --'wor_device_request'
AND T9.service_id = T4.id
@@ -285,12 +283,11 @@
WHEN T9.type_enum = '9' THEN T9.total_price * -1
ELSE T9.total_price END) AS total_money
FROM wor_supply_request T9
LEFT JOIN wor_supply_delivery T12
ON T12.request_id = T9.id
AND T12.delete_flag = '0'
/* 时间区间 */
AND
TO_CHAR(T12.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{dispenseDateSTime} AND #{dispenseDateETime}
LEFT JOIN wor_supply_delivery T12
ON T12.request_id = T9.id
AND T12.delete_flag = '0'
/* 时间区间 */
AND T12.occurrence_time BETWEEN TO_TIMESTAMP(#{dispenseDateSTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{dispenseDateETime}, 'yyyy-MM-dd HH24:mi:ss')
LEFT JOIN adm_organization T16
ON T9.source_location_id = T16.id
AND T16.delete_flag = '0'

View File

@@ -24,7 +24,7 @@
AND T1.type_enum = #{typeEnum} -- 1:采购入库
AND T1.status_enum = #{agree}--同意
AND T2.status_enum = #{completed}--已完成
AND TO_CHAR(T2.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.occurrence_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
@@ -40,7 +40,7 @@
AND T1.type_enum IN (#{productTransfer} ,#{productBatchTransfer} )
AND T1.status_enum = #{agree}--同意
AND T2.status_enum = #{completed}--已完成
AND TO_CHAR(T2.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.occurrence_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
@@ -56,7 +56,7 @@
AND T1.type_enum IN (#{productTransfer} ,#{productBatchTransfer} )
AND T1.status_enum = #{agree}--同意
AND T2.status_enum = #{completed}--已完成
AND TO_CHAR(T2.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.occurrence_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
@@ -72,7 +72,7 @@
AND T1.type_enum IN (#{productStocktaking} ,#{productBatchStocktaking} )
AND T1.status_enum = #{agree}--同意
AND T2.status_enum = #{completed}--已完成
AND TO_CHAR(T2.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.occurrence_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
@@ -88,7 +88,7 @@
AND T1.type_enum = #{lossReportForm}
AND T1.status_enum = #{agree}--同意
AND T2.status_enum = #{completed}--已完成
AND TO_CHAR(T2.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.occurrence_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
@@ -114,7 +114,7 @@
AND T1.status_enum = #{completed}--请求状态:已完成
AND T2.status_enum = #{agree}--请求状态:已发药
AND T1.delete_flag = '0'
AND TO_CHAR(T2.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T2.dispense_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
GROUP BY
T3.name,
T7.total_volume,
@@ -139,7 +139,7 @@
AND T4.status_enum = #{completed}--请求状态:已完成
AND T5.status_enum = #{agree}--请求状态:已发药
AND T4.delete_flag = '0'
AND TO_CHAR(T5.dispense_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T5.dispense_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
GROUP BY
T6.name,
T6.size,

View File

@@ -75,7 +75,7 @@
ON T1.encounter_id = T3.id
AND T3.delete_flag = '0'
WHERE T1.status_enum = #{billed}
AND TO_CHAR(T1.update_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T1.update_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>
<select id="getTreatmentStat"
@@ -93,7 +93,7 @@
-- AS discharged_count--出院人次数
FROM adm_encounter T1
WHERE T1.class_enum = #{amb}
AND TO_CHAR(T1.reception_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T1.reception_time BETWEEN TO_TIMESTAMP(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') AND TO_TIMESTAMP(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
AND T1.delete_flag = '0'
</select>