提交merge1.3
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>
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
ii.min_unit_code,
|
||||
ii.part_percent,
|
||||
ii.approval_number,
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
ii.item_id,
|
||||
>>>>>>> v1.3
|
||||
ii.dose_form_code,
|
||||
ii.total_volume,
|
||||
ii.sale_price,
|
||||
@@ -36,6 +40,7 @@
|
||||
ii.location_name,
|
||||
ii.location_store_name,
|
||||
ii.supplier_name
|
||||
<<<<<<< HEAD
|
||||
FROM (SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
@@ -320,5 +325,389 @@
|
||||
LEFT JOIN sys_dict_data sdd5 ON ii.med_category_code = sdd5.dict_value AND sdd5.dict_type = 'med_category_code'
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.py_str
|
||||
=======
|
||||
FROM (
|
||||
(SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table,
|
||||
mmd."name" AS item_name,
|
||||
mmd.bus_no,
|
||||
NULL AS dev_category_code,
|
||||
mmd.category_code AS med_category_code,
|
||||
mmd.chrgitm_lv,
|
||||
mmd.manufacturer_text,
|
||||
mmd.yb_no,
|
||||
mmd.wb_str,
|
||||
mmd.py_str,
|
||||
mmd.unit_code,
|
||||
mmd.min_unit_code,
|
||||
mmd.part_percent,
|
||||
mmd.approval_number,
|
||||
mmd.id AS item_id,
|
||||
mm.dose_form_code,
|
||||
mm.total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{medMedicationDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0'
|
||||
ORDER BY wii.py_str)
|
||||
UNION
|
||||
(SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table,
|
||||
add2."name" AS item_name,
|
||||
add2.bus_no,
|
||||
add2.category_code AS dev_category_code,
|
||||
NULL AS med_category_code,
|
||||
add2.chrgitm_lv,
|
||||
add2.manufacturer_text,
|
||||
add2.yb_no,
|
||||
add2.wb_str,
|
||||
add2.py_str,
|
||||
add2.unit_code,
|
||||
add2.min_unit_code,
|
||||
add2.part_percent,
|
||||
add2.approval_number,
|
||||
add2.id AS item_id,
|
||||
NULL AS dose_form_code,
|
||||
add2.size AS total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wii.item_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{admDeviceDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0'
|
||||
ORDER BY wii.py_str)
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getProductDetailPageAndTranslateField"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
SELECT *
|
||||
FROM (SELECT DISTINCT ii.inventory_id,
|
||||
ii.production_date,
|
||||
ii.expiration_date,
|
||||
ii.remaining_days,
|
||||
ii.inventory_status_enum,
|
||||
ii.location_id,
|
||||
ii.location_store_id,
|
||||
ii.lot_number,
|
||||
ii.quantity,
|
||||
ii.supplier_id,
|
||||
ii.item_table,
|
||||
ii.item_name,
|
||||
ii.bus_no,
|
||||
ii.dev_category_code,
|
||||
ii.med_category_code,
|
||||
ii.chrgitm_lv,
|
||||
ii.manufacturer_text,
|
||||
ii.yb_no,
|
||||
ii.wb_str,
|
||||
ii.py_str,
|
||||
ii.unit_code,
|
||||
ii.min_unit_code,
|
||||
ii.part_percent,
|
||||
ii.approval_number,
|
||||
ii.dose_form_code,
|
||||
ii.total_volume,
|
||||
ii.sale_price,
|
||||
ii.charge_item_def_id,
|
||||
ii.purchase_price,
|
||||
ii.location_name,
|
||||
ii.location_store_name,
|
||||
ii.supplier_name,
|
||||
sdd.dict_label AS unitCode_dictText,
|
||||
sdd2.dict_label AS minUnitCode_dictText,
|
||||
sdd3.dict_label AS devCategoryCode_dictText,
|
||||
sdd4.dict_label AS doseFormCode_dictText,
|
||||
sdd5.dict_label AS medCategoryCode_dictText,
|
||||
ROW_NUMBER() OVER (PARTITION BY ii.inventory_id ORDER BY ii.inventory_id) as rn
|
||||
FROM (SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table,
|
||||
mmd."name" AS item_name,
|
||||
mmd.bus_no,
|
||||
NULL AS dev_category_code,
|
||||
mmd.category_code AS med_category_code,
|
||||
mmd.chrgitm_lv,
|
||||
mmd.manufacturer_text,
|
||||
mmd.yb_no,
|
||||
mmd.wb_str,
|
||||
mmd.py_str,
|
||||
mmd.unit_code,
|
||||
mmd.min_unit_code,
|
||||
mmd.part_percent,
|
||||
mmd.approval_number,
|
||||
mm.dose_form_code,
|
||||
mm.total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{medMedicationDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0'
|
||||
UNION
|
||||
SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table,
|
||||
add2."name" AS item_name,
|
||||
add2.bus_no,
|
||||
add2.category_code AS dev_category_code,
|
||||
NULL AS med_category_code,
|
||||
add2.chrgitm_lv,
|
||||
add2.manufacturer_text,
|
||||
add2.yb_no,
|
||||
add2.wb_str,
|
||||
add2.py_str,
|
||||
add2.unit_code,
|
||||
add2.min_unit_code,
|
||||
add2.part_percent,
|
||||
add2.approval_number,
|
||||
NULL AS dose_form_code,
|
||||
add2.size AS total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wii.item_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{admDeviceDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0') AS ii
|
||||
LEFT JOIN sys_dict_data sdd ON ii.unit_code = sdd.dict_value AND sdd.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd2
|
||||
ON ii.min_unit_code = sdd2.dict_value AND sdd2.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd3
|
||||
ON ii.dev_category_code = sdd3.dict_value AND sdd3.dict_type = 'device_category_code'
|
||||
LEFT JOIN sys_dict_data sdd4
|
||||
ON ii.dose_form_code = sdd4.dict_value AND sdd4.dict_type = 'dose_form_code'
|
||||
LEFT JOIN sys_dict_data sdd5
|
||||
ON ii.med_category_code = sdd5.dict_value AND sdd5.dict_type = 'med_category_code'
|
||||
${ew.customSqlSegment}) AS final_data
|
||||
WHERE rn = 1
|
||||
ORDER BY py_str
|
||||
</select>
|
||||
<select id="selectProductDetailsBackupPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
SELECT ii.med_category_code,
|
||||
ii.dev_category_code,
|
||||
ii.item_name,
|
||||
ii.inventory_status_enum,
|
||||
ii.supplier_id,
|
||||
ii.description_text,
|
||||
ii.unit_code,
|
||||
ii.quantity,
|
||||
ii.number,
|
||||
ii.remainder,
|
||||
ii.lot_number,
|
||||
ii.production_date,
|
||||
ii.expiration_date,
|
||||
ii.location_store_id,
|
||||
ii.location_id,
|
||||
ii.trace_no,
|
||||
ii.packaging_levels,
|
||||
ii.item_table,
|
||||
ii.item_id,
|
||||
ii.purchase_price,
|
||||
ii.sale_price,
|
||||
ii.total_sale_price,
|
||||
ii.total_purchase_price,
|
||||
ii.bus_no,
|
||||
ii.min_unit_code,
|
||||
ii.part_percent,
|
||||
ii.supplier_name,
|
||||
ii.location_name,
|
||||
ii.location_store_name,
|
||||
ii.manufacturer_text,
|
||||
ii.chrgitm_lv,
|
||||
ii.total_volume,
|
||||
ii.py_str,
|
||||
ii.wb_str,
|
||||
ii.remaining_days,
|
||||
ii.inventory_id,
|
||||
ii.yb_no,
|
||||
ii.approval_number,
|
||||
ii.back_up_date
|
||||
FROM (SELECT tenant_id,
|
||||
med_category_code,
|
||||
dev_category_code,
|
||||
name AS item_name,
|
||||
inventory_status_enum,
|
||||
supplier_id,
|
||||
description_text,
|
||||
unit_code,
|
||||
quantity,
|
||||
number,
|
||||
remainder,
|
||||
lot_number,
|
||||
production_date,
|
||||
expiration_date,
|
||||
location_store_id,
|
||||
location_id,
|
||||
trace_no,
|
||||
packaging_levels,
|
||||
item_table,
|
||||
item_id,
|
||||
price AS purchase_price,
|
||||
sale_price,
|
||||
total_sale_price,
|
||||
total_price AS total_purchase_price,
|
||||
item_no AS bus_no,
|
||||
min_unit_code,
|
||||
part_percent,
|
||||
supplier_name,
|
||||
location_name,
|
||||
location_store_name,
|
||||
manufacturer_text,
|
||||
chrgitm_lv,
|
||||
total_volume,
|
||||
py_str,
|
||||
wb_str,
|
||||
remaining_days,
|
||||
inventory_id,
|
||||
yb_no,
|
||||
approval_number,
|
||||
create_time AS back_up_date
|
||||
FROM doc_inventory_item_static
|
||||
WHERE delete_flag = '0'
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
>>>>>>> v1.3
|
||||
</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, -- 包装单位
|
||||
|
||||
@@ -17,16 +17,18 @@
|
||||
T2.purpose_type_enum,
|
||||
T2.category_enum,
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
WHEN EXISTS(
|
||||
SELECT 1
|
||||
FROM wor_supply_request AS T3
|
||||
WHERE T3.original_bus_no = T2.supply_bus_no
|
||||
AND T3.delete_flag = '0'
|
||||
) THEN 1
|
||||
ELSE 0
|
||||
END AS return_status, --退库状态
|
||||
T2.tenant_id
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
END AS return_status, --退库状态
|
||||
T2.tenant_id,
|
||||
T2.purpose_location_id,
|
||||
T2.total_amount
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.supplier_id,
|
||||
@@ -38,7 +40,13 @@
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id,
|
||||
<<<<<<< HEAD
|
||||
T1.category_enum
|
||||
=======
|
||||
T1.category_enum,
|
||||
T1.purpose_location_id,
|
||||
sum(T1.total_price) AS total_amount
|
||||
>>>>>>> v1.3
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE type_enum = #{purchaseInventory}
|
||||
AND T1.delete_flag = '0'
|
||||
@@ -53,7 +61,12 @@
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id,
|
||||
<<<<<<< HEAD
|
||||
T1.category_enum
|
||||
=======
|
||||
T1.category_enum,
|
||||
T1.purpose_location_id
|
||||
>>>>>>> v1.3
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
@@ -74,24 +87,37 @@
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2.part_percent,
|
||||
T2.manufacturer_text,
|
||||
T3.total_volume,
|
||||
<<<<<<< HEAD
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
T6."id" AS purpose_location_id,
|
||||
T7."name" AS purpose_location_store_name,
|
||||
T1.supplier_id AS supplierId,
|
||||
T10."name" AS supplier_name,
|
||||
=======
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
T6."id" AS purpose_location_id,
|
||||
T7."name" AS purpose_location_store_name,
|
||||
>>>>>>> v1.3
|
||||
T1.occurrence_time,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
<<<<<<< HEAD
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
=======
|
||||
AND T9.location_id = T1.purpose_location_id) AS total_quantity,
|
||||
T10."name" AS supplier_name,
|
||||
sdt.dict_label AS measurementUnitCode_dictText
|
||||
>>>>>>> v1.3
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
@@ -106,7 +132,11 @@
|
||||
ON T1.purpose_location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
<<<<<<< HEAD
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
=======
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
>>>>>>> v1.3
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
@@ -115,6 +145,11 @@
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
LEFT JOIN sys_dict_data sdt
|
||||
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
|
||||
>>>>>>> v1.3
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
@@ -133,10 +168,11 @@
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8.part_percent,
|
||||
T8.manufacturer_text,
|
||||
<<<<<<< HEAD
|
||||
T8."size" AS total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
@@ -144,10 +180,18 @@
|
||||
T7."name" AS purpose_location_store_name,
|
||||
T1.supplier_id AS supplierId,
|
||||
T10."name" AS supplier_name,
|
||||
=======
|
||||
T8."size" AS total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
T6."id" AS purpose_location_id,
|
||||
T7."name" AS purpose_location_store_name,
|
||||
>>>>>>> v1.3
|
||||
T1.occurrence_time,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
<<<<<<< HEAD
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
@@ -163,14 +207,40 @@
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
=======
|
||||
AND T9.location_id = T1.purpose_location_id) AS total_quantity,
|
||||
T10."name" AS supplier_name,
|
||||
sdt.dict_label AS measurementUnitCode_dictText
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
ON T1.item_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
>>>>>>> v1.3
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
<<<<<<< HEAD
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
=======
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN sys_dict_data sdt
|
||||
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
|
||||
>>>>>>> v1.3
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
@@ -214,11 +284,19 @@
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
<<<<<<< HEAD
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
=======
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
>>>>>>> v1.3
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
@@ -265,11 +343,19 @@
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
<<<<<<< HEAD
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
=======
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
>>>>>>> v1.3
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<mapper namespace="com.openhis.web.inventorymanage.mapper.ReceiptApprovalMapper">
|
||||
|
||||
<select id="selectSupplyDetail" resultType="com.openhis.web.inventorymanage.dto.SupplyItemDetailDto">
|
||||
SELECT T1.id AS supply_id,
|
||||
SELECT T1.id AS supply_id,
|
||||
T1.item_table,
|
||||
T1.item_id,
|
||||
T1.item_quantity,
|
||||
T1.total_quantity,
|
||||
T1.unit_code AS item_unit,
|
||||
T1.unit_code AS item_unit,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T1.approver_id,
|
||||
@@ -26,9 +26,9 @@
|
||||
T1.bus_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.id AS service_id,
|
||||
T1.id AS service_id,
|
||||
T2."name",
|
||||
T2.bus_no AS item_bus_no,
|
||||
T2.bus_no AS item_bus_no,
|
||||
T2.py_str,
|
||||
T2.wb_str,
|
||||
T2.unit_code,
|
||||
@@ -39,31 +39,31 @@
|
||||
T2.rx_flag,
|
||||
T2.approval_number,
|
||||
T2.manufacturer_text,
|
||||
T6."name" AS supplier_name,
|
||||
T7."name" AS practitioner_name
|
||||
T6."name" AS supplier_name,
|
||||
T7."name" AS practitioner_name
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN wor_supply_delivery AS T5
|
||||
ON T1.id = T5.request_id
|
||||
AND T5.delete_flag = '0'
|
||||
INNER JOIN med_medication_definition AS T2
|
||||
ON T2.id = T1.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T6
|
||||
ON T1.supplier_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7
|
||||
ON T1.practitioner_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_supply_delivery AS T5
|
||||
ON T1.id = T5.request_id
|
||||
AND T5.delete_flag = '0'
|
||||
INNER JOIN med_medication_definition AS T2
|
||||
ON T2.id = T1.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier AS T6
|
||||
ON T1.supplier_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7
|
||||
ON T1.practitioner_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T5.status_enum = #{completed}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T5.status_enum = #{completed}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id AS supply_id,
|
||||
SELECT T1.id AS supply_id,
|
||||
T1.item_table,
|
||||
T1.item_id,
|
||||
T1.item_quantity,
|
||||
T1.total_quantity,
|
||||
T1.unit_code AS item_unit,
|
||||
T1.unit_code AS item_unit,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T1.approver_id,
|
||||
@@ -81,9 +81,9 @@
|
||||
T1.bus_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.id AS service_id,
|
||||
T1.id AS service_id,
|
||||
T3."name",
|
||||
T3.bus_no AS item_bus_no,
|
||||
T3.bus_no AS item_bus_no,
|
||||
T3.py_str,
|
||||
T3.wb_str,
|
||||
T3.unit_code,
|
||||
@@ -94,19 +94,19 @@
|
||||
T3.rx_flag,
|
||||
T3.approval_number,
|
||||
T3.manufacturer_text,
|
||||
T6."name" AS supplier_name,
|
||||
T7."name" AS practitioner_name
|
||||
T6."name" AS supplier_name,
|
||||
T7."name" AS practitioner_name
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN wor_supply_delivery AS T5
|
||||
ON T1.id = T5.request_id
|
||||
INNER JOIN adm_device_definition AS T3
|
||||
ON T3.id = T1.item_id
|
||||
LEFT JOIN adm_supplier AS T6
|
||||
ON T1.supplier_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7
|
||||
ON T1.practitioner_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_supply_delivery AS T5
|
||||
ON T1.id = T5.request_id
|
||||
INNER JOIN adm_device_definition AS T3
|
||||
ON T3.id = T1.item_id
|
||||
LEFT JOIN adm_supplier AS T6
|
||||
ON T1.supplier_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7
|
||||
ON T1.practitioner_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T5.status_enum = #{completed}
|
||||
AND T1.delete_flag = '0'
|
||||
@@ -114,28 +114,28 @@
|
||||
|
||||
<select id="selectChargeDetail" resultType="com.openhis.web.inventorymanage.dto.ItemChargeDetailDto">
|
||||
SELECT T1.id AS definition_id,
|
||||
T1.instance_id,
|
||||
T1.charge_name,
|
||||
T1.price AS sell_price,
|
||||
T2.condition_code,
|
||||
T2.condition_value,
|
||||
T2.amount AS unit_price,
|
||||
T3.unit_code,
|
||||
T3.min_unit_code
|
||||
T1.instance_id,
|
||||
T1.charge_name,
|
||||
T1.price AS sell_price,
|
||||
T2.condition_code,
|
||||
T2.condition_value,
|
||||
T2.amount AS unit_price,
|
||||
T3.unit_code,
|
||||
T3.min_unit_code
|
||||
FROM adm_charge_item_definition AS T1
|
||||
LEFT JOIN adm_charge_item_def_detail AS T2
|
||||
ON T1.id = T2.definition_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T3
|
||||
ON T1.instance_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T4
|
||||
ON T1.instance_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.instance_id IN
|
||||
<foreach collection="itemIdList" item="itemId" separator="," open="(" close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
LEFT JOIN adm_charge_item_def_detail AS T2
|
||||
ON T1.id = T2.definition_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T3
|
||||
ON T1.instance_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T4
|
||||
ON T1.instance_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.instance_id IN
|
||||
<foreach collection="itemIdList" item="itemId" separator="," open="(" close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="selectReceiptPage" resultType="com.openhis.web.inventorymanage.dto.ReceiptPageDto">
|
||||
SELECT T2.supply_bus_no,
|
||||
@@ -147,6 +147,7 @@
|
||||
T2.apply_time,
|
||||
T2.practitioner_id,
|
||||
T2.tenant_id,
|
||||
<<<<<<< HEAD
|
||||
T2.supplier_id,
|
||||
T2.purpose_location_id,
|
||||
T2.total_amount
|
||||
@@ -187,6 +188,50 @@
|
||||
T1.supplier_id,
|
||||
T1.purpose_location_id
|
||||
ORDER BY T1.apply_time desc
|
||||
=======
|
||||
T2.purpose_location_id,
|
||||
CASE
|
||||
WHEN T2.type_enum IN (#{purchaseInventory}, #{productReturn}) THEN T2.supplier_id
|
||||
ELSE NULL END AS supplier_id,
|
||||
T2.total_amount
|
||||
FROM (
|
||||
SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.purpose_location_id,
|
||||
MAX(CASE
|
||||
WHEN T1.type_enum IN (#{purchaseInventory}, #{productReturn}) THEN T1.supplier_id
|
||||
ELSE NULL END) AS supplier_id,
|
||||
SUM(T1.total_price) AS total_amount
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_supplier T3
|
||||
ON T3.id = T1.supplier_id AND T3.delete_flag = '0' AND T3.tenant_id = 1
|
||||
LEFT JOIN adm_location T4
|
||||
ON T4.id = T1.purpose_location_id AND T4.delete_flag = '0' AND T4.tenant_id = 1
|
||||
WHERE T1.status_enum IN (#{approval}, #{agree}, #{reject})
|
||||
AND T1.type_enum IN
|
||||
(#{productBatchTransfer}, #{productTransfer}, #{productReturn}, #{productStocktaking},
|
||||
#{productBatchStocktaking}, #{purchaseInventory}, #{lossReportForm}, #{issueInventory},
|
||||
#{returnIssue})
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.purpose_location_id
|
||||
ORDER BY T1.apply_time desc
|
||||
>>>>>>> v1.3
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
@@ -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>
|
||||
@@ -77,7 +77,10 @@
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
mmr.prescription_no,
|
||||
<<<<<<< HEAD
|
||||
mmr.prescription_no,
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
mmr.method_code,
|
||||
mmr.rate_code,
|
||||
mmr.dose,
|
||||
@@ -147,4 +150,97 @@
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectEncounterPatientPrescriptionWithPrice"
|
||||
resultType="com.openhis.web.chargemanage.dto.EncounterPatientPrescriptionDto">
|
||||
SELECT final_res.*,
|
||||
(SELECT SUM(amount)
|
||||
FROM fin_payment_rec_detail
|
||||
WHERE reconciliation_id = final_res.payment_id
|
||||
AND pay_enum IN (#{self}, #{selfVx}, #{selfAli}, #{selfUnion})) AS received_amount,
|
||||
(SELECT amount
|
||||
FROM fin_payment_rec_detail
|
||||
WHERE reconciliation_id = final_res.payment_id
|
||||
AND pay_enum = #{discountCode}) AS discount_amount
|
||||
FROM (SELECT T1.encounter_id,
|
||||
T1.id,
|
||||
T1.patient_id,
|
||||
T1.context_enum,
|
||||
T1.status_enum,
|
||||
T1.requesting_org_id,
|
||||
T1.quantity_value,
|
||||
T1.quantity_unit,
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
mmr.prescription_no,
|
||||
mmr.method_code,
|
||||
mmr.rate_code,
|
||||
mmr.dose,
|
||||
mmr.dose_unit_code,
|
||||
T1.bus_no,
|
||||
T1.entered_date,
|
||||
T1.account_id,
|
||||
T1.service_table,
|
||||
T1.service_id,
|
||||
T5.enterer_id,
|
||||
T5.bill_date,
|
||||
T5.id AS payment_id,
|
||||
T6.contract_no,
|
||||
T7.med_type_code,
|
||||
T8.contract_name,
|
||||
CASE
|
||||
WHEN T1.context_enum = #{activity} THEN T2."name"
|
||||
WHEN T1.context_enum = #{medication} THEN T3."name"
|
||||
WHEN T1.context_enum = #{device} THEN T4."name"
|
||||
END AS item_name,
|
||||
CASE
|
||||
WHEN T1.context_enum = #{activity} THEN T2.yb_no
|
||||
WHEN T1.context_enum = #{medication} THEN T3.yb_no
|
||||
WHEN T1.context_enum = #{device} THEN T4.yb_no
|
||||
END AS yb_no,
|
||||
CASE
|
||||
WHEN T1.context_enum = #{activity} THEN T2.id
|
||||
WHEN T1.context_enum = #{medication} THEN T3.id
|
||||
WHEN T1.context_enum = #{device} THEN T4.id
|
||||
END AS item_id,
|
||||
T5.tendered_amount AS receivable_amount
|
||||
FROM adm_charge_item AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T1.context_enum = #{activity}
|
||||
AND T1.product_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T3
|
||||
ON T1.context_enum = #{medication}
|
||||
AND T1.product_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T4
|
||||
ON T1.context_enum = #{device}
|
||||
AND T1.product_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN fin_payment_reconciliation AS T5
|
||||
ON T1.id::TEXT = ANY(string_to_array(T5.charge_item_ids, ','))
|
||||
AND T5.delete_flag = '0'
|
||||
AND T5.status_enum = 1
|
||||
LEFT JOIN adm_account AS T6
|
||||
ON T1.account_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_diagnosis AS T7
|
||||
ON T1.encounter_id = T7.encounter_id
|
||||
AND T1.condition_id = T7.condition_id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN fin_contract AS T8
|
||||
ON T6.contract_no = T8.bus_no
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN med_medication_request AS mmr ON mmr.id = T1.service_id AND mmr.delete_flag = '0'
|
||||
WHERE T1.encounter_id = #{encounterId}
|
||||
AND T1.status_enum IN (#{planned}
|
||||
, #{billable}
|
||||
, #{billed}
|
||||
, #{refunding}
|
||||
, #{refunded}
|
||||
, #{partRefund})
|
||||
AND T1.context_enum != #{register}
|
||||
AND T1.delete_flag = '0') final_res
|
||||
</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,
|
||||
|
||||
@@ -10,14 +10,16 @@
|
||||
T3.NAME,
|
||||
T3.gender_enum,
|
||||
T3.py_str,
|
||||
T3.wb_str
|
||||
T3.wb_str,
|
||||
T3.dr_profttl_code
|
||||
FROM (
|
||||
SELECT T1.tenant_id,
|
||||
T1.ID,
|
||||
T1.NAME,
|
||||
T1.gender_enum,
|
||||
T1.py_str,
|
||||
T1.wb_str
|
||||
T1.wb_str,
|
||||
T1.dr_profttl_code
|
||||
FROM adm_practitioner AS T1
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND EXISTS(SELECT 1
|
||||
@@ -93,6 +95,7 @@
|
||||
T13.charge_item_ids,
|
||||
T13.id AS payment_id,
|
||||
ai.picture_url AS picture_url,
|
||||
<<<<<<< HEAD
|
||||
T8.birth_date AS birth_date,
|
||||
T14.create_time AS return_date,
|
||||
T14.return_reason AS return_reason,
|
||||
@@ -101,6 +104,9 @@
|
||||
T14.display_amount AS refund_amount,
|
||||
T6.contract_no AS contract_no,
|
||||
T16.refund_method AS refund_method
|
||||
=======
|
||||
T8.birth_date AS birth_date
|
||||
>>>>>>> v1.3
|
||||
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'
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
<result property="prescriptionNo" column="prescription_no"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="sortNumber" column="sort_number"/>
|
||||
<result property="chrgitmLv" column="chrgitm_lv"/>
|
||||
<result property="chineseHerbsDoseQuantity" column="chinese_herbs_dose_quantity"/>
|
||||
<result property="basicFlag" column="basic_flag"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<resultMap id="TreatmentPrintInfoMap" type="com.openhis.web.common.dto.AdvicePrintInfoDto">
|
||||
@@ -265,7 +268,7 @@
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="objLocationId != null and objLocationId != ''">
|
||||
AND T1.location_id IN (#{orgLocationId}, #{objLocationId})
|
||||
AND T1.location_id IN (#{orgLocationId})
|
||||
</when>
|
||||
<otherwise>
|
||||
AND T1.location_id = #{orgLocationId}
|
||||
@@ -332,6 +335,7 @@
|
||||
|
||||
<select id="selectPrescriptionPrintInfo" resultMap="PrescriptionPrintInfoMap">
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
<<<<<<< HEAD
|
||||
mmr.prescription_no ,
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
@@ -358,6 +362,39 @@
|
||||
mmr.dose_unit_code,
|
||||
mmr.sort_number,
|
||||
mmr.group_id
|
||||
=======
|
||||
mmr.prescription_no ,
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
ap.birth_date ,
|
||||
ae.bus_no AS encounter_no,
|
||||
ao."name" AS department_name,
|
||||
ccd."name" AS condition_name,
|
||||
ap.phone ,
|
||||
mmr.req_authored_time AS req_time,
|
||||
ap2."name" AS doctor_name,
|
||||
ap3."name" AS dispense_doctor_name,
|
||||
ap4."name" AS charge_doctor_name,
|
||||
ap5."name" AS preparer_doctor_name,
|
||||
mmd2."name" AS item_name,
|
||||
mm.total_volume ,
|
||||
mmr.dose ,
|
||||
mmr.method_code ,
|
||||
aci.unit_price ,
|
||||
aci.total_price ,
|
||||
mmr.quantity,
|
||||
mmr.rate_code ,
|
||||
mmr.unit_code ,
|
||||
mmr.dose_unit_code,
|
||||
mmr.sort_number,
|
||||
mmr.group_id,
|
||||
mmd2.chrgitm_lv,
|
||||
mmr.chinese_herbs_dose_quantity,
|
||||
ap.address,
|
||||
ae.patient_id,
|
||||
mmd2.basic_flag
|
||||
>>>>>>> v1.3
|
||||
FROM med_medication_request mmr
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmd.med_req_id = mmr.id
|
||||
@@ -413,6 +450,7 @@
|
||||
</select>
|
||||
<select id="selectTreatmentPrintInfo" resultMap="TreatmentPrintInfoMap">
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
<<<<<<< HEAD
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
@@ -453,6 +491,51 @@
|
||||
LEFT JOIN adm_practitioner ap2
|
||||
ON ap2.id = wdr.requester_id
|
||||
AND ap2.delete_flag = '0'
|
||||
=======
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
ap.birth_date ,
|
||||
ae.bus_no AS encounter_no,
|
||||
ao."name" AS department_name,
|
||||
ap.phone ,
|
||||
ae.reception_time AS req_time,
|
||||
ap2."name" AS doctor_name,
|
||||
aci.unit_price ,
|
||||
aci.total_price,
|
||||
wdr.quantity ,
|
||||
wdr.unit_code ,
|
||||
add2."name" AS item_name,
|
||||
ap.address,
|
||||
ae.patient_id,
|
||||
add2.chrgitm_lv
|
||||
FROM wor_device_request wdr
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wdr.device_def_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = wdr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON wdr.encounter_id = ae.id
|
||||
AND ae.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
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.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 adm_practitioner ap2
|
||||
ON ap2.id = wdr.requester_id
|
||||
AND ap2.delete_flag = '0'
|
||||
>>>>>>> v1.3
|
||||
WHERE wdr.delete_flag = '0'
|
||||
AND wdr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
@@ -460,6 +543,7 @@
|
||||
</foreach>
|
||||
UNION
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
<<<<<<< HEAD
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
@@ -500,6 +584,51 @@
|
||||
LEFT JOIN adm_practitioner ap2
|
||||
ON ap2.id = wsr.requester_id
|
||||
AND ap2.delete_flag = '0'
|
||||
=======
|
||||
fc.contract_name ,
|
||||
ap."name" AS patient_name,
|
||||
ap.gender_enum ,
|
||||
ap.birth_date ,
|
||||
ae.bus_no AS encounter_no,
|
||||
ao."name" AS department_name,
|
||||
ap.phone ,
|
||||
ae.reception_time AS req_time,
|
||||
ap2."name" AS doctor_name,
|
||||
aci.unit_price ,
|
||||
aci.total_price,
|
||||
wsr.quantity ,
|
||||
wsr.unit_code ,
|
||||
wad."name" AS item_name,
|
||||
ap.address,
|
||||
ae.patient_id,
|
||||
wad.chrgitm_lv
|
||||
FROM wor_service_request wsr
|
||||
LEFT JOIN wor_activity_definition wad
|
||||
ON wsr.activity_id = wad.id
|
||||
AND wad.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = wsr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON wsr.encounter_id = ae.id
|
||||
AND ae.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
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.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 adm_practitioner ap2
|
||||
ON ap2.id = wsr.requester_id
|
||||
AND ap2.delete_flag = '0'
|
||||
>>>>>>> v1.3
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
@@ -522,4 +651,72 @@
|
||||
AND status_enum = #{statusEnum}
|
||||
</select>
|
||||
|
||||
<select id="getPractitionerSignature" resultType="string">
|
||||
SELECT signature
|
||||
FROM adm_practitioner
|
||||
WHERE id = #{practitionerId}
|
||||
</select>
|
||||
|
||||
<select id="getActivityDefinition" resultType="com.openhis.web.common.dto.ActivityDefinitionDto">
|
||||
SELECT ID AS
|
||||
activity_definition_id,
|
||||
NAME AS activity_definition_name
|
||||
FROM wor_activity_definition
|
||||
WHERE delete_flag = '0'
|
||||
AND status_enum = #{statusEnum}
|
||||
</select>
|
||||
<select id="selectMedicineInventoryDetail"
|
||||
resultType="com.openhis.web.pharmacymanage.dto.InventoryDetailDto">
|
||||
SELECT wii.expiration_date ,
|
||||
wii.location_id ,
|
||||
wii.item_id ,
|
||||
wii.lot_number AS inventory_lot_number,
|
||||
wii.unit_code AS inventory_unit_code,
|
||||
wii.quantity AS inventory_quantity,
|
||||
mmd.part_percent ,
|
||||
mmd.unit_code AS max_unit_code
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
WHERE wii.delete_flag = '0'
|
||||
AND wii.item_id IN
|
||||
<foreach item="itemId" collection="medicationIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
AND wii.location_id IN
|
||||
<foreach item="locationId" collection="locationIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{locationId}
|
||||
</foreach>
|
||||
AND wii.inventory_status_enum = #{active}
|
||||
</select>
|
||||
<select id="selectDeviceInventoryDetail"
|
||||
resultType="com.openhis.web.pharmacymanage.dto.InventoryDetailDto">
|
||||
SELECT wii.expiration_date ,
|
||||
wii.location_id ,
|
||||
wii.item_id ,
|
||||
wii.lot_number AS inventory_lot_number,
|
||||
wii.unit_code AS inventory_unit_code,
|
||||
wii.quantity AS inventory_quantity,
|
||||
add2.part_percent ,
|
||||
add2.unit_code AS max_unit_code
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wii.item_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
WHERE wii.delete_flag = '0'
|
||||
AND wii.item_id IN
|
||||
<foreach item="itemId" collection="deviceIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
AND wii.location_id IN
|
||||
<foreach item="locationId" collection="locationIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{locationId}
|
||||
</foreach>
|
||||
AND wii.inventory_status_enum = #{active}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -5,6 +5,39 @@
|
||||
resultType="com.openhis.web.datadictionary.dto.DiagnosisTreatmentDto">
|
||||
|
||||
SELECT
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
T3.id,
|
||||
T3.category_code,
|
||||
T3.bus_no,
|
||||
T3.name,
|
||||
T3.py_str,
|
||||
T3.wb_str,
|
||||
T3.type_enum,
|
||||
T3.permitted_unit_code,
|
||||
T3.org_id,
|
||||
T3.location_id,
|
||||
T3.yb_flag,
|
||||
T3.yb_no,
|
||||
T3.yb_match_flag,
|
||||
T3.status_enum,
|
||||
T3.body_site_code,
|
||||
T3.specimen_code,
|
||||
T3.description_text,
|
||||
T3.rule_id,
|
||||
T3.tenant_id,
|
||||
T3.item_type_code,
|
||||
T3.yb_type,
|
||||
T3.price_code,
|
||||
T3.retail_price,
|
||||
T3.maximum_retail_price,
|
||||
T3.chrgitm_lv,--医保等级
|
||||
T3.children_json,--子项json
|
||||
T3.pricing_flag--划价标记
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
>>>>>>> v1.3
|
||||
T1.id,
|
||||
T1.category_code,
|
||||
T1.bus_no,
|
||||
@@ -27,6 +60,7 @@
|
||||
T1.chrgitm_lv,--医保等级
|
||||
T2.type_code as item_type_code,
|
||||
T2.yb_type,
|
||||
T2.price_code,
|
||||
T2.price as retail_price,--零售价
|
||||
T4.amount as maximum_retail_price,--最高零售价
|
||||
T1.children_json,--子项json
|
||||
@@ -76,6 +110,7 @@
|
||||
T1.tenant_id,
|
||||
T2.type_code as item_type_code,
|
||||
T2.yb_type,
|
||||
T2.price_code,
|
||||
T2.price as retail_price,--零售价,
|
||||
( SELECT T4.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
|
||||
@@ -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,12 @@
|
||||
abi.position_id,
|
||||
abi.restricted_flag,
|
||||
abi.restricted_scope,
|
||||
<<<<<<< HEAD
|
||||
abi.dosage_instruction
|
||||
=======
|
||||
abi.dosage_instruction,
|
||||
abi.chrgitm_lv
|
||||
>>>>>>> v1.3
|
||||
from (
|
||||
<if test="adviceTypes == null or adviceTypes.contains(1)">
|
||||
(SELECT
|
||||
@@ -82,7 +87,12 @@
|
||||
T6.def_location_id AS position_id,
|
||||
t1.restricted_flag AS restricted_flag,
|
||||
t1.restricted_scope AS restricted_scope,
|
||||
<<<<<<< HEAD
|
||||
T1.dosage_instruction AS dosage_instruction
|
||||
=======
|
||||
T1.dosage_instruction AS dosage_instruction,
|
||||
T1.chrgitm_lv as chrgitm_lv
|
||||
>>>>>>> v1.3
|
||||
FROM med_medication_definition AS t1
|
||||
INNER JOIN med_medication AS T2 ON T2.medication_def_id = T1.ID
|
||||
AND T2.delete_flag = '0' AND T2.status_enum = #{statusEnum}
|
||||
@@ -93,7 +103,7 @@
|
||||
AND T5.delete_flag = '0' AND T5.status_enum = #{statusEnum}
|
||||
LEFT JOIN adm_organization_location AS T6
|
||||
ON T6.distribution_category_code = T1.category_code
|
||||
AND T6.delete_flag = '0' AND T6.organization_id = #{organizationId} AND
|
||||
AND T6.delete_flag = '0' AND T6.item_code = '1' AND T6.organization_id = #{organizationId} AND
|
||||
(CURRENT_TIME :: time (6) BETWEEN T6.start_time AND T6.end_time)
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T2.status_enum = #{statusEnum}
|
||||
@@ -154,7 +164,12 @@
|
||||
T5.def_location_id AS position_id,
|
||||
0 AS restricted_flag,
|
||||
'' AS restricted_scope,
|
||||
<<<<<<< HEAD
|
||||
'' AS dosage_instruction
|
||||
=======
|
||||
'' AS dosage_instruction,
|
||||
T1.chrgitm_lv as chrgitm_lv
|
||||
>>>>>>> v1.3
|
||||
FROM adm_device_definition AS T1
|
||||
LEFT JOIN adm_supplier AS T2
|
||||
ON T2.ID = T1.supply_id
|
||||
@@ -162,7 +177,7 @@
|
||||
LEFT JOIN adm_charge_item_definition AS T4 ON T4.instance_id = T1.ID
|
||||
AND T4.delete_flag = '0' AND T4.status_enum = #{statusEnum}
|
||||
LEFT JOIN adm_organization_location AS T5 ON T5.distribution_category_code = T1.category_code
|
||||
AND T5.delete_flag = '0' AND T5.organization_id = #{organizationId} AND
|
||||
AND T5.delete_flag = '0' AND T5.item_code = '2' AND T5.organization_id = #{organizationId} AND
|
||||
(CURRENT_TIME :: time (6) BETWEEN T5.start_time AND T5.end_time)
|
||||
WHERE T1.delete_flag = '0'
|
||||
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
|
||||
@@ -220,7 +235,12 @@
|
||||
T3.organization_id AS position_id,
|
||||
0 AS restricted_flag,
|
||||
'' AS restricted_scope,
|
||||
<<<<<<< HEAD
|
||||
'' AS dosage_instruction
|
||||
=======
|
||||
'' AS dosage_instruction,
|
||||
T1.chrgitm_lv as chrgitm_lv
|
||||
>>>>>>> v1.3
|
||||
FROM wor_activity_definition AS T1
|
||||
LEFT JOIN adm_charge_item_definition AS T2
|
||||
ON T2.instance_id = T1.ID
|
||||
@@ -414,7 +434,8 @@
|
||||
T1.dispense_per_duration AS dispense_per_duration,
|
||||
T2.part_percent AS part_percent,
|
||||
ccd.name AS condition_definition_name,
|
||||
T1.sort_number AS sort_number
|
||||
T1.sort_number AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -433,7 +454,7 @@
|
||||
AND T1.patient_id = #{patientId} AND T1.encounter_id != #{encounterId}
|
||||
</if>
|
||||
AND T1.refund_medicine_id IS NULL
|
||||
ORDER BY T1.status_enum,T1.sort_number,T1.group_id)
|
||||
ORDER BY T1.status_enum,T1.sort_number)
|
||||
UNION ALL
|
||||
(SELECT 2 AS advice_type,
|
||||
T1.id AS request_id,
|
||||
@@ -464,7 +485,8 @@
|
||||
null AS dispense_per_duration,
|
||||
T2.part_percent AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
99 AS sort_number
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM wor_device_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -511,7 +533,8 @@
|
||||
null AS dispense_per_duration,
|
||||
1 AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
99 AS sort_number
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM wor_service_request AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T2.ID = T1.activity_id
|
||||
@@ -520,7 +543,10 @@
|
||||
T3.service_table = #{WOR_SERVICE_REQUEST}
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = T1.org_id AND ao.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<<<<<<< HEAD
|
||||
AND T1.based_on_table is null
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
AND T1.parent_id IS NULL
|
||||
AND T1.refund_service_id IS NULL
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
@@ -594,6 +620,33 @@
|
||||
AND tad.status_enum = #{status}
|
||||
AND tad.type_code = #{typeCode}
|
||||
AND tad.item_no = #{itemNo}
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
</select>
|
||||
|
||||
<select id="getProofAndTestHistory" resultType="com.openhis.web.doctorstation.dto.ProofAndTestHistoryDto">
|
||||
SELECT wsr.authored_time,
|
||||
aper.NAME AS requester
|
||||
FROM wor_service_request AS wsr
|
||||
LEFT JOIN adm_practitioner AS aper ON aper.ID = wsr.requester_id
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.status_enum = #{status}
|
||||
AND wsr.patient_id = #{patientId}
|
||||
AND wsr.activity_id = #{adviceDefinitionId}
|
||||
AND wsr.authored_time >= CURRENT_DATE - INTERVAL '30 days'
|
||||
</select>
|
||||
|
||||
<select id="getProofAndTestResult" resultType="com.openhis.web.doctorstation.dto.ProofAndTestResultDto">
|
||||
SELECT wsr.bus_no,
|
||||
wad.NAME advice_name
|
||||
FROM wor_service_request AS wsr
|
||||
LEFT JOIN wor_activity_definition AS wad ON wad.ID = wsr.activity_id
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.status_enum != #{status}
|
||||
AND wsr.encounter_id = #{encounterId}
|
||||
AND EXISTS ( SELECT 1 FROM wor_activity_definition AS wad WHERE wad.type_enum = #{typeEnum}
|
||||
AND wad.ID = wsr.activity_id )
|
||||
>>>>>>> v1.3
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -14,7 +14,6 @@
|
||||
T10.phone,
|
||||
T10.birth_date,
|
||||
T10.status_enum,
|
||||
T10.allergy_history_flag,
|
||||
T10.account_id,
|
||||
T10.type_code,
|
||||
T10.contract_name,
|
||||
@@ -49,11 +48,15 @@
|
||||
T1.create_time AS register_time,
|
||||
T1.reception_time AS reception_time,
|
||||
T1.organization_id AS org_id,
|
||||
<<<<<<< HEAD
|
||||
T8.bus_no AS bus_no,
|
||||
CASE
|
||||
WHEN T9.patient_id IS NOT NULL THEN 1
|
||||
ELSE 0
|
||||
END AS allergy_history_flag
|
||||
=======
|
||||
T8.bus_no AS bus_no
|
||||
>>>>>>> v1.3
|
||||
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'
|
||||
@@ -72,8 +75,6 @@
|
||||
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 cli_allergy_intolerance AS T9
|
||||
ON T1.patient_id = T9.patient_id AND T9.clinical_status_enum != #{ClinicalStatus} AND T9.delete_flag = '0'
|
||||
WHERE
|
||||
T1.delete_flag = '0'
|
||||
<!-- 当前登录账号ID 和 当前登录账号所属的科室ID 用于控制数据权限 -->
|
||||
@@ -115,7 +116,7 @@
|
||||
ap.birth_date AS birth_date,
|
||||
ap.gender_enum AS gender_enum,
|
||||
ccd.NAME AS condition_definition_name,
|
||||
mmr.create_time AS request_time,
|
||||
mmr.req_authored_time AS request_time,
|
||||
mmr.practitioner_id,
|
||||
aper.NAME AS practitioner_name,
|
||||
ae.organization_id,
|
||||
@@ -139,6 +140,7 @@
|
||||
mmr.delete_flag = '0'
|
||||
AND (mmr.prescription_no LIKE 'P%'
|
||||
OR mmr.prescription_no LIKE 'C%')
|
||||
-- AND mmr.status_enum = 3
|
||||
AND mmr.refund_medicine_id IS NULL
|
||||
ORDER BY
|
||||
mmr.prescription_no DESC) AS ppi
|
||||
@@ -149,7 +151,7 @@
|
||||
SELECT mmr.prescription_no,
|
||||
mmr.ID AS request_id,
|
||||
mmr.practitioner_id AS requester_id,
|
||||
mmr.create_time AS request_time,
|
||||
mmr.req_authored_time AS request_time,
|
||||
mmr.group_id AS group_id,
|
||||
mmd.NAME AS advice_name,
|
||||
mm.total_volume AS volume,
|
||||
@@ -190,4 +192,22 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getReceptionStatistics" resultType="com.openhis.web.doctorstation.dto.ReceptionStatisticsDto">
|
||||
SELECT aep.practitioner_id,
|
||||
aper.NAME AS practitioner_name,
|
||||
COUNT(1) AS reception_nums
|
||||
FROM adm_encounter_participant AS aep
|
||||
LEFT JOIN adm_practitioner AS aper ON aper.ID = aep.practitioner_id
|
||||
WHERE aep.delete_flag = '0'
|
||||
AND aep.type_code = #{typeCode}
|
||||
<if test="practitionerId != null">
|
||||
AND aep.practitioner_id = #{practitionerId}
|
||||
</if>
|
||||
AND aep.create_time >= #{startTime} ::timestamp
|
||||
AND aep.create_time <= #{endTime} ::timestamp
|
||||
GROUP BY aep.practitioner_id,
|
||||
aper.NAME
|
||||
ORDER BY reception_nums DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -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>
|
||||
@@ -239,7 +239,11 @@
|
||||
ON wsr.source_location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
<<<<<<< HEAD
|
||||
AND wsd.status_enum IN (#{inProgress}, #{completed})
|
||||
=======
|
||||
AND wsd.status_enum IN (#{preparation}, #{completed})
|
||||
>>>>>>> v1.3
|
||||
AND wsr.type_enum = #{summaryDispense}
|
||||
GROUP BY wsr.tenant_id,
|
||||
wsr.bus_no ,
|
||||
@@ -260,6 +264,11 @@
|
||||
mmd.unit_code ,
|
||||
mmd.min_unit_code ,
|
||||
mmd.part_percent ,
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
mmd.manufacturer_text,
|
||||
mmd.category_code,
|
||||
>>>>>>> v1.3
|
||||
mm.total_volume ,
|
||||
wsr.lot_number,
|
||||
wsr.item_quantity
|
||||
|
||||
@@ -2,5 +2,306 @@
|
||||
<!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.NurseBillingAppMapper">
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
<select id="getInNurseBillingPage"
|
||||
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.unit_price,
|
||||
ii.total_price
|
||||
FROM (
|
||||
( SELECT
|
||||
T1.encounter_id,
|
||||
T1.tenant_id,
|
||||
#{ worDeviceRequest } AS advice_table,
|
||||
T1.id AS request_id,
|
||||
T1.use_start_time AS start_time,
|
||||
T1.use_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,
|
||||
NULL AS performer_check_id,
|
||||
T2."name" AS advice_name,
|
||||
T2.id AS item_id,
|
||||
T2.SIZE AS volume,
|
||||
T1.lot_number 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,
|
||||
al1.id AS position_id,
|
||||
al1."name" AS position_name,
|
||||
NULL AS dispense_per_duration,
|
||||
T2.part_percent AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
2 AS therapy_enum,
|
||||
NULL AS sort_number,
|
||||
T1.quantity AS execute_num,
|
||||
NULL AS day_times,
|
||||
ae.bus_no,
|
||||
ap."name" AS patient_name,
|
||||
al."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,
|
||||
aci1.unit_price,
|
||||
aci1.total_price
|
||||
FROM
|
||||
wor_device_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T2 ON T2.id = T1.device_def_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci1 on aci1.service_id = T1.id
|
||||
AND aci1.delete_flag = '0'
|
||||
LEFT JOIN adm_location al1 ON T1.perform_location = al1.id
|
||||
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 = 1
|
||||
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 = 2
|
||||
AND ael.form_enum = 8
|
||||
LEFT JOIN adm_location al ON ael.location_id = al.id
|
||||
AND al.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.generate_source_enum =#{ generateSourceEnum }
|
||||
AND T1.refund_device_id IS NULL
|
||||
<if test="startTime!=null and endTime!=null">
|
||||
AND T1.create_time BETWEEN #{startTime}
|
||||
AND #{endTime}
|
||||
</if>
|
||||
ORDER BY
|
||||
T1.status_enum)
|
||||
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,
|
||||
'' AS condition_definition_name,
|
||||
T1.therapy_enum AS therapy_enum,
|
||||
NULL AS sort_number,
|
||||
T1.quantity AS execute_num,
|
||||
NULL AS day_times,
|
||||
ae.bus_no,
|
||||
ap."name" AS patient_name,
|
||||
al."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,
|
||||
aci1.unit_price,
|
||||
aci1.total_price
|
||||
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 adm_charge_item aci1 on aci1.service_id = T1.id
|
||||
AND aci1.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_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.generate_source_enum =#{ generateSourceEnum }
|
||||
AND T1.refund_service_id IS NULL
|
||||
<if test="startTime!=null and endTime!=null">
|
||||
AND T1.create_time BETWEEN #{startTime}
|
||||
AND #{endTime}
|
||||
</if>
|
||||
ORDER BY
|
||||
T1.status_enum)
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
>>>>>>> v1.3
|
||||
</mapper>
|
||||
@@ -62,7 +62,17 @@
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS T8 ON T1.id = T8.service_id
|
||||
AND T8.delete_flag = '0'
|
||||
<<<<<<< HEAD
|
||||
WHERE T1.delete_flag = '0') AS ii
|
||||
=======
|
||||
LEFT JOIN adm_encounter AS T9 ON T1.encounter_id = T9.id
|
||||
AND T9.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T9.class_enum = #{imp}
|
||||
AND T1.status_enum = #{requestStatus}
|
||||
AND T2.status_enum = #{dispenseStatus}
|
||||
AND T8.status_enum = #{chargeItemStatus}) AS ii
|
||||
>>>>>>> v1.3
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -64,5 +64,43 @@
|
||||
ORDER BY T1.id DESC) AS T
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<select id="getPatientBusNoList" resultType="com.openhis.web.nenu.dto.GfStudentPeisDto">
|
||||
SELECT T1.bus_no as bus_no
|
||||
, T.id_number as id_number
|
||||
, T.student_id as student_id
|
||||
, T.name as name
|
||||
, T.physical_exam_result as status
|
||||
FROM adm_patient_student AS T
|
||||
INNER JOIN adm_patient AS T1 ON T.patient_id = T1.id
|
||||
WHERE T.delete_flag = '0'
|
||||
ORDER BY T.id DESC
|
||||
LIMIT #{pageSize} OFFSET #{pageNum}
|
||||
</select>
|
||||
|
||||
<select id="getPatientBusNoList1" resultType="com.openhis.web.nenu.dto.GfStudentPeisDto">
|
||||
SELECT * FROM
|
||||
(SELECT T1.bus_no as bus_no
|
||||
, T.id_number as id_number
|
||||
, T.student_id as student_id
|
||||
, T.name as name
|
||||
, T.physical_exam_result as status
|
||||
FROM adm_patient_student AS T
|
||||
INNER JOIN adm_patient AS T1 ON T.patient_id = T1.id
|
||||
WHERE T.delete_flag = '0'
|
||||
ORDER BY T.id DESC) abc
|
||||
</select>
|
||||
|
||||
<select id="getPatientBusNoCount" resultType="java.lang.Long">
|
||||
SELECT COUNT(T.id)
|
||||
FROM adm_patient_student AS T
|
||||
INNER JOIN adm_patient AS T1 ON T.patient_id = T1.id
|
||||
WHERE T.delete_flag = '0'
|
||||
GROUP BY T.id
|
||||
ORDER BY T.id DESC
|
||||
LIMIT 1 OFFSET 0
|
||||
</select>
|
||||
>>>>>>> v1.3
|
||||
|
||||
</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>
|
||||
@@ -23,14 +23,23 @@
|
||||
T2.birth_date
|
||||
FROM adm_encounter AS T1
|
||||
INNER JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
INNER JOIN wor_service_request AS T3
|
||||
ON T1.id = T3.encounter_id
|
||||
AND T3.refund_service_id IS NULL
|
||||
AND T3.delete_flag = '0'
|
||||
ON T1.patient_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN wor_service_request AS T3
|
||||
ON T1.id = T3.encounter_id
|
||||
AND T3.refund_service_id IS NULL
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN wor_device_request AS T4
|
||||
ON T1.id = T4.encounter_id
|
||||
AND T4.refund_device_id IS NULL
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.class_enum = #{amb}
|
||||
<<<<<<< HEAD
|
||||
AND T3.status_enum IN (#{completed},#{cancelled})
|
||||
=======
|
||||
AND (T3.status_enum IN (#{completed},#{cancelled})
|
||||
OR T4.status_enum IN (#{completed},#{cancelled}))
|
||||
>>>>>>> v1.3
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.id,
|
||||
@@ -75,8 +84,8 @@
|
||||
ae.tenant_id,
|
||||
wsr.id AS request_id,
|
||||
wsr.status_enum AS service_status,
|
||||
NULL AS dispense_id,
|
||||
NULL AS dispense_status,
|
||||
NULL::bigint AS dispense_id,
|
||||
0 AS dispense_status,
|
||||
wsr.quantity AS execute_num,
|
||||
NULL AS quantity,
|
||||
wsr.unit_code,
|
||||
@@ -110,13 +119,13 @@
|
||||
AND wad.delete_flag = '0'
|
||||
WHERE wsr.status_enum = #{reqCompleted}
|
||||
AND ae.delete_flag = '0'
|
||||
UNION ALL
|
||||
UNION
|
||||
SELECT ae.id AS encounter_id,
|
||||
ae.tenant_id,
|
||||
mmr.id AS request_id,
|
||||
NULL AS service_status,
|
||||
dis.id AS dispense_id,
|
||||
dis.status_enum AS dispense_status,
|
||||
NULL::bigint AS dispense_id,
|
||||
0 AS dispense_status,
|
||||
mmr.execute_num,
|
||||
mmr.quantity,
|
||||
mmr.unit_code,
|
||||
@@ -141,9 +150,6 @@
|
||||
ON ae.id = mmr.encounter_id
|
||||
AND mmr.refund_medicine_id IS NULL
|
||||
AND mmr.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense dis
|
||||
ON dis.med_req_id = mmr.id
|
||||
AND dis.delete_flag = '0'
|
||||
INNER JOIN med_medication_definition mmd
|
||||
ON mmr.medication_id = mmd.id
|
||||
AND (mmd.skin_test_flag = 1 OR mmd.inject_flag = 1)
|
||||
@@ -155,80 +161,79 @@
|
||||
ON aci.service_id = mmr.id
|
||||
AND aci.delete_flag = '0'
|
||||
AND aci.refund_id IS NULL
|
||||
WHERE dis.status_enum != #{draft}
|
||||
AND ae.delete_flag = '0'
|
||||
UNION ALL
|
||||
WHERE mmr.status_enum = #{reqCompleted}
|
||||
AND ae.delete_flag = '0'
|
||||
UNION
|
||||
SELECT ae.id AS encounter_id,
|
||||
ae.tenant_id,
|
||||
wdr.id AS request_id,
|
||||
NULL AS service_status,
|
||||
wdd.id AS dispense_id,
|
||||
wdd.status_enum AS dispense_status,
|
||||
NULL AS execute_num,
|
||||
wdr.quantity,
|
||||
wdr.unit_code,
|
||||
wdr.bus_no,
|
||||
aci.status_enum AS charge_status,
|
||||
aci.unit_price,
|
||||
aci.total_price,
|
||||
#{worDeviceRequest} AS request_table,
|
||||
NULL AS service_category,
|
||||
dev.category_code AS device_category,
|
||||
NULL AS med_category,
|
||||
dev."name" AS item_name,
|
||||
dev.py_str,
|
||||
dev.wb_str,
|
||||
dev.size,
|
||||
NULL AS group_id,
|
||||
NULL AS sort_number,
|
||||
NULL AS method_code,
|
||||
NULL AS dispense_per_duration
|
||||
ae.tenant_id,
|
||||
wdr.id AS request_id,
|
||||
NULL AS service_status,
|
||||
wdd.id AS dispense_id,
|
||||
wdd.status_enum AS dispense_status,
|
||||
NULL AS execute_num,
|
||||
wdr.quantity,
|
||||
wdr.unit_code,
|
||||
wdr.bus_no,
|
||||
aci.status_enum AS charge_status,
|
||||
aci.unit_price,
|
||||
aci.total_price,
|
||||
#{worDeviceRequest} AS request_table,
|
||||
NULL AS service_category,
|
||||
dev.category_code AS device_category,
|
||||
NULL AS med_category,
|
||||
dev."name" AS item_name,
|
||||
dev.py_str,
|
||||
dev.wb_str,
|
||||
dev.size,
|
||||
NULL AS group_id,
|
||||
NULL AS sort_number,
|
||||
NULL AS method_code,
|
||||
NULL AS dispense_per_duration
|
||||
FROM adm_encounter ae
|
||||
INNER JOIN wor_device_request wdr
|
||||
ON wdr.encounter_id = ae.id
|
||||
AND wdr.delete_flag = '0'
|
||||
AND wdr.refund_device_id IS NULL
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdd.device_req_id = wdr.id
|
||||
AND wdd.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = wdr.id
|
||||
AND aci.delete_flag = '0'
|
||||
AND aci.refund_id IS NULL
|
||||
INNER JOIN adm_device_definition dev
|
||||
ON dev.id = wdr.device_def_id
|
||||
AND dev.delete_flag = '0'
|
||||
INNER JOIN wor_device_request wdr
|
||||
ON wdr.encounter_id = ae.id
|
||||
AND wdr.delete_flag = '0'
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdd.device_req_id = wdr.id
|
||||
AND wdd.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = wdr.id
|
||||
AND aci.delete_flag = '0'
|
||||
INNER JOIN adm_device_definition dev
|
||||
ON dev.id = wdr.device_def_id
|
||||
AND dev.delete_flag = '0'
|
||||
WHERE wdd.status_enum != #{draft}
|
||||
AND ae.delete_flag = '0'
|
||||
AND ae.delete_flag = '0'
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.sort_number
|
||||
</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
|
||||
cp.status_enum,
|
||||
cp.occurrence_time,
|
||||
cp.create_time,
|
||||
cp.recorded_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'
|
||||
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
|
||||
|
||||
@@ -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, --身份证号
|
||||
|
||||
@@ -53,7 +53,11 @@
|
||||
FROM fin_payment_reconciliation t
|
||||
LEFT JOIN adm_patient patient ON patient.id = t.patient_id
|
||||
LEFT JOIN adm_practitioner pra ON pra.id = t.enterer_id
|
||||
<<<<<<< HEAD
|
||||
LEFT JOIN adm_invoice invoice ON invoice.reconciliation_id = t.id
|
||||
=======
|
||||
LEFT JOIN adm_invoice invoice ON invoice.reconciliation_id = t.id AND invoice.delete_flag = '0'
|
||||
>>>>>>> v1.3
|
||||
LEFT JOIN adm_encounter enc ON enc.id = t.enterer_id
|
||||
WHERE 1 = 1
|
||||
AND t.delete_flag = '0'
|
||||
@@ -248,4 +252,18 @@
|
||||
#{chargeItemId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="getThreePartCallBackVoPage" resultType="com.openhis.web.paymentmanage.dto.ThreePartCallBackVo">
|
||||
SELECT *
|
||||
FROM
|
||||
(select three.*,
|
||||
patient.name as patient_name,
|
||||
payment.payment_no as payment_no
|
||||
from fin_three_part_pay_call_back three
|
||||
left join fin_payment_reconciliation payment on three.payment_id = payment.id
|
||||
left join adm_patient patient on payment.patient_id = patient.id
|
||||
order by three.create_time DESC
|
||||
) as T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -4,6 +4,7 @@
|
||||
<select id="selectAmbPractitionerDetailPage"
|
||||
resultType="com.openhis.web.pharmacymanage.dto.MedDetailedAccountPageDto">
|
||||
select A.outpatient_no,
|
||||
<<<<<<< HEAD
|
||||
A.prescription_no,
|
||||
A.patient_name,
|
||||
A.practitioner_id,
|
||||
@@ -191,6 +192,232 @@
|
||||
ORDER BY A.dispense_time DESC
|
||||
</when>
|
||||
<when test="dispenseEnum == 2">
|
||||
=======
|
||||
A.prescription_no,
|
||||
A.patient_name,
|
||||
A.practitioner_id,
|
||||
A.practitioner_name,
|
||||
A.medication_name,
|
||||
A.py_str,
|
||||
A.bus_no,
|
||||
A.dispense_no,
|
||||
A.yb_no,
|
||||
A.total_volume,
|
||||
A.dispense_quantity,
|
||||
A.dispense_price,
|
||||
A.refund_quantity,
|
||||
A.refund_price,
|
||||
A.lot_number,
|
||||
A.manufacturer_text,
|
||||
A.supplier_name,
|
||||
A.unit_code,
|
||||
A.refund_unit_code,
|
||||
A.dispense_time,
|
||||
A.location_id,
|
||||
A.item_table,
|
||||
A.cost_price
|
||||
from (
|
||||
WITH refund_info AS (
|
||||
SELECT mmr.refund_medicine_id,
|
||||
mmd.dispense_quantity,
|
||||
mmd.unit_code,
|
||||
aci.total_price
|
||||
FROM med_medication_dispense mmd
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmr.delete_flag = '0'
|
||||
INNER JOIN adm_charge_item aci
|
||||
ON aci.service_id = mmr.refund_medicine_id
|
||||
AND aci.delete_flag = '0'
|
||||
WHERE mmd.status_enum = #{refunded}
|
||||
AND mmd.delete_flag = '0'
|
||||
AND mmr.refund_medicine_id IS not null
|
||||
),
|
||||
refund_device_info AS (
|
||||
SELECT wdr.refund_device_id,
|
||||
wdd.dispense_quantity,
|
||||
wdd.unit_code,
|
||||
aci.total_price
|
||||
FROM wor_device_dispense wdd
|
||||
LEFT JOIN wor_device_request wdr
|
||||
ON wdd.device_req_id = wdr.id
|
||||
AND wdr.delete_flag = '0'
|
||||
INNER JOIN adm_charge_item aci
|
||||
ON aci.service_id = wdr.refund_device_id
|
||||
AND aci.delete_flag = '0'
|
||||
WHERE wdd.status_enum = #{refunded}
|
||||
AND wdd.delete_flag = '0'
|
||||
AND wdr.refund_device_id IS not null
|
||||
)
|
||||
SELECT def."name" AS medication_name,
|
||||
def.py_str,
|
||||
def.bus_no,
|
||||
def.yb_no,
|
||||
def.manufacturer_text,
|
||||
mmr.prescription_no,
|
||||
ae.bus_no AS outpatient_no,
|
||||
pat.name AS patient_name,
|
||||
mm.total_volume,
|
||||
mmd.unit_code,
|
||||
mmd.bus_no AS dispense_no,
|
||||
mmd.lot_number,
|
||||
mmd.dispense_quantity,
|
||||
mmd.encounter_id,
|
||||
mmd.practitioner_id,
|
||||
mmd.dispense_time,
|
||||
ap.name AS practitioner_name,
|
||||
mmd.location_id,
|
||||
aci.total_price AS dispense_price,
|
||||
ri.dispense_quantity AS refund_quantity,
|
||||
ri.unit_code AS refund_unit_code,
|
||||
ri.total_price AS refund_price,
|
||||
wii.supplier_id,
|
||||
sup.name AS supplier_name,
|
||||
mmd.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table,
|
||||
CASE
|
||||
WHEN mmd.unit_code = def.min_unit_code THEN
|
||||
(mmd.dispense_quantity * acidd.amount) / COALESCE(def.part_percent, 1)
|
||||
ELSE
|
||||
mmd.dispense_quantity * acidd.amount
|
||||
END AS cost_price
|
||||
FROM med_medication_dispense mmd
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmr.delete_flag = '0'
|
||||
INNER JOIN adm_charge_item aci
|
||||
ON aci.service_id = mmr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition def
|
||||
ON mmd.medication_id = def.id
|
||||
AND def.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mm.medication_def_id = def.id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item wii
|
||||
ON wii.item_id = mmd.medication_id
|
||||
AND wii.lot_number = mmd.lot_number
|
||||
AND wii.location_id = mmd.location_id
|
||||
AND wii.delete_flag = '0'
|
||||
LEFT JOIN refund_info AS ri
|
||||
ON ri.refund_medicine_id = mmr.id
|
||||
LEFT JOIN adm_location al
|
||||
ON al.id = mmd.location_id
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON ap.id = mmd.practitioner_id
|
||||
LEFT JOIN adm_patient pat
|
||||
ON pat.id = mmd.patient_id
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON ae.id = mmd.encounter_id
|
||||
LEFT JOIN adm_supplier sup
|
||||
ON sup.id = wii.supplier_id
|
||||
LEFT JOIN adm_charge_item_definition acid on acid.instance_table = #{medMedicationDefinition} AND
|
||||
acid.instance_id = def.id AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.id = (
|
||||
SELECT cidd.id
|
||||
FROM adm_charge_item_def_detail cidd
|
||||
WHERE acid.id = cidd.definition_id
|
||||
AND cidd.condition_code = #{costEnum}
|
||||
AND cidd.delete_flag = '0'
|
||||
AND cidd.condition_value = mmd.lot_number
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE mmd.status_enum = #{completed}
|
||||
AND mmr.status_enum = #{agree}
|
||||
AND ae.class_enum = #{flg}
|
||||
AND mmd.delete_flag = '0'
|
||||
UNION
|
||||
SELECT def."name" AS medication_name,
|
||||
def.py_str,
|
||||
def.bus_no,
|
||||
def.yb_no,
|
||||
def.manufacturer_text,
|
||||
mmr.prescription_no,
|
||||
ae.bus_no AS outpatient_no,
|
||||
pat.name AS patient_name,
|
||||
def.size AS total_volume,
|
||||
mmd.unit_code,
|
||||
mmd.bus_no AS dispense_no,
|
||||
mmd.lot_number,
|
||||
mmd.dispense_quantity,
|
||||
mmd.encounter_id,
|
||||
mmd.performer_id AS practitioner_id,
|
||||
mmd.dispense_time,
|
||||
ap.name AS practitioner_name,
|
||||
mmd.location_id,
|
||||
aci.total_price AS dispense_price,
|
||||
ri.dispense_quantity AS refund_quantity,
|
||||
ri.unit_code AS refund_unit_code,
|
||||
ri.total_price AS refund_price,
|
||||
wii.supplier_id,
|
||||
sup.name AS supplier_name,
|
||||
mmd.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table,
|
||||
CASE
|
||||
WHEN mmd.unit_code = def.min_unit_code THEN
|
||||
(mmd.dispense_quantity * acidd.amount) / COALESCE(def.part_percent, 1)
|
||||
ELSE
|
||||
mmd.dispense_quantity * acidd.amount
|
||||
END AS cost_price
|
||||
FROM wor_device_dispense mmd
|
||||
LEFT JOIN wor_device_request mmr
|
||||
ON mmd.device_req_id = mmr.id
|
||||
AND mmr.delete_flag = '0'
|
||||
INNER JOIN adm_charge_item aci
|
||||
ON aci.service_id = mmr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition def
|
||||
ON mmd.device_def_id = def.id
|
||||
AND def.delete_flag = '0'
|
||||
LEFT JOIN adm_device mm
|
||||
ON mm.device_def_id = def.id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item wii
|
||||
ON wii.item_id = mmd.device_def_id
|
||||
AND wii.lot_number = mmd.lot_number
|
||||
AND wii.location_id = mmd.location_id
|
||||
AND wii.delete_flag = '0'
|
||||
LEFT JOIN refund_device_info AS ri
|
||||
ON ri.refund_device_id = mmr.id
|
||||
LEFT JOIN adm_location al
|
||||
ON al.id = mmd.location_id
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON ap.id = mmd.performer_id
|
||||
LEFT JOIN adm_patient pat
|
||||
ON pat.id = mmd.patient_id
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON ae.id = mmd.encounter_id
|
||||
LEFT JOIN adm_supplier sup
|
||||
ON sup.id = wii.supplier_id
|
||||
LEFT JOIN adm_charge_item_definition acid ON acid.instance_table = #{admDeviceDefinition} AND acid.instance_id
|
||||
= def.id AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.id = (
|
||||
SELECT cidd.id
|
||||
FROM adm_charge_item_def_detail cidd
|
||||
WHERE acid.id = cidd.definition_id
|
||||
AND cidd.condition_code = #{costEnum}
|
||||
AND cidd.delete_flag = '0'
|
||||
AND cidd.condition_value = mmd.lot_number
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE mmd.status_enum = #{completed}
|
||||
AND mmr.status_enum = #{agree}
|
||||
AND ae.class_enum = #{flg}
|
||||
AND mmd.delete_flag = '0'
|
||||
) AS A
|
||||
${ew.customSqlSegment}
|
||||
<choose>
|
||||
<when test="statisticalType == 1 || statisticalType ==3 || statisticalType ==5">
|
||||
ORDER BY A.dispense_time DESC
|
||||
</when>
|
||||
<when test="statisticalType == 2 || statisticalType ==4 || statisticalType ==6">
|
||||
>>>>>>> v1.3
|
||||
ORDER BY A.outpatient_no DESC, A.prescription_no DESC
|
||||
</when>
|
||||
</choose>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<mapper namespace="com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper">
|
||||
<select id="selectEncounterInfoListPage" resultType="com.openhis.web.pharmacymanage.dto.EncounterInfoDto">
|
||||
SELECT ii.reception_time,
|
||||
ii.start_time,
|
||||
ii.encounter_id,
|
||||
ii.encounter_no,
|
||||
ii.tenant_id,
|
||||
@@ -19,7 +20,9 @@
|
||||
ae.id AS encounter_id,
|
||||
ae.bus_no AS encounter_no,
|
||||
ae.tenant_id,
|
||||
mmr.status_enum AS refund_enum,
|
||||
ae.start_time,
|
||||
ae.class_enum,
|
||||
mmd.status_enum AS refund_enum,
|
||||
ap."name" AS patient_name,
|
||||
ap.wb_str AS patient_wb_str,
|
||||
ap.py_str AS patient_py_str,
|
||||
@@ -30,18 +33,25 @@
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON mmr.encounter_id = ae.id
|
||||
AND mmr.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
WHERE mmr.refund_medicine_id IS NOT NULL
|
||||
AND ae.class_enum = #{amb}
|
||||
UNION
|
||||
SELECT ae.reception_time,
|
||||
ae.id AS encounter_id,
|
||||
ae.bus_no AS encounter_no,
|
||||
ae.tenant_id,
|
||||
wdr.status_enum AS refund_enum,
|
||||
ae.start_time,
|
||||
ae.class_enum,
|
||||
wdd.status_enum AS refund_enum,
|
||||
ap."name" AS patient_name,
|
||||
ap.wb_str AS patient_wb_str,
|
||||
ap.py_str AS patient_py_str,
|
||||
@@ -52,12 +62,17 @@
|
||||
FROM adm_encounter ae
|
||||
LEFT JOIN wor_device_request wdr
|
||||
ON wdr.encounter_id = ae.id
|
||||
AND wdr.delete_flag = '0'
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdd.device_req_id = wdr.id
|
||||
AND wdd.delete_flag = '0'
|
||||
LEFT JOIN adm_patient ap
|
||||
ON ae.patient_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_organization ao
|
||||
ON ao.id = ae.organization_id
|
||||
AND ao.delete_flag = '0'
|
||||
WHERE wdr.refund_device_id IS NOT NULL
|
||||
AND ae.class_enum = #{amb}
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.reception_time DESC
|
||||
@@ -68,6 +83,7 @@
|
||||
<when test="(medDispenseIdList != null and !medDispenseIdList.isEmpty())
|
||||
or (devDispenseIdList != null and !devDispenseIdList.isEmpty())">
|
||||
<if test="medDispenseIdList != null and !medDispenseIdList.isEmpty()">
|
||||
<<<<<<< HEAD
|
||||
SELECT
|
||||
T1.id AS dispense_id,
|
||||
T1.unit_code AS dispense_unit,
|
||||
@@ -83,16 +99,35 @@
|
||||
T3.part_percent,
|
||||
T3."name" AS item_name,
|
||||
T3.id AS item_id
|
||||
=======
|
||||
SELECT T1.id AS dispense_id,
|
||||
T1.unit_code AS dispense_unit,
|
||||
T1.quantity,
|
||||
T1.location_id,
|
||||
T1.lot_number,
|
||||
T1.dispense_quantity,
|
||||
T1.status_enum AS dispense_status,
|
||||
T1.trace_no,
|
||||
T1.med_req_id AS request_id,
|
||||
T2.id AS inventory_id,
|
||||
T2.unit_code AS inventory_unit_code,
|
||||
T2.quantity AS inventory_quantity,
|
||||
T2.inventory_status_enum,
|
||||
T2.expiration_date,
|
||||
T3.part_percent,
|
||||
T3."name" AS item_name,
|
||||
T1.medication_id AS item_id
|
||||
>>>>>>> v1.3
|
||||
FROM med_medication_dispense AS T1
|
||||
INNER JOIN wor_inventory_item AS T2
|
||||
ON T1.medication_id = T2.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.item_table = #{medMedicationDefinition}
|
||||
AND T1.lot_number = T2.lot_number
|
||||
AND T1.location_id = T2.location_id
|
||||
INNER JOIN med_medication_definition AS T3
|
||||
ON T1.medication_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
INNER JOIN wor_inventory_item AS T2
|
||||
ON T1.medication_id = T2.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.item_table = #{medMedicationDefinition}
|
||||
AND T1.lot_number = T2.lot_number
|
||||
AND T1.location_id = T2.location_id
|
||||
INNER JOIN med_medication_definition AS T3
|
||||
ON T1.medication_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
WHERE T1.id IN
|
||||
<foreach collection="medDispenseIdList" item="medDispenseId" open="(" separator="," close=")">
|
||||
#{medDispenseId}
|
||||
@@ -104,6 +139,7 @@
|
||||
UNION
|
||||
</if>
|
||||
<if test="devDispenseIdList != null and !devDispenseIdList.isEmpty()">
|
||||
<<<<<<< HEAD
|
||||
SELECT
|
||||
T4.id AS dispense_id,
|
||||
T4.unit_code AS dispense_unit,
|
||||
@@ -119,16 +155,35 @@
|
||||
T5.part_percent,
|
||||
T5."name" AS item_name,
|
||||
T5.id AS item_id
|
||||
=======
|
||||
SELECT T4.id AS dispense_id,
|
||||
T4.unit_code AS dispense_unit,
|
||||
T4.quantity,
|
||||
T4.location_id,
|
||||
T4.lot_number,
|
||||
T4.dispense_quantity,
|
||||
T4.status_enum AS dispense_status,
|
||||
T4.trace_no,
|
||||
T4.device_req_id AS request_id,
|
||||
T2.id AS inventory_id,
|
||||
T2.unit_code AS inventory_unit_code,
|
||||
T2.quantity AS inventory_quantity,
|
||||
T2.inventory_status_enum,
|
||||
T2.expiration_date,
|
||||
T5.part_percent,
|
||||
T5."name" AS item_name,
|
||||
T4.device_def_id AS item_id
|
||||
>>>>>>> v1.3
|
||||
FROM wor_device_dispense AS T4
|
||||
INNER JOIN wor_inventory_item AS T2
|
||||
ON T4.device_def_id = T2.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.item_table = #{admDeviceDefinition}
|
||||
AND T4.lot_number = T2.lot_number
|
||||
AND T4.location_id = T2.location_id
|
||||
INNER JOIN adm_device_definition AS T5
|
||||
ON T4.device_def_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
INNER JOIN wor_inventory_item AS T2
|
||||
ON T4.device_def_id = T2.item_id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.item_table = #{admDeviceDefinition}
|
||||
AND T4.lot_number = T2.lot_number
|
||||
AND T4.location_id = T2.location_id
|
||||
INNER JOIN adm_device_definition AS T5
|
||||
ON T4.device_def_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
WHERE T4.id IN
|
||||
<foreach collection="devDispenseIdList" item="devDispenseId" open="(" separator="," close=")">
|
||||
#{devDispenseId}
|
||||
@@ -143,9 +198,9 @@
|
||||
SELECT mmd.status_enum AS refund_enum,
|
||||
mmr.refund_medicine_id,
|
||||
mmr.id AS request_id,
|
||||
mmr.quantity,
|
||||
mmd.quantity,
|
||||
mmr.unit_code,
|
||||
mmr.lot_number,
|
||||
mmd.lot_number,
|
||||
mmr.status_enum AS req_status,
|
||||
mmd.dispense_quantity,
|
||||
mmd.id AS dispense_id,
|
||||
@@ -157,7 +212,7 @@
|
||||
mmd.trace_no
|
||||
FROM med_medication_request mmr
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmr.refund_medicine_id = mmd.med_req_id
|
||||
ON mmr.id = mmd.med_req_id
|
||||
AND mmd.delete_flag = '0'
|
||||
INNER JOIN med_medication_definition med
|
||||
ON mmr.medication_id = med.id
|
||||
@@ -172,13 +227,10 @@
|
||||
AND mmr.encounter_id = #{encounterId}
|
||||
AND aci.service_table =#{medMedicationRequest}
|
||||
<if test="refundStatus == null">
|
||||
AND mmr.status_enum IN (#{inRefund},#{completed})
|
||||
AND mmd.status_enum IN (#{refunded},#{pendingRefund})
|
||||
</if>
|
||||
<if test="refundStatus == 5">
|
||||
AND mmr.status_enum = #{inRefund}
|
||||
</if>
|
||||
<if test="refundStatus == 3">
|
||||
AND mmr.status_enum = #{completed}
|
||||
<if test="refundStatus != null">
|
||||
AND mmd.status_enum = #{refundStatus}
|
||||
</if>
|
||||
AND mmr.delete_flag = '0'
|
||||
UNION
|
||||
@@ -187,7 +239,7 @@
|
||||
wdr.id AS request_id,
|
||||
wdr.quantity,
|
||||
wdr.unit_code,
|
||||
wdr.lot_number,
|
||||
wdd.lot_number,
|
||||
wdr.status_enum AS req_status,
|
||||
wdd.dispense_quantity,
|
||||
wdd.id AS dispense_id,
|
||||
@@ -199,7 +251,7 @@
|
||||
wdd.trace_no
|
||||
FROM wor_device_request wdr
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdr.refund_device_id = wdd.device_req_id
|
||||
ON wdr.id = wdd.device_req_id
|
||||
AND wdd.delete_flag = '0'
|
||||
INNER JOIN adm_device_definition dev
|
||||
ON wdr.device_def_id = dev.id
|
||||
@@ -213,15 +265,12 @@
|
||||
WHERE wdr.refund_device_id IS NOT NULL
|
||||
AND wdr.encounter_id =#{encounterId}
|
||||
AND aci.service_table =#{worDeviceRequest}
|
||||
<if test="refundStatus == null">
|
||||
AND wdr.status_enum IN (#{inRefund},#{completed})
|
||||
</if>
|
||||
<if test="refundStatus == 5">
|
||||
AND wdr.status_enum = #{inRefund}
|
||||
</if>
|
||||
<if test="refundStatus == 3">
|
||||
AND wdr.status_enum = #{completed}
|
||||
</if>
|
||||
<if test="refundStatus == null">
|
||||
AND wdd.status_enum IN (#{refunded},#{pendingRefund})
|
||||
</if>
|
||||
<if test="refundStatus != null">
|
||||
AND wdd.status_enum = #{refundStatus}
|
||||
</if>
|
||||
AND wdr.delete_flag = '0'
|
||||
</select>
|
||||
<select id="selectReturnItemDetail" resultType="com.openhis.web.pharmacymanage.dto.DispenseInventoryDto">
|
||||
@@ -238,6 +287,7 @@
|
||||
T1.dispense_time,
|
||||
T1.bus_no AS dispense_no,
|
||||
T1.trace_no,
|
||||
T2.refund_medicine_id AS refund_id,
|
||||
T3.Id AS inventory_id,
|
||||
T3.unit_code AS inventory_unit_code,
|
||||
T3.quantity AS inventory_quantity,
|
||||
@@ -305,6 +355,7 @@
|
||||
T10.dispense_time,
|
||||
T10.bus_no AS dispense_no,
|
||||
T10.trace_no,
|
||||
T11.refund_device_id AS refund_id,
|
||||
T3.Id AS inventory_id,
|
||||
T3.unit_code AS inventory_unit_code,
|
||||
T3.quantity AS inventory_quantity,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?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.pharmacymanage.mapper.SummaryDispenseMedicineMapper">
|
||||
<<<<<<< HEAD
|
||||
<select id="selectMedicationSummaryInfo" resultType="com.openhis.web.pharmacymanage.dto.MedicineSummaryDto">
|
||||
SELECT ii.tenant_id,
|
||||
ii.bus_no,--单据号
|
||||
@@ -181,4 +182,6 @@
|
||||
) AS li
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
</mapper>
|
||||
|
||||
@@ -1,6 +1,56 @@
|
||||
<?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.pharmacymanage.mapper.WesternMedicineDispenseMapper">
|
||||
<resultMap id="medicineDispenseOrderMap" type="com.openhis.web.pharmacymanage.dto.ItemDispenseOrderDto">
|
||||
<result property="lotNumber" column="lot_number"/>
|
||||
<result property="departmentName" column="department_name"/>
|
||||
<result property="doctorId" column="doctor_id"/>
|
||||
<result property="doctorName" column="doctor_name"/>
|
||||
<result property="itemType" column="item_type"/>
|
||||
<result property="conditionName" column="condition_name"/>
|
||||
<result property="prescriptionNo" column="prescription_no"/>
|
||||
<result property="requestId" column="request_id"/>
|
||||
<result property="tcmFlag" column="tcm_flag"/>
|
||||
<result property="itemName" column="item_name"/>
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="totalVolume" column="total_volume"/>
|
||||
<result property="unitCode" column="unit_code"/>
|
||||
<result property="encounterId" column="encounter_id"/>
|
||||
<result property="dose" column="dose"/>
|
||||
<result property="statusEnum" column="status_enum"/>
|
||||
<result property="rateCode" column="rate_code"/>
|
||||
<result property="locationId" column="location_id"/>
|
||||
<result property="methodCode" column="method_code"/>
|
||||
<result property="doseUnitCode" column="dose_unit_code"/>
|
||||
<result property="dispensePerQuantity" column="dispense_per_quantity"/>
|
||||
<result property="dispensePerDuration" column="dispense_per_duration"/>
|
||||
<result property="requestQuantity" column="request_quantity"/>
|
||||
<result property="quantity" column="quantity"/>
|
||||
<result property="dispenseId" column="dispense_id"/>
|
||||
<result property="unitPrice" column="unit_price"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="dispenseDoctorName" column="dispense_doctor_name"/>
|
||||
<result property="locationName" column="location_name"/>
|
||||
<result property="encounterBusNo" column="encounter_bus_no"/>
|
||||
<result property="reqAuthoredTime" column="req_authored_time"/>
|
||||
<result property="skinTestFlag" column="skin_test_flag"/>
|
||||
<result property="injectFlag" column="inject_flag"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="manufacturerText" column="manufacturer_text"/>
|
||||
<result property="medTypeCode" column="med_type_code"/>
|
||||
<result property="merchandiseName" column="merchandise_name"/>
|
||||
<result property="traceNo" column="trace_no"/>
|
||||
<result property="partAttributeEnum" column="part_attribute_enum"/>
|
||||
<collection property="inventoryDetailList" ofType="com.openhis.web.pharmacymanage.dto.InventoryDetailDto">
|
||||
<result property="inventoryId" column="inventory_id"/>
|
||||
<result property="maxUnitCode" column="max_unit_code"/>
|
||||
<result property="partPercent" column="part_percent"/>
|
||||
<result property="inventoryUnitCode" column="inventory_unit_code"/>
|
||||
<result property="inventoryQuantity" column="inventory_quantity"/>
|
||||
<result property="inventoryLotNumber" column="inventory_lot_number"/>
|
||||
<result property="expirationDate" column="expiration_date"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="selectEncounterInfoListPage" resultType="com.openhis.web.pharmacymanage.dto.EncounterInfoDto">
|
||||
SELECT ii.encounter_id,
|
||||
ii.encounter_no,
|
||||
@@ -12,8 +62,11 @@
|
||||
ii.department_id,
|
||||
ii.id_card,
|
||||
ii.birth_date,
|
||||
ii.phone,
|
||||
ii.reception_time,
|
||||
ii.start_time,
|
||||
ii.status_enum
|
||||
<<<<<<< HEAD
|
||||
FROM ( SELECT T1.tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_no,
|
||||
@@ -50,6 +103,46 @@
|
||||
<if test="statusEnum == 4">
|
||||
T4.status_enum = #{completed}
|
||||
</if>
|
||||
=======
|
||||
FROM ( SELECT T1.tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_no,
|
||||
T1.reception_time,
|
||||
T1.start_time,
|
||||
T1.organization_id AS department_id,
|
||||
T1.class_enum,
|
||||
T2.gender_enum,
|
||||
T2.name AS patient_name,
|
||||
T2.wb_str AS patient_wb_str,
|
||||
T2.py_str AS patient_py_str,
|
||||
T2.id_card,
|
||||
T2.birth_date,
|
||||
T2.phone,
|
||||
T3.name AS department_name,
|
||||
T4.status_enum
|
||||
FROM adm_encounter AS T1
|
||||
INNER JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS T3
|
||||
ON T1.organization_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
INNER JOIN med_medication_dispense AS T4
|
||||
ON T4.encounter_id = T1.id
|
||||
AND T4.delete_flag = '0'
|
||||
INNER JOIN med_medication_request AS T5
|
||||
ON T4.med_req_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
WHERE <if test="statusEnum == null">
|
||||
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared})
|
||||
</if>
|
||||
<if test="statusEnum == 3">
|
||||
T4.status_enum IN (#{inProgress},#{preparation},#{prepared})
|
||||
</if>
|
||||
<if test="statusEnum == 4">
|
||||
T4.status_enum = #{completed}
|
||||
</if>
|
||||
>>>>>>> v1.3
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY ii.encounter_id,
|
||||
@@ -62,10 +155,14 @@
|
||||
ii.department_id,
|
||||
ii.id_card,
|
||||
ii.birth_date,
|
||||
ii.phone,
|
||||
ii.reception_time,
|
||||
ii.start_time,
|
||||
ii.status_enum
|
||||
ORDER BY ii.reception_time DESC
|
||||
ORDER BY ii.reception_time,
|
||||
ii.start_time DESC
|
||||
</select>
|
||||
<<<<<<< HEAD
|
||||
<select id="selectMedicineDispenseOrderPage" resultType="com.openhis.web.pharmacymanage.dto.ItemDispenseOrderDto">
|
||||
SELECT ii.department_name,
|
||||
ii.doctor_id,
|
||||
@@ -183,17 +280,218 @@
|
||||
T1.status_enum = #{completed}
|
||||
</if>
|
||||
ORDER BY prescription_no DESC
|
||||
=======
|
||||
<select id="selectMedicineDispenseOrderPage" resultMap="medicineDispenseOrderMap">
|
||||
SELECT ii.department_name,
|
||||
ii.doctor_id,
|
||||
ii.doctor_name,
|
||||
ii.item_type,
|
||||
ii.condition_name,
|
||||
ii.prescription_no,
|
||||
ii.lot_number,
|
||||
ii.request_id,
|
||||
ii.tcm_flag,
|
||||
ii.item_name,
|
||||
ii.merchandise_name,
|
||||
ii.item_id,
|
||||
ii.total_volume,
|
||||
ii.unit_code,
|
||||
ii.encounter_id,
|
||||
ii.dose,
|
||||
ii.status_enum,
|
||||
ii.rate_code,
|
||||
ii.location_id,
|
||||
ii.method_code,
|
||||
ii.dose_unit_code,
|
||||
ii.dispense_per_quantity,
|
||||
ii.dispense_per_duration,
|
||||
ii.request_quantity,
|
||||
ii.quantity,
|
||||
ii.dispense_id,
|
||||
ii.unit_price,
|
||||
ii.total_price,
|
||||
ii.dispense_doctor_name,
|
||||
ii.location_name,
|
||||
ii.encounter_bus_no,
|
||||
ii.req_authored_time,
|
||||
ii.skin_test_flag,
|
||||
ii.group_id,
|
||||
ii.manufacturer_text,
|
||||
ii.trace_no,
|
||||
ii.max_unit_code,
|
||||
ii.part_percent,
|
||||
ii.inject_flag,
|
||||
ii.part_attribute_enum,
|
||||
ii.inventory_id,
|
||||
ii.inventory_unit_code,
|
||||
ii.inventory_quantity,
|
||||
ii.inventory_lot_number,
|
||||
ii.expiration_date,
|
||||
ii.med_type_code
|
||||
FROM ( SELECT T8."name" AS department_name,
|
||||
T9.id AS doctor_id,
|
||||
T9."name" AS doctor_name,
|
||||
T3.category_code AS item_type,
|
||||
T7."name" AS condition_name,
|
||||
T2.prescription_no,
|
||||
T2.id AS request_id,
|
||||
T2.tcm_flag,
|
||||
T3."name" AS item_name,
|
||||
T3.merchandise_name,
|
||||
T3.id AS item_id,
|
||||
T4.total_volume,
|
||||
T1.unit_code,
|
||||
T1.encounter_id,
|
||||
T1.dose,
|
||||
T1.status_enum,
|
||||
T2.rate_code,
|
||||
T1.location_id,
|
||||
T1.method_code,
|
||||
T1.lot_number,
|
||||
T2.dose_unit_code,
|
||||
T2.dispense_per_quantity,
|
||||
T2.dispense_per_duration,
|
||||
T2.quantity AS request_quantity,
|
||||
T1.quantity,
|
||||
T1.id AS dispense_id,
|
||||
T5.unit_price,
|
||||
T5.total_price,
|
||||
T10."name" AS dispense_doctor_name,
|
||||
T13."name" AS location_name,
|
||||
T6.bus_no AS encounter_bus_no,
|
||||
T2.req_authored_time,
|
||||
T3.skin_test_flag,
|
||||
T2.group_id AS group_id,
|
||||
T1.tenant_id,
|
||||
T3.manufacturer_text,
|
||||
T1.trace_no,
|
||||
T3.unit_code AS max_unit_code,
|
||||
T3.part_percent,
|
||||
T3.inject_flag,
|
||||
T3.part_attribute_enum,
|
||||
T14.id AS inventory_id,
|
||||
T14.unit_code AS inventory_unit_code,
|
||||
T14.quantity AS inventory_quantity,
|
||||
T14.lot_number AS inventory_lot_number,
|
||||
T14.expiration_date,
|
||||
T15.med_type_code
|
||||
FROM med_medication_dispense AS T1
|
||||
LEFT JOIN med_medication_request AS T2
|
||||
ON T1.med_req_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T3
|
||||
ON T1.medication_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'
|
||||
INNER JOIN adm_charge_item AS T5
|
||||
ON T1.med_req_id = T5.service_id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter AS T6
|
||||
ON T1.encounter_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN cli_condition AS T12
|
||||
ON T2.condition_id = T12.id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS T7
|
||||
ON T12.definition_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS T8
|
||||
ON T6.organization_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T9
|
||||
ON T2.practitioner_id = T9.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T10
|
||||
ON T1.practitioner_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T13
|
||||
ON T1.location_id = T13.id
|
||||
AND T13.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item AS T14
|
||||
ON T2.medication_id = T14.item_id
|
||||
AND T1.location_id = T14.location_id
|
||||
AND T14.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_diagnosis AS T15
|
||||
ON T2.encounter_diagnosis_id = T15.id
|
||||
AND T15.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
-- 因发药配药合并,前台只能看到待发药,已发药状态,但是后台配药发药状态都查
|
||||
AND
|
||||
<if test="dispenseStatus == null">
|
||||
T1.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared})
|
||||
</if>
|
||||
<if test="dispenseStatus == 3">
|
||||
T1.status_enum IN (#{inProgress},#{preparation},#{prepared})
|
||||
</if>
|
||||
<if test="dispenseStatus == 4">
|
||||
T1.status_enum = #{completed}
|
||||
</if>
|
||||
AND T14.inventory_status_enum = #{active}
|
||||
ORDER BY prescription_no DESC
|
||||
>>>>>>> v1.3
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getPreparerDoctorList" resultType="com.openhis.administration.domain.Practitioner">
|
||||
SELECT ap.id,
|
||||
ap."name"
|
||||
ap."name",
|
||||
su.status
|
||||
FROM adm_practitioner ap
|
||||
LEFT JOIN adm_practitioner_role apr
|
||||
ON ap.id = apr.practitioner_id
|
||||
LEFT JOIN adm_practitioner_role apr
|
||||
ON ap.id = apr.practitioner_id
|
||||
LEFT JOIN sys_user AS su ON su.user_id = ap.user_id
|
||||
AND su.delete_flag = '0'
|
||||
WHERE apr.role_code = #{pharmacist}
|
||||
AND ap.delete_flag = '0'
|
||||
AND su.status = '0'
|
||||
GROUP BY ap.id,
|
||||
ap."name"
|
||||
ap."name",
|
||||
su.status
|
||||
</select>
|
||||
<select id="selectMedicineInventoryDetail"
|
||||
resultType="com.openhis.web.pharmacymanage.dto.InventoryDetailDto">
|
||||
SELECT wii.expiration_date ,
|
||||
wii.location_id ,
|
||||
wii.item_id ,
|
||||
wii.lot_number AS inventory_lot_number,
|
||||
wii.unit_code AS inventory_unit_code,
|
||||
wii.quantity AS inventory_quantity,
|
||||
mmd.part_percent ,
|
||||
mmd.unit_code AS max_unit_code
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
WHERE wii.delete_flag = '0'
|
||||
AND wii.item_id IN
|
||||
<foreach item="itemId" collection="medicationIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
AND wii.location_id IN
|
||||
<foreach item="locationId" collection="locationIdList" index="index"
|
||||
separator="," close=")" open="(">
|
||||
#{locationId}
|
||||
</foreach>
|
||||
AND wii.inventory_status_enum = #{active}
|
||||
ORDER BY wii.expiration_date
|
||||
</select>
|
||||
|
||||
<select id="getOutTraceNo" resultType="string">
|
||||
SELECT atnm.trace_no
|
||||
FROM adm_trace_no_manage AS atnm
|
||||
WHERE atnm.delete_flag = '0'
|
||||
AND atnm.trace_no != '22000000000000000000'
|
||||
AND atnm.status_enum = #{status}
|
||||
AND atnm.operation_type = #{operationType}
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM med_medication_definition AS mmd
|
||||
WHERE mmd.ID = atnm.item_id
|
||||
AND mmd.delete_flag = '0'
|
||||
AND (mmd.inject_flag = #{injectFlag} OR mmd.part_attribute_enum = #{outpatientMinUnitCeil} OR
|
||||
mmd.part_attribute_enum = #{outpatientMinUnitTotalCeil}))
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -84,14 +84,16 @@
|
||||
AND ccd.delete_flag = '0'
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{classEnum}
|
||||
AND ae.status_enum = #{status}
|
||||
AND ae.status_enum != #{toBeRegistered}
|
||||
AND ae.status_enum != #{alreadySettled}
|
||||
AND ae.status_enum != #{registered}
|
||||
AND EXISTS(
|
||||
SELECT 1
|
||||
FROM adm_practitioner_role
|
||||
WHERE delete_flag = '0'
|
||||
AND practitioner_id = #{practitionerId}
|
||||
AND org_id = ae.organization_id
|
||||
)) AS rpmi
|
||||
SELECT 1
|
||||
FROM adm_practitioner_role
|
||||
WHERE delete_flag = '0'
|
||||
AND practitioner_id = #{practitionerId}
|
||||
AND org_id = ae.organization_id
|
||||
)) AS rpmi
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
@@ -125,7 +127,8 @@
|
||||
T2.part_percent AS part_percent,
|
||||
ccd.name AS condition_definition_name,
|
||||
T1.therapy_enum AS therapyEnum,
|
||||
T1.sort_number AS sort_number
|
||||
T1.sort_number AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -175,7 +178,8 @@
|
||||
T2.part_percent AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
2 AS therapyEnum,
|
||||
99 AS sort_number
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM wor_device_request AS T1
|
||||
LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -222,7 +226,8 @@
|
||||
1 AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
T1.therapy_enum AS therapyEnum,
|
||||
99 AS sort_number
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM wor_service_request AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T2.ID = T1.activity_id
|
||||
@@ -231,7 +236,10 @@
|
||||
T3.service_table = #{WOR_SERVICE_REQUEST}
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = T1.org_id AND ao.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<<<<<<< HEAD
|
||||
AND T1.based_on_table is null
|
||||
=======
|
||||
>>>>>>> v1.3
|
||||
AND T1.parent_id IS NULL
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
@@ -242,4 +250,36 @@
|
||||
ORDER BY T1.status_enum)
|
||||
</select>
|
||||
|
||||
<select id="getAmount" resultType="com.openhis.web.inhospitalnursestation.dto.EncounterAccountDto">
|
||||
SELECT final_res.id,
|
||||
final_res.insutype,
|
||||
final_res.encounter_id,
|
||||
final_res.advance_amount,
|
||||
final_res.total_amount,
|
||||
final_res.balance_amount
|
||||
FROM (SELECT aa.tenant_id,
|
||||
aa.id,
|
||||
aa.insutype,
|
||||
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'
|
||||
GROUP BY aa.tenant_id, aa.id, aa.insutype, aa.encounter_id, aa.balance_amount) AS final_res
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,9 +1,216 @@
|
||||
<?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.ChargeReportMapper">
|
||||
<!--门诊收入明细-->
|
||||
<sql id="selectRevenueReportPage">
|
||||
SELECT T8.tenant_id,
|
||||
T8.payment_id,
|
||||
T8.charge_id,
|
||||
T8.name, -- 姓名
|
||||
T8.gender_enum, -- 性别
|
||||
T8.birth_date, -- 出生日期
|
||||
T8.id_card, -- 证件号
|
||||
T8.yb_code, -- 医保号
|
||||
T8.encounter_date, -- 就诊日期
|
||||
T8.bus_no,-- 患者院内编码/病历号
|
||||
T8.department_id,-- 科室
|
||||
T8.department_name,-- 科室
|
||||
T8.clinical_name,-- 项目名
|
||||
T8.clinical_no, -- 项目编码
|
||||
T8.ybNo,-- 医保码
|
||||
T8.type, -- 类别
|
||||
T8.issuer_id,-- 开单人
|
||||
T8.issuer_name,-- 开单人
|
||||
T8.payee_id,-- 收款人
|
||||
T8.payee_name,-- 收款人
|
||||
T8.number,-- 数量
|
||||
T8.quantity_unit,-- 单位
|
||||
T8.price,-- 单价
|
||||
T8.total_price,-- 金额
|
||||
T8.charge_time,-- 收费时间
|
||||
T8.total_volume, -- 规格
|
||||
T8.chrgitmLv,-- 医保等级
|
||||
T8.clinical_type, -- 项目类型
|
||||
T8.encounter_id
|
||||
FROM (SELECT DISTINCT T1.tenant_id,
|
||||
T1.id AS payment_id,
|
||||
T4.id AS charge_id,
|
||||
T15.name, -- 姓名
|
||||
T15.gender_enum, -- 性别
|
||||
T15.birth_date, -- 出生日期
|
||||
T15.id_card, -- 证件号
|
||||
T16.psn_no AS yb_code, -- 医保号
|
||||
TO_CHAR(T2.reception_time, 'YYYY-MM-DD') AS encounter_date, -- 就诊日期
|
||||
T2.bus_no, -- 患者院内编码/病历号
|
||||
T3.id AS department_id,-- 科室
|
||||
T3.name AS department_name,-- 科室
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN T11.name
|
||||
WHEN T5.instance_table = 'adm_healthcare_service' THEN T12.name
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN T13.name
|
||||
WHEN T5.instance_table = 'wor_activity_definition' THEN T14.name
|
||||
ELSE NULL
|
||||
END AS clinical_name, -- 项目名
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN T11.bus_no
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN T13.bus_no
|
||||
WHEN T5.instance_table = 'wor_activity_definition' THEN T14.bus_no
|
||||
ELSE NULL
|
||||
END AS clinical_no, -- 项目编码
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN T11.yb_no
|
||||
WHEN T5.instance_table = 'adm_healthcare_service' THEN T12.yb_no
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN T13.yb_no
|
||||
WHEN T5.instance_table = 'wor_activity_definition' THEN T14.yb_no
|
||||
ELSE NULL
|
||||
END AS ybNo, -- 医保码
|
||||
T5.yb_type AS type, -- 医保类别
|
||||
T6.id AS issuer_id,-- 开单人
|
||||
T6.name AS issuer_name,-- 开单人
|
||||
T7.id AS payee_id,-- 收款人
|
||||
T7.name AS payee_name,-- 收款人
|
||||
T4.quantity_value AS number,-- 数量
|
||||
T4.quantity_unit,-- 单位
|
||||
T4.unit_price AS price,-- 单价
|
||||
CASE
|
||||
WHEN T1.status_enum = #{refundAll} THEN -T4.total_price
|
||||
ELSE T4.total_price
|
||||
END AS total_price,-- 金额
|
||||
T1.bill_date AS charge_time,-- 收费时间
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN T17.device_specifications
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN T18.total_volume
|
||||
ELSE NULL
|
||||
END AS total_volume, -- 规格
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN T11.chrgitm_lv
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN T13.chrgitm_lv
|
||||
WHEN T5.instance_table = 'wor_activity_definition' THEN T14.chrgitm_lv
|
||||
ELSE NULL
|
||||
END AS chrgitmLv,-- 医保等级
|
||||
CASE
|
||||
WHEN T5.instance_table = 'adm_device_definition' THEN #{device}
|
||||
WHEN T5.instance_table = 'adm_healthcare_service' THEN #{register}
|
||||
WHEN T5.instance_table = 'med_medication_definition' THEN #{medication}
|
||||
WHEN T5.instance_table = 'wor_activity_definition' THEN #{activity}
|
||||
ELSE NULL
|
||||
END AS clinical_type, -- 项目类型
|
||||
T1.encounter_id,
|
||||
|
||||
CASE WHEN T5.instance_table = 'adm_device_definition' THEN T11.category_code ELSE NULL END AS
|
||||
device_category_code,
|
||||
|
||||
CASE WHEN T5.instance_table = 'med_medication_definition' THEN T13.category_code ELSE NULL END AS
|
||||
medication_category_code,
|
||||
|
||||
CASE WHEN T5.instance_table = 'wor_activity_definition' THEN T14.category_code ELSE NULL END AS
|
||||
activity_category_code
|
||||
FROM fin_payment_reconciliation T1
|
||||
LEFT JOIN adm_encounter T2
|
||||
ON T2.id = T1.encounter_id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.class_enum = 2
|
||||
LEFT JOIN adm_patient AS T15
|
||||
ON T1.patient_id = T15.id
|
||||
AND T15.delete_flag = '0'
|
||||
LEFT JOIN yb_clinc_reg AS T16
|
||||
ON T2.bus_no = T16.ipt_otp_no
|
||||
LEFT JOIN adm_organization AS T3
|
||||
ON T2.organization_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item T4
|
||||
ON CONCAT(',', T1.charge_item_ids, ',') LIKE CONCAT('%,', T4.id, ',%')
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T5
|
||||
ON T4.definition_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition T11
|
||||
ON T5.instance_id = T11.id
|
||||
AND T5.instance_table = 'adm_device_definition'
|
||||
AND T11.delete_flag = '0'
|
||||
LEFT JOIN adm_device T17
|
||||
ON T11.id = T17.device_def_id
|
||||
AND T17.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service T12
|
||||
ON T5.instance_id = T12.id
|
||||
AND T5.instance_table = 'adm_healthcare_service'
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition T13
|
||||
ON T5.instance_id = T13.id
|
||||
AND T5.instance_table = 'med_medication_definition'
|
||||
AND T13.delete_flag = '0'
|
||||
LEFT JOIN med_medication T18
|
||||
ON T13.id = T18.medication_def_id
|
||||
AND T18.delete_flag = '0'
|
||||
LEFT JOIN wor_activity_definition T14
|
||||
ON T5.instance_id = T14.id
|
||||
AND T5.instance_table = 'wor_activity_definition'
|
||||
AND T14.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T6
|
||||
ON T4.enterer_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T7
|
||||
ON T1.enterer_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
<if test="statisticsFlg == 0 or statisticsFlg == 1">
|
||||
INNER JOIN adm_account T19
|
||||
ON T4.account_id = T19.id
|
||||
AND T19.delete_flag = '0'
|
||||
INNER JOIN fin_contract T20
|
||||
ON T19.contract_no = T20.bus_no
|
||||
AND T20.yb_flag = #{statisticsFlg}
|
||||
AND T20.delete_flag = '0'
|
||||
</if>
|
||||
<if test="statisticsFlg == 3">
|
||||
WHERE T1.status_enum = #{refundAll}
|
||||
</if>
|
||||
<if test="statisticsFlg != 3">
|
||||
WHERE T1.status_enum IN (#{success}, #{refundAll})
|
||||
</if>
|
||||
AND T1.delete_flag = '0'
|
||||
ORDER BY T2.bus_no,
|
||||
T4.ID,
|
||||
T1.bill_date) AS T8
|
||||
${ew.customSqlSegment}
|
||||
|
||||
<!-- clinicalType 筛选条件 -->
|
||||
<if test="clinicalType != null and !clinicalType.isEmpty()">
|
||||
AND (
|
||||
<trim prefix="" suffix="" suffixOverrides="OR">
|
||||
<if test="clinicalType.contains(1)">
|
||||
T8.clinical_type = 1
|
||||
AND T8.medication_category_code IN
|
||||
<foreach collection="medicationCategoryCode" item="code" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR
|
||||
</if>
|
||||
<if test="clinicalType.contains(2)">
|
||||
T8.clinical_type = 2
|
||||
AND T8.device_category_code IN
|
||||
<foreach collection="deviceCategoryCode" item="code" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR
|
||||
</if>
|
||||
<if test="clinicalType.contains(3)">
|
||||
T8.clinical_type = 3
|
||||
AND T8.activity_category_code IN
|
||||
<foreach collection="activityCategoryCode" item="code" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR
|
||||
</if>
|
||||
<if test="clinicalType.contains(4)">
|
||||
T8.clinical_type = 4
|
||||
</if>
|
||||
</trim>
|
||||
)
|
||||
</if>
|
||||
</sql>
|
||||
<!--门诊收入明细 -->
|
||||
<select id="selectRevenueReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.ChargeReportPageDto">
|
||||
<<<<<<< HEAD
|
||||
SELECT T8.tenant_id,
|
||||
T8.payment_id,
|
||||
T8.charge_id,
|
||||
@@ -164,5 +371,510 @@
|
||||
T4.ID,
|
||||
T1.bill_date) AS T8
|
||||
${ew.customSqlSegment}
|
||||
=======
|
||||
<include refid="selectRevenueReportPage"/>
|
||||
</select>
|
||||
<!--门诊收入明细,不分页 -->
|
||||
<select id="selectAllRevenueReportPage" resultType="com.openhis.web.reportmanage.dto.ChargeReportPageDto">
|
||||
<include refid="selectRevenueReportPage"/>
|
||||
</select>
|
||||
<select id="selectOrgWorkload" resultType="com.openhis.web.reportmanage.dto.workloadReportDto">
|
||||
SELECT
|
||||
T8.requesting_org_id AS org_id,
|
||||
T3.name AS org_name,
|
||||
T5.type_code AS charge_code,
|
||||
T5.yb_type AS yb_Charge_Code,
|
||||
T8.trade_type AS charge_type,
|
||||
SUM(T8.total_price) AS total_price, -- 退款为负数,汇总自动抵消,保留原有逻辑
|
||||
SUM(T8.system_discount_price) AS system_discount_price_total,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN T5.instance_table = #{medicationTableName} THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T13.min_unit_code THEN 1.0 / COALESCE(T13.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
WHEN T5.instance_table = #{deviceTableName} THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T11.min_unit_code THEN 1.0 / COALESCE(T11.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS cost_price,
|
||||
SUM(T8.total_price) - SUM(
|
||||
CASE
|
||||
WHEN T5.instance_table IN (#{medicationTableName}, #{deviceTableName}) THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T5.instance_table = #{medicationTableName} THEN
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T13.min_unit_code THEN 1.0 / COALESCE(T13.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T11.min_unit_code THEN 1.0 / COALESCE(T11.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS profit
|
||||
FROM (
|
||||
WITH base_payment AS (
|
||||
SELECT
|
||||
T1.id AS payment_id,
|
||||
T1.tenant_id,
|
||||
T1.status_enum,
|
||||
T1.bill_date,
|
||||
T1.charge_item_ids,
|
||||
NULL AS relation_id,
|
||||
T1.delete_flag
|
||||
FROM fin_payment_reconciliation T1
|
||||
WHERE T1.status_enum = #{success}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.tenant_id = #{tenantId}
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND T1.bill_date BETWEEN
|
||||
to_timestamp(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
AND
|
||||
to_timestamp(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
</if>
|
||||
UNION ALL
|
||||
SELECT
|
||||
refund.id AS payment_id,
|
||||
refund.tenant_id,
|
||||
refund.status_enum,
|
||||
refund.bill_date,
|
||||
refund.charge_item_ids,
|
||||
refund.relation_id,
|
||||
refund.delete_flag
|
||||
FROM fin_payment_reconciliation refund
|
||||
WHERE refund.status_enum = #{refund}
|
||||
AND refund.delete_flag = '0'
|
||||
AND refund.tenant_id = #{tenantId}
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND refund.bill_date BETWEEN
|
||||
to_timestamp(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
AND
|
||||
to_timestamp(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
</if>
|
||||
),
|
||||
payment_charge_item AS (
|
||||
SELECT
|
||||
bp.payment_id,
|
||||
bp.tenant_id,
|
||||
bp.status_enum,
|
||||
bp.bill_date,
|
||||
bp.relation_id,
|
||||
unnest(string_to_array(bp.charge_item_ids, ','))::BIGINT AS charge_item_id
|
||||
FROM base_payment bp
|
||||
WHERE bp.charge_item_ids IS NOT NULL AND bp.charge_item_ids != ''
|
||||
),
|
||||
charge_item_calc AS (
|
||||
SELECT
|
||||
pci.payment_id,
|
||||
pci.tenant_id,
|
||||
pci.status_enum,
|
||||
pci.bill_date,
|
||||
pci.charge_item_id,
|
||||
CASE
|
||||
WHEN pci.status_enum = #{success} THEN 1
|
||||
WHEN pci.status_enum = #{refund} THEN -1
|
||||
ELSE 0
|
||||
END AS calc_flag
|
||||
FROM payment_charge_item pci
|
||||
LEFT JOIN base_payment orig ON pci.relation_id = orig.payment_id
|
||||
),
|
||||
charge_item_detail AS (
|
||||
SELECT
|
||||
cic.tenant_id,
|
||||
ac.id AS charge_id,
|
||||
ac.requesting_org_id,
|
||||
ac.quantity_value,
|
||||
ac.quantity_unit,
|
||||
ac.definition_id,
|
||||
ac.service_id,
|
||||
ac.total_price * cic.calc_flag AS total_price,
|
||||
COALESCE(ac.system_discount_price, ac.total_price) * cic.calc_flag AS system_discount_price,
|
||||
cic.bill_date,
|
||||
CASE WHEN cic.status_enum = #{refund} THEN 2 ELSE 1 END AS trade_type,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN acd.instance_table = #{medicationTableName} THEN mmd.lot_number
|
||||
WHEN acd.instance_table = #{deviceTableName} THEN wdd.lot_number
|
||||
ELSE NULL
|
||||
END, ''
|
||||
) AS lot_number
|
||||
FROM charge_item_calc cic
|
||||
LEFT JOIN adm_charge_item ac ON cic.charge_item_id = ac.id AND ac.delete_flag = '0' AND ac.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN adm_charge_item_definition acd ON ac.definition_id = acd.id AND acd.delete_flag = '0' AND
|
||||
acd.tenant_id = #{tenantId}
|
||||
LEFT JOIN med_medication_request mmr ON ac.service_id = mmr.id AND mmr.delete_flag = '0' AND mmr.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN med_medication_dispense mmd ON mmd.med_req_id = mmr.id AND mmd.delete_flag = '0' AND mmd.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN wor_device_request wdr ON ac.service_id = wdr.id AND wdr.delete_flag = '0' AND wdr.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN wor_device_dispense wdd ON wdd.device_req_id = wdr.id AND wdd.delete_flag = '0' AND wdd.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN fin_payment_rec_detail paydel ON cic.payment_id = paydel.reconciliation_id AND paydel.tenant_id =
|
||||
#{tenantId}
|
||||
LEFT JOIN adm_account account ON paydel.account_id = account.id AND account.tenant_id = #{tenantId}
|
||||
WHERE ac.id IS NOT NULL
|
||||
),
|
||||
-- 按「charge_id + trade_type」组合维度去重(保留正常/退款各一条)
|
||||
charge_item_distinct AS (
|
||||
SELECT
|
||||
*,
|
||||
-- 分区键:charge_id(收费项) + trade_type(正常/退款),确保不同类型不互相覆盖
|
||||
ROW_NUMBER() OVER (PARTITION BY charge_id, trade_type ORDER BY bill_date DESC) AS rn
|
||||
FROM charge_item_detail
|
||||
)
|
||||
-- 只保留每个「收费项+交易类型」的第一条记录(去重),同时保留正常/退款数据
|
||||
SELECT
|
||||
tenant_id,
|
||||
charge_id,
|
||||
requesting_org_id,
|
||||
quantity_value,
|
||||
quantity_unit,
|
||||
definition_id,
|
||||
service_id,
|
||||
total_price,
|
||||
system_discount_price,
|
||||
trade_type,
|
||||
lot_number
|
||||
FROM charge_item_distinct
|
||||
WHERE rn = 1
|
||||
) AS T8
|
||||
-- 关联成本详情表(保留原有逻辑)
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON T8.definition_id = acidd.definition_id
|
||||
AND acidd.tenant_id = #{tenantId}
|
||||
AND acidd.id = (
|
||||
SELECT cidd.id
|
||||
FROM adm_charge_item_def_detail cidd
|
||||
WHERE cidd.definition_id = T8.definition_id
|
||||
AND cidd.condition_code = #{conditionCode}
|
||||
AND cidd.delete_flag = '0'
|
||||
AND cidd.tenant_id = #{tenantId}
|
||||
AND (cidd.condition_value = T8.lot_number OR (T8.lot_number = '' AND cidd.condition_value IS NULL))
|
||||
ORDER BY cidd.create_time DESC
|
||||
LIMIT 1
|
||||
)
|
||||
-- 关联机构表(保留原有逻辑)
|
||||
LEFT JOIN adm_organization T3
|
||||
ON T8.requesting_org_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
AND T3.tenant_id = #{tenantId}
|
||||
-- 关联收费项定义表(保留原有逻辑)
|
||||
LEFT JOIN adm_charge_item_definition T5
|
||||
ON T8.definition_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
AND T5.tenant_id = #{tenantId}
|
||||
-- 关联药品定义表(保留原有去重逻辑)
|
||||
LEFT JOIN (
|
||||
SELECT id, min_unit_code, part_percent, tenant_id
|
||||
FROM med_medication_definition
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY id, min_unit_code, part_percent, tenant_id
|
||||
) T13
|
||||
ON T5.instance_id = T13.id
|
||||
AND T5.instance_table = #{medicationTableName}
|
||||
AND T13.tenant_id = #{tenantId}
|
||||
-- 关联设备定义表(保留原有去重逻辑)
|
||||
LEFT JOIN (
|
||||
SELECT id, min_unit_code, part_percent, tenant_id
|
||||
FROM adm_device_definition
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY id, min_unit_code, part_percent, tenant_id
|
||||
) T11
|
||||
ON T5.instance_id = T11.id
|
||||
AND T5.instance_table = #{deviceTableName}
|
||||
AND T11.tenant_id = #{tenantId}
|
||||
-- 保留原有分组逻辑(包含trade_type,确保正常/退款分开统计)
|
||||
GROUP BY
|
||||
T8.requesting_org_id,
|
||||
T3.name,
|
||||
T5.yb_type,
|
||||
T5.type_code,
|
||||
T8.trade_type
|
||||
ORDER BY
|
||||
T8.requesting_org_id,
|
||||
T3.name,
|
||||
T5.yb_type,
|
||||
T5.type_code,
|
||||
T8.trade_type;
|
||||
</select>
|
||||
<select id="selectDoctorWorkload" resultType="com.openhis.web.reportmanage.dto.workloadReportDto">
|
||||
SELECT
|
||||
T8.requesting_org_id AS org_id,
|
||||
T3.name AS org_name,
|
||||
T8.enterer_id AS doctor_id,
|
||||
T8.name AS doctor_name,
|
||||
T5.type_code AS charge_code,
|
||||
T5.yb_type AS yb_Charge_Code,
|
||||
T8.trade_type AS charge_type,
|
||||
SUM(T8.total_price) AS total_price,
|
||||
SUM(T8.system_discount_price) AS system_discount_price_total,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN T5.instance_table = #{medicationTableName} THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T13.min_unit_code THEN 1.0 / COALESCE(T13.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
WHEN T5.instance_table = #{deviceTableName} THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T11.min_unit_code THEN 1.0 / COALESCE(T11.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS cost_price,
|
||||
-- 净收入 = 收入 - 成本(完全保留原有计算逻辑)
|
||||
SUM(T8.total_price) - SUM(
|
||||
CASE
|
||||
WHEN T5.instance_table IN (#{medicationTableName}, #{deviceTableName}) THEN
|
||||
T8.quantity_value * COALESCE(acidd.amount, 0) *
|
||||
CASE
|
||||
WHEN T5.instance_table = #{medicationTableName} THEN
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T13.min_unit_code THEN 1.0 / COALESCE(T13.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE
|
||||
CASE
|
||||
WHEN T8.quantity_unit = T11.min_unit_code THEN 1.0 / COALESCE(T11.part_percent, 1)
|
||||
ELSE 1
|
||||
END
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS profit
|
||||
FROM (
|
||||
-- 基础支付对账数据(整合正常+退款,和科室SQL完全一致)
|
||||
WITH base_payment AS (
|
||||
SELECT
|
||||
T1.id AS payment_id,
|
||||
T1.tenant_id,
|
||||
T1.status_enum,
|
||||
T1.bill_date,
|
||||
T1.charge_item_ids,
|
||||
NULL AS relation_id,
|
||||
T1.delete_flag
|
||||
FROM fin_payment_reconciliation T1
|
||||
WHERE T1.status_enum = #{success}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.tenant_id = #{tenantId}
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND T1.bill_date BETWEEN
|
||||
to_timestamp(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
AND
|
||||
to_timestamp(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
</if>
|
||||
UNION ALL
|
||||
SELECT
|
||||
refund.id AS payment_id,
|
||||
refund.tenant_id,
|
||||
refund.status_enum,
|
||||
refund.bill_date,
|
||||
refund.charge_item_ids,
|
||||
refund.relation_id,
|
||||
refund.delete_flag
|
||||
FROM fin_payment_reconciliation refund
|
||||
WHERE refund.status_enum = #{refund}
|
||||
AND refund.delete_flag = '0'
|
||||
AND refund.tenant_id = #{tenantId}
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND refund.bill_date BETWEEN
|
||||
to_timestamp(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
AND
|
||||
to_timestamp(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')::timestamptz
|
||||
</if>
|
||||
),
|
||||
-- 拆分charge_item_ids(替代原有LIKE匹配,精准且高效)
|
||||
payment_charge_item AS (
|
||||
SELECT
|
||||
bp.payment_id,
|
||||
bp.tenant_id,
|
||||
bp.status_enum,
|
||||
bp.bill_date,
|
||||
bp.relation_id,
|
||||
unnest(string_to_array(bp.charge_item_ids, ','))::BIGINT AS charge_item_id
|
||||
FROM base_payment bp
|
||||
WHERE bp.charge_item_ids IS NOT NULL AND bp.charge_item_ids != ''
|
||||
),
|
||||
-- 计算calc_flag(正常=1,退款=-1,和科室SQL一致)
|
||||
charge_item_calc AS (
|
||||
SELECT
|
||||
pci.payment_id,
|
||||
pci.tenant_id,
|
||||
pci.status_enum,
|
||||
pci.bill_date,
|
||||
pci.charge_item_id,
|
||||
CASE
|
||||
WHEN pci.status_enum = #{success} THEN 1
|
||||
WHEN pci.status_enum = #{refund} THEN -1
|
||||
ELSE 0
|
||||
END AS calc_flag
|
||||
FROM payment_charge_item pci
|
||||
LEFT JOIN base_payment orig ON pci.relation_id = orig.payment_id
|
||||
),
|
||||
-- 关联收费项+医生信息(核心新增医生维度字段)
|
||||
charge_item_detail AS (
|
||||
SELECT
|
||||
cic.tenant_id,
|
||||
ac.id AS charge_id,
|
||||
ac.requesting_org_id,
|
||||
ac.quantity_value,
|
||||
ac.quantity_unit,
|
||||
ac.definition_id,
|
||||
ac.service_id,
|
||||
-- 金额计算(和科室SQL一致,退款为负数)
|
||||
ac.total_price * cic.calc_flag AS total_price,
|
||||
-- 折后价计算(和科室SQL一致,退款为负数)
|
||||
COALESCE(ac.system_discount_price, ac.total_price) * cic.calc_flag AS system_discount_price,
|
||||
cic.bill_date,
|
||||
-- 交易类型(1=正常,2=退款,和原有逻辑一致)
|
||||
CASE WHEN cic.status_enum = #{refund} THEN 2 ELSE 1 END AS trade_type,
|
||||
-- 医生维度核心字段(新增)
|
||||
ac.enterer_id,
|
||||
ap.name,
|
||||
-- 处理lot_number空值,避免关联异常
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN acd.instance_table = #{medicationTableName} THEN mmd.lot_number
|
||||
WHEN acd.instance_table = #{deviceTableName} THEN wdd.lot_number
|
||||
ELSE NULL
|
||||
END, ''
|
||||
) AS lot_number
|
||||
FROM charge_item_calc cic
|
||||
-- 关联收费项(精准匹配,替代原有LIKE)
|
||||
LEFT JOIN adm_charge_item ac
|
||||
ON cic.charge_item_id = ac.id
|
||||
AND ac.delete_flag = '0'
|
||||
AND ac.tenant_id = #{tenantId}
|
||||
-- 关联收费项定义(获取instance_table等信息)
|
||||
LEFT JOIN adm_charge_item_definition acd
|
||||
ON ac.definition_id = acd.id
|
||||
AND acd.delete_flag = '0'
|
||||
AND acd.tenant_id = #{tenantId}
|
||||
-- 关联医生信息(核心:医生ID+姓名)
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON ac.enterer_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
AND ap.tenant_id = #{tenantId}
|
||||
-- 关联药品/设备相关表(保留原有逻辑)
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON ac.service_id = mmr.id
|
||||
AND mmr.delete_flag = '0'
|
||||
AND mmr.tenant_id = #{tenantId}
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmd.delete_flag = '0'
|
||||
AND mmd.tenant_id = #{tenantId}
|
||||
LEFT JOIN wor_device_request wdr
|
||||
ON ac.service_id = wdr.id
|
||||
AND wdr.delete_flag = '0'
|
||||
AND wdr.tenant_id = #{tenantId}
|
||||
LEFT JOIN wor_device_dispense wdd
|
||||
ON wdd.device_req_id = wdr.id
|
||||
AND wdd.delete_flag = '0'
|
||||
AND wdd.tenant_id = #{tenantId}
|
||||
WHERE ac.id IS NOT NULL
|
||||
),
|
||||
--核心去重(医生维度:charge_id + enterer_id + trade_type)
|
||||
charge_item_distinct AS (
|
||||
SELECT
|
||||
*,
|
||||
-- 分区键:收费项+医生+交易类型,确保不同医生/不同类型不重复
|
||||
ROW_NUMBER() OVER (PARTITION BY charge_id, enterer_id, trade_type ORDER BY bill_date DESC) AS rn
|
||||
FROM charge_item_detail
|
||||
)
|
||||
SELECT
|
||||
tenant_id,
|
||||
charge_id,
|
||||
requesting_org_id,
|
||||
quantity_value,
|
||||
quantity_unit,
|
||||
definition_id,
|
||||
service_id,
|
||||
total_price,
|
||||
system_discount_price,
|
||||
trade_type,
|
||||
enterer_id,
|
||||
name,
|
||||
lot_number
|
||||
FROM charge_item_distinct
|
||||
WHERE rn = 1
|
||||
) AS T8
|
||||
-- 关联成本详情表(和科室SQL一致,修复lot_number空值匹配)
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON T8.definition_id = acidd.definition_id
|
||||
AND acidd.tenant_id = #{tenantId}
|
||||
AND acidd.id = (
|
||||
SELECT cidd.id
|
||||
FROM adm_charge_item_def_detail cidd
|
||||
WHERE cidd.definition_id = T8.definition_id
|
||||
AND cidd.condition_code = #{conditionCode}
|
||||
AND cidd.delete_flag = '0'
|
||||
AND cidd.tenant_id = #{tenantId}
|
||||
-- 关键:处理lot_number为空的情况
|
||||
AND (cidd.condition_value = T8.lot_number OR (T8.lot_number = '' AND cidd.condition_value IS NULL))
|
||||
ORDER BY cidd.create_time DESC
|
||||
LIMIT 1
|
||||
)
|
||||
-- 关联机构表(和科室SQL一致)
|
||||
LEFT JOIN adm_organization T3
|
||||
ON T8.requesting_org_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
AND T3.tenant_id = #{tenantId}
|
||||
-- 关联收费项定义表(和科室SQL一致,获取yb_type)
|
||||
LEFT JOIN adm_charge_item_definition T5
|
||||
ON T8.definition_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
AND T5.tenant_id = #{tenantId}
|
||||
-- 关联药品定义表(去重,避免笛卡尔积)
|
||||
LEFT JOIN (
|
||||
SELECT id, min_unit_code, part_percent, tenant_id
|
||||
FROM med_medication_definition
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY id, min_unit_code, part_percent, tenant_id
|
||||
) T13
|
||||
ON T5.instance_id = T13.id
|
||||
AND T5.instance_table = #{medicationTableName}
|
||||
AND T13.tenant_id = #{tenantId}
|
||||
-- 关联设备定义表(去重,避免笛卡尔积)
|
||||
LEFT JOIN (
|
||||
SELECT id, min_unit_code, part_percent, tenant_id
|
||||
FROM adm_device_definition
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY id, min_unit_code, part_percent, tenant_id
|
||||
) T11
|
||||
ON T5.instance_id = T11.id
|
||||
AND T5.instance_table = #{deviceTableName}
|
||||
AND T11.tenant_id = #{tenantId}
|
||||
GROUP BY
|
||||
T8.requesting_org_id,
|
||||
T3.name,
|
||||
T8.enterer_id,
|
||||
T8.name,
|
||||
T5.type_code,
|
||||
T5.yb_type,
|
||||
T8.trade_type
|
||||
ORDER BY
|
||||
T8.requesting_org_id,
|
||||
T3.name,
|
||||
T5.yb_type,
|
||||
T5.type_code,
|
||||
T8.trade_type;
|
||||
>>>>>>> v1.3
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -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