```
docs(release-notes): 添加住院护士站划价功能说明和发版记录 - 新增住院护士站划价服务流程说明文档,详细描述了从参数预处理到结果响应的五大阶段流程 - 包含耗材类医嘱和诊疗活动类医嘱的差异化处理逻辑 - 添加完整的发版内容记录,涵盖新增菜单功能和各模块优化点 - 记录了住院相关功能的新增和门诊业务流程的修复 ```
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inventorymanage.mapper.InventorySettlementAppMapper">
|
||||
<select id="selectMedicationPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.InventorySettlementDto">
|
||||
SELECT ii.item_name ,
|
||||
ii.item_no ,
|
||||
ii.item_id ,
|
||||
ii.py_str ,
|
||||
ii.wb_str ,
|
||||
ii.unit_code ,
|
||||
ii.min_unit_code ,
|
||||
ii.part_percent,
|
||||
ii.category_code,
|
||||
ii.manufacturer_text,
|
||||
ii.total_volume
|
||||
FROM ( SELECT mmd.tenant_id ,
|
||||
mmd."name" AS item_name ,
|
||||
mmd.id AS item_id ,
|
||||
mmd.bus_no AS item_no,
|
||||
mmd.py_str ,
|
||||
mmd.wb_str ,
|
||||
mmd.unit_code ,
|
||||
mmd.min_unit_code ,
|
||||
mmd.part_percent,
|
||||
mmd.category_code,
|
||||
mmd.manufacturer_text,
|
||||
mm.total_volume
|
||||
FROM med_medication_definition mmd
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
WHERE mmd.delete_flag = '0'
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.py_str
|
||||
</select>
|
||||
<select id="selectMedDispenseList" resultType="com.openhis.web.inventorymanage.dto.InventoryBusinessInfoDto">
|
||||
SELECT mmd.id AS item_id ,
|
||||
mmd.unit_code ,
|
||||
mmd.min_unit_code ,
|
||||
mmd.part_percent ,
|
||||
mmq.quantity AS dispense_quantity ,
|
||||
mmd2.id AS dispense_id ,
|
||||
mmd2.lot_number AS dispense_lot ,
|
||||
mmd2.location_id AS dispense_location ,
|
||||
mmd2.unit_code AS dispense_unit_code ,
|
||||
mmd2.status_enum AS dispense_status ,
|
||||
mmd2.dispense_time
|
||||
FROM med_medication_definition mmd
|
||||
LEFT JOIN med_medication_request mmq
|
||||
ON mmd.id = mmq.medication_id
|
||||
AND mmq.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense mmd2
|
||||
ON mmq.id = mmd2.med_req_id
|
||||
AND mmd2.delete_flag = '0'
|
||||
WHERE mmd.delete_flag = '0'
|
||||
AND mmd2.status_enum IN (#{completed},#{refunded})
|
||||
AND mmd2.dispense_time <= #{endTime}
|
||||
AND mmd2.dispense_time > #{startTime}
|
||||
AND mmd2.location_id = #{locationId}
|
||||
</select>
|
||||
<select id="selectInventorySupplyList"
|
||||
resultType="com.openhis.web.inventorymanage.dto.InventoryBusinessInfoDto">
|
||||
SELECT mmd.id AS item_id,
|
||||
mmd.unit_code ,
|
||||
mmd.min_unit_code ,
|
||||
mmd.part_percent ,
|
||||
wsr.item_quantity AS delivery_quantity,
|
||||
wsr.lot_number AS delivery_lot,
|
||||
wsr.unit_code AS delivery_unit_code,
|
||||
wsr.purpose_location_id,
|
||||
wsr.source_location_id,
|
||||
wsr.type_enum,
|
||||
wsr.status_enum AS delivery_status,
|
||||
wsr.approval_time,
|
||||
wsd.id AS delivery_id
|
||||
FROM med_medication_definition mmd
|
||||
LEFT JOIN wor_supply_request wsr
|
||||
ON mmd.id = wsr.item_id
|
||||
AND wsr.delete_flag = '0'
|
||||
LEFT JOIN wor_supply_delivery wsd
|
||||
ON wsr.id = wsd.request_id
|
||||
AND wsd.delete_flag = '0'
|
||||
WHERE mmd.delete_flag = '0'
|
||||
AND wsd.status_enum = #{completed}
|
||||
AND wsr.approval_time <= #{endTime}
|
||||
AND wsr.approval_time > #{startTime}
|
||||
AND (wsr.source_location_id = #{locationId} OR wsr.purpose_location_id = #{locationId})
|
||||
AND wsr.type_enum IN (#{productBatchTransfer}, #{productTransfer}, #{productReturn}, #{productStocktaking},
|
||||
#{productBatchStocktaking}, #{purchaseInventory}, #{lossReportForm}, #{issueInventory},#{returnIssue})
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -4,20 +4,20 @@
|
||||
|
||||
<select id="selectLossReportFormPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.LossReportFormPageDto">
|
||||
SELECT T4.supply_bus_no, -- 单据号
|
||||
T4.type, -- 单据类型
|
||||
T4.status_enum, -- 单据状态
|
||||
T4.inventory_location_name, -- 盘点仓库
|
||||
T4.reported_loss_amount, -- 报损金额(总价)
|
||||
T4.applicant_id, -- 制单人(申请人)
|
||||
T4.approver_id, -- 审核人
|
||||
T4.approval_time, -- 审核日期
|
||||
T4.create_time, -- 制单时间
|
||||
T4.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.type_enum AS type,
|
||||
SELECT T4.supply_bus_no, -- 单据号
|
||||
T4.type, -- 单据类型
|
||||
T4.status_enum, -- 单据状态
|
||||
T4.inventory_location_name, -- 盘点仓库
|
||||
T4.reported_loss_amount, -- 报损金额(总价)
|
||||
T4.applicant_id, -- 制单人(申请人)
|
||||
T4.approver_id, -- 审核人
|
||||
T4.approval_time, -- 审核日期
|
||||
T4.create_time, -- 制单时间
|
||||
T4.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.type_enum AS type,
|
||||
T1.status_enum,
|
||||
T4.name AS inventory_location_name,
|
||||
T4.name AS inventory_location_name,
|
||||
T2.reported_loss_amount,
|
||||
T1.applicant_id,
|
||||
T1.approver_id,
|
||||
@@ -43,41 +43,40 @@
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.tenant_id
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T4
|
||||
ORDER BY T1.bus_no desc) AS T4
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id, --ID
|
||||
T1.bus_no AS supply_bus_no, --单据号
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_type_enum, --目的类型
|
||||
T1.purpose_location_id, --目的仓库
|
||||
T5."name" AS purpose_location_name, --目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, --目的仓位
|
||||
T1.occurrence_time, --报损时间
|
||||
#{medicine} AS item_type, --药品类型
|
||||
T1.remake, --备注
|
||||
T2.bus_no AS item_bus_no, --项目编码
|
||||
T2."name" AS item_name, --名称
|
||||
T3.total_volume, --规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T2.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T4.quantity AS total_quantity, --当前库存数量
|
||||
T1.item_quantity, --数量(报损数量)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.total_price, --总价(报损金额)
|
||||
T1.reason_code, --理由类型(报损原因)
|
||||
T1.reason, --理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent, --拆零比
|
||||
T1.total_quantity AS old_quantity --报损前数量
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{medicine} AS item_type, -- 药品类型
|
||||
T1.remake, -- 备注
|
||||
T2.bus_no AS item_bus_no, -- 项目编码
|
||||
T2."name" AS item_name, -- 名称
|
||||
T3.total_volume, -- 规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T2.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent, -- 拆零比
|
||||
T1.total_quantity AS old_quantity -- 报损前数量
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -105,41 +104,41 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id, --ID
|
||||
T1.bus_no AS supply_bus_no, --单据号
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_type_enum, --目的类型
|
||||
T1.purpose_location_id, --目的仓库
|
||||
T5."name" AS purpose_location_name, --目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, --目的仓位
|
||||
T1.occurrence_time, --报损时间
|
||||
#{device} AS item_type, --器材类型
|
||||
T1.remake, --备注
|
||||
T7.bus_no AS item_bus_no, --项目编码
|
||||
T7."name" AS item_name, --名称
|
||||
T7."size" AS total_volume, --器材规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T7.unit_code, -- 包装单位
|
||||
T7.min_unit_code, -- 最小单位
|
||||
T7.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T4.quantity AS total_quantity, --当前库存数量
|
||||
T1.item_quantity, --数量(报损数量)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.total_price, --总价(报损金额)
|
||||
T1.reason_code, --理由类型(报损原因)
|
||||
T1.reason, --理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T7.part_percent, --拆零比
|
||||
T1.total_quantity AS old_quantity --报损前数量
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{device} AS item_type, -- 器材类型
|
||||
T1.remake, -- 备注
|
||||
T7.bus_no AS item_bus_no, -- 项目编码
|
||||
T7."name" AS item_name, -- 名称
|
||||
T7."size" AS total_volume, -- 器材规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T7.unit_code, -- 包装单位
|
||||
T7.min_unit_code, -- 最小单位
|
||||
T7.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T7.part_percent, -- 拆零比
|
||||
T1.total_quantity AS old_quantity -- 报损前数量
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T7
|
||||
ON T1.item_id = T7.id
|
||||
@@ -165,41 +164,41 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id, --ID
|
||||
T1.bus_no AS supply_bus_no, --单据号
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_type_enum, --目的类型
|
||||
T1.purpose_location_id, --目的仓库
|
||||
T5."name" AS purpose_location_name, --目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, --目的仓位
|
||||
T1.occurrence_time, --报损时间
|
||||
#{medicine} AS item_type, --药品类型
|
||||
T1.remake, --备注
|
||||
T2.bus_no AS item_bus_no, --项目编码
|
||||
T2."name" AS item_name, --名称
|
||||
T3.total_volume, --规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T2.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T4.quantity AS total_quantity, --当前库存数量
|
||||
T1.item_quantity, --数量(报损数量)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.total_price, --总价(报损金额)
|
||||
T1.reason_code, --理由类型(报损原因)
|
||||
T1.reason, --理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent --拆零比
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{medicine} AS item_type, -- 药品类型
|
||||
T1.remake, -- 备注
|
||||
T2.bus_no AS item_bus_no, -- 项目编码
|
||||
T2."name" AS item_name, -- 名称
|
||||
T3.total_volume, -- 规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T2.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent -- 拆零比
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -227,7 +226,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum = #{typeEnum}
|
||||
@@ -235,35 +234,35 @@
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id, --ID
|
||||
T1.bus_no AS supply_bus_no, --单据号
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_type_enum, --目的类型
|
||||
T1.purpose_location_id, --目的仓库
|
||||
T5."name" AS purpose_location_name, --目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, --目的仓位
|
||||
T1.occurrence_time, --报损时间
|
||||
#{device} AS item_type, --器材类型
|
||||
T1.remake, --备注
|
||||
T7.bus_no AS item_bus_no, --项目编码
|
||||
T7."name" AS item_name, --名称
|
||||
T7."size" AS total_volume, --器材规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T7.unit_code, -- 包装单位
|
||||
T7.min_unit_code, -- 最小单位
|
||||
T7.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T4.quantity AS total_quantity, --当前库存数量
|
||||
T1.item_quantity, --数量(报损数量)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.total_price, --总价(报损金额)
|
||||
T1.reason_code, --理由类型(报损原因)
|
||||
T1.reason, --理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T7.part_percent --拆零比
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{device} AS item_type, -- 器材类型
|
||||
T1.remake, -- 备注
|
||||
T7.bus_no AS item_bus_no, -- 项目编码
|
||||
T7."name" AS item_name, -- 名称
|
||||
T7."size" AS total_volume, -- 器材规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T7.unit_code, -- 包装单位
|
||||
T7.min_unit_code, -- 最小单位
|
||||
T7.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T7.part_percent -- 拆零比
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T7
|
||||
ON T1.item_id = T7.id
|
||||
@@ -289,7 +288,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum = #{typeEnum}
|
||||
@@ -297,4 +296,137 @@
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectLossDetail" resultType="com.openhis.web.inventorymanage.dto.LossReceiptDetailDto">
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{medicine} AS item_type, -- 药品类型
|
||||
T1.remake, -- 备注
|
||||
T2.bus_no AS item_bus_no, -- 项目编码
|
||||
T2."name" AS item_name, -- 名称
|
||||
T3.total_volume, -- 规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T2.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent, -- 拆零比
|
||||
T1.total_quantity AS old_quantity, -- 报损前数量
|
||||
sdd.dict_label AS unitCodeDict_text,
|
||||
sdd1.dict_label AS minUnitCodeDict_text
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication T3
|
||||
ON T3.medication_def_id = T2.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T4
|
||||
ON T1.item_id = T4.item_id
|
||||
AND T1.purpose_location_id = T4.location_id
|
||||
AND T1.lot_number = T4.lot_number
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_store_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T9
|
||||
ON T9.id = T1.supplier_id
|
||||
LEFT JOIN adm_charge_item_definition AS T10
|
||||
ON T10.instance_id = T4.item_id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T11
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
LEFT JOIN sys_dict_data sdd ON sdd.dict_value = T2.unit_code AND sdd.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd1 ON sdd1.dict_value = T2.min_unit_code AND sdd1.dict_type = 'unit_code'
|
||||
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no AS supply_bus_no, -- 单据号
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T5."name" AS purpose_location_name, -- 目的仓库名称
|
||||
T6."name" AS purpose_location_store_name, -- 目的仓位
|
||||
T1.occurrence_time, -- 报损时间
|
||||
#{device} AS item_type, -- 器材类型
|
||||
T1.remake, -- 备注
|
||||
T7.bus_no AS item_bus_no, -- 项目编码
|
||||
T7."name" AS item_name, -- 名称
|
||||
T7."size" AS total_volume, -- 器材规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T7.unit_code, -- 包装单位
|
||||
T7.min_unit_code, -- 最小单位
|
||||
T7.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T4.quantity AS total_quantity, -- 当前库存数量
|
||||
T1.item_quantity, -- 数量(报损数量)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.total_price, -- 总价(报损金额)
|
||||
T1.reason_code, -- 理由类型(报损原因)
|
||||
T1.reason, -- 理由(报损详细)
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T9."name" AS supplier_name, -- 供应商名称
|
||||
T7.part_percent, -- 拆零比
|
||||
T1.total_quantity AS old_quantity, -- 报损前数量
|
||||
sdd.dict_label AS unitCodeDict_text,
|
||||
sdd1.dict_label AS minUnitCodeDict_text
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T7
|
||||
ON T1.item_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T4
|
||||
ON T1.item_id = T4.item_id
|
||||
AND T1.purpose_location_id = T4.location_id
|
||||
AND T1.lot_number = T4.lot_number
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_store_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition AS T10
|
||||
ON T10.instance_id = T4.item_id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T11
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
LEFT JOIN sys_dict_data sdd ON sdd.dict_value = T7.unit_code AND sdd.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd1 ON sdd1.dict_value = T7.min_unit_code AND sdd1.dict_type = 'unit_code'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -5,19 +5,19 @@
|
||||
<select id="selectStocktakingReceiptPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ReceiptPageDto">
|
||||
SELECT T4.tenant_id,
|
||||
T4.supply_bus_no, --单据号
|
||||
T4.type_enum, --类型
|
||||
T4.status_enum, --状态
|
||||
T4.purpose_type_enum, --目的类型
|
||||
T4.purpose_location_id, --目的仓库
|
||||
T4.purpose_location_store_id, --目的仓位
|
||||
T4.breakeven_price, --盈亏金额
|
||||
T4.applicant_id, --申请人
|
||||
T4.approver_id, --审批人
|
||||
T4.create_time, -- 制单时间
|
||||
T4.approval_time --审批时间
|
||||
T4.supply_bus_no, -- 单据号
|
||||
T4.type_enum, -- 类型
|
||||
T4.status_enum, -- 状态
|
||||
T4.purpose_type_enum, -- 目的类型
|
||||
T4.purpose_location_id, -- 目的仓库
|
||||
T4.purpose_location_store_id, -- 目的仓位
|
||||
T4.breakeven_price, -- 盈亏金额
|
||||
T4.applicant_id, -- 申请人
|
||||
T4.approver_id, -- 审批人
|
||||
T4.create_time, -- 制单时间
|
||||
T4.approval_time -- 审批时间
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.bus_no AS supply_bus_no,
|
||||
T1.bus_no AS supply_bus_no,
|
||||
T1.type_enum,
|
||||
T1.status_enum,
|
||||
T1.purpose_type_enum,
|
||||
@@ -49,8 +49,7 @@
|
||||
T1.applicant_id,
|
||||
T1.approver_id,
|
||||
T1.approval_time
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T4
|
||||
ORDER BY T1.bus_no desc) AS T4
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
@@ -73,6 +72,7 @@
|
||||
T2.min_unit_code, --最小单位(小单位)
|
||||
T2.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T4.quantity AS org_quantity, --实际库存
|
||||
T1.total_quantity, --实盘数量(常规单位)(小单位)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.item_quantity, --数量(盈亏数量)(小单位)
|
||||
@@ -108,7 +108,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
@@ -119,7 +119,7 @@
|
||||
T1.item_id,
|
||||
T1.purpose_type_enum,
|
||||
T1.purpose_location_id,
|
||||
T7."name" AS purpose_location_name,
|
||||
T7."name" AS purpose_location_name,
|
||||
T1.purpose_location_store_id,
|
||||
T1.occurrence_time,
|
||||
#{device} AS item_type,
|
||||
@@ -127,22 +127,23 @@
|
||||
T5.bus_no AS item_bus_no,
|
||||
T5."name" AS item_name,
|
||||
T5."size" AS total_volume,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T5.unit_code,
|
||||
T5.min_unit_code AS min_unit_code,
|
||||
T5.manufacturer_text,
|
||||
T4.lot_number,
|
||||
T4.quantity AS org_quantity, --实际库存
|
||||
T1.total_quantity,
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.item_quantity,
|
||||
T1.total_price,
|
||||
T1.reason_code,
|
||||
T1.reason,
|
||||
T5.yb_no,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T5.part_percent
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T5
|
||||
@@ -164,7 +165,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
@@ -172,29 +173,29 @@
|
||||
<select id="selectStocktakingReceiptDetail"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T6.tenant_id,
|
||||
T6.id AS item_Id, --Id
|
||||
T6.bus_no AS item_bus_no, --编码
|
||||
T6.item_type, --药品类型
|
||||
T6.medication_type, -- 药品类型
|
||||
T6.item_name, --名称
|
||||
T6.total_volume, --规格
|
||||
T6.lot_number, --产品批号
|
||||
T6.yb_no, --医保编码
|
||||
T6.measurement_unit_code, -- 计量单位
|
||||
T6.unit_code, --药品单位(包装单位)(大单位)
|
||||
T6.min_unit_code, --最小单位(小单位)
|
||||
T6.part_percent, --拆零比
|
||||
T6.stocktaking_unit_code, --常规单位(小单位)
|
||||
T6.quantity AS total_quantity, --当前库存数量(常规单位)(小单位)
|
||||
T6.price, --采购单价(大单位)
|
||||
T6.manufacturer_text, --生产厂商文本
|
||||
T6.location_id AS purpose_location_id, --仓库
|
||||
T6.location_store_id AS purpose_location_store_id, --库位
|
||||
T6.supplier_id, -- 供应商id
|
||||
T6.supplier_name, -- 供应商名称
|
||||
T6.start_time, -- 生产日期
|
||||
T6.end_time, -- 有效期
|
||||
T6.form_enum AS purpose_type_enum --仓库类型
|
||||
T6.id AS item_Id, -- Id
|
||||
T6.bus_no AS item_bus_no, -- 编码
|
||||
T6.item_type, -- 药品类型
|
||||
T6.medication_type, -- 药品类型
|
||||
T6.item_name, -- 名称
|
||||
T6.total_volume, -- 规格
|
||||
T6.lot_number, -- 产品批号
|
||||
T6.yb_no, -- 医保编码
|
||||
T6.measurement_unit_code, -- 计量单位
|
||||
T6.unit_code, -- 药品单位(包装单位)(大单位)
|
||||
T6.min_unit_code, -- 最小单位(小单位)
|
||||
T6.part_percent, -- 拆零比
|
||||
T6.stocktaking_unit_code, -- 常规单位(小单位)
|
||||
T6.quantity AS total_quantity, -- 当前库存数量(常规单位)(小单位)
|
||||
T6.price, -- 采购单价(大单位)
|
||||
T6.manufacturer_text, -- 生产厂商文本
|
||||
T6.location_id AS purpose_location_id, -- 仓库
|
||||
T6.location_store_id AS purpose_location_store_id, -- 库位
|
||||
T6.supplier_id, -- 供应商id
|
||||
T6.supplier_name, -- 供应商名称
|
||||
T6.start_time, -- 生产日期
|
||||
T6.end_time, -- 有效期
|
||||
T6.form_enum AS purpose_type_enum -- 仓库类型
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T2.id,
|
||||
T2.bus_no,
|
||||
@@ -214,8 +215,8 @@
|
||||
T2.manufacturer_text,
|
||||
T1.location_id,
|
||||
T1.location_store_id,
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T1.production_date AS start_time,
|
||||
T1.expiration_date AS end_time,
|
||||
T5.form_enum
|
||||
@@ -238,7 +239,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T1.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.inventory_status_enum = #{inventoryStatusEnum}
|
||||
AND T1.location_id = #{sourceLocationId}
|
||||
@@ -263,8 +264,8 @@
|
||||
T4.manufacturer_text,
|
||||
T1.location_id,
|
||||
T1.location_store_id,
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T1.production_date AS start_time,
|
||||
T1.expiration_date AS end_time,
|
||||
T5.form_enum
|
||||
@@ -284,7 +285,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T1.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.inventory_status_enum = #{inventoryStatusEnum}
|
||||
AND T1.location_id = #{sourceLocationId}
|
||||
@@ -295,20 +296,20 @@
|
||||
<select id="selectAutoStocktakingBatch"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductStocktakingDto">
|
||||
SELECT T1.id,
|
||||
T1.item_table, --项目
|
||||
T2.id AS item_id, --项目id
|
||||
T1.unit_code AS unit_code,--物品计量单位
|
||||
0 AS item_quantity,--盈亏数量
|
||||
T1.quantity AS total_quantity,--合计数量
|
||||
T11.amount / T2.part_percent AS price,--单价
|
||||
0 AS total_price, -- 盈亏金额
|
||||
T5.form_enum AS purpose_type_enum,--目的仓库类型
|
||||
T1.location_id AS purpose_location_id,--目的仓库
|
||||
T1.location_store_id AS purpose_location_store_id,--目的仓位
|
||||
T1.supplier_id,--供应商
|
||||
T1.production_date AS start_time,--开始时间
|
||||
T1.expiration_date AS end_time,--结束时间
|
||||
T1.lot_number--产品批号
|
||||
T1.item_table, -- 项目
|
||||
T2.id AS item_id, -- 项目id
|
||||
T1.unit_code AS unit_code,-- 物品计量单位
|
||||
0 AS item_quantity,-- 盈亏数量
|
||||
T1.quantity AS total_quantity,-- 合计数量
|
||||
T11.amount / T2.part_percent AS price,-- 单价
|
||||
0 AS total_price, -- 盈亏金额
|
||||
T5.form_enum AS purpose_type_enum,-- 目的仓库类型
|
||||
T1.location_id AS purpose_location_id,-- 目的仓库
|
||||
T1.location_store_id AS purpose_location_store_id,-- 目的仓位
|
||||
T1.supplier_id,-- 供应商
|
||||
T1.production_date AS start_time,-- 开始时间
|
||||
T1.expiration_date AS end_time,-- 结束时间
|
||||
T1.lot_number-- 产品批号
|
||||
FROM wor_inventory_item T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -328,26 +329,26 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T1.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.inventory_status_enum = #{inventoryStatusEnum}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.item_table, --项目
|
||||
T4.id AS item_id, --项目id
|
||||
T1.unit_code AS unit_code,--物品计量单位
|
||||
0 AS item_quantity,--盈亏数量
|
||||
T1.quantity AS total_quantity,--合计数量
|
||||
T11.amount / T4.part_percent AS price,--单价
|
||||
0 AS total_price, -- 盈亏金额
|
||||
T5.form_enum AS purpose_type_enum,--目的仓库类型
|
||||
T1.location_id AS purpose_location_id,--目的仓库
|
||||
T1.location_store_id AS purpose_location_store_id,--目的仓位
|
||||
T1.supplier_id,--供应商
|
||||
T1.production_date AS start_time,--开始时间
|
||||
T1.expiration_date AS end_time,--结束时间
|
||||
T1.lot_number--产品批号
|
||||
T1.item_table, -- 项目
|
||||
T4.id AS item_id, -- 项目id
|
||||
T1.unit_code AS unit_code,-- 物品计量单位
|
||||
0 AS item_quantity,-- 盈亏数量
|
||||
T1.quantity AS total_quantity,-- 合计数量
|
||||
T11.amount / T4.part_percent AS price,-- 单价
|
||||
0 AS total_price, -- 盈亏金额
|
||||
T5.form_enum AS purpose_type_enum,-- 目的仓库类型
|
||||
T1.location_id AS purpose_location_id,-- 目的仓库
|
||||
T1.location_store_id AS purpose_location_store_id,-- 目的仓位
|
||||
T1.supplier_id,-- 供应商
|
||||
T1.production_date AS start_time,-- 开始时间
|
||||
T1.expiration_date AS end_time,-- 结束时间
|
||||
T1.lot_number-- 产品批号
|
||||
FROM wor_inventory_item T1
|
||||
LEFT JOIN adm_device_definition T4
|
||||
ON T1.item_id = T4.id
|
||||
@@ -364,43 +365,43 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T1.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.inventory_status_enum = #{inventoryStatusEnum}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id, --ID
|
||||
T1.bus_no, --单据号
|
||||
T1.trace_no, --追溯码
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_type_enum, --目的类型
|
||||
T1.purpose_location_id, --目的仓库
|
||||
T7."name" AS purpose_location_name, -- 目的仓库
|
||||
T1.purpose_location_store_id, --目的仓位
|
||||
T1.occurrence_time, --期望时间(盘点日期)
|
||||
#{medicine} AS item_type, --药品类型
|
||||
T1.remake, --备注
|
||||
T2.bus_no AS item_bus_no, --项目编码
|
||||
T2."name" AS item_name, --名称
|
||||
T3.total_volume, --规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, --包装单位(大单位)
|
||||
T2.min_unit_code, --最小单位(小单位)
|
||||
T2.manufacturer_text, --生产厂商文本
|
||||
T4.lot_number, --产品批号
|
||||
T1.total_quantity, --实盘数量(常规单位)(小单位)
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T1.item_quantity, --数量(盈亏数量)(小单位)
|
||||
T1.total_price, --总价(盈亏金额)
|
||||
T1.reason_code, --理由类型(盈亏原因)
|
||||
T1.reason, --理由(盈亏详细)
|
||||
T2.yb_no, --医保编码
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent --拆零比
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no, -- 单据号
|
||||
T1.trace_no, -- 追溯码
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T7."name" AS purpose_location_name, -- 目的仓库
|
||||
T1.purpose_location_store_id, -- 目的仓位
|
||||
T1.occurrence_time, -- 期望时间(盘点日期)
|
||||
#{medicine} AS item_type, -- 药品类型
|
||||
T1.remake, -- 备注
|
||||
T2.bus_no AS item_bus_no, -- 项目编码
|
||||
T2."name" AS item_name, -- 名称
|
||||
T3.total_volume, -- 规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位(大单位)
|
||||
T2.min_unit_code, -- 最小单位(小单位)
|
||||
T2.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T1.total_quantity, -- 实盘数量(常规单位)(小单位)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.item_quantity, -- 数量(盈亏数量)(小单位)
|
||||
T1.total_price, -- 总价(盈亏金额)
|
||||
T1.reason_code, -- 理由类型(盈亏原因)
|
||||
T1.reason, -- 理由(盈亏详细)
|
||||
T2.yb_no, -- 医保编码
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent -- 拆零比
|
||||
FROM
|
||||
<if test="endTime == null">
|
||||
wor_aut_supply_request AS T1
|
||||
@@ -430,7 +431,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
@@ -460,22 +461,22 @@
|
||||
T5.bus_no AS item_bus_no,
|
||||
T5."name" AS item_name,
|
||||
T5."size" AS total_volume,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T5.unit_code,
|
||||
T5.min_unit_code AS min_unit_code,
|
||||
T5.manufacturer_text,
|
||||
T4.lot_number,
|
||||
T1.total_quantity,
|
||||
T11.amount AS price, --采购单价(大单位)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.item_quantity,
|
||||
T1.total_price,
|
||||
T1.reason_code,
|
||||
T1.reason,
|
||||
T5.yb_no,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T5.part_percent
|
||||
FROM
|
||||
<if test="endTime == null">
|
||||
@@ -503,7 +504,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
@@ -519,4 +520,123 @@
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectInventoryReceiptDetail" resultType="com.openhis.web.inventorymanage.dto.InventoryReceiptDetailDto">
|
||||
SELECT T1.id, -- ID
|
||||
T1.bus_no, -- 单据号
|
||||
T1.trace_no, -- 追溯码
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_type_enum, -- 目的类型
|
||||
T1.purpose_location_id, -- 目的仓库
|
||||
T7."name" AS purpose_location_name, -- 目的仓库
|
||||
T1.purpose_location_store_id, -- 目的仓位
|
||||
T1.occurrence_time, -- 期望时间(盘点日期)
|
||||
#{medicine} AS item_type, -- 药品类型
|
||||
T1.remake, -- 备注
|
||||
T2.bus_no AS item_bus_no, -- 项目编码
|
||||
T2."name" AS item_name, -- 名称
|
||||
T3.total_volume, -- 规格
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位(大单位)
|
||||
T2.min_unit_code, -- 最小单位(小单位)
|
||||
T2.manufacturer_text, -- 生产厂商文本
|
||||
T4.lot_number, -- 产品批号
|
||||
T1.total_quantity, -- 实盘数量(常规单位)(小单位)
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.item_quantity, -- 数量(盈亏数量)(小单位)
|
||||
T1.total_price, -- 总价(盈亏金额)
|
||||
T1.reason_code, -- 理由类型(盈亏原因)
|
||||
T1.reason, -- 理由(盈亏详细)
|
||||
T2.yb_no, -- 医保编码
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T2.part_percent -- 拆零比
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item AS T4
|
||||
ON T1.item_id = T4.item_id
|
||||
AND T1.purpose_location_id = T4.location_id
|
||||
AND T1.lot_number = T4.lot_number
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_id = T7.id
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T8.id = T1.supplier_id
|
||||
LEFT JOIN adm_charge_item_definition AS T10
|
||||
ON T10.instance_id = T4.item_id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T11
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.trace_no,
|
||||
T1.item_id,
|
||||
T1.purpose_type_enum,
|
||||
T1.purpose_location_id,
|
||||
T7."name" AS purpose_location_name,
|
||||
T1.purpose_location_store_id,
|
||||
T1.occurrence_time,
|
||||
#{device} AS item_type,
|
||||
T1.remake,
|
||||
T5.bus_no AS item_bus_no,
|
||||
T5."name" AS item_name,
|
||||
T5."size" AS total_volume,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T5.unit_code,
|
||||
T5.min_unit_code AS min_unit_code,
|
||||
T5.manufacturer_text,
|
||||
T4.lot_number,
|
||||
T1.total_quantity,
|
||||
T11.amount AS price, -- 采购单价(大单位)
|
||||
T1.item_quantity,
|
||||
T1.total_price,
|
||||
T1.reason_code,
|
||||
T1.reason,
|
||||
T5.yb_no,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.supplier_id, -- 供应商id
|
||||
T8."name" AS supplier_name, -- 供应商名称
|
||||
T5.part_percent
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T5
|
||||
ON T1.item_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item AS T4
|
||||
ON T1.item_id = T4.item_id
|
||||
AND T1.purpose_location_id = T4.location_id
|
||||
AND T1.lot_number = T4.lot_number
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_id = T7.id
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T8.id = T1.supplier_id
|
||||
LEFT JOIN adm_charge_item_definition AS T10
|
||||
ON T10.instance_id = T4.item_id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T11
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T4.lot_number
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
T2.approval_time, -- 审批时间
|
||||
T2.applicant_id, -- 申请人ID
|
||||
T2.create_time, -- 制单时间
|
||||
T2.tenant_id -- 租户ID
|
||||
T2.tenant_id, -- 租户ID
|
||||
T2.total_amount
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
@@ -29,7 +30,8 @@
|
||||
T2."name" AS source_location_name, -- 源仓库
|
||||
T1.purpose_location_id,
|
||||
T3."name" AS purpose_location_name, -- 目的仓库
|
||||
T1.tenant_id -- 租户ID
|
||||
T1.tenant_id, -- 租户ID
|
||||
sum(T1.total_price) AS total_amount
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_location T2
|
||||
ON T1.source_location_id = T2.id
|
||||
@@ -55,11 +57,12 @@
|
||||
</select>
|
||||
<select id="selectBatchTransferDetail" resultType="com.openhis.web.inventorymanage.dto.ProductTransferDetailDto">
|
||||
SELECT A.tenant_id,
|
||||
A.id,
|
||||
A.medication_type, -- 药品类型
|
||||
A.item_type, -- 药品类型
|
||||
A.name, -- 项目
|
||||
A.total_volume, -- 规格
|
||||
A.manufacturer, -- 生产厂家
|
||||
A.manufacturer_text, -- 生产厂家
|
||||
A.measurement_unit_code, -- 计量单位
|
||||
A.unit_code, -- 包装单位
|
||||
A.min_unit_code, -- 最小单位
|
||||
@@ -77,11 +80,12 @@
|
||||
A.supplier_name, -- 供应商名称
|
||||
A.packaging_levels -- 追溯码包装层级
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.id,
|
||||
#{medicine} AS medication_type,
|
||||
#{medicine} AS item_type,
|
||||
T1.name,
|
||||
T3.total_volume,
|
||||
T2.manufacturer_text AS manufacturer,
|
||||
T2.manufacturer_text ,
|
||||
T1.unit_code AS measurement_unit_code,
|
||||
T2.unit_code,
|
||||
T2.min_unit_code,
|
||||
@@ -129,11 +133,12 @@
|
||||
AND T1.quantity > 0
|
||||
UNION ALL
|
||||
SELECT T1.tenant_id,
|
||||
T1.id,
|
||||
#{device} AS medication_type,
|
||||
#{device} AS item_type,
|
||||
T1.name,
|
||||
T5.size AS total_volume,
|
||||
T5.manufacturer_text AS manufacturer,
|
||||
T5.manufacturer_text,
|
||||
T1.unit_code AS measurement_unit_code,
|
||||
T5.unit_code,
|
||||
T5.min_unit_code,
|
||||
@@ -179,6 +184,8 @@
|
||||
) AS A
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectDetail" resultType="com.openhis.web.inventorymanage.dto.ProductTransferDetailDto">
|
||||
SELECT DISTINCT T1.id,
|
||||
T1.bus_no, -- 商品调拨单据号
|
||||
@@ -196,7 +203,7 @@
|
||||
#{medicine} AS item_type, -- 项目类型
|
||||
T2.name, -- 药品名称
|
||||
T3.total_volume, -- 规格
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text, -- 生产厂商
|
||||
T4."name" AS supplier_name, -- 供应商名称
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
@@ -213,8 +220,9 @@
|
||||
T2.part_percent, -- 拆零比
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T9.quantity AS total_source_quantity, -- 库存数量(源库存)
|
||||
T12.quantity AS total_purpose_quantity -- 库存数量(目的库存)
|
||||
T1.total_quantity AS total_source_quantity, -- 库存数量(源库存)
|
||||
T12.quantity AS total_purpose_quantity, -- 库存数量(目的库存)
|
||||
sdt.dict_label AS measurementUnitCode_dictText -- 物品计量单位文字
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -243,15 +251,17 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T9.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1' -- 1:批号进价
|
||||
LEFT JOIN wor_inventory_item T12
|
||||
ON T1.item_id = T12.item_id
|
||||
AND T1.purpose_location_id = T12.location_id
|
||||
AND T12.lot_number = T1.lot_number
|
||||
AND T12.delete_flag = '0'
|
||||
AND T12.inventory_status_enum != 3
|
||||
LEFT JOIN sys_dict_data sdt
|
||||
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T9.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT DISTINCT T1.id,
|
||||
@@ -270,7 +280,7 @@
|
||||
#{device} AS item_type, -- 项目类型
|
||||
T2.name, -- 药品名称
|
||||
T2."size" AS total_volume, -- 规格
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text, -- 生产厂商
|
||||
T4."name" AS supplier_name, -- 供应商名称
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
@@ -287,8 +297,9 @@
|
||||
T2.part_percent, -- 拆零比
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T9.quantity AS total_source_quantity, -- 总库存数量(源库存)
|
||||
T12.quantity AS total_purpose_quantity -- 总库存数量(目的库存)
|
||||
T1.total_quantity AS total_source_quantity, -- 总库存数量(源库存)
|
||||
T12.quantity AS total_purpose_quantity, -- 总库存数量(目的库存)
|
||||
sdt.dict_label AS measurementUnitCode_dictText
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -315,17 +326,20 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T9.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1' -- 1:批号进价
|
||||
LEFT JOIN wor_inventory_item T12
|
||||
ON T1.item_id = T12.item_id
|
||||
AND T1.purpose_location_id = T12.location_id
|
||||
AND T12.lot_number = T1.lot_number
|
||||
AND T12.delete_flag = '0'
|
||||
AND T12.inventory_status_enum != 3
|
||||
LEFT JOIN sys_dict_data sdt
|
||||
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T9.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT DISTINCT T1.id,
|
||||
T1.bus_no, -- 商品调拨单据号
|
||||
@@ -343,7 +357,7 @@
|
||||
#{medicine} AS item_type, -- 项目类型
|
||||
T2.name, -- 药品名称
|
||||
T3.total_volume, -- 规格
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T4."name" AS supplier_name, -- 供应商名称
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
@@ -425,7 +439,7 @@
|
||||
#{device} AS item_type, -- 项目类型
|
||||
T2.name, -- 药品名称
|
||||
T2."size" AS total_volume, -- 规格
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T4."name" AS supplier_name, -- 供应商名称
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
|
||||
@@ -8,94 +8,95 @@
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.item_quantity
|
||||
ELSE 0
|
||||
END AS item_quantity, --退库数量
|
||||
END AS item_quantity, -- 退库数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree}
|
||||
)
|
||||
ELSE (
|
||||
SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree}
|
||||
)
|
||||
END AS returned_quantity, --已退数量
|
||||
THEN (SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree})
|
||||
ELSE (SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree})
|
||||
END AS returned_quantity, -- 已退数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.id
|
||||
ELSE NULL
|
||||
END AS id, --采购退货id
|
||||
END AS id, -- 采购退货id
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN NULL
|
||||
ELSE T1.id
|
||||
END AS purchase_id, --采购入库id
|
||||
T2.quantity AS quantity, --库存数量
|
||||
END AS purchase_id, -- 采购入库id
|
||||
T2.quantity AS quantity, -- 库存数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
)
|
||||
THEN (SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0')
|
||||
ELSE T3.quantity
|
||||
END AS purchase_quantity, --采购数量
|
||||
T11.amount AS price, --采购单价
|
||||
END AS purchase_quantity, -- 采购数量
|
||||
T11.amount AS price, -- 采购单价
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
)
|
||||
THEN (SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0')
|
||||
ELSE T1.unit_code
|
||||
END AS purchase_unit_code, --采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, --仓库
|
||||
T6."name" AS purpose_location_store_name, --货位
|
||||
T4."name" AS item_name, --药品
|
||||
T1.lot_number, --批次号
|
||||
T1.reason, --退货原因
|
||||
T1.remake, --备注
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_location_id, --目的仓库ID
|
||||
T1.purpose_location_store_id, --目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T8.total_volume, -- 规格
|
||||
T4.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
END AS purchase_unit_code, -- 采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, -- 仓库
|
||||
T6."name" AS purpose_location_store_name, -- 货位
|
||||
T4."name" AS item_name, -- 药品
|
||||
T1.lot_number, -- 批次号
|
||||
T1.reason, -- 退货原因
|
||||
T1.remake, -- 备注
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T8.total_volume, -- 规格
|
||||
T4.manufacturer_text , -- 生产厂商
|
||||
#{medicine} AS item_type,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.practitioner_id
|
||||
ELSE NULL
|
||||
END AS practitioner_id, --经手人
|
||||
END AS practitioner_id, -- 经手人
|
||||
T1.occurrence_time,
|
||||
T4.part_percent --拆零比
|
||||
T4.part_percent, -- 拆零比
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (SELECT name
|
||||
FROM adm_practitioner ap
|
||||
WHERE ap.delete_flag = '0'
|
||||
AND ap.tenant_id = 1
|
||||
AND ap.id = T1.practitioner_id)
|
||||
ELSE NULL
|
||||
END AS practitioner_name -- 经手人姓名
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN wor_inventory_item T2
|
||||
ON T1.item_id = T2.item_id
|
||||
@@ -127,7 +128,8 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T2.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
@@ -138,94 +140,95 @@
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.item_quantity
|
||||
ELSE NULL
|
||||
END AS item_quantity, --退库数量
|
||||
END AS item_quantity, -- 退库数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree}
|
||||
)
|
||||
ELSE (
|
||||
SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree}
|
||||
)
|
||||
END AS returned_quantity, --已退数量
|
||||
THEN (SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree})
|
||||
ELSE (SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{agree})
|
||||
END AS returned_quantity, -- 已退数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.id
|
||||
ELSE NULL
|
||||
END AS id, --采购退货id
|
||||
END AS id, -- 采购退货id
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN NULL
|
||||
ELSE T1.id
|
||||
END AS purchase_id, --采购入库id
|
||||
T2.quantity AS quantity, --库存数量
|
||||
END AS purchase_id, -- 采购入库id
|
||||
T2.quantity AS quantity, -- 库存数量
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
)
|
||||
THEN (SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0')
|
||||
ELSE T3.quantity
|
||||
END AS purchase_quantity, --采购数量
|
||||
T11.amount AS price, --采购单价
|
||||
END AS purchase_quantity, -- 采购数量
|
||||
T11.amount AS price, -- 采购单价
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (
|
||||
SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
)
|
||||
THEN (SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0')
|
||||
ELSE T1.unit_code
|
||||
END AS purchase_unit_code, --采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, --仓库
|
||||
T6."name" AS purpose_location_store_name, --货位
|
||||
T4."name" AS item_name, --药品
|
||||
T1.lot_number, --批次号
|
||||
T1.reason, --退货原因
|
||||
T1.remake, --备注
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_location_id, --目的仓库ID
|
||||
T1.purpose_location_store_id, --目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T4."size" AS total_volume, -- 规格
|
||||
T4.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
END AS purchase_unit_code, -- 采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, -- 仓库
|
||||
T6."name" AS purpose_location_store_name, -- 货位
|
||||
T4."name" AS item_name, -- 药品
|
||||
T1.lot_number, -- 批次号
|
||||
T1.reason, -- 退货原因
|
||||
T1.remake, -- 备注
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T4."size" AS total_volume, -- 规格
|
||||
T4.manufacturer_text , -- 生产厂商
|
||||
#{device} AS item_type,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN T1.practitioner_id
|
||||
ELSE NULL
|
||||
END AS practitioner_id, --经手人
|
||||
END AS practitioner_id, -- 经手人
|
||||
T1.occurrence_time,
|
||||
T4.part_percent --拆零比
|
||||
T4.part_percent, -- 拆零比
|
||||
CASE
|
||||
WHEN T1.type_enum = #{purchaseReturn}
|
||||
THEN (SELECT name
|
||||
FROM adm_practitioner ap
|
||||
WHERE ap.delete_flag = '0'
|
||||
AND ap.tenant_id = 1
|
||||
AND ap.id = T1.practitioner_id)
|
||||
ELSE NULL
|
||||
END AS practitioner_name -- 经手人姓名
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN wor_inventory_item T2
|
||||
ON T2.item_id = T1.item_id
|
||||
@@ -254,11 +257,12 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T2.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectGeneratedDetail"
|
||||
resultType="com.openhis.web.inventorymanage.dto.PurchaseReturnPageDto">
|
||||
SELECT T1.bus_no AS supply_bus_no,
|
||||
@@ -268,7 +272,7 @@
|
||||
T1.practitioner_id,
|
||||
T1.applicant_id,
|
||||
T1.approver_id,
|
||||
MIN(T1.occurrence_time) AS occurrence_time, -- 制单时间
|
||||
MIN(T1.occurrence_time) AS occurrence_time, -- 制单时间
|
||||
T1.approval_time
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE T1.original_bus_no = #{busNo}
|
||||
@@ -287,7 +291,7 @@
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.PurchaseReturnDetailDto">
|
||||
SELECT T1.bus_no,
|
||||
T1.original_bus_no,
|
||||
T1.item_quantity AS item_quantity, --退库数量
|
||||
T1.item_quantity AS item_quantity, -- 退库数量
|
||||
( SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
@@ -296,10 +300,10 @@
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{statusEnum}
|
||||
)
|
||||
AS returned_quantity, --已退数量
|
||||
T1.id , --采购退货id
|
||||
NULL AS purchase_id, --采购入库id
|
||||
T2.quantity AS quantity, --库存数量
|
||||
AS returned_quantity, -- 已退数量
|
||||
T1.id , -- 采购退货id
|
||||
NULL AS purchase_id, -- 采购入库id
|
||||
T2.quantity AS quantity, -- 库存数量
|
||||
( SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
@@ -307,41 +311,41 @@
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
)
|
||||
AS purchase_quantity, --采购数量
|
||||
T11.amount AS price, --采购单价
|
||||
AS purchase_quantity, -- 采购数量
|
||||
T11.amount AS price, -- 采购单价
|
||||
( SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
) AS purchase_unit_code, --采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, --仓库
|
||||
T6."name" AS purpose_location_store_name, --货位
|
||||
T4."name" AS item_name, --药品
|
||||
T1.lot_number, --批次号
|
||||
T1.reason, --退货原因
|
||||
T1.remake, --备注
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_location_id, --目的仓库ID
|
||||
T1.purpose_location_store_id, --目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T8.total_volume, -- 规格
|
||||
T4.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
) AS purchase_unit_code, -- 采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, -- 仓库
|
||||
T6."name" AS purpose_location_store_name, -- 货位
|
||||
T4."name" AS item_name, -- 药品
|
||||
T1.lot_number, -- 批次号
|
||||
T1.reason, -- 退货原因
|
||||
T1.remake, -- 备注
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T8.total_volume, -- 规格
|
||||
T4.manufacturer_text , -- 生产厂商
|
||||
#{medicine} AS item_type,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.practitioner_id , --经手人
|
||||
T1.occurrence_time,--制单日期
|
||||
T4.part_percent --拆零比
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.practitioner_id , -- 经手人
|
||||
T1.occurrence_time,-- 制单日期
|
||||
T4.part_percent -- 拆零比
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN wor_inventory_item T2
|
||||
ON T1.item_id = T2.item_id
|
||||
@@ -373,7 +377,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T2.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
@@ -386,7 +390,7 @@
|
||||
UNION
|
||||
SELECT T1.bus_no,
|
||||
T1.original_bus_no,
|
||||
T1.item_quantity AS item_quantity, --退库数量
|
||||
T1.item_quantity AS item_quantity, -- 退库数量
|
||||
( SELECT COALESCE(SUM(T9.item_quantity), 0)
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T9.original_bus_no = T1.original_bus_no
|
||||
@@ -394,51 +398,51 @@
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
AND T9.status_enum = #{statusEnum}
|
||||
) AS returned_quantity, --已退数量
|
||||
T1.id , --采购退货id
|
||||
NULL AS purchase_id, --采购入库id
|
||||
T2.quantity AS quantity, --库存数量
|
||||
) AS returned_quantity, -- 已退数量
|
||||
T1.id , -- 采购退货id
|
||||
NULL AS purchase_id, -- 采购入库id
|
||||
T2.quantity AS quantity, -- 库存数量
|
||||
( SELECT T9.item_quantity
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
) AS purchase_quantity, --采购数量
|
||||
T11.amount AS price, --采购单价
|
||||
) AS purchase_quantity, -- 采购数量
|
||||
T11.amount AS price, -- 采购单价
|
||||
( SELECT T9.unit_code
|
||||
FROM wor_supply_request AS T9
|
||||
WHERE T1.original_bus_no = T9.bus_no
|
||||
AND T9.item_id = T1.item_id
|
||||
AND T9.lot_number = T1.lot_number
|
||||
AND T9.delete_flag = '0'
|
||||
) AS purchase_unit_code, --采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, --仓库
|
||||
T6."name" AS purpose_location_store_name, --货位
|
||||
T4."name" AS item_name, --药品
|
||||
T1.lot_number, --批次号
|
||||
T1.reason, --退货原因
|
||||
T1.remake, --备注
|
||||
T1.item_id, --物品编码
|
||||
T1.purpose_location_id, --目的仓库ID
|
||||
T1.purpose_location_store_id, --目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T4."size" AS total_volume, -- 规格
|
||||
T4.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
) AS purchase_unit_code, -- 采购单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T4.unit_code, -- 包装单位
|
||||
T4.min_unit_code, -- 最小单位
|
||||
T5."name" AS purpose_location_name, -- 仓库
|
||||
T6."name" AS purpose_location_store_name, -- 货位
|
||||
T4."name" AS item_name, -- 药品
|
||||
T1.lot_number, -- 批次号
|
||||
T1.reason, -- 退货原因
|
||||
T1.remake, -- 备注
|
||||
T1.item_id, -- 物品编码
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T1.purpose_type_enum, -- 目的仓库类型
|
||||
T1.supplier_id, -- 供应商id
|
||||
T7."name" AS supplier_name, -- 供应商名称
|
||||
T4."size" AS total_volume, -- 规格
|
||||
T4.manufacturer_text , -- 生产厂商
|
||||
#{device} AS item_type,
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.practitioner_id, --经手人
|
||||
T1.occurrence_time,--制单日期
|
||||
T4.part_percent --拆零比
|
||||
T1.start_time, -- 开始时间
|
||||
T1.end_time, -- 结束时间
|
||||
T1.invoice_no, -- 发票号
|
||||
T1.trace_no, -- 追溯码
|
||||
T2.packaging_levels, -- 追溯码包装层级
|
||||
T1.practitioner_id, -- 经手人
|
||||
T1.occurrence_time,-- 制单日期
|
||||
T4.part_percent -- 拆零比
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN wor_inventory_item T2
|
||||
ON T2.item_id = T1.item_id
|
||||
@@ -467,7 +471,7 @@
|
||||
ON T11.definition_id = T10.id
|
||||
AND T11.delete_flag = '0'
|
||||
AND T11.condition_value = T2.lot_number
|
||||
AND T11.condition_code = '1'--1:批号进价
|
||||
AND T11.condition_code = '1'-- 1:批号进价
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
|
||||
@@ -16,12 +16,13 @@
|
||||
T2.approver_id,--审批人
|
||||
T2.approval_time,--审批时间
|
||||
T2.applicant_id,--申请人
|
||||
T2.create_time, -- 制单时间
|
||||
T2.create_time, -- 制单时间
|
||||
T2.practitioner_id,--经手人
|
||||
T2.tenant_id,--租户ID
|
||||
T2.purpose_location_id,--领用部门ID
|
||||
T2.location_name --领用部门名
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T2.location_name, --领用部门名
|
||||
T2.total_amount--总金额
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
@@ -30,12 +31,13 @@
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.purpose_location_id,--领用部门ID
|
||||
T4.name AS location_name
|
||||
T4.name AS location_name,
|
||||
SUM(T1.total_price) AS total_amount
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_location T3
|
||||
ON T1.source_location_id = T3.id
|
||||
LEFT JOIN adm_organization T4
|
||||
ON T1.purpose_location_id = T4.id
|
||||
LEFT JOIN adm_location T3
|
||||
ON T1.source_location_id = T3.id
|
||||
LEFT JOIN adm_organization T4
|
||||
ON T1.purpose_location_id = T4.id
|
||||
WHERE T1.type_enum = #{issueInventory}
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.bus_no,
|
||||
@@ -48,17 +50,17 @@
|
||||
T1.purpose_location_id,
|
||||
T4.name
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="requisitionIssueDetail" resultType="com.openhis.web.inventorymanage.dto.IssueDetailDto">
|
||||
SELECT T1.id,
|
||||
T1.bus_no,--单据号
|
||||
T1.item_id,
|
||||
T1.item_quantity,--数量
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,--请求细节
|
||||
T1.purpose_type_enum,--目的类型
|
||||
#{medicine} AS item_type,--药品类型
|
||||
@@ -68,166 +70,25 @@
|
||||
T1.invoice_no,--发票号
|
||||
T1.start_time,--开始时间
|
||||
T1.end_time,--结束时间
|
||||
T13.amount AS price,--单价
|
||||
T1.price,--单价
|
||||
T1.total_price,--总价
|
||||
T2."name" AS item_name,--药品类型
|
||||
T2."name" AS item_name,--药品类型
|
||||
T2.part_percent,--拆零比
|
||||
T2."yb_no",--医保编码
|
||||
T3.total_volume,--规格
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text, -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN med_medication T3
|
||||
ON T3.medication_def_id = T2.id
|
||||
LEFT JOIN adm_supplier T4
|
||||
ON T4.id = T1.supplier_id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.item_id,
|
||||
T1.item_quantity,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,
|
||||
T1.purpose_type_enum,
|
||||
#{device} AS item_type, --耗材类型
|
||||
T1.apply_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T13.amount AS price,--单价
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2.part_percent,
|
||||
T2."size" AS total_volume,
|
||||
T2."yb_no",
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN adm_supplier T4
|
||||
ON T4.id = T1.supplier_id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.IssueDetailDto">
|
||||
SELECT T1.id,
|
||||
T1.bus_no,--单据号
|
||||
T1.item_id,
|
||||
T1.item_quantity,--数量
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,--请求细节
|
||||
T1.purpose_type_enum,--目的类型
|
||||
#{medicine} AS item_type,--药品类型
|
||||
T1.apply_time,--申请时间
|
||||
T1.lot_number,--产品批号
|
||||
T1.trace_no,--追溯码
|
||||
T1.invoice_no,--发票号
|
||||
T1.start_time,--开始时间
|
||||
T1.end_time,--结束时间
|
||||
T13.amount AS price,--单价
|
||||
T1.total_price,--总价
|
||||
T2."name" AS item_name,--药品类型
|
||||
T2.part_percent,--拆零比
|
||||
T2."yb_no",--医保编码
|
||||
T3.total_volume,--规格
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
@@ -240,33 +101,27 @@
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.source_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
ON T1.practitioner_id = T11.id
|
||||
-- LEFT JOIN adm_charge_item_definition AS T12
|
||||
-- ON T12.instance_id = T10.item_id
|
||||
-- AND T12.delete_flag = '0'
|
||||
-- LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
-- ON T13.definition_id = T12.id
|
||||
-- AND T13.delete_flag = '0'
|
||||
-- AND T13.condition_value = T10.lot_number
|
||||
-- AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
@@ -274,39 +129,39 @@
|
||||
T1.bus_no,
|
||||
T1.item_id,
|
||||
T1.item_quantity,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,
|
||||
T1.purpose_type_enum,
|
||||
#{device} AS item_type, --耗材类型
|
||||
#{device} AS item_type, --耗材类型
|
||||
T1.apply_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T13.amount AS price,--单价
|
||||
T1.price,--单价
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2."name" AS item_name,
|
||||
T2.part_percent,
|
||||
T2."size" AS total_volume,
|
||||
T2."size" AS total_volume,
|
||||
T2."yb_no",
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text, -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -315,34 +170,181 @@
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.source_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
ON T1.practitioner_id = T11.id
|
||||
-- LEFT JOIN adm_charge_item_definition AS T12
|
||||
-- ON T12.instance_id = T10.item_id
|
||||
-- AND T12.delete_flag = '0'
|
||||
-- LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
-- ON T13.definition_id = T12.id
|
||||
-- AND T13.delete_flag = '0'
|
||||
-- AND T13.condition_value = T10.lot_number
|
||||
-- AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.IssueDetailDto">
|
||||
SELECT T1.id,
|
||||
T1.bus_no,--单据号
|
||||
T1.item_id,
|
||||
T1.item_quantity,--数量
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,--请求细节
|
||||
T1.purpose_type_enum,--目的类型
|
||||
#{medicine} AS item_type,--药品类型
|
||||
T1.apply_time,--申请时间
|
||||
T1.lot_number,--产品批号
|
||||
T1.trace_no,--追溯码
|
||||
T1.invoice_no,--发票号
|
||||
T1.start_time,--开始时间
|
||||
T1.end_time,--结束时间
|
||||
T13.amount AS price,--单价
|
||||
T1.total_price,--总价
|
||||
T2."name" AS item_name,--药品类型
|
||||
T2.part_percent,--拆零比
|
||||
T2."yb_no",--医保编码
|
||||
T3.total_volume,--规格
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN med_medication T3
|
||||
ON T3.medication_def_id = T2.id
|
||||
LEFT JOIN adm_supplier T4
|
||||
ON T4.id = T1.supplier_id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.source_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.item_id,
|
||||
T1.item_quantity,
|
||||
T1.unit_code AS measurement_unit_code, -- 物品计量单位
|
||||
T2.unit_code, -- 包装单位
|
||||
T2.min_unit_code, -- 最小单位
|
||||
T1.detail_json,
|
||||
T1.purpose_type_enum,
|
||||
#{device} AS item_type, --耗材类型
|
||||
T1.apply_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T13.amount AS price,--单价
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2.part_percent,
|
||||
T2."size" AS total_volume,
|
||||
T2."yb_no",
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T6."name" AS source_location_name, -- 源仓库
|
||||
T7."name" AS source_location_store_name, -- 源仓位
|
||||
T8."name" AS purpose_location_name, -- 目的仓库
|
||||
T9."name" AS purpose_location_store_name, -- 目的货位
|
||||
T1.practitioner_id, -- 经办人
|
||||
T1.remake, -- 备注
|
||||
T1.occurrence_time,
|
||||
T11."name" AS practitioner_name -- 经办人名称
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN adm_supplier T4
|
||||
ON T4.id = T1.supplier_id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.source_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.source_location_store_id = T7.id
|
||||
LEFT JOIN adm_organization T8
|
||||
ON T1.purpose_location_id = T8.id
|
||||
LEFT JOIN adm_organization T9
|
||||
ON T1.purpose_location_store_id = T9.id
|
||||
LEFT JOIN wor_inventory_item T10
|
||||
ON T1.item_id = T10.item_id
|
||||
AND T1.source_location_id = T10.location_id
|
||||
AND T10.lot_number = T1.lot_number
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T11
|
||||
ON T1.practitioner_id = T11.id
|
||||
LEFT JOIN adm_charge_item_definition AS T12
|
||||
ON T12.instance_id = T10.item_id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T13
|
||||
ON T13.definition_id = T12.id
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.condition_value = T10.lot_number
|
||||
AND T13.condition_code = '1'--1:批号进价
|
||||
WHERE T1.source_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
T2."yb_no",--医保编码
|
||||
T3.total_volume,--药品规格
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T1.practitioner_id, -- 经办人
|
||||
T5."name" AS practitioner_name,--经办人名称
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
@@ -146,7 +146,7 @@
|
||||
T2."yb_no",--医保编码
|
||||
T2."size" AS total_volume,--包装规格
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T1.practitioner_id, -- 经办人
|
||||
T5."name" AS practitioner_name,
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
@@ -216,7 +216,7 @@
|
||||
T2."yb_no",--医保编码
|
||||
T3.total_volume,--药品规格
|
||||
T4."name" AS supplier_name,--供应商名称
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T1.practitioner_id, -- 经办人
|
||||
T5."name" AS practitioner_name,--经办人名称
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
@@ -293,7 +293,7 @@
|
||||
T2."yb_no",--医保编码
|
||||
T2."size" AS total_volume,--包装规格
|
||||
T4."name" AS supplier_name,
|
||||
T2.manufacturer_text AS manufacturer, -- 生产厂商
|
||||
T2.manufacturer_text , -- 生产厂商
|
||||
T1.practitioner_id, -- 经办人
|
||||
T5."name" AS practitioner_name,
|
||||
T10.quantity AS total_quantity, -- 当前库存总数
|
||||
|
||||
@@ -89,6 +89,10 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="delUser">
|
||||
UPDATE sys_user set del_flag = '1' WHERE user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<delete id="delUserRole">
|
||||
delete
|
||||
from sys_user_role
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
SELECT T4.encounter_id,
|
||||
T4.encounter_bus_no,
|
||||
T4.patient_id,
|
||||
T4.encounter_status,
|
||||
T4.reception_time,
|
||||
T4.patient_name,
|
||||
T4.patient_bus_no,
|
||||
@@ -16,47 +17,62 @@
|
||||
T4.start_time,
|
||||
T4.patient_py_str,
|
||||
T4.patient_wb_str,
|
||||
T4.status_enum
|
||||
FROM (
|
||||
SELECT T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_bus_no,
|
||||
T1.patient_id,
|
||||
T1.reception_time,
|
||||
T1.delete_flag,
|
||||
T1.tenant_id,
|
||||
T2."name" AS patient_name,
|
||||
T2.bus_no AS patient_bus_no,
|
||||
T2.gender_enum,
|
||||
T2.birth_date,
|
||||
T1.start_time,
|
||||
T2.id_card,
|
||||
T2.py_str AS patient_py_str,
|
||||
T2.wb_str AS patient_wb_str,
|
||||
T3.status_enum
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
INNER JOIN adm_charge_item AS T3
|
||||
ON T3.encounter_id = T1.id
|
||||
AND T3.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
GROUP BY T1.id,
|
||||
T1.bus_no,
|
||||
T1.patient_id,
|
||||
T1.reception_time,
|
||||
T1.delete_flag,
|
||||
T1.tenant_id,
|
||||
T2."name",
|
||||
T2.bus_no,
|
||||
T2.gender_enum,
|
||||
T2.birth_date,
|
||||
T2.id_card,
|
||||
T2.py_str,
|
||||
T2.wb_str,
|
||||
T3.status_enum
|
||||
ORDER BY T1.bus_no DESC
|
||||
) AS T4
|
||||
T4.balance_amount
|
||||
FROM (SELECT T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_bus_no,
|
||||
T1.patient_id,
|
||||
T1.reception_time,
|
||||
T1.delete_flag,
|
||||
T1.tenant_id,
|
||||
T1.start_time,
|
||||
T1.status_enum AS encounter_status,
|
||||
T2."name" AS patient_name,
|
||||
T2.bus_no AS patient_bus_no,
|
||||
T2.gender_enum,
|
||||
T2.birth_date,
|
||||
T2.id_card,
|
||||
T2.py_str AS patient_py_str,
|
||||
T2.wb_str AS patient_wb_str,
|
||||
T3.balance_amount
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
LEFT JOIN (SELECT aa.encounter_id,
|
||||
(aa.balance_amount -
|
||||
COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum IN (#{billed}, #{billable})
|
||||
THEN aci.total_price
|
||||
ELSE 0 END), 0) +
|
||||
COALESCE(
|
||||
SUM(CASE WHEN aci.status_enum = #{refunded} THEN aci.total_price ELSE 0 END),
|
||||
0)) AS balance_amount
|
||||
FROM adm_account aa
|
||||
LEFT JOIN adm_charge_item aci ON aa.encounter_id = aci.encounter_id
|
||||
AND aa.delete_flag = '0'
|
||||
WHERE aa.type_code = #{personalCashAccount}
|
||||
AND aa.delete_flag = '0'
|
||||
GROUP BY aa.encounter_id,
|
||||
aa.balance_amount) AS T3 ON T3.encounter_id = T1.id
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
AND T1.status_enum IN (#{dischargedFromHospital}, #{alreadySettled})
|
||||
GROUP BY T1.id,
|
||||
T1.bus_no,
|
||||
T1.patient_id,
|
||||
T1.reception_time,
|
||||
T1.delete_flag,
|
||||
T1.tenant_id,
|
||||
T1.start_time,
|
||||
T1.status_enum,
|
||||
T2."name",
|
||||
T2.bus_no,
|
||||
T2.gender_enum,
|
||||
T2.birth_date,
|
||||
T2.id_card,
|
||||
T2.py_str,
|
||||
T2.wb_str,
|
||||
T3.balance_amount
|
||||
ORDER BY T1.bus_no DESC) AS T4
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
@@ -132,8 +148,6 @@
|
||||
, #{refunded}
|
||||
, #{partRefund})
|
||||
AND T1.context_enum != #{register}
|
||||
AND T1.entered_date >= #{startTime}
|
||||
AND T1.entered_date <= #{endTime}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -75,10 +75,6 @@
|
||||
T2.unit_code,
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
T3.status_enum AS dispense_status,
|
||||
T3.not_performed_reason_enum AS not_performed_reason,
|
||||
0 AS service_status,
|
||||
T3.id AS dispense_id,
|
||||
T2.id AS request_id,
|
||||
T7.name AS item_name,
|
||||
T10.id AS payment_id,
|
||||
@@ -87,9 +83,6 @@
|
||||
LEFT JOIN med_medication_request AS T2
|
||||
ON T2.id = T1.service_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense AS T3
|
||||
ON T3.med_req_id = T2.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T7
|
||||
ON T1.product_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
@@ -117,10 +110,6 @@
|
||||
T4.unit_code,
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
T5.status_enum AS dispense_status,
|
||||
T5.not_performed_reason_enum AS not_performed_reason,
|
||||
0 AS service_status,
|
||||
T5.id AS dispense_id,
|
||||
T4.id AS request_id,
|
||||
T8.name AS item_name,
|
||||
T10.id AS payment_id,
|
||||
@@ -129,9 +118,6 @@
|
||||
LEFT JOIN wor_device_request AS T4
|
||||
ON T4.id = T1.service_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN wor_device_dispense AS T5
|
||||
ON T5.device_req_id = T4.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T8
|
||||
ON T1.product_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
@@ -159,10 +145,6 @@
|
||||
T6.unit_code,
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
0 AS dispense_status,
|
||||
null AS not_performed_reason,
|
||||
T6.status_enum AS service_status,
|
||||
null AS dispense_id,
|
||||
T6.id AS request_id,
|
||||
T9.name AS item_name,
|
||||
T10.id AS payment_id,
|
||||
@@ -282,10 +264,7 @@
|
||||
aci.service_table,
|
||||
mmr.prescription_no,
|
||||
mmr.id AS request_id,
|
||||
dis.status_enum AS dispense_status,
|
||||
0 AS service_status,
|
||||
dis.dispense_quantity,
|
||||
dis.id AS dispense_id,
|
||||
mmd."name" AS item_name,
|
||||
fpr.id AS payment_id,
|
||||
fpr.enterer_id,
|
||||
@@ -310,9 +289,6 @@
|
||||
ON aci.service_id = mmr.refund_medicine_id
|
||||
AND mmr.refund_medicine_id IS NOT NULL
|
||||
AND mmr.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense dis
|
||||
ON mmr.id = dis.med_req_id
|
||||
AND dis.delete_flag = '0'
|
||||
INNER JOIN med_medication_definition mmd
|
||||
ON aci.product_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
@@ -350,10 +326,7 @@
|
||||
aci.service_table,
|
||||
wdr.prescription_no,
|
||||
wdr.id AS request_id,
|
||||
wdd.status_enum AS dispense_status,
|
||||
0 AS service_status,
|
||||
wdd.dispense_quantity,
|
||||
wdd.id AS dispense_id,
|
||||
dev."name" AS item_name,
|
||||
fpr.id AS payment_id,
|
||||
fpr.enterer_id,
|
||||
@@ -378,9 +351,6 @@
|
||||
ON aci.service_id = wdr.refund_device_id
|
||||
AND wdr.refund_device_id IS NOT NULL
|
||||
AND wdr.delete_flag = '0'
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdr.id = wdd.device_req_id
|
||||
AND wdd.delete_flag = '0'
|
||||
INNER JOIN adm_device_definition dev
|
||||
ON aci.product_id = dev.id
|
||||
AND dev.delete_flag = '0'
|
||||
@@ -418,10 +388,7 @@
|
||||
aci.service_table,
|
||||
wsr.prescription_no,
|
||||
wsr.id AS request_id,
|
||||
0 AS dispense_status,
|
||||
wsr.status_enum AS service_status,
|
||||
0 AS dispense_quantity,
|
||||
null AS dispense_id,
|
||||
wad."name" AS item_name,
|
||||
fpr.id AS payment_id,
|
||||
fpr.enterer_id,
|
||||
|
||||
@@ -75,7 +75,8 @@
|
||||
T6.retail_price,
|
||||
T6.chrgitm_lv,--医保等级
|
||||
T6.rx_flag,--处方标志
|
||||
T6.tenant_id
|
||||
T6.tenant_id,
|
||||
T6.drug_69_code
|
||||
FROM
|
||||
(
|
||||
SELECT T2.id,
|
||||
@@ -101,6 +102,7 @@
|
||||
T2.ddd_unit_code,
|
||||
T2.min_rate_code,
|
||||
T2.max_rate_code,
|
||||
T1.drug_69_code,
|
||||
T1.bus_no,
|
||||
T1.name,
|
||||
T1.domain_enum,
|
||||
@@ -201,6 +203,7 @@
|
||||
T2.ddd_unit_code,
|
||||
T2.min_rate_code,
|
||||
T2.max_rate_code,
|
||||
T1.drug_69_code,
|
||||
T1.bus_no,
|
||||
T1.name,
|
||||
T1.domain_enum,
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
GROUP BY
|
||||
dd.id, dd.primary_menu_enum ,
|
||||
dd.sub_menu
|
||||
|
||||
ORDER BY dd.display_order
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@@ -6,85 +6,91 @@
|
||||
|
||||
<select id="getAdvancePaymentInfo" resultType="com.openhis.web.inhospitalcharge.dto.AdvancePaymentInfoDto">
|
||||
SELECT api.tenant_id,
|
||||
api.encounter_id,
|
||||
api.bus_no,
|
||||
api.patient_id,
|
||||
api.patient_name,
|
||||
api.gender_enum,
|
||||
api.birth_date,
|
||||
api.ward_name,
|
||||
api.house_name,
|
||||
api.bed_name,
|
||||
api.inHospital_org_name,
|
||||
api.account_id,
|
||||
api.total_amount,
|
||||
api.balance_amount
|
||||
api.encounter_id,
|
||||
api.bus_no,
|
||||
api.patient_id,
|
||||
api.patient_name,
|
||||
api.gender_enum,
|
||||
api.birth_date,
|
||||
api.ward_name,
|
||||
api.house_name,
|
||||
api.bed_name,
|
||||
api.inHospital_org_name,
|
||||
api.account_id,
|
||||
api.total_amount,
|
||||
api.balance_amount
|
||||
from (SELECT ae.tenant_id,
|
||||
ae.ID AS encounter_id,
|
||||
ae.bus_no AS bus_no,
|
||||
ap.id AS patient_id,
|
||||
ap.NAME AS patient_name,
|
||||
ap.gender_enum AS gender_enum,
|
||||
ap.birth_date AS birth_date,
|
||||
alw.name AS ward_name,
|
||||
alh.name AS house_name,
|
||||
alb.name AS bed_name,
|
||||
ao.NAME AS inHospital_org_name,
|
||||
aa.id AS account_id,
|
||||
COALESCE(payment.total_amount, 0) AS total_amount,
|
||||
COALESCE(payment.total_amount, 0) - COALESCE(consumption.consumption_amount, 0) +
|
||||
COALESCE(return_pay.return_amount, 0) AS balance_amount
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_patient AS ap ON ap.ID = ae.patient_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelw
|
||||
ON aelw.encounter_id = ae.ID AND aelw.delete_flag = '0' AND
|
||||
aelw.form_enum = #{wardEnum} AND
|
||||
aelw.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alw ON alw.id = aelw.location_id AND alw.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelh
|
||||
ON aelh.encounter_id = ae.ID AND aelh.delete_flag = '0' AND
|
||||
aelh.form_enum = #{houseEnum} AND
|
||||
aelh.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alh ON alh.id = aelh.location_id AND alh.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelb
|
||||
ON aelb.encounter_id = ae.ID AND aelb.delete_flag = '0' AND
|
||||
aelb.form_enum = #{bedEnum} AND
|
||||
aelb.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alb ON alb.id = aelb.location_id AND alb.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS aa
|
||||
ON aa.encounter_id = ae.ID AND aa.delete_flag = '0' AND
|
||||
aa.type_code = #{accountTypeCode}
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(tendered_amount) AS total_amount
|
||||
FROM fin_payment_reconciliation AS fpr
|
||||
WHERE fpr.delete_flag = '0'
|
||||
AND fpr.kind_enum = #{kindEnum}
|
||||
AND fpr.encounter_id = ae.ID
|
||||
) AS payment
|
||||
ON TRUE
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(total_price) AS consumption_amount
|
||||
FROM adm_charge_item AS aci
|
||||
WHERE aci.delete_flag = '0'
|
||||
AND aci.status_enum IN (#{status1}, #{status2})
|
||||
AND aci.encounter_id = ae.ID
|
||||
) AS consumption ON TRUE
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(total_price) AS return_amount
|
||||
FROM adm_charge_item AS aci
|
||||
WHERE aci.delete_flag = '0'
|
||||
AND aci.status_enum IN (#{status3})
|
||||
AND aci.encounter_id = ae.ID
|
||||
) AS return_pay ON TRUE
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{classEnum}) AS api
|
||||
${ew.customSqlSegment}
|
||||
ae.ID AS encounter_id,
|
||||
ae.bus_no AS bus_no,
|
||||
ap.id AS patient_id,
|
||||
ap.NAME AS patient_name,
|
||||
ap.gender_enum AS gender_enum,
|
||||
ap.birth_date AS birth_date,
|
||||
alw.id AS ward_location_id,
|
||||
alw.name AS ward_name,
|
||||
alh.name AS house_name,
|
||||
alb.name AS bed_name,
|
||||
ao.NAME AS inHospital_org_name,
|
||||
aa.id AS account_id,
|
||||
COALESCE(payment.total_amount, 0) AS total_amount,
|
||||
COALESCE(payment.total_amount, 0) - COALESCE(consumption.consumption_amount, 0) +
|
||||
COALESCE(return_pay.return_amount, 0) AS balance_amount
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_patient AS ap ON ap.ID = ae.patient_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelw
|
||||
ON aelw.encounter_id = ae.ID AND aelw.delete_flag = '0' AND
|
||||
aelw.form_enum = #{wardEnum} AND
|
||||
aelw.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alw ON alw.id = aelw.location_id AND alw.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelh
|
||||
ON aelh.encounter_id = ae.ID AND aelh.delete_flag = '0' AND
|
||||
aelh.form_enum = #{houseEnum} AND
|
||||
aelh.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alh ON alh.id = aelh.location_id AND alh.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS aelb
|
||||
ON aelb.encounter_id = ae.ID AND aelb.delete_flag = '0' AND
|
||||
aelb.form_enum = #{bedEnum} AND
|
||||
aelb.status_enum = #{encounterActivityStatus}
|
||||
LEFT JOIN adm_location AS alb ON alb.id = aelb.location_id AND alb.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS aa
|
||||
ON aa.encounter_id = ae.ID AND aa.delete_flag = '0' AND
|
||||
aa.type_code = #{accountTypeCode}
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(tendered_amount) AS total_amount
|
||||
FROM fin_payment_reconciliation AS fpr
|
||||
WHERE fpr.delete_flag = '0'
|
||||
AND fpr.kind_enum = #{kindEnum}
|
||||
AND fpr.encounter_id = ae.ID
|
||||
) AS payment
|
||||
ON TRUE
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(total_price) AS consumption_amount
|
||||
FROM adm_charge_item AS aci
|
||||
WHERE aci.delete_flag = '0'
|
||||
AND aci.status_enum IN (#{status1}, #{status2})
|
||||
AND aci.encounter_id = ae.ID
|
||||
) AS consumption ON TRUE
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT SUM
|
||||
(total_price) AS return_amount
|
||||
FROM adm_charge_item AS aci
|
||||
WHERE aci.delete_flag = '0'
|
||||
AND aci.status_enum IN (#{status3})
|
||||
AND aci.encounter_id = ae.ID
|
||||
) AS return_pay ON TRUE
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.status_enum != #{registeredFlag}
|
||||
AND ae.class_enum = #{classEnum}
|
||||
ORDER BY ae.create_time DESC) AS api
|
||||
${ew.customSqlSegment}
|
||||
<if test="wardLocationId != null">
|
||||
AND api.ward_location_id = #{wardLocationId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getAdvancePaymentFlowRecordList"
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
ihri.patient_name,
|
||||
ihri.gender_enum,
|
||||
ihri.birth_date,
|
||||
ihri.ward_name
|
||||
ihri.ward_name,
|
||||
ihri.contract_no,
|
||||
ihri.bus_no,
|
||||
ihri.admit_source_code
|
||||
from (SELECT ae.tenant_id,
|
||||
ae.ID AS encounter_id,
|
||||
ae.amb_encounter_id AS amb_encounter_id,
|
||||
@@ -26,7 +29,10 @@
|
||||
ap.NAME AS patient_name,
|
||||
ap.gender_enum AS gender_enum,
|
||||
ap.birth_date AS birth_date,
|
||||
al.NAME AS ward_name
|
||||
al.NAME AS ward_name,
|
||||
aa.contract_no,
|
||||
ae.bus_no,
|
||||
ae.admit_source_code
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_encounter AS ambae ON ae.amb_encounter_id = ambae.
|
||||
ID
|
||||
@@ -41,6 +47,9 @@
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS aper ON aper.ID = ae.registrar_id
|
||||
AND aper.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS aa ON aa.encounter_id = ae.ID
|
||||
AND aa.delete_flag = '0'
|
||||
AND aa.type_code = '04'
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{encounterClass}
|
||||
<if test="registeredFlag == '0'.toString()">
|
||||
@@ -51,6 +60,7 @@
|
||||
</if>
|
||||
) AS ihri
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ihri.request_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getPatientInfo" resultType="com.openhis.web.inhospitalcharge.dto.InHospitalPatientInfoDto">
|
||||
@@ -94,30 +104,44 @@
|
||||
ap.ID AS amb_doctor_practitioner_id,
|
||||
ap.NAME AS amb_doctor_practitioner_name,
|
||||
ccd.NAME AS amb_diagnosis_name,
|
||||
aa.contract_no AS contract_no,
|
||||
COALESCE(aa.balance_amount, 0) AS balance_amount
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS ael ON ael.encounter_id = ae.ID
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.form_enum = #{formEnum}
|
||||
LEFT JOIN adm_location AS al ON al.ID = ael.location_id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS aep ON aep.encounter_id = ae.amb_encounter_id
|
||||
AND aep.delete_flag = '0'
|
||||
AND aep.type_code = #{participantType}
|
||||
LEFT JOIN adm_practitioner AS ap ON ap.ID = aep.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_diagnosis AS aed ON aed.encounter_id = ae.amb_encounter_id
|
||||
AND aed.delete_flag = '0'
|
||||
AND aed.maindise_flag = #{maindiseFlag}
|
||||
LEFT JOIN cli_condition AS cc ON cc.ID = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd ON ccd.ID = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS aa ON aa.encounter_id = ae.ID
|
||||
AND aa.delete_flag = '0'
|
||||
AND aa.type_code = #{accountType}
|
||||
LEFT JOIN adm_organization AS ao
|
||||
ON ao.ID = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS ael
|
||||
ON ael.encounter_id = ae.ID
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.form_enum = #{formEnum}
|
||||
LEFT JOIN adm_location AS al
|
||||
ON al.ID = ael.location_id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS aep
|
||||
ON aep.encounter_id = ae.amb_encounter_id
|
||||
AND aep.delete_flag = '0'
|
||||
AND aep.status_enum = #{status}
|
||||
AND aep.type_code = #{participantType}
|
||||
LEFT JOIN adm_practitioner AS ap
|
||||
ON ap.ID = aep.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_diagnosis AS aed
|
||||
ON aed.delete_flag = '0'
|
||||
AND aed.maindise_flag = #{maindiseFlag}
|
||||
AND aed.encounter_id = CASE
|
||||
WHEN ae.amb_encounter_id IS NOT NULL THEN ae.amb_encounter_id
|
||||
ELSE ae.ID
|
||||
END
|
||||
LEFT JOIN cli_condition AS cc
|
||||
ON cc.ID = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd
|
||||
ON ccd.ID = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS aa
|
||||
ON aa.encounter_id = ae.ID
|
||||
AND aa.delete_flag = '0'
|
||||
AND aa.type_code = #{accountType}
|
||||
WHERE ae.ID = #{encounterId}
|
||||
</select>
|
||||
|
||||
@@ -145,4 +169,20 @@
|
||||
, '%')
|
||||
</select>
|
||||
|
||||
<select id="selectWardList" resultType="com.openhis.administration.domain.Location">
|
||||
SELECT
|
||||
id,
|
||||
name,
|
||||
bus_no
|
||||
FROM
|
||||
adm_location
|
||||
WHERE
|
||||
delete_flag = '0'
|
||||
AND status_enum = #{status}
|
||||
AND form_enum = #{formEnum}
|
||||
<if test="orgId != null">
|
||||
AND organization_id = #{orgId}
|
||||
</if>
|
||||
AND tenant_id = 1 <!-- 多租户ID(若为动态,可改为参数传入) -->
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -23,10 +23,12 @@
|
||||
ii.bed_id,
|
||||
ii.bed_name,
|
||||
ii.organization_name,
|
||||
ii.contract_name
|
||||
ii.contract_name,
|
||||
COALESCE(ii.time1, ii.time2, ii.time3) AS admission_time
|
||||
FROM (
|
||||
WITH locations AS (
|
||||
SELECT ael.encounter_id,
|
||||
ael.start_time as admission_time,
|
||||
al.form_enum,
|
||||
al.id AS location_id,
|
||||
al."name" AS location_name
|
||||
@@ -58,7 +60,10 @@
|
||||
alb.location_id AS bed_id,
|
||||
alb.location_name AS bed_name,
|
||||
ao."name" AS organization_name,
|
||||
fc.contract_name
|
||||
fc.contract_name,
|
||||
alw.admission_time as time1,
|
||||
alh.admission_time as time2,
|
||||
alb.admission_time as time3
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
@@ -85,7 +90,8 @@
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{imp}
|
||||
AND ae.status_enum != #{toBeRegistered}
|
||||
GROUP BY ae.id,
|
||||
GROUP BY ae.tenant_id,
|
||||
ae.id,
|
||||
ae.bus_no,
|
||||
ae.status_enum,
|
||||
ae.start_time,
|
||||
@@ -105,7 +111,10 @@
|
||||
alb.location_id,
|
||||
alb.location_name,
|
||||
ao."name",
|
||||
fc.contract_name
|
||||
fc.contract_name,
|
||||
alw.admission_time,
|
||||
alh.admission_time,
|
||||
alb.admission_time
|
||||
ORDER BY ae.bus_no DESC
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
@@ -190,6 +199,7 @@
|
||||
AND bed.delete_flag = '0'
|
||||
AND bed.status_enum != #{inactive}
|
||||
GROUP BY bed.id,
|
||||
bed.bus_no,
|
||||
bed.tenant_id,
|
||||
bed."name",
|
||||
bed.status_enum,
|
||||
@@ -214,112 +224,107 @@
|
||||
</select>
|
||||
<select id="selectAdmissionPatientInfo"
|
||||
resultType="com.openhis.web.inhospitalnursestation.dto.AdmissionPatientInfoDto">
|
||||
WITH locations AS (
|
||||
SELECT ael.encounter_id,
|
||||
ael.start_time,
|
||||
al.form_enum,
|
||||
al.id AS location_id,
|
||||
al."name" AS location_name
|
||||
FROM adm_encounter_location ael
|
||||
LEFT JOIN adm_location al
|
||||
ON ael.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE ael.status_enum = #{active}
|
||||
AND ael.delete_flag = '0'
|
||||
) , practitioners AS (
|
||||
SELECT aep.encounter_id ,
|
||||
aep.type_code ,
|
||||
pra.id AS practitioner_id,
|
||||
pra."name" AS practitioner_name
|
||||
FROM adm_encounter_participant aep
|
||||
LEFT JOIN adm_practitioner pra
|
||||
ON aep.practitioner_id = pra.id
|
||||
AND pra.delete_flag = '0'
|
||||
WHERE aep.status_enum = #{active}
|
||||
AND aep.delete_flag = '0'
|
||||
)
|
||||
SELECT ae.id AS encounter_id,
|
||||
ae.bus_no ,
|
||||
ae.priority_enum ,
|
||||
ae.organization_id ,
|
||||
ae.start_time AS in_hos_time,
|
||||
WITH locations AS (SELECT ael.encounter_id,
|
||||
ael.start_time,
|
||||
al.form_enum,
|
||||
al.id AS location_id,
|
||||
al."name" AS location_name
|
||||
FROM adm_encounter_location ael
|
||||
LEFT JOIN adm_location al
|
||||
ON ael.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE ael.status_enum = #{active}
|
||||
AND ael.delete_flag = '0'),
|
||||
practitioners AS (SELECT aep.encounter_id,
|
||||
aep.type_code,
|
||||
pra.id AS practitioner_id,
|
||||
pra."name" AS practitioner_name
|
||||
FROM adm_encounter_participant aep
|
||||
LEFT JOIN adm_practitioner pra
|
||||
ON aep.practitioner_id = pra.id
|
||||
AND pra.delete_flag = '0'
|
||||
WHERE aep.status_enum = #{active}
|
||||
AND aep.delete_flag = '0')
|
||||
SELECT ae.id AS encounter_id,
|
||||
ae.bus_no,
|
||||
ae.priority_enum,
|
||||
ae.organization_id,
|
||||
ae.start_time AS in_hos_time,
|
||||
bed.start_time,
|
||||
bed.location_id AS bed_id,
|
||||
bed.location_name AS bed_name,
|
||||
house.location_id AS house_id,
|
||||
house.location_name AS house_name,
|
||||
ward.location_id AS ward_id,
|
||||
ward.location_name AS ward_name,
|
||||
primaryNurse.practitioner_id AS primary_nurse_id,
|
||||
primaryNurse.practitioner_name AS primary_nurse_name,
|
||||
attendingDoctor.practitioner_id AS attending_doctor_id,
|
||||
bed.location_id AS bed_id,
|
||||
bed.location_name AS bed_name,
|
||||
house.location_id AS house_id,
|
||||
house.location_name AS house_name,
|
||||
ward.location_id AS ward_id,
|
||||
ward.location_name AS ward_name,
|
||||
primaryNurse.practitioner_id AS primary_nurse_id,
|
||||
primaryNurse.practitioner_name AS primary_nurse_name,
|
||||
attendingDoctor.practitioner_id AS attending_doctor_id,
|
||||
attendingDoctor.practitioner_name AS attending_doctor_name,
|
||||
admittingDoctor.practitioner_id AS admitting_doctor_id,
|
||||
admittingDoctor.practitioner_id AS admitting_doctor_id,
|
||||
admittingDoctor.practitioner_name AS admitting_doctor_name,
|
||||
chiefDoctor.practitioner_id AS chief_doctor_id,
|
||||
chiefDoctor.practitioner_name AS chief_doctor_name,
|
||||
ao."name" AS organization_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
ap.birth_date ,
|
||||
ap.phone ,
|
||||
fc.contract_name ,
|
||||
chiefDoctor.practitioner_id AS chief_doctor_id,
|
||||
chiefDoctor.practitioner_name AS chief_doctor_name,
|
||||
ao."name" AS organization_name,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
ap.phone,
|
||||
fc.contract_name,
|
||||
diagnosis.condition_names
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN locations AS bed
|
||||
ON bed.encounter_id = ae.id
|
||||
AND bed.form_enum = #{bed}
|
||||
LEFT JOIN locations AS house
|
||||
ON house.encounter_id = ae.id
|
||||
AND house.form_enum = #{house}
|
||||
LEFT JOIN locations AS ward
|
||||
ON ward.encounter_id = ae.id
|
||||
AND ward.form_enum = #{ward}
|
||||
LEFT JOIN practitioners AS primaryNurse
|
||||
ON primaryNurse.encounter_id = ae.id
|
||||
AND primaryNurse.type_code = #{primaryNurse}
|
||||
LEFT JOIN practitioners AS attendingDoctor
|
||||
ON attendingDoctor.encounter_id = ae.id
|
||||
AND attendingDoctor.type_code = #{attendingDoctor}
|
||||
LEFT JOIN practitioners AS admittingDoctor
|
||||
ON admittingDoctor.encounter_id = ae.id
|
||||
AND admittingDoctor.type_code = #{admittingDoctor}
|
||||
LEFT JOIN practitioners AS chiefDoctor
|
||||
ON chiefDoctor.encounter_id = ae.id
|
||||
AND chiefDoctor.type_code = #{chiefDoctor}
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_account aa
|
||||
ON ae.id = aa.encounter_id
|
||||
AND aa.encounter_flag = 1
|
||||
AND aa.delete_flag = '0'
|
||||
LEFT JOIN fin_contract fc
|
||||
ON aa.contract_no = fc.bus_no
|
||||
AND fc.delete_flag = '0'
|
||||
LEFT JOIN (
|
||||
SELECT aed.encounter_id,
|
||||
STRING_AGG(ccd.name, ', ') AS condition_names
|
||||
FROM adm_encounter_diagnosis aed
|
||||
INNER JOIN cli_condition cc
|
||||
ON cc.id = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
INNER JOIN cli_condition_definition ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
WHERE aed.delete_flag = '0'
|
||||
GROUP BY aed.encounter_id
|
||||
) AS diagnosis
|
||||
ON ae.id = diagnosis.encounter_id
|
||||
LEFT JOIN locations AS bed
|
||||
ON bed.encounter_id = ae.id
|
||||
AND bed.form_enum = #{bed}
|
||||
LEFT JOIN locations AS house
|
||||
ON house.encounter_id = ae.id
|
||||
AND house.form_enum = #{house}
|
||||
LEFT JOIN locations AS ward
|
||||
ON ward.encounter_id = ae.id
|
||||
AND ward.form_enum = #{ward}
|
||||
LEFT JOIN practitioners AS primaryNurse
|
||||
ON primaryNurse.encounter_id = ae.id
|
||||
AND primaryNurse.type_code = #{primaryNurse}
|
||||
LEFT JOIN practitioners AS attendingDoctor
|
||||
ON attendingDoctor.encounter_id = ae.id
|
||||
AND attendingDoctor.type_code = #{attendingDoctor}
|
||||
LEFT JOIN practitioners AS admittingDoctor
|
||||
ON admittingDoctor.encounter_id = ae.id
|
||||
AND admittingDoctor.type_code = #{admittingDoctor}
|
||||
LEFT JOIN practitioners AS chiefDoctor
|
||||
ON chiefDoctor.encounter_id = ae.id
|
||||
AND chiefDoctor.type_code = #{chiefDoctor}
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_account aa
|
||||
ON ae.id = aa.encounter_id
|
||||
AND aa.encounter_flag = 1
|
||||
AND aa.delete_flag = '0'
|
||||
LEFT JOIN fin_contract fc
|
||||
ON aa.contract_no = fc.bus_no
|
||||
AND fc.delete_flag = '0'
|
||||
LEFT JOIN (SELECT aed.encounter_id,
|
||||
STRING_AGG(ccd.name, ', ') AS condition_names
|
||||
FROM adm_encounter_diagnosis aed
|
||||
INNER JOIN cli_condition cc
|
||||
ON cc.id = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
INNER JOIN cli_condition_definition ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
WHERE aed.delete_flag = '0'
|
||||
GROUP BY aed.encounter_id) AS diagnosis
|
||||
ON ae.id = diagnosis.encounter_id
|
||||
WHERE ae.id = #{encounterId}
|
||||
AND ae.delete_flag = '0'
|
||||
AND ae.delete_flag = '0'
|
||||
GROUP BY ae.id,
|
||||
ae.bus_no ,
|
||||
ae.priority_enum ,
|
||||
ae.organization_id ,
|
||||
ae.bus_no,
|
||||
ae.priority_enum,
|
||||
ae.organization_id,
|
||||
ae.start_time,
|
||||
bed.start_time,
|
||||
bed.location_id,
|
||||
@@ -338,10 +343,437 @@
|
||||
chiefDoctor.practitioner_name,
|
||||
ao."name",
|
||||
ap."name",
|
||||
ap.gender_enum ,
|
||||
ap.birth_date ,
|
||||
ap.phone ,
|
||||
fc.contract_name ,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
ap.phone,
|
||||
fc.contract_name,
|
||||
diagnosis.condition_names
|
||||
</select>
|
||||
<select id="getAmount" resultType="com.openhis.web.inhospitalnursestation.dto.EncounterAccountDto">
|
||||
SELECT aa.id,
|
||||
aa.encounter_id,
|
||||
aa.balance_amount AS advance_amount,
|
||||
COALESCE(SUM(CASE WHEN aci.status_enum IN (#{billed}, #{billable}) THEN aci.total_price ELSE 0 END),
|
||||
0) AS total_amount,
|
||||
(
|
||||
aa.balance_amount
|
||||
- COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum IN (#{billed}, #{billable}) THEN aci.total_price
|
||||
ELSE 0 END), 0)
|
||||
+ COALESCE(SUM(CASE WHEN aci.status_enum = #{refunded} THEN aci.total_price ELSE 0 END), 0)
|
||||
) AS balance_amount
|
||||
FROM adm_account aa
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aa.encounter_id = aci.encounter_id
|
||||
AND aci.delete_flag = '0'
|
||||
WHERE aa.type_code = #{personalCashAccount}
|
||||
AND aa.delete_flag = '0'
|
||||
AND aa.encounter_id = #{encounterId}
|
||||
GROUP BY aa.id, aa.encounter_id, aa.balance_amount;
|
||||
</select>
|
||||
<select id="getPendingMedication" resultType="com.openhis.web.inhospitalnursestation.dto.PendingMedicationDto">
|
||||
SELECT mmr.id AS medication_request_id,
|
||||
mmdi.id AS medication_dispense_id,
|
||||
ao.name AS org_name,
|
||||
al.name AS perform_location_name,
|
||||
mmde.name AS medication_name,
|
||||
mm.total_volume AS medication_spec,
|
||||
aci.unit_price,
|
||||
mmr.quantity AS request_quantity,
|
||||
mmr.unit_code,
|
||||
mmdi.dispense_quantity,
|
||||
aci.total_price,
|
||||
mmdi.practitioner_id AS dispense_practitioner_id,
|
||||
ap.name AS dispense_practitioner_name,
|
||||
mmdi.planned_dispense_time,
|
||||
mmdi.status_enum AS dispense_status_enum,
|
||||
mmr.status_enum AS request_status_enum
|
||||
|
||||
FROM med_medication_request AS mmr
|
||||
LEFT JOIN med_medication_definition AS mmde
|
||||
ON mmde.id = mmr.medication_id
|
||||
AND mmde.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS mm
|
||||
ON mm.medication_def_id = mmde.id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS al
|
||||
ON al.id = mmr.perform_location
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense AS mmdi
|
||||
ON mmdi.med_req_id = mmr.id
|
||||
AND mmdi.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS aci
|
||||
ON aci.service_table = 'med_medication_request'
|
||||
AND aci.encounter_id = #{encounterId}
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = mmr.org_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON ap.id = mmdi.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
WHERE mmr.encounter_id = #{encounterId}
|
||||
AND ((mmdi.status_enum = #{preparationStatus}
|
||||
OR mmdi.status_enum = #{summarizedStatus})
|
||||
OR mmr.status_enum = #{requestStatus})
|
||||
</select>
|
||||
<select id="selectInpatientAdvicePage"
|
||||
resultType="com.openhis.web.inhospitalnursestation.dto.InpatientAdviceDto">
|
||||
SELECT ii.encounter_id,
|
||||
ii.advice_table,
|
||||
ii.request_id,
|
||||
ii.start_time,
|
||||
ii.end_time,
|
||||
ii.requester_id,
|
||||
ii.request_time,
|
||||
ii.skin_test_flag,
|
||||
ii.inject_flag,
|
||||
ii.group_id,
|
||||
ii.advice_name,
|
||||
ii.item_id,
|
||||
ii.volume,
|
||||
ii.lot_number,
|
||||
ii.quantity,
|
||||
ii.unit_code,
|
||||
ii.request_status,
|
||||
ii.method_code,
|
||||
ii.rate_code,
|
||||
ii.dose,
|
||||
ii.dose_unit_code,
|
||||
ii.position_id,
|
||||
ii.position_name,
|
||||
ii.dispense_per_duration,
|
||||
ii.part_percent,
|
||||
ii.condition_definition_name,
|
||||
ii.therapy_enum,
|
||||
ii.sort_number,
|
||||
ii.execute_num,
|
||||
ii.day_times,
|
||||
ii.bus_no,
|
||||
ii."patient_name" AS patient_name,
|
||||
ii."bed_name" AS bed_name,
|
||||
ii.gender_enum,
|
||||
ii.birth_date,
|
||||
ii.patient_id,
|
||||
ii.contract_name,
|
||||
ii.condition_names,
|
||||
ii.admitting_doctor_name AS admitting_doctor_name,
|
||||
ii.balance_amount AS balance_amount,
|
||||
ii.account_id AS account_id,
|
||||
ii.performer_check_id,
|
||||
ii.category_code,
|
||||
ii.org_name
|
||||
FROM ((SELECT T1.encounter_id,
|
||||
T1.tenant_id,
|
||||
#{medMedicationRequest} AS advice_table,
|
||||
T1.id AS request_id,
|
||||
T1.effective_dose_start AS start_time,
|
||||
T1.effective_dose_end AS end_time,
|
||||
T1.practitioner_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
T1.skin_test_flag AS skin_test_flag,
|
||||
T1.infusion_flag AS inject_flag,
|
||||
T1.group_id AS group_id,
|
||||
T1.performer_check_id,
|
||||
T2."name" AS advice_name,
|
||||
T2.id AS item_id,
|
||||
T3.total_volume AS volume,
|
||||
T1.lot_number AS lot_number,
|
||||
T1.quantity AS quantity,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.status_enum AS request_status,
|
||||
T1.method_code AS method_code,
|
||||
T1.rate_code AS rate_code,
|
||||
T1.dose AS dose,
|
||||
T1.dose_unit_code AS dose_unit_code,
|
||||
al1.id AS position_id,
|
||||
al1."name" AS position_name,
|
||||
T1.dispense_per_duration AS dispense_per_duration,
|
||||
T2.part_percent AS part_percent,
|
||||
ccd."name" AS condition_definition_name,
|
||||
T1.therapy_enum AS therapy_enum,
|
||||
T1.sort_number AS sort_number,
|
||||
T1.execute_num,
|
||||
af.day_times,
|
||||
ae.bus_no,
|
||||
ap."name" AS patient_name,
|
||||
al2."name" AS bed_name,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
ap.id AS patient_id,
|
||||
fc.contract_name,
|
||||
diagnosis.condition_names,
|
||||
pra."name" AS admitting_doctor_name,
|
||||
personal_account.balance_amount,
|
||||
personal_account.id AS account_id,
|
||||
T2.category_code,
|
||||
ao.name AS org_name
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T2.id = T1.medication_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T3
|
||||
ON T3.medication_def_id = T2.ID
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS al1
|
||||
ON al1.id = T1.perform_location
|
||||
AND al1.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS ao
|
||||
ON ao.id = T1.perform_org
|
||||
LEFT JOIN cli_condition AS cc
|
||||
ON cc.id = T1.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_frequency af
|
||||
ON af.rate_code = T1.rate_code
|
||||
AND af.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON ae.id = T1.encounter_id
|
||||
AND ae.class_enum = #{imp}
|
||||
AND ae.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location ael
|
||||
ON ae.id = ael.encounter_id
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.status_enum = #{active}
|
||||
AND ael.form_enum = #{bed}
|
||||
LEFT JOIN adm_location al2
|
||||
ON ael.location_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_account aa
|
||||
ON ae.id = aa.encounter_id
|
||||
AND aa.encounter_flag = 1
|
||||
AND aa.delete_flag = '0'
|
||||
LEFT JOIN fin_contract fc
|
||||
ON aa.contract_no = fc.bus_no
|
||||
AND fc.delete_flag = '0'
|
||||
LEFT JOIN (SELECT aed.encounter_id,
|
||||
STRING_AGG(ccd.name, ', ') AS condition_names
|
||||
FROM adm_encounter_diagnosis aed
|
||||
INNER JOIN cli_condition cc
|
||||
ON cc.id = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
INNER JOIN cli_condition_definition ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
WHERE aed.delete_flag = '0'
|
||||
GROUP BY aed.encounter_id) AS diagnosis
|
||||
ON ae.id = diagnosis.encounter_id
|
||||
LEFT JOIN adm_encounter_participant aep
|
||||
ON ae.id = aep.encounter_id
|
||||
AND aep.delete_flag = '0'
|
||||
AND aep.status_enum = #{active}
|
||||
AND aep.type_code = #{admittingDoctor}
|
||||
LEFT JOIN adm_practitioner pra
|
||||
ON aep.practitioner_id = pra.id
|
||||
AND pra.delete_flag = '0'
|
||||
LEFT JOIN (SELECT aa.id,
|
||||
aa.encounter_id,
|
||||
(aa.balance_amount -
|
||||
COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum IN (#{billed}, #{billable})
|
||||
THEN aci.total_price
|
||||
ELSE 0 END), 0) +
|
||||
COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum = #{refunded}
|
||||
THEN aci.total_price
|
||||
ELSE 0 END), 0)) AS balance_amount
|
||||
FROM adm_account aa
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aa.encounter_id = aci.encounter_id
|
||||
AND aa.delete_flag = '0'
|
||||
WHERE aa.type_code = #{personalCashAccount}
|
||||
AND aa.delete_flag = '0'
|
||||
GROUP BY aa.id,
|
||||
aa.encounter_id,
|
||||
aa.balance_amount) AS personal_account
|
||||
ON personal_account.encounter_id = ae.id
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.refund_medicine_id IS NULL
|
||||
AND T1.status_enum != #{stopped}
|
||||
AND T1.generate_source_enum = #{doctorPrescription}
|
||||
AND CASE
|
||||
WHEN T1.status_enum = #{draft}
|
||||
THEN T1.performer_check_id IS NOT NULL
|
||||
ELSE 1 = 1 END
|
||||
ORDER BY T1.status_enum,
|
||||
T1.sort_number,
|
||||
T1.group_id)
|
||||
UNION
|
||||
(SELECT T1.encounter_id,
|
||||
T1.tenant_id,
|
||||
#{worServiceRequest} AS advice_table,
|
||||
T1.id AS request_id,
|
||||
T1.occurrence_start_time AS start_time,
|
||||
T1.occurrence_end_time AS end_time,
|
||||
T1.requester_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
NULL AS skin_test_flag,
|
||||
NULL AS inject_flag,
|
||||
NULL AS group_id,
|
||||
T1.performer_check_id,
|
||||
T2."name" AS advice_name,
|
||||
T2.id AS item_id,
|
||||
NULL AS volume,
|
||||
NULL AS lot_number,
|
||||
T1.quantity AS quantity,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.status_enum AS request_status,
|
||||
NULL AS method_code,
|
||||
NULL AS rate_code,
|
||||
NULL AS dose,
|
||||
NULL AS dose_unit_code,
|
||||
ao1.id AS position_id,
|
||||
ao1."name" AS position_name,
|
||||
NULL AS dispense_per_duration,
|
||||
1 AS part_percent,
|
||||
ccd."name" AS condition_definition_name,
|
||||
T1.therapy_enum AS therapy_enum,
|
||||
NULL AS sort_number,
|
||||
T1.quantity AS execute_num,
|
||||
af.day_times,
|
||||
ae.bus_no,
|
||||
ap."name" AS patient_name,
|
||||
al2."name" AS bed_name,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
ap.id AS patient_id,
|
||||
fc.contract_name,
|
||||
diagnosis.condition_names,
|
||||
pra."name" AS admitting_doctor_name,
|
||||
personal_account.balance_amount,
|
||||
personal_account.id AS account_id,
|
||||
T2.category_code,
|
||||
ao1.name AS org_name
|
||||
FROM wor_service_request AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T2.id = T1.activity_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN cli_condition AS cc
|
||||
ON cc.id = T1.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS ao1
|
||||
ON ao1.id = T1.org_id
|
||||
AND ao1.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON ae.id = T1.encounter_id
|
||||
AND ae.class_enum = #{imp}
|
||||
AND ae.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location ael
|
||||
ON ae.id = ael.encounter_id
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.status_enum = #{active}
|
||||
AND ael.form_enum = #{bed}
|
||||
LEFT JOIN adm_location al
|
||||
ON ael.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON ael.location_id = al2.ID
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_account aa ON ae.ID = aa.encounter_id
|
||||
AND aa.encounter_flag = 1
|
||||
AND aa.delete_flag = '0'
|
||||
LEFT JOIN fin_contract fc ON aa.contract_no = fc.bus_no
|
||||
AND fc.delete_flag = '0'
|
||||
LEFT JOIN (SELECT aed.encounter_id,
|
||||
STRING_AGG(ccd.name, ', ') AS condition_names
|
||||
FROM adm_encounter_diagnosis aed
|
||||
INNER JOIN cli_condition cc
|
||||
ON cc.id = aed.condition_id
|
||||
AND cc.delete_flag = '0'
|
||||
INNER JOIN cli_condition_definition ccd
|
||||
ON ccd.id = cc.definition_id
|
||||
AND ccd.delete_flag = '0'
|
||||
WHERE aed.delete_flag = '0'
|
||||
GROUP BY aed.encounter_id) AS diagnosis
|
||||
ON ae.id = diagnosis.encounter_id
|
||||
LEFT JOIN adm_encounter_participant aep
|
||||
ON ae.id = aep.encounter_id
|
||||
AND aep.delete_flag = '0'
|
||||
AND aep.status_enum = #{active}
|
||||
AND aep.type_code = #{admittingDoctor}
|
||||
LEFT JOIN adm_practitioner pra
|
||||
ON aep.practitioner_id = pra.id
|
||||
AND pra.delete_flag = '0'
|
||||
LEFT JOIN (SELECT aa.id,
|
||||
aa.encounter_id,
|
||||
(aa.balance_amount -
|
||||
COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum IN (#{billed}, #{billable})
|
||||
THEN aci.total_price
|
||||
ELSE 0 END), 0) +
|
||||
COALESCE(SUM(CASE
|
||||
WHEN aci.status_enum = #{refunded}
|
||||
THEN aci.total_price
|
||||
ELSE 0 END), 0)) AS balance_amount
|
||||
FROM adm_account aa
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aa.encounter_id = aci.encounter_id
|
||||
AND aa.delete_flag = '0'
|
||||
WHERE aa.type_code = #{personalCashAccount}
|
||||
AND aa.delete_flag = '0'
|
||||
GROUP BY aa.id,
|
||||
aa.encounter_id,
|
||||
aa.balance_amount) AS personal_account
|
||||
ON personal_account.encounter_id = ae.id
|
||||
LEFT JOIN adm_frequency af
|
||||
ON af.rate_code = T1.rate_code
|
||||
AND af.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.status_enum != #{stopped}
|
||||
AND T1.generate_source_enum = #{doctorPrescription}
|
||||
AND T2.category_code != #{transfer}
|
||||
AND T2.category_code != #{discharge}
|
||||
AND T2.category_code != #{nursing}
|
||||
AND CASE
|
||||
WHEN T1.status_enum = #{draft}
|
||||
THEN T1.performer_check_id IS NOT NULL
|
||||
ELSE 1 = 1 END
|
||||
AND T1.refund_service_id IS NULL
|
||||
ORDER BY T1.status_enum)) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectPerformRecordList" resultType="com.openhis.web.common.dto.PerformRecordDto">
|
||||
SELECT cp.id AS procedure_id,
|
||||
cp.status_enum,
|
||||
cp.occurrence_time,
|
||||
cp.create_time,
|
||||
al."name" AS location_name,
|
||||
ao."name" AS org_name,
|
||||
cp.request_id,
|
||||
cp.refund_id,
|
||||
cpp.start_time,
|
||||
cpp.end_time,
|
||||
ap."name" AS practitioner_name
|
||||
FROM cli_procedure cp
|
||||
LEFT JOIN cli_procedure_performer cpp
|
||||
ON cpp.procedure_id = cp.id
|
||||
AND cpp.delete_flag = '0'
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = cp.org_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON al.id = cp.location_id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON ap.id = cpp.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
WHERE cp.delete_flag = '0'
|
||||
<if test="reqIds!=null and !reqIds.isEmpty()">
|
||||
AND cp.request_id IN
|
||||
<foreach collection="reqIds" item="reqId" open="(" separator="," close=")">
|
||||
#{reqId}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -23,83 +23,90 @@
|
||||
ii.house_name,
|
||||
ii.bed_id,
|
||||
ii.bed_name,
|
||||
ii.organization_name
|
||||
FROM (
|
||||
WITH locations AS (
|
||||
SELECT ael.encounter_id,
|
||||
al.form_enum,
|
||||
al.id AS location_id,
|
||||
al."name" AS location_name
|
||||
FROM adm_encounter_location ael
|
||||
LEFT JOIN adm_location al
|
||||
ON ael.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE ael.status_enum = #{active}
|
||||
AND ael.delete_flag = '0'
|
||||
)
|
||||
SELECT ae.tenant_id,
|
||||
ae.id AS encounter_id,
|
||||
ae.bus_no,
|
||||
ae.status_enum AS encounter_status,
|
||||
ae.start_time,
|
||||
ae.end_time,
|
||||
ae.admit_source_code,
|
||||
ae.priority_enum,
|
||||
ae.organization_id,
|
||||
ap."name" AS patient_name,
|
||||
ap.py_str AS patient_py_str,
|
||||
ap.wb_str AS patient_wb_str,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
alw.location_id AS ward_id,
|
||||
alw.location_name AS ward_name,
|
||||
alh.location_id AS house_id,
|
||||
alh.location_name AS house_name,
|
||||
alb.location_id AS bed_id,
|
||||
alb.location_name AS bed_name,
|
||||
ao."name" AS organization_name
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN locations alw
|
||||
ON alw.encounter_id = ae.id
|
||||
AND alw.form_enum = #{ward}
|
||||
LEFT JOIN locations alh
|
||||
ON alh.encounter_id = ae.id
|
||||
AND alh.form_enum = #{house}
|
||||
LEFT JOIN locations alb
|
||||
ON alb.encounter_id = ae.id
|
||||
AND alb.form_enum = #{bed}
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{imp}
|
||||
AND ae.status_enum != #{toBeRegistered}
|
||||
AND ae.status_enum != #{registered}
|
||||
GROUP BY ae.id,
|
||||
ii.organization_name,
|
||||
ii.patient_id,
|
||||
ii.account_id
|
||||
FROM (WITH locations AS (SELECT ael.encounter_id,
|
||||
al.form_enum,
|
||||
al.id AS location_id,
|
||||
al."name" AS location_name
|
||||
FROM adm_encounter_location ael
|
||||
LEFT JOIN adm_location al
|
||||
ON ael.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE ael.status_enum = #{active}
|
||||
AND ael.delete_flag = '0')
|
||||
SELECT ae.tenant_id,
|
||||
ae.id AS encounter_id,
|
||||
ae.bus_no,
|
||||
ae.status_enum,
|
||||
ae.status_enum AS encounter_status,
|
||||
ae.start_time,
|
||||
ae.end_time,
|
||||
ae.admit_source_code,
|
||||
ae.priority_enum,
|
||||
ae.organization_id,
|
||||
ap."name",
|
||||
ap.py_str,
|
||||
ap.wb_str,
|
||||
ap."name" AS patient_name,
|
||||
ap.py_str AS patient_py_str,
|
||||
ap.wb_str AS patient_wb_str,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
alw.location_id,
|
||||
alw.location_name,
|
||||
alh.location_id,
|
||||
alh.location_name,
|
||||
alb.location_id,
|
||||
alb.location_name,
|
||||
ao."name"
|
||||
ORDER BY ae.bus_no DESC
|
||||
) AS ii
|
||||
ap.id as patient_id,
|
||||
alw.location_id AS ward_id,
|
||||
alw.location_name AS ward_name,
|
||||
alh.location_id AS house_id,
|
||||
alh.location_name AS house_name,
|
||||
alb.location_id AS bed_id,
|
||||
alb.location_name AS bed_name,
|
||||
ao."name" AS organization_name,
|
||||
aa.id AS account_id
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN locations alw
|
||||
ON alw.encounter_id = ae.id
|
||||
AND alw.form_enum = #{ward}
|
||||
LEFT JOIN locations alh
|
||||
ON alh.encounter_id = ae.id
|
||||
AND alh.form_enum = #{house}
|
||||
LEFT JOIN locations alb
|
||||
ON alb.encounter_id = ae.id
|
||||
AND alb.form_enum = #{bed}
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_account aa
|
||||
ON ae.id = aa.encounter_id
|
||||
AND aa.delete_flag = '0'
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{imp}
|
||||
AND ae.status_enum != #{toBeRegistered}
|
||||
AND ae.status_enum != #{registered}
|
||||
AND aa.type_code = #{personalCashAccount}
|
||||
GROUP BY ae.id,
|
||||
ae.bus_no,
|
||||
ae.status_enum,
|
||||
ae.start_time,
|
||||
ae.end_time,
|
||||
ae.admit_source_code,
|
||||
ae.priority_enum,
|
||||
ae.organization_id,
|
||||
ap."name",
|
||||
ap.py_str,
|
||||
ap.wb_str,
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
ap.id,
|
||||
alw.location_id,
|
||||
alw.location_name,
|
||||
alh.location_id,
|
||||
alh.location_name,
|
||||
alb.location_id,
|
||||
alb.location_name,
|
||||
ao."name",
|
||||
aa.id,
|
||||
ae.tenant_id
|
||||
ORDER BY ae.bus_no DESC) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectInpatientAdvicePage"
|
||||
@@ -145,7 +152,8 @@
|
||||
ii.admitting_doctor_name AS admitting_doctor_name,
|
||||
ii.balance_amount AS balance_amount,
|
||||
ii.account_id AS account_id,
|
||||
ii.performer_check_id
|
||||
ii.performer_check_id,
|
||||
ii.category_code
|
||||
FROM (( SELECT T1.encounter_id,
|
||||
T1.tenant_id,
|
||||
#{medMedicationRequest} AS advice_table,
|
||||
@@ -188,7 +196,8 @@
|
||||
diagnosis.condition_names,
|
||||
pra."name" AS admitting_doctor_name,
|
||||
personal_account.balance_amount,
|
||||
personal_account.id AS account_id
|
||||
personal_account.id AS account_id,
|
||||
T2.category_code
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T2.id = T1.medication_id
|
||||
@@ -271,6 +280,7 @@
|
||||
ON personal_account.encounter_id = ae.id
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.refund_medicine_id IS NULL
|
||||
AND T1.generate_source_enum = #{doctorPrescription}
|
||||
AND CASE WHEN T1.status_enum = #{draft}
|
||||
THEN T1.performer_check_id IS NOT NULL
|
||||
ELSE 1=1 END
|
||||
@@ -320,7 +330,8 @@
|
||||
diagnosis.condition_names,
|
||||
pra."name" AS admitting_doctor_name,
|
||||
personal_account.balance_amount,
|
||||
personal_account.id AS account_id
|
||||
personal_account.id AS account_id,
|
||||
T2.category_code
|
||||
FROM wor_service_request AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T2.id = T1.activity_id
|
||||
@@ -400,6 +411,7 @@
|
||||
ON af.rate_code = T1.rate_code
|
||||
AND af.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.generate_source_enum = #{doctorPrescription}
|
||||
AND CASE WHEN T1.status_enum = #{draft}
|
||||
THEN T1.performer_check_id IS NOT NULL
|
||||
ELSE 1=1 END
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inhospitalnursestation.mapper.EncounterAutoRollAppMapper">
|
||||
|
||||
<select id="getSource" resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollSourceDto">
|
||||
SELECT ID AS instance_id,
|
||||
NAME AS instance_name,
|
||||
permitted_unit_code
|
||||
FROM wor_activity_definition
|
||||
WHERE delete_flag = '0'
|
||||
AND status_enum = #{status}
|
||||
AND category_code = #{basicService}
|
||||
</select>
|
||||
|
||||
<select id="getEncounter" resultType="com.openhis.web.inhospitalnursestation.dto.EncounterAutoRollQueryDto">
|
||||
SELECT tear.ID,
|
||||
tear.status_enum,
|
||||
tear.quantity,
|
||||
sdd.dict_label AS unit_code_name,
|
||||
CASE
|
||||
WHEN tear.instance_table = 'wor_activity_definition' THEN
|
||||
wor.NAME
|
||||
ELSE NULL
|
||||
END AS definition_name
|
||||
FROM tmp_encounter_auto_roll AS tear
|
||||
LEFT JOIN wor_activity_definition AS wor ON tear.instance_table = 'wor_activity_definition'
|
||||
AND tear.instance_id = wor.
|
||||
ID
|
||||
LEFT JOIN sys_dict_data AS sdd ON sdd.dict_value = wor.permitted_unit_code
|
||||
AND sdd.dict_type = 'unit_code'
|
||||
AND sdd.status = '0'
|
||||
WHERE tear.delete_flag = '0'
|
||||
AND tear.encounter_id = #{encounterId}
|
||||
</select>
|
||||
|
||||
<select id="getInBedPatientInfo" resultType="com.openhis.web.inhospitalnursestation.dto.InBedPatientInfoDto">
|
||||
SELECT ae.ID AS encounter_id,
|
||||
ae.organization_id,
|
||||
ae.patient_id,
|
||||
aa.ID AS account_id,
|
||||
aed.ID AS encounter_diagnosis_id,
|
||||
aed.condition_id
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_account AS aa ON aa.encounter_id = ae.ID
|
||||
AND aa.delete_flag = '0'
|
||||
AND aa.type_code = #{typeCode}
|
||||
LEFT JOIN adm_encounter_diagnosis AS aed ON aed.encounter_id = ae.ID
|
||||
AND aed.delete_flag = '0'
|
||||
AND aed.maindise_flag = #{maindiseFlag}
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{classEnum}
|
||||
AND EXISTS(
|
||||
SELECT 1
|
||||
FROM adm_encounter_location AS ael
|
||||
WHERE ael.encounter_id = ae.ID
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.status_enum = #{status}
|
||||
AND ael.form_enum = #{formEnum}
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="getNursingRequest" resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollNursingDto">
|
||||
SELECT
|
||||
wsr.activity_id AS activity_definition_id,
|
||||
wsr.quantity,
|
||||
wsr.patient_id,
|
||||
wsr.encounter_id,
|
||||
wsr.requester_id
|
||||
FROM
|
||||
wor_service_request AS wsr
|
||||
WHERE
|
||||
wsr.delete_flag = '0'
|
||||
AND wsr.category_enum = #{categoryEnum}
|
||||
AND wsr.status_enum = #{status}
|
||||
<if test="encounterIdList != null and !encounterIdList.isEmpty()">
|
||||
AND wsr.encounter_id IN
|
||||
<foreach collection="encounterIdList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getAutoRollBasicService"
|
||||
resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollBasicServiceDto">
|
||||
SELECT
|
||||
tear.encounter_id,
|
||||
tear.instance_id AS activity_definition_id,
|
||||
tear.quantity,
|
||||
tear.practitioner_id AS requester_id,
|
||||
tear.organization_id
|
||||
FROM
|
||||
tmp_encounter_auto_roll AS tear
|
||||
WHERE
|
||||
tear.delete_flag = '0'
|
||||
AND tear.status_enum = #{status}
|
||||
<if test="encounterIdList != null and !encounterIdList.isEmpty()">
|
||||
AND tear.encounter_id IN
|
||||
<foreach collection="encounterIdList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,160 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inpatientmanage.mapper.AdmissionMapper">
|
||||
|
||||
<!-- 住院登记信息分页查询-->
|
||||
<select id="getPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.AdmissionDto">
|
||||
SELECT
|
||||
T1.id,
|
||||
T1.patient_id,
|
||||
T1.group_id,
|
||||
T1.encounter_bus_no,
|
||||
T1.status_enum,
|
||||
T1.class_enum,
|
||||
T1.yb_class_enum,
|
||||
T1.organization_id,
|
||||
T1.in_way_code,
|
||||
T1.admit_source_code,
|
||||
T1.tenant_id,
|
||||
T1.create_time,
|
||||
T1.create_by,
|
||||
T1.name,
|
||||
T1.patient_bus_no,
|
||||
T1.gender_enum,
|
||||
T1.birth_date,
|
||||
T1.phone,
|
||||
T1.id_card,
|
||||
T1.py_str,
|
||||
T1.wb_str,
|
||||
T1.ward_location_id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
e.id,
|
||||
e.patient_id,
|
||||
e.group_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
e.status_enum,
|
||||
e.class_enum,
|
||||
e.yb_class_enum,
|
||||
e.organization_id,
|
||||
e.admit_source_code,
|
||||
e.in_way_code,
|
||||
e.tenant_id,
|
||||
e.create_time,
|
||||
e.create_by,
|
||||
p.name,
|
||||
p.bus_no AS patient_bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.phone,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
(SELECT el.location_id
|
||||
FROM adm_encounter_location el
|
||||
WHERE el.encounter_id = e.id AND el.form_enum = #{formEnum} --4:病区
|
||||
ORDER BY el.id DESC
|
||||
LIMIT 1) as ward_location_id--病区
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id
|
||||
<where>
|
||||
e.delete_flag = '0'
|
||||
AND e.class_enum = #{classEnum} --1:住院
|
||||
</where>
|
||||
ORDER BY e.bus_no desc
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 住院登记信息分页查询-->
|
||||
<select id="getAdmissionOne" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.AdmissionUpDto">
|
||||
SELECT
|
||||
e.id,
|
||||
e.patient_id,
|
||||
e.group_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
e.status_enum,
|
||||
e.class_enum,
|
||||
e.yb_class_enum,
|
||||
e.class_json,
|
||||
e.priority_enum,
|
||||
e.type_enum,
|
||||
e.service_type_id,
|
||||
e.subject_status_enum,
|
||||
e.start_time,
|
||||
e.end_time,
|
||||
e.organization_id,
|
||||
e.display_order,
|
||||
e.admit_source_code,
|
||||
e.in_way_code,
|
||||
e.first_enum,
|
||||
e.tenant_id,
|
||||
p.name,
|
||||
p.bus_no AS patient_bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.address,
|
||||
p.prfs_enum,
|
||||
p.phone,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
p.work_company,
|
||||
p.native_place,
|
||||
p.country_code,
|
||||
p.nationality_code,
|
||||
p.link_name,
|
||||
p.link_relation_code,
|
||||
p.link_telcom,
|
||||
(SELECT pra.name
|
||||
FROM adm_encounter_participant ep
|
||||
LEFT JOIN adm_practitioner pra ON ep.practitioner_id = pra.id
|
||||
WHERE ep.encounter_id = e.id
|
||||
AND ep.type_code = #{typeCode} --就诊参与者身份类型是1:接诊医生
|
||||
ORDER BY ep.create_time DESC
|
||||
LIMIT 1) AS doctor_name,--接诊医生
|
||||
COALESCE((SELECT COUNT(*)
|
||||
FROM adm_encounter e1
|
||||
WHERE e1.patient_id = e.patient_id
|
||||
AND e1.class_enum = #{classEnum} --住院类型
|
||||
AND e1.status_enum = #{statusEnum} --出院,诊毕
|
||||
), 0) AS hospitalization_count,-- 住院次数
|
||||
el.location_id AS ward_location_id, --病区
|
||||
l.bus_no,
|
||||
(SELECT COUNT(*)
|
||||
FROM adm_location
|
||||
WHERE bus_no LIKE l.bus_no || '%'
|
||||
AND form_enum = #{bedForm} -- 8:病床
|
||||
AND operational_enum = #{operational} -- 病床状态 3:占用中
|
||||
) || '/' ||
|
||||
(SELECT COUNT(*)
|
||||
FROM adm_location
|
||||
WHERE bus_no LIKE l.bus_no || '%'
|
||||
AND form_enum = #{bedForm} -- 8:病床
|
||||
) AS bed_count -- 占用中/病床总数
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id
|
||||
LEFT JOIN adm_encounter_location el ON e.id = el.encounter_id AND el.form_enum = #{wardForm}--4:病区
|
||||
LEFT JOIN adm_location l ON l.id = el.location_id AND l.form_enum = #{wardForm}--4:病区
|
||||
<where>
|
||||
e.delete_flag = '0'
|
||||
AND e.class_enum = #{classEnum}
|
||||
|
||||
<if test="id!= null">
|
||||
AND e.id = #{id}
|
||||
</if>
|
||||
|
||||
<if test="tenantId!= null">
|
||||
AND e.tenant_id = #{tenantId}
|
||||
</if>
|
||||
|
||||
</where>
|
||||
ORDER BY e.bus_no desc
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -54,7 +54,6 @@
|
||||
T8.end_time AS surgeryEndTime, -- 手术结束时间
|
||||
T9.id AS encounterLocationId, -- 就诊位置ID
|
||||
T9.location_id, -- 床位号
|
||||
T10.category_code, -- 过敏原
|
||||
T11."name" AS caty, -- 入院科室
|
||||
T12."name" AS mainDiagnosis -- 主要诊断
|
||||
FROM adm_patient AS T1
|
||||
@@ -119,9 +118,6 @@
|
||||
ON T2.id = T9.encounter_id -- 就诊ID
|
||||
AND T9.form_enum = 8
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN cli_allergy_intolerance T10
|
||||
ON T1.id = T10.patient_id -- 患者ID
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_organization T11
|
||||
ON T2.organization_id = T11.id
|
||||
AND T11.type_enum = 2
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.Inspection.mapper.GroupRecMapper">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.Inspection.mapper.LisReportMapper">
|
||||
|
||||
|
||||
<select id="getReportResultList" resultType="com.openhis.web.Inspection.dto.ReportResultManageDto">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
t2.service_id AS parentId,
|
||||
t1.id,
|
||||
t5.name AS patient_name,
|
||||
t6.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
t7.specimen_name,
|
||||
t8."name" AS doctor_name,
|
||||
t6.authored_time,
|
||||
t2.tenant_id,
|
||||
t1.observation_result,
|
||||
t1.observation_date,
|
||||
t9."name" as observation_name,
|
||||
t9.reference_range
|
||||
FROM
|
||||
lab_observation t1
|
||||
INNER JOIN lab_specimen t2 ON t1.specimen_id = t2.id
|
||||
INNER JOIN wor_service_request t6 ON t2.service_id = t6.id
|
||||
AND t6.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t6.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t6.patient_id = t5.id
|
||||
LEFT JOIN adm_specimen_definition t7 ON t2.specimen_definition_id = t7.id
|
||||
LEFT JOIN adm_practitioner t8 ON t6.requester_id = t8.id
|
||||
AND t8.delete_flag = '0'
|
||||
Left join adm_observation_definition t9 on t1.observation_definition_id = t9.id and t9.delete_flag = '0'
|
||||
UNION
|
||||
SELECT
|
||||
0 AS parentId,
|
||||
t2.service_id AS id,
|
||||
t5.name AS patient_name,
|
||||
t6.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
NULL AS specimen_name,
|
||||
t8."name" AS doctor_name,
|
||||
t6.authored_time AS authored_time,
|
||||
t2.tenant_id,
|
||||
NULL observation_result,
|
||||
NULL observation_date,
|
||||
NULL as observation_name,
|
||||
NULL as reference_range
|
||||
FROM
|
||||
lab_observation t1
|
||||
INNER JOIN lab_specimen t2 ON t1.specimen_id = t2.id
|
||||
INNER JOIN wor_service_request t6 ON t2.service_id = t6.id
|
||||
AND t6.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t6.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t6.patient_id = t5.id
|
||||
LEFT JOIN adm_practitioner t8 ON t6.requester_id = t8.id
|
||||
AND t8.delete_flag = '0'
|
||||
Left join adm_observation_definition t9 on t1.observation_definition_id = t9.id and t9.delete_flag = '0'
|
||||
WHERE
|
||||
t2.service_id IN (SELECT DISTINCT service_id FROM lab_specimen)
|
||||
) T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getReportResultListTotal" resultType="java.lang.Long">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
from (
|
||||
SELECT
|
||||
DISTINCT
|
||||
0 AS parentId,
|
||||
t2.service_id AS id,
|
||||
t5.name AS patient_name,
|
||||
t6.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
NULL AS specimen_name,
|
||||
t8."name" AS doctor_name,
|
||||
t6.authored_time AS authored_time,
|
||||
t2.tenant_id,
|
||||
NULL observation_result,
|
||||
NULL observation_date,
|
||||
NULL as observation_name,
|
||||
NULL as reference_range
|
||||
FROM
|
||||
lab_observation t1
|
||||
INNER JOIN lab_specimen t2 ON t1.specimen_id = t2.id
|
||||
INNER JOIN wor_service_request t6 ON t2.service_id = t6.id
|
||||
AND t6.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t6.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t6.patient_id = t5.id
|
||||
LEFT JOIN adm_practitioner t8 ON t6.requester_id = t8.id
|
||||
AND t8.delete_flag = '0'
|
||||
Left join adm_observation_definition t9 on t1.observation_definition_id = t9.id and t9.delete_flag = '0'
|
||||
WHERE
|
||||
t2.service_id IN (SELECT DISTINCT service_id FROM lab_specimen)
|
||||
)
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getReportListById" resultType="com.openhis.web.Inspection.dto.ReportResultManageDto">
|
||||
SELECT
|
||||
t2.service_id AS parentId,
|
||||
t1.id,
|
||||
t5.name AS patient_name,
|
||||
t6.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
t7.specimen_name,
|
||||
t8."name" AS doctor_name,
|
||||
t6.authored_time,
|
||||
t2.tenant_id,
|
||||
t1.observation_result,
|
||||
t1.observation_date,
|
||||
t9."name" as observation_name,
|
||||
t9.reference_range
|
||||
FROM
|
||||
lab_observation t1
|
||||
INNER JOIN lab_specimen t2 ON t1.specimen_id = t2.id
|
||||
INNER JOIN wor_service_request t6 ON t2.service_id = t6.id
|
||||
AND t6.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t6.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t6.patient_id = t5.id
|
||||
LEFT JOIN adm_specimen_definition t7 ON t2.specimen_definition_id = t7.id
|
||||
LEFT JOIN adm_practitioner t8 ON t6.requester_id = t8.id
|
||||
AND t8.delete_flag = '0'
|
||||
Left join adm_observation_definition t9 on t1.observation_definition_id = t9.id and t9.delete_flag = '0'
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.Inspection.mapper.SampleCollectMapper">
|
||||
|
||||
<select id="getSampleCollectList" resultType="com.openhis.web.Inspection.dto.SampleCollectManageDto">
|
||||
-- 查询所有子数据
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
t1.service_id AS parentId,
|
||||
t1.id,
|
||||
t1.collection_status_enum,
|
||||
t5.name AS patient_name,
|
||||
t2.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
t6.specimen_name,
|
||||
t7."name" AS doctor_name,
|
||||
t1.collection_date,
|
||||
t1.received_date,
|
||||
t2.authored_time,
|
||||
t1.specimen_volume,
|
||||
t1.specimen_unit,
|
||||
t1.tenant_id
|
||||
FROM
|
||||
lab_specimen t1
|
||||
INNER JOIN wor_service_request t2 ON t1.service_id = t2.id
|
||||
AND t2.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t2.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t2.patient_id = t5.id
|
||||
LEFT JOIN adm_specimen_definition t6 ON t1.specimen_definition_id = t6.id
|
||||
LEFT JOIN adm_practitioner t7 ON t2.requester_id = t7.id
|
||||
AND t7.delete_flag = '0'
|
||||
UNION
|
||||
SELECT
|
||||
0 AS parentId,
|
||||
t1.service_id AS id,
|
||||
NULL collection_status_enum,
|
||||
t5.name AS patient_name,
|
||||
t2.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
NULL AS specimen_name,
|
||||
t7."name" AS doctor_name,
|
||||
NULL AS collection_date,
|
||||
null received_date,
|
||||
t2.authored_time AS authored_time,
|
||||
null specimen_volume,
|
||||
null specimen_unit,
|
||||
t1.tenant_id
|
||||
FROM
|
||||
lab_specimen t1
|
||||
INNER JOIN wor_service_request t2 ON t1.service_id = t2.id
|
||||
AND t2.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t2.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t2.patient_id = t5.id
|
||||
LEFT JOIN adm_practitioner t7 ON t2.requester_id = t7.id
|
||||
AND t7.delete_flag = '0'
|
||||
WHERE
|
||||
t1.service_id IN (SELECT DISTINCT service_id FROM lab_specimen)
|
||||
) T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getSampleCollectListTotal" resultType="java.lang.Long">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
DISTINCT
|
||||
0 AS parentId,
|
||||
t1.service_id AS id,
|
||||
NULL collection_status_enum,
|
||||
t5.name AS patient_name,
|
||||
t2.patient_id,
|
||||
t5.gender_enum,
|
||||
t4.charge_name,
|
||||
NULL AS specimen_name,
|
||||
t7."name" AS doctor_name,
|
||||
NULL AS collection_date,
|
||||
null specimen_volume,
|
||||
null specimen_unit,
|
||||
t2.authored_time AS authored_time,
|
||||
t1.tenant_id
|
||||
FROM
|
||||
lab_specimen t1
|
||||
INNER JOIN wor_service_request t2 ON t1.service_id = t2.id
|
||||
AND t2.category_enum = 22
|
||||
LEFT JOIN adm_charge_item t3 ON t3.service_id = t2.id
|
||||
LEFT JOIN adm_charge_item_definition t4 ON t3.definition_id = t4."id"
|
||||
AND t4.delete_flag = '0'
|
||||
LEFT JOIN adm_patient t5 ON t2.patient_id = t5.id
|
||||
LEFT JOIN adm_practitioner t7 ON t2.requester_id = t7.id
|
||||
AND t7.delete_flag = '0'
|
||||
WHERE
|
||||
t1.service_id IN (SELECT DISTINCT service_id FROM lab_specimen)
|
||||
)
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -2,102 +2,6 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.outpatientmanage.mapper.OutpatientInfusionAppMapper">
|
||||
|
||||
<!-- 门诊皮试记录相关查询-->
|
||||
<select id="getSkinTestRecords"
|
||||
parameterType="com.openhis.web.outpatientmanage.dto.OutpatientSkinTestRecordSearchParam"
|
||||
resultType="com.openhis.web.outpatientmanage.dto.OutpatientSkinTestRecordDto">
|
||||
SELECT
|
||||
T1.tenant_id,
|
||||
T1.id,
|
||||
T1.prescription_no,
|
||||
T1.encounter_bus_no,
|
||||
T1.patient_name,
|
||||
T1.patient_bus_no,
|
||||
T1.patient_id,
|
||||
T1.phone,
|
||||
T1.medication_information,
|
||||
T1.medication_detail,
|
||||
T1.medication_lot_number,
|
||||
T1.medication_status_enum,
|
||||
T1.performer_id,
|
||||
T1.performer_check_id,
|
||||
T1.occurrence_start_time,
|
||||
T1.occurrence_end_time,
|
||||
T1.clinical_status_enum,
|
||||
T1.verification_status_enum,
|
||||
T1.doctor_id,
|
||||
T1.recorded_date,
|
||||
T1.note
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
sr.tenant_id,
|
||||
sr.id, --服务申请管理ID
|
||||
mr.prescription_no, --处方号
|
||||
e.bus_no as encounter_bus_no, --就诊号
|
||||
pt.name AS patient_name, --病人姓名
|
||||
pt.bus_no AS patient_bus_no, --病人ID(前台显示用)
|
||||
pt.phone,
|
||||
sr.patient_id, --病人ID
|
||||
ad.name AS medication_information, --药品信息
|
||||
md.bus_no || ' ' || md.name || ' 规格:' || COALESCE(m.total_volume, '') AS medication_detail,--药品
|
||||
m.lot_number AS medication_lot_number, --药品批次号
|
||||
mmd.status_enum AS medication_status_enum, --药品发放状态
|
||||
sr.performer_id, --执行护士
|
||||
sr.performer_check_id,--核对人
|
||||
to_char(sr.occurrence_start_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_start_time, --预计执行时间
|
||||
to_char(sr.occurrence_end_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_end_time, --预计结束时间
|
||||
ai.clinical_status_enum, --皮试结果
|
||||
ai.verification_status_enum, --皮试检查项目状态
|
||||
mr.practitioner_id as doctor_id, --开单医生
|
||||
ai.recorded_date,
|
||||
ai.note --备注
|
||||
FROM
|
||||
wor_service_request sr
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT ON (request_id)
|
||||
ai.id,
|
||||
ai.request_id,
|
||||
ai.clinical_status_enum,
|
||||
ai.verification_status_enum,
|
||||
ai.recorded_date,
|
||||
ai.note
|
||||
FROM
|
||||
cli_allergy_intolerance ai
|
||||
WHERE
|
||||
ai.delete_flag = '0'
|
||||
ORDER BY
|
||||
ai.request_id,
|
||||
ai.create_time DESC
|
||||
) ai ON ai.request_id = sr.id
|
||||
-- LEFT JOIN cli_allergy_intolerance ai ON ai.request_id = sr.id
|
||||
-- AND ai.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter e ON e.id = sr.encounter_id
|
||||
AND e.delete_flag = '0'
|
||||
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'
|
||||
LEFT JOIN med_medication_request mr ON mr.encounter_id = sr.encounter_id
|
||||
AND mr.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition md ON md.id = mr.medication_id
|
||||
AND md.delete_flag = '0'
|
||||
LEFT JOIN med_medication m ON md.id = m.medication_def_id
|
||||
AND m.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense mmd ON mr.id = mmd.med_req_id
|
||||
AND mmd.delete_flag = '0'
|
||||
<where>
|
||||
ad.name = '皮试检查'
|
||||
AND mr.skin_test_flag = 1
|
||||
AND mmd.status_enum IN (2,3,4,14)--药品发放状态:(DispenseStatus枚举类)
|
||||
AND md.skin_test_flag = 1
|
||||
AND sr.status_enum IN (2,3,10) --服务状态待执行(RequestStatus枚举类)
|
||||
</where>
|
||||
ORDER BY sr.prescription_no,e.bus_no,md.bus_no
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
<!-- 门诊输液记录患者列表信息查询-->
|
||||
<select id="getOutpatientInfusionPatient"
|
||||
resultType="com.openhis.web.outpatientmanage.dto.OutpatientInfusionPatientDto">
|
||||
@@ -113,68 +17,68 @@
|
||||
T1.gender_enum,
|
||||
T1.create_time
|
||||
FROM (
|
||||
SELECT sr.status_enum AS service_status,
|
||||
sr.encounter_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
pt.birth_date,
|
||||
pt.bus_no AS patient_bus_no,
|
||||
sr.patient_id,
|
||||
pt."name" AS patient_name,
|
||||
pt.py_str AS patient_py_str,
|
||||
pt.wb_str AS patient_wb_str,
|
||||
sr.tenant_id,
|
||||
pt.gender_enum,
|
||||
e.reception_time AS create_time
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN wor_service_request sr
|
||||
ON e.id = sr.encounter_id
|
||||
AND sr.refund_service_id IS NULL
|
||||
AND sr.delete_flag = '0'
|
||||
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})
|
||||
GROUP BY sr.status_enum,
|
||||
sr.encounter_id,
|
||||
e.bus_no,
|
||||
pt.birth_date,
|
||||
pt.bus_no,
|
||||
sr.patient_id,
|
||||
pt."name",
|
||||
pt.py_str,
|
||||
pt.wb_str,
|
||||
sr.tenant_id,
|
||||
pt.gender_enum,
|
||||
e.reception_time
|
||||
ORDER BY create_time DESC
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
SELECT sr.status_enum AS service_status,
|
||||
sr.encounter_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
pt.birth_date,
|
||||
pt.bus_no AS patient_bus_no,
|
||||
sr.patient_id,
|
||||
pt."name" AS patient_name,
|
||||
pt.py_str AS patient_py_str,
|
||||
pt.wb_str AS patient_wb_str,
|
||||
sr.tenant_id,
|
||||
pt.gender_enum,
|
||||
e.reception_time AS create_time
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN wor_service_request sr
|
||||
ON e.id = sr.encounter_id
|
||||
AND sr.refund_service_id IS NULL
|
||||
AND sr.delete_flag = '0'
|
||||
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})
|
||||
GROUP BY sr.status_enum,
|
||||
sr.encounter_id,
|
||||
e.bus_no,
|
||||
pt.birth_date,
|
||||
pt.bus_no,
|
||||
sr.patient_id,
|
||||
pt."name",
|
||||
pt.py_str,
|
||||
pt.wb_str,
|
||||
sr.tenant_id,
|
||||
pt.gender_enum,
|
||||
e.reception_time
|
||||
ORDER BY create_time DESC
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectInfusionPendingRecord"
|
||||
resultType="com.openhis.web.outpatientmanage.dto.OutpatientInfusionRecordDto">
|
||||
SELECT pr.encounter_id,
|
||||
pr.service_status,
|
||||
pr.authored_time ,
|
||||
pr.service_id ,
|
||||
pr.bus_no ,
|
||||
pr.print_count ,
|
||||
pr.group_id ,
|
||||
pr.authored_time,
|
||||
pr.service_id,
|
||||
pr.bus_no,
|
||||
pr.print_count,
|
||||
pr.group_id,
|
||||
pr.execute_num,
|
||||
pr.speed ,
|
||||
pr.quantity ,
|
||||
pr.skin_test_flag ,
|
||||
pr.unit_code ,
|
||||
pr.dose ,
|
||||
pr.dose_unit_code ,
|
||||
pr.method_code ,
|
||||
pr.rate_code ,
|
||||
pr.performer_id ,
|
||||
pr.preparer_id ,
|
||||
pr.speed,
|
||||
pr.quantity,
|
||||
pr.skin_test_flag,
|
||||
pr.unit_code,
|
||||
pr.dose,
|
||||
pr.dose_unit_code,
|
||||
pr.method_code,
|
||||
pr.rate_code,
|
||||
pr.performer_id,
|
||||
pr.preparer_id,
|
||||
pr.dispense_status,
|
||||
pr.medication_name,
|
||||
pr.service_name,
|
||||
@@ -182,42 +86,42 @@
|
||||
pr.perform_count,
|
||||
pr.dept_name
|
||||
FROM (
|
||||
SELECT ae.id AS encounter_id,
|
||||
SELECT ae.id AS encounter_id,
|
||||
ae.tenant_id,
|
||||
wsr.status_enum AS service_status,
|
||||
wsr.authored_time ,
|
||||
wsr.id AS service_id,
|
||||
wsr.bus_no ,
|
||||
wsr.authored_time,
|
||||
wsr.id AS service_id,
|
||||
wsr.bus_no,
|
||||
wsr.print_count,
|
||||
mmr.group_id ,
|
||||
mmr.group_id,
|
||||
mmr.execute_num,
|
||||
mmr.speed ,
|
||||
mmr.quantity ,
|
||||
mmr.skin_test_flag ,
|
||||
mmr.unit_code ,
|
||||
mmr.dose ,
|
||||
mmr.dose_unit_code ,
|
||||
mmr.method_code ,
|
||||
mmr.rate_code ,
|
||||
mmr.performer_id ,
|
||||
mmr.speed,
|
||||
mmr.quantity,
|
||||
mmr.skin_test_flag,
|
||||
mmr.unit_code,
|
||||
mmr.dose,
|
||||
mmr.dose_unit_code,
|
||||
mmr.method_code,
|
||||
mmr.rate_code,
|
||||
mmr.performer_id,
|
||||
dis.status_enum AS dispense_status,
|
||||
mmd."name" AS medication_name,
|
||||
ad."name" AS service_name,
|
||||
ap."name" AS practitioner_name,
|
||||
o."name" AS dept_name,
|
||||
mmd."name" AS medication_name,
|
||||
ad."name" AS service_name,
|
||||
ap."name" AS practitioner_name,
|
||||
o."name" AS dept_name,
|
||||
-- 新增子查询:查询配药人
|
||||
(SELECT DISTINCT mmdis.preparer_id
|
||||
FROM med_medication_dispense mmdis
|
||||
WHERE mmdis.med_req_id = mmr.id
|
||||
AND mmdis.delete_flag = '0'
|
||||
) AS preparer_id ,
|
||||
) AS preparer_id,
|
||||
-- 新增子查询:统计已执行次数
|
||||
(SELECT COUNT(sub_wsr.id)
|
||||
FROM wor_service_request sub_wsr
|
||||
WHERE sub_wsr.based_on_id = wsr.id
|
||||
AND sub_wsr.status_enum = #{completed}
|
||||
AND sub_wsr.delete_flag = '0'
|
||||
) AS perform_count
|
||||
) AS perform_count
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN wor_service_request wsr
|
||||
ON ae.id = wsr.encounter_id
|
||||
@@ -250,67 +154,67 @@
|
||||
</select>
|
||||
<select id="selectInfusionPerformRecord"
|
||||
resultType="com.openhis.web.outpatientmanage.dto.OutpatientInfusionRecordDto">
|
||||
SELECT pr.service_status,
|
||||
pr.bus_no ,
|
||||
pr.based_on_id ,
|
||||
pr.group_id ,
|
||||
pr.occurrence_end_time ,
|
||||
pr.service_id,
|
||||
pr.tenant_id,
|
||||
pr.service_name,
|
||||
pr.performer_name,
|
||||
pr.org_name
|
||||
FROM (
|
||||
SELECT wsr.status_enum AS service_status,
|
||||
wsr.bus_no ,
|
||||
wsr.based_on_id ,
|
||||
wsr.group_id ,
|
||||
wsr.occurrence_end_time ,
|
||||
wsr.id AS service_id,
|
||||
wsr.tenant_id,
|
||||
ad."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 adm_practitioner ap
|
||||
ON wsr.performer_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization al
|
||||
ON al.id = wsr.org_id
|
||||
WHERE wsr.based_on_id = #{serviceReqId}
|
||||
AND wsr.delete_flag = '0'
|
||||
) AS pr
|
||||
${ew.customSqlSegment}
|
||||
SELECT pr.service_status,
|
||||
pr.bus_no,
|
||||
pr.based_on_id,
|
||||
pr.group_id,
|
||||
pr.occurrence_end_time,
|
||||
pr.service_id,
|
||||
pr.tenant_id,
|
||||
pr.service_name,
|
||||
pr.performer_name,
|
||||
pr.org_name
|
||||
FROM (
|
||||
SELECT wsr.status_enum AS service_status,
|
||||
wsr.bus_no,
|
||||
wsr.based_on_id,
|
||||
wsr.group_id,
|
||||
wsr.occurrence_end_time,
|
||||
wsr.id AS service_id,
|
||||
wsr.tenant_id,
|
||||
ad."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 adm_practitioner ap
|
||||
ON wsr.performer_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization al
|
||||
ON al.id = wsr.org_id
|
||||
WHERE wsr.based_on_id = #{serviceReqId}
|
||||
AND wsr.delete_flag = '0'
|
||||
) AS pr
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY pr.occurrence_end_time DESC
|
||||
</select>
|
||||
<select id="selectPerformInfo"
|
||||
resultType="com.openhis.web.outpatientmanage.dto.OutpatientInfusionRecordDto">
|
||||
SELECT wsr.id AS service_id,
|
||||
wsr.status_enum AS service_status,
|
||||
mmr.execute_num ,
|
||||
dis.status_enum AS dispense_status,
|
||||
-- 新增子查询:统计已执行次数
|
||||
(SELECT COUNT(sub_wsr.id)
|
||||
FROM wor_service_request sub_wsr
|
||||
WHERE sub_wsr.based_on_id = wsr.id
|
||||
AND sub_wsr.status_enum = #{completed}
|
||||
AND sub_wsr.delete_flag = '0'
|
||||
) AS perform_count
|
||||
wsr.status_enum AS service_status,
|
||||
mmr.execute_num ,
|
||||
dis.status_enum AS dispense_status,
|
||||
-- 新增子查询:统计已执行次数
|
||||
(SELECT COUNT(sub_wsr.id)
|
||||
FROM wor_service_request sub_wsr
|
||||
WHERE sub_wsr.based_on_id = wsr.id
|
||||
AND sub_wsr.status_enum = #{completed}
|
||||
AND sub_wsr.delete_flag = '0'
|
||||
) AS perform_count
|
||||
FROM wor_service_request wsr
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON wsr.based_on_id = mmr.id
|
||||
AND mmr.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense dis
|
||||
ON dis.med_req_id = mmr.id
|
||||
AND dis.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_dispense dis
|
||||
ON dis.med_req_id = mmr.id
|
||||
AND dis.delete_flag = '0'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.id IN
|
||||
<foreach item="serviceReqId" collection="serviceReqIdList" open="(" separator="," close=")">
|
||||
#{serviceReqId}
|
||||
</foreach>
|
||||
AND wsr.id IN
|
||||
<foreach item="serviceReqId" collection="serviceReqIdList" open="(" separator="," close=")">
|
||||
#{serviceReqId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.outpatientmanage.mapper.OutpatientSkinTestAppMapper">
|
||||
|
||||
<select id="getRecordInfo" resultType="com.openhis.web.outpatientmanage.dto.SkinTestQueryDto">
|
||||
SELECT wsr.ID AS request_id,
|
||||
wsr.encounter_id,
|
||||
wsr.patient_id,
|
||||
mmd.ID AS medication_id,
|
||||
mmd.NAME AS medication_name,
|
||||
cai.id AS record_id,
|
||||
mmdi.lot_number,
|
||||
cai.recorded_date,
|
||||
cai.clinical_status_enum,
|
||||
cai.verification_status_enum,
|
||||
cai.practitioner_id,
|
||||
cai.check_practitioner_id
|
||||
FROM wor_service_request AS wsr
|
||||
LEFT JOIN med_medication_request AS mmr ON mmr.ID = wsr.based_on_id
|
||||
AND mmr.delete_flag = '0'
|
||||
AND mmr.status_enum = #{requestStatus}
|
||||
LEFT JOIN med_medication_definition AS mmd ON mmd.ID = mmr.medication_id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN cli_allergy_intolerance AS cai ON cai.request_id = wsr.ID
|
||||
AND cai.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense AS mmdi ON mmr.id = mmdi.med_req_id
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.status_enum = #{requestStatus}
|
||||
AND wsr.activity_id = #{activityId}
|
||||
AND wsr.encounter_id = #{encounterId}
|
||||
</select>
|
||||
|
||||
<select id="getMedLotNumber" resultType="com.openhis.web.outpatientmanage.dto.SkinTestMedLotNumberDto">
|
||||
SELECT wii.item_id AS medication_id,
|
||||
aser.NAME AS supplier_name,
|
||||
wii.lot_number
|
||||
FROM wor_inventory_item AS wii
|
||||
LEFT JOIN adm_supplier AS aser ON aser.ID = wii.supplier_id
|
||||
WHERE wii.delete_flag = '0'
|
||||
AND wii.item_table = #{itemTable}
|
||||
GROUP BY wii.item_id,
|
||||
aser.NAME,
|
||||
wii.lot_number
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -2,153 +2,98 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.patientmanage.mapper.PatientManageMapper">
|
||||
<!-- 病人信息相关查询-->
|
||||
<select id="getPatientPage" resultType="com.openhis.web.patientmanage.dto.PatientInformationDto">
|
||||
SELECT
|
||||
T1.tenant_id,
|
||||
T1.id,
|
||||
T1.active_flag,
|
||||
T1.temp_flag,
|
||||
T1.name,
|
||||
T1.name_json,
|
||||
T1.bus_no,
|
||||
T1.gender_enum,
|
||||
T1.birth_date,
|
||||
T1.deceased_date,
|
||||
T1.marital_status_enum,
|
||||
T1.prfs_enum,
|
||||
T1.phone,
|
||||
T1.address,
|
||||
T1.address_province,
|
||||
T1.address_city,
|
||||
T1.address_district,
|
||||
T1.address_street,
|
||||
T1.address_json,
|
||||
T1.nationality_code,
|
||||
T1.id_card,
|
||||
T1.py_str,
|
||||
T1.wb_str,
|
||||
T1.blood_abo,
|
||||
T1.blood_rh,
|
||||
T1.work_company,
|
||||
T1.native_place,
|
||||
T1.country_code,
|
||||
T1.link_name,
|
||||
T1.link_relation_code,
|
||||
T1.link_telcom,
|
||||
T1.link_jsons,
|
||||
T1.organization_id,
|
||||
T1.create_time,
|
||||
T1.type_code,
|
||||
T1.organization_name
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pt.tenant_id,
|
||||
pt.id,
|
||||
pt.active_flag,
|
||||
pt.temp_flag,
|
||||
pt.name,
|
||||
pt.name_json,
|
||||
pt.bus_no,
|
||||
pt.gender_enum,
|
||||
pt.birth_date,
|
||||
pt.deceased_date,
|
||||
pt.marital_status_enum,
|
||||
pt.prfs_enum,
|
||||
pt.phone,
|
||||
pt.address,
|
||||
pt.address_province,
|
||||
pt.address_city,
|
||||
pt.address_district,
|
||||
pt.address_street,
|
||||
pt.address_json,
|
||||
pt.nationality_code,
|
||||
pt.id_card,
|
||||
pt.py_str,
|
||||
pt.wb_str,
|
||||
pt.blood_abo,
|
||||
pt.blood_rh,
|
||||
pt.work_company,
|
||||
pt.native_place,
|
||||
pt.country_code,
|
||||
pt.link_name,
|
||||
pt.link_relation_code,
|
||||
pt.link_telcom,
|
||||
pt.link_jsons,
|
||||
pt.organization_id,
|
||||
pt.create_time,
|
||||
api.type_code,
|
||||
ogt.name as organization_name
|
||||
FROM adm_patient pt
|
||||
LEFT JOIN adm_organization ogt ON pt.organization_id = ogt.id
|
||||
LEFT JOIN adm_patient_identifier api ON pt.id = api.patient_id
|
||||
ORDER BY pt.bus_no DESC
|
||||
) AS T1
|
||||
<select id="getPatientPage" resultType="com.openhis.web.patientmanage.dto.PatientBaseInfoDto">
|
||||
SELECT T1.tenant_id,
|
||||
T1.id,
|
||||
T1.active_flag,
|
||||
T1.temp_flag,
|
||||
T1.name,
|
||||
T1.name_json,
|
||||
T1.bus_no,
|
||||
T1.gender_enum,
|
||||
T1.birth_date,
|
||||
T1.deceased_date,
|
||||
T1.marital_status_enum,
|
||||
T1.prfs_enum,
|
||||
T1.phone,
|
||||
T1.address,
|
||||
T1.address_province,
|
||||
T1.address_city,
|
||||
T1.address_district,
|
||||
T1.address_street,
|
||||
T1.address_json,
|
||||
T1.nationality_code,
|
||||
T1.id_card,
|
||||
T1.py_str,
|
||||
T1.wb_str,
|
||||
T1.blood_abo,
|
||||
T1.blood_rh,
|
||||
T1.work_company,
|
||||
T1.native_place,
|
||||
T1.country_code,
|
||||
T1.link_name,
|
||||
T1.link_relation_code,
|
||||
T1.link_telcom,
|
||||
T1.link_jsons,
|
||||
T1.organization_id,
|
||||
T1.create_time
|
||||
FROM (
|
||||
SELECT pt.tenant_id,
|
||||
pt.id,
|
||||
pt.active_flag,
|
||||
pt.temp_flag,
|
||||
pt.name,
|
||||
pt.name_json,
|
||||
pt.bus_no,
|
||||
pt.gender_enum,
|
||||
pt.birth_date,
|
||||
pt.deceased_date,
|
||||
pt.marital_status_enum,
|
||||
pt.prfs_enum,
|
||||
pt.phone,
|
||||
pt.address,
|
||||
pt.address_province,
|
||||
pt.address_city,
|
||||
pt.address_district,
|
||||
pt.address_street,
|
||||
pt.address_json,
|
||||
pt.nationality_code,
|
||||
pt.id_card,
|
||||
pt.py_str,
|
||||
pt.wb_str,
|
||||
pt.blood_abo,
|
||||
pt.blood_rh,
|
||||
pt.work_company,
|
||||
pt.native_place,
|
||||
pt.country_code,
|
||||
pt.link_name,
|
||||
pt.link_relation_code,
|
||||
pt.link_telcom,
|
||||
pt.link_jsons,
|
||||
pt.organization_id,
|
||||
pt.create_time
|
||||
FROM adm_patient pt
|
||||
where pt.delete_flag = '0'
|
||||
ORDER BY pt.bus_no DESC
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- 查询医生名字列表-->
|
||||
<select id="getDoctorNames" resultType ="java.lang.String">
|
||||
SELECT MIN(p.name) AS practitioner_name
|
||||
FROM adm_encounter_participant ep
|
||||
LEFT JOIN adm_practitioner p ON ep.practitioner_id = p.id
|
||||
WHERE ep.type_code = '1'
|
||||
GROUP BY ep.practitioner_id
|
||||
HAVING MIN(p.name) IS NOT NULL;
|
||||
<select id="getPatientIdInfo" resultType="com.openhis.web.patientmanage.dto.PatientIdInfoDto">
|
||||
SELECT patient_id,
|
||||
type_code,
|
||||
identifier_no,
|
||||
start_time,
|
||||
end_time
|
||||
FROM adm_patient_identifier
|
||||
WHERE delete_flag = '0'
|
||||
<if test="patientIdList != null and !patientIdList.isEmpty()">
|
||||
AND patient_id IN
|
||||
<foreach collection="patientIdList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 门诊记录相关查询-->
|
||||
<select id="getOutpatientRecord" parameterType="com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam"
|
||||
resultType="com.openhis.web.patientmanage.dto.OutpatientRecordDto">
|
||||
|
||||
SELECT
|
||||
T1.tenant_id,
|
||||
T1.name,
|
||||
T1.id_card,
|
||||
T1.description,
|
||||
T1.patient_bus_no,
|
||||
T1.encounter_bus_no,
|
||||
T1.gender_enum,
|
||||
T1.encounter_time,
|
||||
T1.subject_status_enum,
|
||||
T1.organization_name,
|
||||
T1.doctor_name,
|
||||
T1.phone,
|
||||
T1.start_time
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
e.tenant_id,
|
||||
pt.name,
|
||||
pt.id_card,
|
||||
ccd.name AS description,
|
||||
pt.bus_no as patient_bus_no,
|
||||
e.bus_no as encounter_bus_no,
|
||||
pt.gender_enum,
|
||||
e.reception_time as encounter_time,
|
||||
e.subject_status_enum,
|
||||
ogt.name as organization_name,
|
||||
pt.phone,
|
||||
e.start_time,
|
||||
(SELECT pra.name
|
||||
FROM adm_encounter_participant ep
|
||||
LEFT JOIN adm_practitioner pra ON ep.practitioner_id = pra.id
|
||||
WHERE ep.encounter_id = e.id
|
||||
AND ep.type_code = #{typeCode} --就诊参与者身份类型是1:接诊医生
|
||||
ORDER BY ep.create_time DESC
|
||||
LIMIT 1
|
||||
) AS doctor_name--门诊医生
|
||||
FROM
|
||||
adm_encounter e
|
||||
LEFT JOIN
|
||||
adm_organization ogt ON e.organization_id = ogt.id
|
||||
LEFT JOIN
|
||||
adm_patient pt ON e.patient_id = pt.id
|
||||
LEFT JOIN adm_encounter_diagnosis ed ON e.id = ed.encounter_id
|
||||
LEFT JOIN cli_condition c ON ed.condition_id = c.id
|
||||
LEFT JOIN cli_condition_definition ccd ON c.definition_id = ccd.id
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -71,7 +71,11 @@
|
||||
SELECT DISTINCT T1.id AS payer_id, --患者id
|
||||
T1.name AS payer, --患者姓名
|
||||
T1.bus_no AS case_number, --患者院内编码/病历号
|
||||
T1.gender_enum, --性别
|
||||
T1.gender_enum,
|
||||
case T1.gender_enum when 0 then '男'
|
||||
when 1 then '女'
|
||||
else '未说明' end --性别
|
||||
AS gender_enum_enumText,
|
||||
T1.birth_date, --出生日期
|
||||
T1.phone AS tel, --电话
|
||||
T1.id_card AS card_no, --身份证号
|
||||
|
||||
@@ -126,4 +126,129 @@
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T10.supply_bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="excelInboundReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.InboundReportPageDto">
|
||||
SELECT T10.supply_bus_no, --单据号
|
||||
T10.name, --药品名称
|
||||
T10.bus_no, --药品编码
|
||||
T10.lot_number, --批次号
|
||||
T10.purpose_location_id, --目的仓库ID
|
||||
T10.location_name, --仓库名称
|
||||
T10.location_store_name, --货位名称
|
||||
T10.unit_code, --计量单位
|
||||
T10.quantity, --采购数量
|
||||
T10.price, --采购单价
|
||||
T10.total_price AS total_price, --采购金额(总价)
|
||||
T10.sale_price, --售价
|
||||
T10.sale_price * T10.quantity AS total_sale_price, --售价金额(总价)
|
||||
T10.supplier_id, --供应商id
|
||||
T10.supplier, --供应商
|
||||
T10.approver_id, --审核人
|
||||
T10.occurrence_time, --制单日期
|
||||
T10.approval_time, --审核日期
|
||||
T10.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no, --单据号
|
||||
T2.name, --药品名称
|
||||
T2.bus_no, --药品编码
|
||||
T1.lot_number, --批次号
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T7.name AS location_name, --仓库名称
|
||||
T8.name AS location_store_name, --货位名称
|
||||
T1.unit_code, --计量单位
|
||||
T1.item_quantity AS quantity, --采购数量
|
||||
T4.amount AS price, --采购单价
|
||||
T1.total_price, --采购金额(总价)
|
||||
T4.amount AS sale_price, --售价
|
||||
T2.part_percent, --拆零比
|
||||
T1.supplier_id, --供应商id
|
||||
T9.name AS supplier, --供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.approval_time, --审核日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T14
|
||||
ON T14.request_id = T1.id
|
||||
AND T14.status_enum = #{deliveryStatus}
|
||||
AND T14.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T2.id = T1.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition AS T3
|
||||
ON T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T4
|
||||
ON T4.definition_id = T3.id
|
||||
AND T4.delete_flag = '0'
|
||||
AND T4.condition_value = T1.lot_number
|
||||
AND T4.condition_code = '1'--1:批号进价
|
||||
LEFT JOIN med_medication AS T5
|
||||
ON T5.medication_def_id = T2.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T7
|
||||
ON T7.id = T1.purpose_location_id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T8
|
||||
ON T8.id = T1.purpose_location_store_id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.type_enum = #{purchaseInventory}
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
UNION
|
||||
SELECT T1.bus_no AS supply_bus_no, --单据号
|
||||
T11.name, --器材名称
|
||||
T11.bus_no, --器材编码
|
||||
T1.lot_number, --批次号
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T7.name AS location_name, --仓库名称
|
||||
T8.name AS location_store_name, --货位名称
|
||||
T1.unit_code, --计量单位
|
||||
T1.item_quantity AS quantity, --采购数量
|
||||
T4.amount AS price, --采购单价
|
||||
T1.total_price, --采购金额(总价)
|
||||
T4.amount AS sale_price, --售价
|
||||
T11.part_percent, --拆零比
|
||||
T1.supplier_id, --供应商id
|
||||
T9.name AS supplier, --供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.approval_time, --审核日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T14
|
||||
ON T14.request_id = T1.id
|
||||
AND T14.status_enum = #{deliveryStatus}
|
||||
AND T14.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T11
|
||||
ON T11.id = T1.item_id
|
||||
AND T11.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition AS T3
|
||||
ON T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail AS T4
|
||||
ON T4.definition_id = T3.id
|
||||
AND T4.delete_flag = '0'
|
||||
AND T4.condition_value = T1.lot_number
|
||||
AND T4.condition_code = '1'--1:批号进价
|
||||
LEFT JOIN adm_location AS T7
|
||||
ON T7.id = T1.purpose_location_id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T8
|
||||
ON T8.id = T1.purpose_location_store_id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.type_enum = #{purchaseInventory}
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{deviceTableName}) AS T10
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T10.supply_bus_no DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -107,4 +107,110 @@
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.supply_bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="excelLossReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.LossReportPageDto">
|
||||
SELECT T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
T9.supply_bus_no,--单据号
|
||||
T9.purpose_location_id,-- 目的仓库id
|
||||
T9.price,--采购单价
|
||||
T9.location_store_name,--仓库货位
|
||||
T9.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --单位
|
||||
T1.item_quantity, --数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T4
|
||||
ON T4.id = T1.purpose_location_store_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.type_enum = #{lossReport}
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --单位
|
||||
T1.item_quantity, --数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T6
|
||||
ON T1.item_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T4
|
||||
ON T4.id = T1.purpose_location_store_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.type_enum = #{lossReport}
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0') AS T9
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.supply_bus_no DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.reportmanage.mapper.MedicationInboundReportMapper">
|
||||
|
||||
<select id="getMedicationInboundPage" resultType="com.openhis.web.reportmanage.dto.MedicationInboundReportDto">
|
||||
SELECT ii.medication_id, --药品id
|
||||
ii.NAME, --药品名称
|
||||
ii.py_str, --拼音码
|
||||
ii.wb_str, --五笔码
|
||||
ii.yb_no, --医保编码
|
||||
ii.bus_no, --药品编号
|
||||
ii.total_price, --总价
|
||||
ii.item_quantity, --数量
|
||||
ii.unit_code, --单位
|
||||
ii.min_unit_code, --最小单位
|
||||
ii.part_percent, --拆零比
|
||||
ii.occurrence_time --发放时间
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T3.ID AS medication_id,
|
||||
T3.NAME,
|
||||
T3.py_str,
|
||||
T3.wb_str,
|
||||
T3.yb_no,
|
||||
T3.bus_no,
|
||||
T1.total_price,
|
||||
T1.item_quantity,
|
||||
T1.unit_code,
|
||||
T3.min_unit_code,
|
||||
T3.part_percent,
|
||||
T2.occurrence_time
|
||||
FROM wor_supply_request T1
|
||||
LEFT JOIN wor_supply_delivery AS T2 ON T2.request_id = T1.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T3 ON T2.item_id = T3.ID
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T4 ON T3.ID = T4.medication_def_id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.status_enum = #{requestStatus}
|
||||
AND T2.status_enum = #{dispenseStatus}
|
||||
AND T1.type_enum = #{typeStatus}
|
||||
AND T1.item_table = #{medMedicationDefinition}) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -131,4 +131,134 @@
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T10.supply_bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="excelOutboundReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.OutboundReportPageDto">
|
||||
select T10.supply_bus_no, --单据号
|
||||
T10.name, --药品名称
|
||||
T10.bus_no, --编码
|
||||
T10.lot_number, --批号
|
||||
T10.source_location_id, -- 源仓库ID(存放仓库)
|
||||
T10.source_location_name, -- 源仓库(存放仓库)
|
||||
T10.source_location_store_id, -- 源仓位ID
|
||||
T10.source_location_store_name, -- 源仓位
|
||||
T10.purpose_location_id, -- 目的仓库ID(领用科室)
|
||||
T10.purpose_location_name, -- 目的仓库(领用科室)
|
||||
T10.unit_code, --计量单位
|
||||
T10.item_quantity, --数量
|
||||
T10.purchase_price, --采购单价
|
||||
T10.price, --领用单价
|
||||
T10.total_price, --金额
|
||||
T10.supplier_id, --供应商
|
||||
T10.approver_id, --审核人
|
||||
T10.approval_time, --审批时间
|
||||
T10.occurrence_time, --制单日期
|
||||
T10.remake, --出库原因
|
||||
T10.tenant_id -- 租户ID
|
||||
from (
|
||||
select T1.bus_no as supply_bus_no, --单据号
|
||||
T3.name, --药品名称
|
||||
T3.bus_no, --编码
|
||||
T1.lot_number, --批号
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T4.name AS source_location_name, -- 源仓库
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T5.name AS source_location_store_name, -- 源仓位
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T8.name AS purpose_location_name, -- 目的仓库(领用科室)
|
||||
T1.unit_code, --计量单位
|
||||
T1.item_quantity, --数量
|
||||
T7.amount as purchase_price, --采购单价
|
||||
T1.price, --领用单价
|
||||
T1.total_price, --金额
|
||||
T1.supplier_id, --供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.approval_time, --审批时间
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.remake, --出库原因(备注)
|
||||
T1.tenant_id -- 租户ID
|
||||
from wor_supply_request as T1
|
||||
inner join wor_supply_delivery as T2
|
||||
on T1.id = T2.request_id
|
||||
and T2.status_enum = #{deliveryStatus}
|
||||
and T2.delete_flag = '0'
|
||||
left join med_medication_definition as T3
|
||||
on T1.item_id = T3.id
|
||||
and T3.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.source_location_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.source_location_store_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
left join adm_charge_item_definition as T6
|
||||
on T3.id = T6.instance_id
|
||||
and T6.delete_flag = '0'
|
||||
left join adm_charge_item_def_detail as T7
|
||||
on T6.id = T7.definition_id
|
||||
and T7.delete_flag = '0'
|
||||
AND T7.condition_value = T1.lot_number
|
||||
AND T7.condition_code = '1'--1:批号进价
|
||||
left join adm_organization T8
|
||||
on T1.purpose_location_id = T8.id
|
||||
and T8.delete_flag = '0'
|
||||
where T1.delete_flag = '0'
|
||||
and T1.type_enum = #{issueInventory}
|
||||
and T1.status_enum = #{supplyStatus}
|
||||
and T1.item_table = #{medicationTableName}
|
||||
union
|
||||
select T1.bus_no as supply_bus_no, --单据号
|
||||
T3.name, --药品名称
|
||||
T3.bus_no, --编码
|
||||
T1.lot_number, --批号
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T4.name AS source_location_name, -- 源仓库
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T5.name AS source_location_store_name, -- 源仓位
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T8.name AS purpose_location_name, -- 目的仓库(领用科室)
|
||||
T1.unit_code, --计量单位
|
||||
T1.item_quantity, --数量
|
||||
T7.amount as purchase_price, --采购单价
|
||||
T1.price, --领用单价
|
||||
T1.total_price, --金额
|
||||
T1.supplier_id, --供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.approval_time, --审批时间
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.remake, --出库原因
|
||||
T1.tenant_id -- 租户ID
|
||||
from wor_supply_request as T1
|
||||
inner join wor_supply_delivery as T2
|
||||
on T1.id = T2.request_id
|
||||
and T2.status_enum = #{deliveryStatus}
|
||||
and T2.delete_flag = '0'
|
||||
inner join adm_device_definition as T3
|
||||
on T1.item_id = T3.id
|
||||
and T3.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.source_location_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.source_location_store_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
left join adm_charge_item_definition as T6
|
||||
on T3.id = T6.instance_id
|
||||
and T6.delete_flag = '0'
|
||||
left join adm_charge_item_def_detail as T7
|
||||
on T6.id = T7.definition_id
|
||||
and T7.delete_flag = '0'
|
||||
AND T7.condition_value = T1.lot_number
|
||||
AND T7.condition_code = '1'--1:批号进价
|
||||
left join adm_organization T8
|
||||
on T1.purpose_location_id = T8.id
|
||||
and T8.delete_flag = '0'
|
||||
where T1.delete_flag = '0'
|
||||
and T1.type_enum = #{issueInventory}
|
||||
and T1.status_enum = #{supplyStatus}
|
||||
and T1.item_table = #{deviceTableName}
|
||||
) as T10
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T10.supply_bus_no DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.reportmanage.mapper.ReportMapper">
|
||||
<!--患者明细报表-->
|
||||
<select id="selectPatientDetailsPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.ReportPatientDetailsDto">
|
||||
SELECT T6.tenant_id,
|
||||
T6.encounter_bus_no,
|
||||
T6.med_name,
|
||||
T6.med_yb_no,
|
||||
T6.category_code,
|
||||
T6.dose_form_code,
|
||||
T6.total_volume,
|
||||
T6.package_unit,
|
||||
T6.unit_code,
|
||||
T6.is_selected,
|
||||
T6.manufacturer_text,
|
||||
T6.price,
|
||||
T6.quantity,
|
||||
T6.total_price
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T2.bus_no AS encounter_bus_no,--门诊住院号
|
||||
T4.name AS med_name,--药品通用名
|
||||
T4.yb_no AS med_yb_no,--药品医保编码
|
||||
T4.category_code AS category_code,--药品类别
|
||||
T5.dose_form_code AS dose_form_code,--剂型
|
||||
T5.total_volume AS total_volume,--规格
|
||||
T4.unit_code AS package_unit,--包装
|
||||
T1.quantity_unit AS unit_code,--计价单位
|
||||
'' AS is_selected,--是否中选产品
|
||||
T4.manufacturer_text AS manufacturer_text,--生产企业
|
||||
T1.unit_price AS price,--单价(元)
|
||||
T1.quantity_value AS quantity,--使用数量(片袋支)
|
||||
T1.total_price AS total_price--使用总金额(元)
|
||||
FROM adm_charge_item T1
|
||||
LEFT JOIN adm_encounter T2 ON T1.encounter_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_request T3 ON T1.service_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition T4 ON T3.medication_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN med_medication T5 ON T4.id = T5.medication_def_id
|
||||
AND T5.delete_flag = '0'
|
||||
WHERE T1.service_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
) AS T6
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectMedicationInboundDetailsPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.ReportMedicationInboundDetailsDto">
|
||||
SELECT T2.med_name AS product_name,
|
||||
T2.unit_label,
|
||||
T2.min_unit_label AS min_unit,
|
||||
T2.item_quantity,
|
||||
T2.total_quantity,
|
||||
T2.part_percent
|
||||
FROM (SELECT T1.bus_no,
|
||||
T4.NAME AS med_name,
|
||||
T1.item_quantity,
|
||||
T1.total_quantity,
|
||||
sdd.dict_label AS unit_label,
|
||||
sdd1.dict_label AS min_unit_label,
|
||||
T4.part_percent
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN med_medication_definition T4 ON T1.item_id = T4.ID
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN sys_dict_data sdd ON sdd.dict_value = T4.unit_code
|
||||
AND sdd.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd1 ON sdd1.dict_value = T4.min_unit_code
|
||||
AND sdd1.dict_type = 'unit_code'
|
||||
WHERE T1.type_enum IN (#{transferCode}, #{batchTransferCode})
|
||||
AND T1.source_location_id = #{sourceLocationId}
|
||||
AND T1.purpose_location_id = #{purposeLocationId}
|
||||
AND T1.occurrence_time BETWEEN #{startTime} AND #{endTime}
|
||||
GROUP BY T1.bus_no,
|
||||
T4.NAME,
|
||||
T1.item_quantity,
|
||||
T1.total_quantity,
|
||||
sdd.dict_label,
|
||||
sdd1.dict_label,
|
||||
T4.part_percent,
|
||||
T4.unit_code,
|
||||
T4.min_unit_code
|
||||
ORDER BY T1.bus_no DESC) AS T2
|
||||
</select>
|
||||
|
||||
<!--患者明细主表做成-->
|
||||
<select id="selectPatientMasterDetailPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.ReportPatientMasterDetailDto">
|
||||
SELECT T7.tenant_id,
|
||||
T7.encounter_bus_no,
|
||||
T7.patient_name,
|
||||
T7.id_card,
|
||||
T7.psn_no,--人员编码
|
||||
T7.insu_plc_no,--参保地区编码
|
||||
T7.yb_type,
|
||||
T7.encounter_start_time,
|
||||
T7.encounter_end_time,
|
||||
T7.issue_time,--处方日期
|
||||
T7.out_diagnose_name,--出院诊断
|
||||
T7.fee_amount,
|
||||
T7.inscp_scp_amt,--政策范围内
|
||||
T7.tc_pay_amount--基本医保统筹支付金额(元)
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T2.bus_no AS encounter_bus_no,
|
||||
T3.name AS patient_name,
|
||||
T3.id_card AS id_card,
|
||||
'' AS psn_no,--人员编码
|
||||
'' AS insu_plc_no,--参保地区编码
|
||||
T5.contract_name AS yb_type,--参保类型
|
||||
T2.start_time AS encounter_start_time,
|
||||
T2.end_time AS encounter_end_time,
|
||||
MAX(T6.issue_time ) AS issue_time,--处方日期
|
||||
'' AS out_diagnose_name,--出院诊断
|
||||
SUM(T1.total_price) AS fee_amount,--总费用(元)
|
||||
NULL AS inscp_scp_amt,--政策范围内
|
||||
NULL AS tc_pay_amount--基本医保统筹支付金额(元)
|
||||
FROM adm_charge_item T1
|
||||
LEFT JOIN adm_encounter T2 ON T1.encounter_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_patient T3 ON T1.patient_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_account T4 ON T1.encounter_id = T4.encounter_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN fin_contract T5 ON T4.contract_no = T5.bus_no
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN elep_medication_request T6 ON T1.prescription_no = T6.prescription_no
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T2.class_enum = #{encounterClass}--住院
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY
|
||||
T1.tenant_id,
|
||||
T2.bus_no,
|
||||
T3.name,
|
||||
T3.id_card,
|
||||
T2.start_time,
|
||||
T2.end_time,
|
||||
T5.contract_name
|
||||
) AS T7
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectMedicationUsagePage"
|
||||
resultType="com.openhis.web.reportmanage.dto.ReportMedicationUsageDto">
|
||||
SELECT
|
||||
mmde.yb_no AS national_drugCode,
|
||||
md.medication_def_id AS bus_no,
|
||||
mmde.name AS item_name,
|
||||
SUM(aci.total_price) AS total_sales_price,
|
||||
SUM(CASE
|
||||
WHEN mmdi.unit_code = mmde.min_unit_code THEN mmdi.dispense_quantity
|
||||
WHEN mmdi.unit_code = mmde.unit_code THEN mmdi.dispense_quantity * mmde.part_percent
|
||||
ELSE 0
|
||||
END) AS package_sales_quantity,
|
||||
SUM(CASE
|
||||
WHEN mmdi.unit_code = mmde.unit_code THEN mmdi.dispense_quantity
|
||||
WHEN mmdi.unit_code = mmde.min_unit_code THEN mmdi.dispense_quantity / mmde.part_percent
|
||||
ELSE 0
|
||||
END) AS dosage_sales_quantity,
|
||||
mmde.min_unit_code AS unit_code,
|
||||
md.tenant_id
|
||||
FROM med_medication md
|
||||
INNER JOIN med_medication_definition mmde
|
||||
ON md.medication_def_id = mmde.id
|
||||
AND mmde.delete_flag = '0'
|
||||
INNER JOIN med_medication_dispense mmdi
|
||||
ON md.medication_def_id = mmdi.medication_id
|
||||
AND mmdi.status_enum = #{dispenseStatus}
|
||||
AND mmdi.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON mmdi.encounter_id = aci.encounter_id
|
||||
AND product_table = 'med_medication_definition'
|
||||
AND aci.delete_flag = '0'
|
||||
WHERE
|
||||
md.delete_flag = '0'
|
||||
<if test="searchKey != null">
|
||||
AND mmde.name LIKE CONCAT('%', #{searchKey}, '%')
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
AND mmdi.dispense_time >= CAST(#{startTime} AS timestamp with time zone)
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND mmdi.dispense_time >= CAST(#{endTime} AS timestamp with time zone)
|
||||
</if>
|
||||
GROUP BY
|
||||
mmde.yb_no,
|
||||
md.medication_def_id,
|
||||
mmde.name,
|
||||
mmde.min_unit_code,
|
||||
md.tenant_id
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -4,52 +4,52 @@
|
||||
|
||||
<select id="selectStocktakingReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
|
||||
SELECT T9.id, --ID
|
||||
T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
SELECT T9.id, --ID
|
||||
T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
T9.supply_bus_no,--单据号
|
||||
T9.purpose_location_id,-- 目的仓库id
|
||||
T9.price,--采购单价
|
||||
T9.location_store_name,--仓库货位
|
||||
T9.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id, --ID
|
||||
T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T9.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id, --ID
|
||||
T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
@@ -67,33 +67,33 @@
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id, --ID
|
||||
T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
SELECT T1.id, --ID
|
||||
T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T6
|
||||
ON T1.item_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
ON T1.item_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
@@ -113,44 +113,44 @@
|
||||
|
||||
<select id="selectAutoStocktakingReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
|
||||
SELECT T9.id, --ID
|
||||
T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
SELECT T9.id, --ID
|
||||
T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
T9.supply_bus_no,--单据号
|
||||
T9.purpose_location_id,-- 目的仓库id
|
||||
T9.price,--采购单价
|
||||
T9.location_store_name,--仓库货位
|
||||
T9.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id, --ID
|
||||
T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id, --ID
|
||||
T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_aut_supply_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -173,25 +173,25 @@
|
||||
AND T1.delete_flag = '0'
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') = #{time}
|
||||
UNION
|
||||
SELECT T1.id, --ID
|
||||
T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
SELECT T1.id, --ID
|
||||
T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.total_price,--报损金额
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_aut_supply_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T6
|
||||
ON T1.item_id = T6.id
|
||||
@@ -212,4 +212,113 @@
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') = #{time}) AS T9
|
||||
ORDER BY T9.supply_bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="excelStocktakingReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
|
||||
SELECT T9.id, --ID
|
||||
T9.bus_no, --编码
|
||||
T9.name, --名称
|
||||
T9.total_volume, --规格
|
||||
T9.manufacturer_text, --厂家
|
||||
T9.lot_number, --产品批号
|
||||
T9.location_name, --目的仓库
|
||||
T9.unit_code, --小单位
|
||||
T9.item_quantity, --数量
|
||||
T9.approval_time, --审批时间
|
||||
T9.supply_bus_no,--单据号
|
||||
T9.purpose_location_id,-- 目的仓库id
|
||||
T9.price,--采购单价
|
||||
T9.location_store_name,--仓库货位
|
||||
T9.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T9.approver_id, --审核人
|
||||
T9.occurrence_time, --制单日期
|
||||
T9.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id, --ID
|
||||
T2.bus_no, --编码
|
||||
T2.name, --名称
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T4
|
||||
ON T4.id = T1.purpose_location_store_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.type_enum in (#{stocktakingReport}, #{stocktakingBatchReport})
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id, --ID
|
||||
T6.bus_no, --编码
|
||||
T6.name, --名称
|
||||
T6.size AS total_volume, --规格(器材规格)
|
||||
T6.manufacturer_text, --厂家
|
||||
T1.lot_number, --产品批号
|
||||
T5.name AS location_name, --目的仓库
|
||||
T1.unit_code, --小单位
|
||||
T1.item_quantity, --盈亏数量
|
||||
T1.approval_time, --审批时间
|
||||
T1.bus_no AS supply_bus_no,--单据号
|
||||
T1.purpose_location_id,-- 目的仓库id
|
||||
T1.price,--采购单价
|
||||
T4.name AS location_store_name,--仓库货位
|
||||
T1.profit_loss_price,
|
||||
T9.name AS supplier,--供应商
|
||||
T1.approver_id, --审核人
|
||||
T1.occurrence_time, --制单日期
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request AS T1
|
||||
INNER JOIN wor_supply_delivery AS T8
|
||||
ON T8.request_id = T1.id
|
||||
AND T8.status_enum = #{deliveryStatus}
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T6
|
||||
ON T1.item_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.purpose_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T4
|
||||
ON T4.id = T1.purpose_location_store_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T9
|
||||
ON T9.id = T1.supplier_id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.type_enum in (#{stocktakingReport}, #{stocktakingBatchReport})
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0') AS T9
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.supply_bus_no DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -125,4 +125,128 @@
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T6.supply_bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="excelTransferReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.TransferReportPageDto">
|
||||
SELECT T6.id,
|
||||
T6.supply_bus_no, -- 商品调拨单据号
|
||||
T6.name, -- 药品名称
|
||||
T6.status_enum, -- 状态
|
||||
T6.lot_number, -- 产品批号
|
||||
T6.source_location_id, -- 源仓库ID
|
||||
T6.source_location_name, -- 源仓库
|
||||
T6.source_location_store_id, -- 源仓位ID
|
||||
T6.source_location_store_name, -- 源仓位
|
||||
T6.purpose_location_id, -- 目的仓库ID
|
||||
T6.purpose_location_name, -- 目的仓库
|
||||
T6.purpose_location_store_id, -- 目的货位ID
|
||||
T6.purpose_location_store_name, -- 目的货位
|
||||
T6.item_quantity, -- 调拨数量
|
||||
T6.unit_code, -- 物品计量单位
|
||||
T6.price, -- 采购单价
|
||||
T6.total_price, -- 总价
|
||||
T6.applicant_id, -- 申请人(制单人)
|
||||
T6.approver_id, -- 审核人
|
||||
T6.occurrence_time, -- 制单日期
|
||||
T6.apply_time, -- 申请日期
|
||||
T6.approval_time, -- 审批时间(调拨日期)
|
||||
T6.tenant_id -- 租户ID
|
||||
FROM (SELECT T1.id,
|
||||
T1.bus_no AS supply_bus_no, -- 商品调拨单据号
|
||||
T3.name, -- 药品名称
|
||||
T1.status_enum, -- 状态
|
||||
T1.lot_number, -- 产品批号
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T4.name AS source_location_name, -- 源仓库
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T5.name AS source_location_store_name, -- 源仓位
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T9.name AS purpose_location_name, -- 目的仓库
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T10.name AS purpose_location_store_name, -- 目的货位
|
||||
T1.item_quantity, -- 调拨数量
|
||||
T1.unit_code, -- 物品计量单位
|
||||
T1.price, -- 采购单价
|
||||
T1.total_price, -- 总价
|
||||
T1.applicant_id, -- 申请人(制单人)
|
||||
T1.approver_id, -- 审核人
|
||||
T1.occurrence_time, -- 制单日期
|
||||
T1.apply_time, -- 申请日期
|
||||
T1.approval_time, -- 审批时间(调拨日期)
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN wor_supply_delivery AS T2
|
||||
ON T2.request_id = T1.id
|
||||
AND T2.status_enum = #{deliveryStatus}
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition T3
|
||||
ON T1.item_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.source_location_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.source_location_store_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T9
|
||||
ON T1.purpose_location_id = T9.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_location T10
|
||||
ON T1.purpose_location_store_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
WHERE T1.type_enum in (#{transferReport}, #{transferBatchReport})
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no AS supply_bus_no, -- 商品调拨单据号
|
||||
T7.name, -- 器材名称
|
||||
T1.status_enum, -- 状态
|
||||
T1.lot_number, -- 产品批号
|
||||
T1.source_location_id, -- 源仓库ID
|
||||
T4.name AS source_location_name, -- 源仓库
|
||||
T1.source_location_store_id, -- 源仓位ID
|
||||
T5.name AS source_location_store_name, -- 源仓位
|
||||
T1.purpose_location_id, -- 目的仓库ID
|
||||
T9.name AS purpose_location_name, -- 目的仓库
|
||||
T1.purpose_location_store_id, -- 目的货位ID
|
||||
T10.name AS purpose_location_store_name, -- 目的货位
|
||||
T1.item_quantity, -- 调拨数量
|
||||
T1.unit_code, -- 物品计量单位
|
||||
T1.price, -- 采购单价
|
||||
T1.total_price, -- 总价
|
||||
T1.applicant_id, -- 申请人(制单人)
|
||||
T1.approver_id, -- 审核人
|
||||
T1.occurrence_time, -- 制单日期
|
||||
T1.apply_time, -- 申请日期
|
||||
T1.approval_time, -- 审批时间(调拨日期)
|
||||
T1.tenant_id -- 租户ID
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN wor_supply_delivery AS T2
|
||||
ON T2.request_id = T1.id
|
||||
AND T2.status_enum = #{deliveryStatus}
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition T7
|
||||
ON T1.item_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.source_location_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.source_location_store_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T9
|
||||
ON T1.purpose_location_id = T9.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_location T10
|
||||
ON T1.purpose_location_store_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
WHERE T1.type_enum in (#{transferReport}, #{transferBatchReport})
|
||||
AND T1.status_enum = #{supplyStatus}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0') AS T6
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T6.supply_bus_no DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.tencentJH.mapper.TencentAppMapper">
|
||||
|
||||
<select id="getCurrentDayEncounter" resultType="com.openhis.web.tencentJH.dto.CurrentDayEncounterTencentDto">
|
||||
SELECT T9.tenant_id,
|
||||
T9.encounter_id,
|
||||
T9.organization_id,
|
||||
T9.organization_name,
|
||||
T9.healthcare_name,
|
||||
T9.practitioner_user_id,
|
||||
T9.practitioner_name,
|
||||
T9.contract_name,
|
||||
T9.patient_id,
|
||||
T9.patient_name,
|
||||
T9.phone,
|
||||
T9.gender_enum,
|
||||
T9.id_card,
|
||||
T9.status_enum,
|
||||
T9.register_time,
|
||||
T9.total_price,
|
||||
T9.account_name,
|
||||
T9.enterer_name,
|
||||
T9.charge_item_ids,
|
||||
T9.payment_id,
|
||||
T9.picture_url,
|
||||
T9.birth_date,
|
||||
t9.english_name
|
||||
from (
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.organization_id AS organization_id,
|
||||
T2.NAME AS organization_name,
|
||||
T3.NAME AS healthcare_name,
|
||||
T5.user_id AS practitioner_user_id,
|
||||
T5.NAME AS practitioner_name,
|
||||
T7.contract_name AS contract_name,
|
||||
T8.id AS patient_id,
|
||||
T8.NAME AS patient_name,
|
||||
T8.phone AS phone,
|
||||
T8.gender_enum AS gender_enum,
|
||||
T8.id_card AS id_card,
|
||||
T1.status_enum AS status_enum,
|
||||
T1.create_time AS register_time,
|
||||
T10.total_price,
|
||||
T11."name" AS account_name,
|
||||
T12."name" AS enterer_name,
|
||||
T13.charge_item_ids,
|
||||
T13.id AS payment_id,
|
||||
ai.picture_url AS picture_url,
|
||||
T8.birth_date AS birth_date,
|
||||
tx.staff_english_name AS english_name
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||
LEFT JOIN (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY create_time ASC) AS rn
|
||||
FROM adm_encounter_participant
|
||||
WHERE delete_flag = '0'
|
||||
AND (
|
||||
(type_code = #{participantType1} AND EXISTS(SELECT 1
|
||||
FROM adm_encounter AS T1
|
||||
WHERE T1.status_enum = #{statusEnum}
|
||||
AND T1.ID = encounter_id))
|
||||
OR
|
||||
(type_code = #{participantType2} AND NOT EXISTS(SELECT 1
|
||||
FROM adm_encounter AS T1
|
||||
WHERE T1.status_enum = #{statusEnum}
|
||||
AND T1.ID = encounter_id))
|
||||
)
|
||||
) t
|
||||
WHERE rn = 1
|
||||
) AS T4 ON T1.ID = T4.encounter_id
|
||||
LEFT JOIN adm_practitioner AS T5 ON T5.ID = T4.practitioner_id AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T6
|
||||
ON T1.ID = T6.encounter_id AND T6.delete_flag = '0' AND T6.encounter_flag = '1'
|
||||
LEFT JOIN fin_contract AS T7 ON T6.contract_no = T7.bus_no AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T8 ON T1.patient_id = T8.ID AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS T10 ON T1.id = T10.encounter_id AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T11 ON T10.account_id = T11.id AND T11.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T12 ON T12.ID = T10.enterer_id AND T12.delete_flag = '0'
|
||||
LEFT JOIN tx_encounter AS tx ON tx.bus_no=T1.bus_no
|
||||
LEFT JOIN fin_payment_reconciliation T13
|
||||
ON T10.id::TEXT = ANY(string_to_array(T13.charge_item_ids,','))
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.status_enum = ${paymentStatus}
|
||||
LEFT JOIN adm_invoice AS ai
|
||||
ON ai.reconciliation_id = T13.id AND ai.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
AND T10.context_enum = #{register}
|
||||
) AS T9
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.register_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getPatientInfo" resultType="com.openhis.web.tencentJH.dto.PatientInfoTencentDto">
|
||||
SELECT
|
||||
T10.encounter_id,
|
||||
T10.patient_id,
|
||||
T10.patient_name,
|
||||
T10.gender_enum,
|
||||
T10.id_card,
|
||||
T10.phone,
|
||||
T10.birth_date,
|
||||
T10.status_enum,
|
||||
T10.account_id,
|
||||
T10.type_code,
|
||||
T10.contract_name,
|
||||
T10.org_id,
|
||||
T10.register_time,
|
||||
T10.reception_time,
|
||||
T10.practitioner_user_id,
|
||||
T10.jz_practitioner_user_id,
|
||||
T10.bus_no,
|
||||
T10.english_name
|
||||
from
|
||||
(
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
T1.ID AS encounter_id,
|
||||
T1.organization_id AS organization_id,
|
||||
T2.NAME AS organization_name,
|
||||
T3.NAME AS healthcare_name,
|
||||
T5.user_id AS practitioner_user_id,
|
||||
T5.NAME AS practitioner_name,
|
||||
ap.user_id AS jz_practitioner_user_id,
|
||||
ap.NAME AS jz_practitioner_name,
|
||||
T6.id AS account_id,
|
||||
T6.type_code AS type_code,
|
||||
T7.contract_name AS contract_name,
|
||||
T8.ID AS patient_id,
|
||||
T8.NAME AS patient_name,
|
||||
T8.gender_enum AS gender_enum,
|
||||
T8.id_card AS id_card,
|
||||
T8.phone AS phone,
|
||||
T8.birth_date AS birth_date,
|
||||
T1.status_enum AS status_enum,
|
||||
T1.create_time AS register_time,
|
||||
T1.reception_time AS reception_time,
|
||||
T1.organization_id AS org_id,
|
||||
T8.bus_no AS bus_no,
|
||||
tx.staff_english_name AS english_name
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS T4
|
||||
ON T1.ID = T4.encounter_id AND T4.type_code = #{participantType}
|
||||
AND T4.status_enum = #{activityStatus}
|
||||
AND T4.delete_flag = '0'
|
||||
AND T1.status_enum = #{encounterStatus}
|
||||
LEFT JOIN adm_practitioner AS T5 ON T5.ID = T4.practitioner_id AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS aep ON T1.ID = aep.encounter_id
|
||||
AND aep.type_code = #{participantType2}
|
||||
AND aep.status_enum = #{activityStatus}
|
||||
AND aep.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS ap ON ap.ID = aep.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T6 ON T1.ID = T6.encounter_id AND T6.delete_flag = '0' and T6.encounter_flag = '1'
|
||||
LEFT JOIN fin_contract AS T7 ON T6.contract_no = T7.bus_no AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T8 ON T1.patient_id = T8.ID AND T8.delete_flag = '0'
|
||||
LEFT JOIN tx_encounter AS tx ON tx.bus_no=T1.bus_no
|
||||
WHERE
|
||||
T1.delete_flag = '0'
|
||||
<!-- 当前登录账号ID 和 当前登录账号所属的科室ID 用于控制数据权限 -->
|
||||
<if test="userId != null and currentUserOrganizationId != null">
|
||||
AND (
|
||||
(T4.encounter_id IS NOT NULL AND T5.user_id = #{userId})
|
||||
OR
|
||||
(T4.encounter_id IS NULL AND T1.organization_id = #{currentUserOrganizationId})
|
||||
)
|
||||
</if>
|
||||
<if test="pricingFlag ==1">
|
||||
AND T1.status_enum != #{encounterStatus}
|
||||
</if>
|
||||
ORDER BY
|
||||
T1.create_time ) AS T10
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -4,6 +4,8 @@
|
||||
<select id="getVeriPrescriptionInfo" resultType="com.openhis.web.ybmanage.dto.VeriPrescriptionInfoDto">
|
||||
SELECT tenant_id,
|
||||
prescription_no, --处方号
|
||||
practitioner_id,
|
||||
practitioner_name,
|
||||
ipt_otp_no, --门诊号
|
||||
patient_name, --姓名
|
||||
certno, --身份证号
|
||||
@@ -14,19 +16,21 @@
|
||||
prsc_time, --处方开立日期
|
||||
hi_rxno --医保处方编号
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.prescription_no, --处方号
|
||||
T1.ipt_otp_no, --门诊号
|
||||
T2.name AS patient_name, --姓名
|
||||
T2.id_card AS certno, --身份证号
|
||||
T1.prescription_no, --处方号
|
||||
T1.prescribing_dr_id AS practitioner_id,
|
||||
aper.name AS practitioner_name,
|
||||
T1.ipt_otp_no, --门诊号
|
||||
T2.name AS patient_name, --姓名
|
||||
T2.id_card AS certno, --身份证号
|
||||
CASE
|
||||
WHEN (T5.rx_used_stas_codg IN ('1', '2')) THEN T5.rx_used_stas_name
|
||||
ELSE '未使用'
|
||||
END AS med_status, --取药状态
|
||||
T1.status_enum AS status_enum, --状态
|
||||
T4.name AS prsc_dept_name, --开单科室
|
||||
T3.reception_time AS mdtrt_time, --挂号日期
|
||||
T1.issue_time AS prsc_time, --处方开立日期
|
||||
T1.hi_rxno --医保处方编号
|
||||
END AS med_status, --取药状态
|
||||
T1.status_enum AS status_enum, --状态
|
||||
T4.name AS prsc_dept_name, --开单科室
|
||||
T3.reception_time AS mdtrt_time, --挂号日期
|
||||
T1.issue_time AS prsc_time, --处方开立日期
|
||||
T1.hi_rxno --医保处方编号
|
||||
FROM elep_medication_request AS T1
|
||||
LEFT JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
@@ -42,9 +46,15 @@
|
||||
LEFT JOIN adm_account AS T6
|
||||
ON T1.encounter_id = T6.encounter_id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS aper
|
||||
ON aper.ID = T1.prescribing_dr_id
|
||||
AND aper.delete_flag = '0'
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0') ${ew.customSqlSegment}
|
||||
GROUP BY tenant_id,
|
||||
prescription_no,
|
||||
practitioner_id,
|
||||
practitioner_name,
|
||||
ipt_otp_no,
|
||||
patient_name,
|
||||
certno,
|
||||
@@ -61,9 +71,9 @@
|
||||
T1.ipt_otp_no, --门诊号
|
||||
T1.quantity, --请求数量
|
||||
T1.unit_code, --请求单位
|
||||
T1.status_enum AS status_enum, --药品请求状态
|
||||
T1.status_enum AS status_enum, --药品请求状态
|
||||
--处方信息
|
||||
T2.registered_name AS medication_name, --药品名
|
||||
T2.registered_name AS medication_name, --药品名
|
||||
T2.drug_specification, --药品规格
|
||||
T1.med_dosage, --药品剂量
|
||||
T1.med_dosage_unit_code, --药品剂量单位
|
||||
@@ -72,11 +82,11 @@
|
||||
CASE
|
||||
WHEN (T9.rx_used_stas_codg IN ('1', '2')) THEN T9.rx_used_stas_name
|
||||
ELSE '未使用'
|
||||
END AS med_status, --取药状态
|
||||
END AS med_status, --取药状态
|
||||
CASE
|
||||
WHEN (T10.rx_stas_codg IN ('1', '2', '3', '4')) THEN T10.rx_stas_name
|
||||
ELSE '未上传'
|
||||
END AS prescription_status, --处方状态
|
||||
END AS prescription_status, --处方状态
|
||||
T1.rx_type_code, --处方类别
|
||||
T1.support_info, --支持用药信息
|
||||
T1.effective_dose_start, -- 服药时间(开始)
|
||||
@@ -85,15 +95,16 @@
|
||||
T1.dispense_per_quantity, -- 单次发药数
|
||||
T1.dispense_per_duration, -- 每次发药供应天数
|
||||
--就诊信息
|
||||
T3.name AS patn_name, --患者名
|
||||
T3.id_card AS certno, --身份证号
|
||||
T4.name AS practitioner_name, --开方医生名
|
||||
T6.name AS mdtrt_dept_name, --挂号科室
|
||||
T7.name AS prsc_dept_name, --开单科室
|
||||
T5.create_time AS mdtrt_time, --挂号日期
|
||||
T1.issue_time AS prsc_time, --处方开立日期
|
||||
T3.name AS patn_name, --患者名
|
||||
T3.id_card AS certno, --身份证号
|
||||
T4.name AS practitioner_name, --开方医生名
|
||||
T6.name AS mdtrt_dept_name, --挂号科室
|
||||
T7.name AS prsc_dept_name, --开单科室
|
||||
T5.create_time AS mdtrt_time, --挂号日期
|
||||
T1.issue_time AS prsc_time, --处方开立日期
|
||||
--诊断信息
|
||||
T8.name AS condition_name --诊断名
|
||||
T8.name AS condition_name, --诊断名
|
||||
T12.name AS special_condition_name --诊断名
|
||||
FROM elep_medication_request AS T1
|
||||
LEFT JOIN (SELECT drug.medical_catalog_code,
|
||||
drug.registered_name,
|
||||
@@ -102,11 +113,11 @@
|
||||
FROM yb_catalog_drug_info drug
|
||||
INNER JOIN (SELECT info.medical_catalog_code, MAX(info.version) AS max_version
|
||||
FROM yb_catalog_drug_info info
|
||||
WHERE info.valid_flag = '1'
|
||||
WHERE info.valid_flag = '1'
|
||||
GROUP BY info.medical_catalog_code
|
||||
) AS item ON drug.medical_catalog_code = item.medical_catalog_code AND
|
||||
drug.version = item.max_version
|
||||
WHERE drug.valid_flag = '1'
|
||||
WHERE drug.valid_flag = '1'
|
||||
) AS T2 ON T1.medication_id = T2.medical_catalog_code
|
||||
LEFT JOIN adm_patient AS T3
|
||||
ON T1.patient_id = T3.id
|
||||
@@ -127,8 +138,11 @@
|
||||
ON T1.condition_id = T11.id
|
||||
AND T11.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS T8
|
||||
ON T11.definition_id = T8.id
|
||||
ON T1.condition_def_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS T12
|
||||
ON T1.opsp_dise_code = T12.yb_no
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN yb_elep_medresult_info AS T9
|
||||
ON T1.hi_rxno = T9.hi_rxno
|
||||
LEFT JOIN (SELECT hi_rxno, rx_stas_codg, rx_stas_name
|
||||
|
||||
@@ -185,4 +185,76 @@
|
||||
WHERE T1.id = #{paymentId}
|
||||
GROUP BY T5."name", T5.yb_no
|
||||
</select>
|
||||
<select id="getInHospitalRegisterInfo"
|
||||
resultType="com.openhis.web.ybmanage.dto.YbInHospitalRegisterQueryDto">
|
||||
SELECT ihri.tenant_id,
|
||||
ihri.encounter_id,
|
||||
ihri.amb_encounter_id,
|
||||
ihri.patient_id,
|
||||
ihri.request_time,
|
||||
ihri.registrar,
|
||||
ihri.source_name,
|
||||
ihri.patient_name,
|
||||
ihri.gender_enum,
|
||||
ihri.birth_date,
|
||||
ihri.ward_name,
|
||||
ihri.mdtrt_id
|
||||
from (SELECT ae.tenant_id,
|
||||
ae.ID AS encounter_id,
|
||||
ae.amb_encounter_id AS amb_encounter_id,
|
||||
ae.patient_id AS patient_id,
|
||||
ae.create_time AS request_time,
|
||||
aper.NAME AS registrar,
|
||||
ao.NAME AS source_name,
|
||||
ap.NAME AS patient_name,
|
||||
ap.gender_enum AS gender_enum,
|
||||
ap.birth_date AS birth_date,
|
||||
al.NAME AS ward_name,
|
||||
inreg.mdtrt_id
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_encounter AS ambae ON ae.amb_encounter_id = ambae.
|
||||
ID
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = ambae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS ap ON ap.ID = ae.patient_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location AS ael ON ael.encounter_id = ae.ID
|
||||
AND ael.delete_flag = '0'
|
||||
AND ael.form_enum = #{formEnum}
|
||||
LEFT JOIN adm_location AS al ON al.ID = ael.location_id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS aper ON aper.ID = ae.registrar_id
|
||||
AND aper.delete_flag = '0'
|
||||
LEFT JOIN yb_inpatient_reg AS inreg ON inreg.ipt_no = ae.bus_no
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{encounterClass}
|
||||
) AS ihri
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getDiagnosisList" resultType="com.openhis.web.ybmanage.dto.EncounterDiagnosisDto">
|
||||
SELECT
|
||||
endi.id,
|
||||
endi.encounter_id,
|
||||
endi.condition_id,
|
||||
endi.ipt_dise_crsp,
|
||||
endi.ipt_dise_type_code,
|
||||
endi.adm_dise_cond_code,
|
||||
endi.med_type_code,
|
||||
endi.maindise_flag,
|
||||
endi.high_dise_evid_flag,
|
||||
endi.diag_srt_no,
|
||||
endi.syndrome_group_no,
|
||||
endi.tcm_flag,
|
||||
endi.diagnosis_desc,
|
||||
condef.type_code,
|
||||
condef.yb_no,
|
||||
condef.name
|
||||
FROM
|
||||
adm_encounter_diagnosis endi
|
||||
LEFT JOIN cli_condition con ON endi.condition_id = con.id
|
||||
LEFT JOIN cli_condition_definition condef ON con.definition_id = condef."id"
|
||||
WHERE
|
||||
endi.encounter_id = #{encounterId}
|
||||
AND endi.delete_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user