解决合并冲突
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
<?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.InventoryAdjustPriceMapper">
|
||||
|
||||
<select id="selectReceiptPageByAdjustPrice"
|
||||
resultType="com.openhis.web.inventorymanage.dto.InventoryAdjustPriceDto">
|
||||
SELECT T2.supply_bus_no,
|
||||
T2.status_enum,
|
||||
T2.type_enum,
|
||||
T2.approver_id,
|
||||
T2.approval_time,
|
||||
T2.applicant_id,
|
||||
T2.apply_time,
|
||||
T2.practitioner_id,
|
||||
T2.tenant_id,
|
||||
T2.category_enum
|
||||
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.category_enum
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE T1.status_enum IN (#{approval}, #{agree}, #{reject})
|
||||
AND T1.delete_flag != '1'
|
||||
AND T1.type_enum IN (#{medTypeEnum}
|
||||
, #{deviceTypeEnum}
|
||||
, #{activityTypeEnum}
|
||||
, #{healthTypeEnum})
|
||||
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.category_enum
|
||||
ORDER BY T1.apply_time desc) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="searchPageByExamine" resultType="com.openhis.web.adjustprice.dto.ChangePricePageDto">
|
||||
select t2.bus_no,
|
||||
t2.status_enum,
|
||||
t2.approver_id,
|
||||
t2.approval_time,
|
||||
t2.applicant_id,
|
||||
t2.applicant_time,
|
||||
t2.create_time,
|
||||
t2.item_category_enum,
|
||||
t2.tenant_id
|
||||
from (select t1.bus_no,
|
||||
t1.status_enum,
|
||||
t1.approver_id,
|
||||
t1.approval_time,
|
||||
t1.applicant_id,
|
||||
min(t1.applicant_time) as applicant_time,
|
||||
min(t1.create_time) as create_time,
|
||||
t1.item_category_enum,
|
||||
t1.tenant_id
|
||||
FROM adm_change_price_record t1
|
||||
where t1.delete_flag = '0'
|
||||
AND t1.status_enum IN (#{approval}, #{agree}, #{reject})
|
||||
AND t1.item_category_enum IN (#{medCategory}, #{deviceCategory}, #{activityCategory}, #{healthCategory})
|
||||
GROUP BY t1.bus_no, t1.status_enum, t1.approver_id, t1.approval_time, t1.applicant_id,
|
||||
t1.item_category_enum, t1.tenant_id
|
||||
ORDER BY t1.bus_no desc) as t2
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,324 @@
|
||||
<?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.ProductDetailAppMapper">
|
||||
|
||||
<select id="selectProductDetailsPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
SELECT 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
|
||||
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
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.py_str
|
||||
</select>
|
||||
|
||||
<select id="selectProductDetailsPageX"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
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
|
||||
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}
|
||||
ORDER BY ii.py_str
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,523 +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.inventorymanage.mapper.ProductDetailsMapper">
|
||||
|
||||
<select id="selectProductDetailsPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsPageDto">
|
||||
WITH latest_records AS (
|
||||
SELECT
|
||||
item_table,
|
||||
item_id,
|
||||
location_id,
|
||||
lot_number,
|
||||
trace_no,
|
||||
MAX(create_time) AS latest_time
|
||||
FROM
|
||||
adm_trace_no_manage
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY
|
||||
item_table,
|
||||
item_id,
|
||||
location_id,
|
||||
lot_number,
|
||||
trace_no
|
||||
)
|
||||
SELECT T6.id, --库存项目管理ID(停供用)
|
||||
T6.bus_no, --药品编码
|
||||
T6.medicine_name, --药品名称
|
||||
T6.py_str, --药品拼音
|
||||
T6.total_volume, --规格
|
||||
T6.chrgitm_lv, --医保等级
|
||||
T6.manufacturer_text, --厂家
|
||||
T6.lot_number, --批次号
|
||||
T6.category_code, --药品类型
|
||||
T6.item_type, --药品类型区分
|
||||
T6.part_percent, --拆零比
|
||||
T6.unit_code, --采购单位
|
||||
T6.quantity, --库存(小单位)
|
||||
T6.min_unit_code, --库存单位
|
||||
T6.price, --采购单价
|
||||
T6.production_date, --生产日期
|
||||
T6.expiration_date, --失效日期
|
||||
T6.remaining_days, --剩余天数
|
||||
T6.trace_no, --追溯码
|
||||
T6.status_enum, --药品状态(药品停用)
|
||||
T6.location_id,
|
||||
T6.location_name, --仓库
|
||||
T6.location_store_id,
|
||||
T6.location_store_name, --货位
|
||||
T6.form_enum, --仓库类型
|
||||
T6.supplier_id, --供应商
|
||||
T6.supply_name, --供应商名称
|
||||
T6.inventory_status_enum, --停供状态
|
||||
T6.dose_form_code, --剂型
|
||||
T6.approval_number, --批准文号/国药准字
|
||||
T6.retail_price, --零售价
|
||||
T6.tenant_id,
|
||||
T6.in_count,
|
||||
T6.out_count,
|
||||
T6.item_table,
|
||||
T6.item_id
|
||||
FROM (
|
||||
SELECT T1.id, --库存项目管理ID(停供用)
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" AS medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T3.total_volume, --规格
|
||||
T2.chrgitm_lv, --医保等级
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T2.category_code, --药品类型
|
||||
'0' AS item_type, --药品类型区分
|
||||
T2.part_percent, --拆零比
|
||||
T2.unit_code, --采购单位
|
||||
T1.quantity, --库存(小单位)
|
||||
T2.min_unit_code, --库存单位
|
||||
T1.price, --采购单价
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) AS remaining_days, --剩余天数
|
||||
T1.trace_no, --追溯码
|
||||
T3.status_enum, --药品状态(药品停用)
|
||||
T1.location_id,
|
||||
T5."name" AS location_name, --仓库
|
||||
T1.location_store_id,
|
||||
T4."name" AS location_store_name, --货位
|
||||
T5.form_enum, --仓库类型
|
||||
T1.supplier_id, --供应商
|
||||
T8.name AS supply_name, --供应商名称
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T3.dose_form_code, --剂型
|
||||
T2.approval_number, --批准文号/国药准字
|
||||
T10.amount AS retail_price, --零售价
|
||||
T1.tenant_id, --修复:添加逗号
|
||||
COALESCE(in_counts.in_count, 0) AS in_count,
|
||||
COALESCE(out_counts.out_count, 0) AS out_count,
|
||||
T1.item_table,
|
||||
T1.item_id
|
||||
FROM wor_inventory_item T1
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.location_store_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T1.supplier_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T9
|
||||
ON T9.instance_table = 'med_medication_definition'
|
||||
AND T9.instance_id = T2.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT amount
|
||||
FROM adm_charge_item_def_detail
|
||||
WHERE definition_id = T9.id
|
||||
AND condition_value = T1.lot_number
|
||||
AND condition_code = '1'--1:批号进价
|
||||
AND delete_flag = '0'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
) T10 ON TRUE
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '1' THEN 1 ELSE 0 END) AS in_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) in_counts
|
||||
ON T1.item_table = in_counts.item_table
|
||||
AND T1.item_id = in_counts.item_id
|
||||
AND T1.location_id = in_counts.location_id
|
||||
AND T1.lot_number = in_counts.lot_number
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '2' THEN 1 ELSE 0 END) AS out_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) out_counts
|
||||
ON T1.item_table = out_counts.item_table
|
||||
AND T1.item_id = out_counts.item_id
|
||||
AND T1.location_id = out_counts.location_id
|
||||
AND T1.lot_number = out_counts.lot_number
|
||||
WHERE T1.delete_flag = '0'
|
||||
) AS T6
|
||||
${ew.customSqlSegment}
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT T7.id, --库存项目管理ID(停供用)
|
||||
T7.bus_no, --药品编码
|
||||
T7.medicine_name, --药品名称
|
||||
T7.py_str, --药品拼音
|
||||
T7.total_volume, --规格
|
||||
T7.chrgitm_lv, --医保等级
|
||||
T7.manufacturer_text, --厂家
|
||||
T7.lot_number, --批次号
|
||||
T7.category_code, --药品类型
|
||||
T7.item_type, --药品类型区分
|
||||
T7.part_percent, --拆零比
|
||||
T7.unit_code, --采购单位
|
||||
T7.quantity, --库存(小单位)
|
||||
T7.min_unit_code, --库存单位
|
||||
T7.price, --采购单价
|
||||
T7.production_date, --生产日期
|
||||
T7.expiration_date, --失效日期
|
||||
T7.remaining_days, --剩余天数
|
||||
T7.trace_no, --追溯码
|
||||
T7.status_enum, --药品状态(药品停用)
|
||||
T7.location_id,
|
||||
T7.location_name, --仓库
|
||||
T7.location_store_id,
|
||||
T7.location_store_name, --货位
|
||||
T7.form_enum, --仓库类型
|
||||
T7.supplier_id, --供应商
|
||||
T7.supply_name, --供应商名称
|
||||
T7.inventory_status_enum, --停供状态
|
||||
T7.dose_form_code, --剂型
|
||||
T7.approval_number, --批准文号/国药准字
|
||||
T7.retail_price, --零售价
|
||||
T7.tenant_id,
|
||||
T7.in_count,
|
||||
T7.out_count,
|
||||
T7.item_table,
|
||||
T7.item_id
|
||||
FROM (
|
||||
SELECT T1.id, --库存项目管理ID(停供用)
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" AS medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T2.size AS total_volume, --规格
|
||||
T2.chrgitm_lv, --医保等级
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T2.category_code, --药品类型
|
||||
'9' AS item_type, --药品类型区分
|
||||
T2.part_percent, --拆零比
|
||||
T2.unit_code, --采购单位
|
||||
T1.quantity, --库存(小单位)
|
||||
T2.min_unit_code, --库存单位
|
||||
T1.price, --采购单价
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) AS remaining_days, --剩余天数
|
||||
T1.trace_no, --追溯码
|
||||
T2.status_enum, --药品状态(药品停用)
|
||||
T1.location_id,
|
||||
T5."name" AS location_name, --仓库
|
||||
T1.location_store_id,
|
||||
T4."name" AS location_store_name, --货位
|
||||
T5.form_enum, --仓库类型
|
||||
T1.supplier_id, --供应商
|
||||
T8.name AS supply_name, --供应商名称
|
||||
T1.inventory_status_enum, --停供状态
|
||||
'0' AS dose_form_code, --剂型
|
||||
T2.approval_number, --批准文号/国药准字
|
||||
T10.amount AS retail_price, --零售价
|
||||
T1.tenant_id, --修复:添加逗号
|
||||
COALESCE(in_counts.in_count, 0) AS in_count,
|
||||
COALESCE(out_counts.out_count, 0) AS out_count,
|
||||
T1.item_table,
|
||||
T1.item_id
|
||||
FROM wor_inventory_item T1
|
||||
INNER JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.location_store_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T1.supplier_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T9
|
||||
ON T9.instance_table = 'adm_device_definition'
|
||||
AND T9.instance_id = T2.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT amount
|
||||
FROM adm_charge_item_def_detail
|
||||
WHERE definition_id = T9.id
|
||||
AND condition_value = T1.lot_number
|
||||
AND condition_code = '1'--1:批号进价
|
||||
AND delete_flag = '0'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
) T10 ON TRUE
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '1' THEN 1 ELSE 0 END) AS in_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) in_counts
|
||||
ON T1.item_table = in_counts.item_table
|
||||
AND T1.item_id = in_counts.item_id
|
||||
AND T1.location_id = in_counts.location_id
|
||||
AND T1.lot_number = in_counts.lot_number
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '2' THEN 1 ELSE 0 END) AS out_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) out_counts
|
||||
ON T1.item_table = out_counts.item_table
|
||||
AND T1.item_id = out_counts.item_id
|
||||
AND T1.location_id = out_counts.location_id
|
||||
AND T1.lot_number = out_counts.lot_number
|
||||
WHERE T1.delete_flag = '0'
|
||||
) AS T7
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectProductDetailsPageTotal"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsTotalDto">
|
||||
SELECT
|
||||
ROUND( SUM ( sale_price ), 2 ) AS total_sale_price,--总零售价
|
||||
ROUND( SUM ( purchase_price ), 2 ) AS total_purchase_price --总进价
|
||||
FROM
|
||||
(
|
||||
<if test="itemType == 99 or itemType == 9">
|
||||
SELECT
|
||||
ROUND(SUM (ROUND( T4.amount, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS sale_price,
|
||||
ROUND(SUM (ROUND( T1.price, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS purchase_price
|
||||
FROM
|
||||
wor_inventory_item T1
|
||||
INNER JOIN adm_device_definition T2 ON T1.item_id = T2.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T3 ON T3.instance_table = 'adm_device_definition'
|
||||
AND T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN LATERAL ( SELECT amount FROM adm_charge_item_def_detail WHERE definition_id = T3.ID AND condition_value = T1.lot_number AND condition_code = '1' AND delete_flag = '0' ORDER BY create_time DESC LIMIT 1 ) T4 ON TRUE
|
||||
LEFT JOIN adm_supplier T5 ON T1.supplier_id = T5.ID
|
||||
AND T5.delete_flag = '0'
|
||||
<if test="sqlWhere != '' and sqlWhere != null">
|
||||
<where>
|
||||
${sqlWhere}
|
||||
</where>
|
||||
</if>
|
||||
</if>
|
||||
<if test="itemType == 99 ">
|
||||
UNION ALL
|
||||
</if>
|
||||
<if test="itemType == 99 or itemType == 0">
|
||||
SELECT
|
||||
ROUND(SUM (ROUND( T4.amount, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS sale_price,
|
||||
ROUND(SUM (ROUND( T1.price, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS purchase_price
|
||||
FROM
|
||||
wor_inventory_item T1
|
||||
INNER JOIN med_medication_definition T2 ON T1.item_id = T2.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T3 ON T3.instance_table = 'med_medication_definition'
|
||||
AND T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN LATERAL ( SELECT amount FROM adm_charge_item_def_detail WHERE definition_id = T3.ID AND condition_value = T1.lot_number AND condition_code = '1' AND delete_flag = '0' ORDER BY create_time DESC LIMIT 1 ) T4 ON TRUE
|
||||
LEFT JOIN adm_supplier T5 ON T1.supplier_id = T5.ID
|
||||
AND T5.delete_flag = '0'
|
||||
<if test="sqlWhere != '' and sqlWhere != null">
|
||||
<where>
|
||||
${sqlWhere}
|
||||
</where>
|
||||
</if>
|
||||
</if>
|
||||
)
|
||||
</select>
|
||||
<select id="selectExpirationWarning"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsPageDto">
|
||||
select T6.category_code, --药品类型
|
||||
T6.item_type, --药品类型区分
|
||||
T6.bus_no, --药品编码
|
||||
T6.medicine_name, --药品名称
|
||||
T6.py_str, --药品拼音
|
||||
T6.total_volume, --规格
|
||||
T6.manufacturer_text, --厂家
|
||||
T6.lot_number, --批次号
|
||||
T6.production_date, --生产日期
|
||||
T6.expiration_date, --失效日期
|
||||
T6.remaining_days, --剩余天数
|
||||
T6.remaining_month, --剩余月数
|
||||
T6.quantity, --库存(小单位)
|
||||
T6.specification_quantity,--规格库存(小单位)
|
||||
T6.item_min_quantity, --最小库存警戒数量
|
||||
T6.item_max_quantity, --最大库存警戒数量
|
||||
T6.min_unit_code, --库存单位
|
||||
T6.status_enum, --药品状态(药品停用)
|
||||
T6.inventory_status_enum, --停供状态
|
||||
T6.tenant_id
|
||||
from (select T2.category_code, --药品类型
|
||||
'0' as item_type, --药品类型区分
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" as medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) as remaining_days, --剩余天数
|
||||
((EXTRACT(YEAR FROM T1.expiration_date) - EXTRACT(YEAR FROM CURRENT_DATE)) * 12
|
||||
+ (EXTRACT(MONTH FROM T1.expiration_date) -
|
||||
EXTRACT(MONTH FROM CURRENT_DATE))) as remaining_month, --剩余月数
|
||||
T1.quantity, --库存(小单位)
|
||||
COALESCE(CAST(T8.specification_quantity AS DECIMAL(18, 6)), 0.00) AS specification_quantity,--规格库存(小单位)
|
||||
T2.item_min_quantity * T2.part_percent AS item_min_quantity, --最小库存警戒数量
|
||||
T2.item_max_quantity * T2.part_percent AS item_max_quantity, --最大库存警戒数量
|
||||
T2.min_unit_code, --库存单位
|
||||
T3.status_enum, --药品状态(药品停用)
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T1.tenant_id
|
||||
from wor_inventory_item T1
|
||||
inner join med_medication_definition T2
|
||||
on T1.item_id = T2.id
|
||||
and T2.delete_flag = '0'
|
||||
left join med_medication T3
|
||||
on T2.id = T3.medication_def_id
|
||||
and T3.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.location_store_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.location_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
LEFT JOIN (SELECT i1.item_table,
|
||||
i1.item_id,
|
||||
COALESCE(CAST(SUM(i1.quantity) AS DECIMAL(18, 6)), 0.00) AS specification_quantity
|
||||
FROM wor_inventory_item i1
|
||||
LEFT JOIN med_medication_definition i2 ON i1.item_id = i2.ID
|
||||
AND i2.delete_flag = '0'
|
||||
WHERE i1.item_table = 'med_medication_definition'
|
||||
AND i1.delete_flag = '0'
|
||||
GROUP BY i1.item_table,
|
||||
i1.item_id) T8
|
||||
ON T8.item_table = 'med_medication_definition'
|
||||
AND T8.item_id = T2.ID
|
||||
where T1.delete_flag = '0'
|
||||
<if test="flg != null">
|
||||
and (T8.specification_quantity <![CDATA[ <= ]]> T2.item_min_quantity * T2.part_percent
|
||||
or T8.specification_quantity <![CDATA[ >= ]]> T2.item_max_quantity * T2.part_percent)
|
||||
</if>
|
||||
order by T2.bus_no ASC, --药品编码
|
||||
T2."name" ASC --药品名称
|
||||
) as T6
|
||||
${ew.customSqlSegment}
|
||||
union all
|
||||
select T7.category_code, --药品类型
|
||||
T7.item_type, --药品类型区分
|
||||
T7.bus_no, --药品编码
|
||||
T7.medicine_name, --药品名称
|
||||
T7.py_str, --药品拼音
|
||||
T7.total_volume, --规格
|
||||
T7.manufacturer_text, --厂家
|
||||
T7.lot_number, --批次号
|
||||
T7.production_date, --生产日期
|
||||
T7.expiration_date, --失效日期
|
||||
T7.remaining_days, --剩余天数
|
||||
T7.remaining_month, --剩余月数
|
||||
T7.quantity, --库存(小单位)
|
||||
T7.specification_quantity,--规格库存(小单位)
|
||||
T7.item_min_quantity, --最小库存警戒数量
|
||||
T7.item_max_quantity, --最大库存警戒数量
|
||||
T7.min_unit_code, --库存单位
|
||||
T7.status_enum, --药品状态(药品停用)
|
||||
T7.inventory_status_enum, --停供状态
|
||||
T7.tenant_id
|
||||
from (select T2.category_code, --药品类型
|
||||
'9' as item_type, --药品类型区分
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" as medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T2.size as total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) as remaining_days, --剩余天数
|
||||
((EXTRACT(YEAR FROM T1.expiration_date) - EXTRACT(YEAR FROM CURRENT_DATE)) * 12
|
||||
+ (EXTRACT(MONTH FROM T1.expiration_date) -
|
||||
EXTRACT(MONTH FROM CURRENT_DATE))) as remaining_month, --剩余月数
|
||||
T1.quantity, --库存(小单位)
|
||||
COALESCE(CAST(T8.specification_quantity AS DECIMAL(18, 6)), 0.00) AS specification_quantity,--规格库存(小单位)
|
||||
T2.item_min_quantity * T2.part_percent AS item_min_quantity, --最小库存警戒数量
|
||||
T2.item_max_quantity * T2.part_percent AS item_max_quantity, --最大库存警戒数量
|
||||
T2.min_unit_code, --库存单位
|
||||
T2.status_enum, --药品状态(药品停用)
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T1.tenant_id
|
||||
from wor_inventory_item T1
|
||||
inner join adm_device_definition T2
|
||||
on T1.item_id = T2.id
|
||||
and T2.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.location_store_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.location_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
LEFT JOIN (SELECT i1.item_table,
|
||||
i1.item_id,
|
||||
COALESCE(CAST(SUM(i1.quantity) AS DECIMAL(18, 6)), 0.00) AS specification_quantity
|
||||
FROM wor_inventory_item i1
|
||||
LEFT JOIN adm_device_definition i2 ON i1.item_id = i2.ID
|
||||
AND i2.delete_flag = '0'
|
||||
WHERE i1.item_table = 'adm_device_definition'
|
||||
AND i1.delete_flag = '0'
|
||||
GROUP BY i1.item_table,
|
||||
i1.item_id) T8
|
||||
ON T8.item_table = 'adm_device_definition'
|
||||
AND T8.item_id = T2.ID
|
||||
where T1.delete_flag = '0'
|
||||
<if test="flg != null">
|
||||
and (T8.specification_quantity <![CDATA[ <= ]]> T2.item_min_quantity * T2.part_percent
|
||||
or T8.specification_quantity <![CDATA[ >= ]]> T2.item_max_quantity * T2.part_percent)
|
||||
</if>
|
||||
order by T2.bus_no ASC, --药品编码
|
||||
T2."name" ASC --药品名称
|
||||
) as T7
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -15,6 +15,7 @@
|
||||
T2.practitioner_id,
|
||||
T2.item_table,
|
||||
T2.purpose_type_enum,
|
||||
T2.category_enum,
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
@@ -36,7 +37,8 @@
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE type_enum = #{purchaseInventory}
|
||||
AND T1.delete_flag = '0'
|
||||
@@ -50,10 +52,11 @@
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id,
|
||||
@@ -74,7 +77,11 @@
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2.part_percent,
|
||||
<<<<<<< HEAD
|
||||
T2.manufacturer_text AS manufacturer_text,
|
||||
=======
|
||||
T2.manufacturer_text,
|
||||
>>>>>>> upstream/develop
|
||||
T3.total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
@@ -84,11 +91,13 @@
|
||||
T10."name" AS supplier_name,
|
||||
T1.occurrence_time,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
FROM wor_supply_request T1
|
||||
<<<<<<< HEAD
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN med_medication T3
|
||||
@@ -104,8 +113,32 @@
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
=======
|
||||
INNER 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 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
|
||||
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
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
>>>>>>> upstream/develop
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
@@ -125,7 +158,11 @@
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8.part_percent,
|
||||
<<<<<<< HEAD
|
||||
T8.manufacturer_text AS manufacturer_text,
|
||||
=======
|
||||
T8.manufacturer_text,
|
||||
>>>>>>> upstream/develop
|
||||
T8."size" AS total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
@@ -138,6 +175,7 @@
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
<<<<<<< HEAD
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
@@ -245,28 +283,141 @@
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
=======
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
>>>>>>> upstream/develop
|
||||
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
|
||||
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
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
=======
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.item_quantity,
|
||||
T1.item_table,
|
||||
T1.unit_code,
|
||||
T1.remake,
|
||||
T1.purpose_type_enum,
|
||||
T1.occurrence_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2.part_percent,
|
||||
T2.manufacturer_text AS supplier_name,
|
||||
T3.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,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER 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_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
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
|
||||
>>>>>>> upstream/develop
|
||||
WHERE T1.purpose_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'
|
||||
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_quantity,
|
||||
T1.item_table,
|
||||
T1.unit_code,
|
||||
T1.remake,
|
||||
T1.purpose_type_enum,
|
||||
T1.occurrence_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8.part_percent,
|
||||
T8.manufacturer_text 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,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
ON T1.item_id = T8.id
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
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}
|
||||
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>
|
||||
|
||||
@@ -146,7 +146,10 @@
|
||||
T2.applicant_id,
|
||||
T2.apply_time,
|
||||
T2.practitioner_id,
|
||||
T2.tenant_id
|
||||
T2.tenant_id,
|
||||
T2.supplier_id,
|
||||
T2.purpose_location_id,
|
||||
T2.total_amount
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
@@ -155,19 +158,34 @@
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.supplier_id,
|
||||
T1.purpose_location_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'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T4.id = T1.purpose_location_id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.status_enum IN (#{approval},#{agree},#{reject})
|
||||
AND T1.delete_flag != '1'
|
||||
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
|
||||
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.summary_id,
|
||||
T1.supplier_id,
|
||||
T1.purpose_location_id
|
||||
ORDER BY T1.apply_time desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
<?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.adjustprice.mapper.AdjustPriceMapper">
|
||||
|
||||
<select id="selectInventoryReceiptPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ReceiptPageDto">
|
||||
SELECT T2.supply_bus_no,
|
||||
T2.status_enum,
|
||||
T2.type_enum,
|
||||
T2.supplier_id,
|
||||
T2.approver_id,
|
||||
T2.approval_time,
|
||||
T2.applicant_id,
|
||||
T2.create_time,
|
||||
T2.practitioner_id,
|
||||
T2.item_table,
|
||||
T2.purpose_type_enum,
|
||||
T2.category_enum,
|
||||
CASE
|
||||
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,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.supplier_id,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
MIN(T1.create_time) AS create_time,
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE type_enum = #{medTypeEnum}
|
||||
OR type_enum = #{deviceTypeEnum}
|
||||
OR type_enum = #{activityTypeEnum}
|
||||
OR type_enum = #{healthTypeEnum}
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.supplier_id,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
ORDER BY T1.bus_no desc) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="searchChangePriceDataToPage" resultType="com.openhis.web.adjustprice.dto.ChangePricePageDto">
|
||||
select t2.bus_no,
|
||||
t2.status_enum,
|
||||
t2.approver_id,
|
||||
t2.approval_time,
|
||||
t2.applicant_id,
|
||||
t2.applicant_time,
|
||||
t2.create_time,
|
||||
t2.item_category_enum,
|
||||
t2.tenant_id
|
||||
from (select t1.bus_no,
|
||||
t1.status_enum,
|
||||
t1.approver_id,
|
||||
min(t1.approval_time) as approval_time,
|
||||
t1.applicant_id,
|
||||
min(t1.applicant_time) as applicant_time,
|
||||
min(t1.create_time) as create_time,
|
||||
t1.item_category_enum,
|
||||
t1.tenant_id
|
||||
FROM adm_change_price_record t1
|
||||
where t1.delete_flag = '0'
|
||||
and t1.applicant_id = #{applicantId}
|
||||
and (item_category_enum = #{medCategory}
|
||||
OR item_category_enum = #{deviceCategory}
|
||||
OR item_category_enum = #{activityCategory}
|
||||
OR item_category_enum = #{healthCategory})
|
||||
GROUP BY t1.bus_no, t1.status_enum, t1.approver_id, t1.applicant_id, t1.item_category_enum, t1.tenant_id
|
||||
ORDER BY t1.bus_no desc) as t2
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,9 +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.adjustprice.mapper.SupplyMapper">
|
||||
|
||||
<select id="searchAllSupplyList" resultType="com.openhis.web.adjustprice.dto.SupplyListDto">
|
||||
SELECT id as supplyId,name as supplyName
|
||||
FROM adm_supplier
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -77,6 +77,11 @@
|
||||
T1.unit_price,
|
||||
T1.total_price,
|
||||
mmr.prescription_no,
|
||||
mmr.prescription_no,
|
||||
mmr.method_code,
|
||||
mmr.rate_code,
|
||||
mmr.dose,
|
||||
mmr.dose_unit_code,
|
||||
T1.bus_no,
|
||||
T1.entered_date,
|
||||
T1.account_id,
|
||||
@@ -84,6 +89,7 @@
|
||||
T1.service_id,
|
||||
T5.enterer_id,
|
||||
T5.bill_date,
|
||||
T5.id AS payment_id,
|
||||
T6.contract_no,
|
||||
T7.med_type_code,
|
||||
T8.contract_name,
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</resultMap>
|
||||
<select id="selectEncounterPatientPayment"
|
||||
resultType="com.openhis.web.chargemanage.dto.EncounterPatientPaymentDto">
|
||||
SELECT T1.id,
|
||||
SELECT T1.id AS payment_id,
|
||||
T1.status_enum,
|
||||
T1.relation_id,
|
||||
T1.payment_no,
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
T9.contract_name,
|
||||
T9.patient_id,
|
||||
T9.patient_name,
|
||||
T9.phone,
|
||||
T9.gender_enum,
|
||||
T9.id_card,
|
||||
T9.status_enum,
|
||||
@@ -81,6 +82,7 @@
|
||||
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,
|
||||
@@ -91,6 +93,7 @@
|
||||
T13.charge_item_ids,
|
||||
T13.id AS payment_id,
|
||||
ai.picture_url AS picture_url,
|
||||
<<<<<<< HEAD
|
||||
T8.birth_date AS birth_date,
|
||||
-- 退号相关信息
|
||||
T14.bill_date AS return_date,
|
||||
@@ -100,21 +103,33 @@
|
||||
ABS(T14.display_amount) AS refund_amount,
|
||||
T6.contract_no AS contract_no,
|
||||
T16.refund_method AS refund_method
|
||||
=======
|
||||
T8.birth_date AS birth_date
|
||||
>>>>>>> upstream/develop
|
||||
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 tenant_id = 1
|
||||
AND type_code = #{participantType}
|
||||
) t
|
||||
WHERE rn = 1
|
||||
) AS T4 ON T1.ID = T4.encounter_id
|
||||
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'
|
||||
@@ -158,8 +173,6 @@
|
||||
ON ai.reconciliation_id = T13.id AND ai.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
-- AND T1.create_time
|
||||
-- > CURRENT_DATE
|
||||
AND T10.context_enum = #{register}
|
||||
) AS T9
|
||||
${ew.customSqlSegment}
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
ii.product_name,
|
||||
ii.unit_code,
|
||||
ii.min_unit_code,
|
||||
ii.manufacturer,
|
||||
ii.manufacturer_text,
|
||||
ii.volume,
|
||||
ii.supplier,
|
||||
ii.item_table_name,
|
||||
@@ -87,7 +87,7 @@
|
||||
T1.merchandise_name AS product_name,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.min_unit_code AS min_unit_code,
|
||||
T1.manufacturer_text AS manufacturer,
|
||||
T1.manufacturer_text ,
|
||||
T2.total_volume AS volume,
|
||||
T3."name" AS supplier,
|
||||
<choose>
|
||||
@@ -147,7 +147,7 @@
|
||||
'' AS product_name,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.min_unit_code AS min_unit_code,
|
||||
T1.manufacturer_text AS manufacturer,
|
||||
T1.manufacturer_text ,
|
||||
T1."size" AS volume,
|
||||
T2."name" AS supplier,
|
||||
<choose>
|
||||
@@ -228,7 +228,7 @@
|
||||
FROM adm_device_definition AS T8
|
||||
WHERE T1.item_id = T8.id
|
||||
AND T8.delete_flag = '0')
|
||||
ELSE null END AS manufacturer,--生产厂家
|
||||
ELSE null END AS manufacturer_text,--生产厂家
|
||||
T6.name AS supplier_name
|
||||
FROM wor_inventory_item AS T1
|
||||
LEFT JOIN adm_location AS T2
|
||||
@@ -332,179 +332,194 @@
|
||||
|
||||
<select id="selectPrescriptionPrintInfo" resultMap="PrescriptionPrintInfoMap">
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
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
|
||||
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
|
||||
FROM med_medication_request mmr
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition mmd2
|
||||
ON mmr.medication_id = mmd2.id
|
||||
AND mmd2.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd2.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = mmr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN cli_condition AS cc
|
||||
ON mmr.condition_id = cc.id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd
|
||||
ON cc.definition_id = ccd.id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON mmr.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 = mmr.practitioner_id
|
||||
AND ap2.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap3
|
||||
ON ap3.id = mmd.practitioner_id
|
||||
AND ap3.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap4
|
||||
ON ap4.id = aci.performer_id
|
||||
AND ap4.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap5
|
||||
ON ap5.id = mmd.preparer_id
|
||||
AND ap5.delete_flag = '0'
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
ON mmd.med_req_id = mmr.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition mmd2
|
||||
ON mmr.medication_id = mmd2.id
|
||||
AND mmd2.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd2.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item aci
|
||||
ON aci.service_id = mmr.id
|
||||
AND aci.delete_flag = '0'
|
||||
LEFT JOIN cli_condition AS cc
|
||||
ON mmr.condition_id = cc.id
|
||||
AND cc.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition AS ccd
|
||||
ON cc.definition_id = ccd.id
|
||||
AND ccd.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON mmr.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 = mmr.practitioner_id
|
||||
AND ap2.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap3
|
||||
ON ap3.id = mmd.practitioner_id
|
||||
AND ap3.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap4
|
||||
ON ap4.id = aci.performer_id
|
||||
AND ap4.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap5
|
||||
ON ap5.id = mmd.preparer_id
|
||||
AND ap5.delete_flag = '0'
|
||||
WHERE mmr.delete_flag = '0'
|
||||
AND mmr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
AND mmr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="selectTreatmentPrintInfo" resultMap="TreatmentPrintInfoMap">
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
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
|
||||
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
|
||||
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'
|
||||
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'
|
||||
WHERE wdr.delete_flag = '0'
|
||||
AND wdr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
AND wdr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
UNION
|
||||
SELECT ae.yb_class_enum AS encounter_yb_class,
|
||||
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
|
||||
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
|
||||
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'
|
||||
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'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
AND wsr.id IN
|
||||
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
|
||||
#{requestId}
|
||||
</foreach>
|
||||
</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>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -85,9 +85,12 @@
|
||||
( SELECT T4.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
LEFT JOIN adm_charge_item_def_detail T4 ON T4.definition_id = T5.id
|
||||
WHERE T4.condition_code = '2'--2:采购价
|
||||
WHERE T4.condition_code in ('1','2')--2:采购价
|
||||
AND T5.instance_id = T1.id
|
||||
AND T5.instance_table = 'adm_device_definition'
|
||||
AND T4.delete_flag='0'
|
||||
ORDER BY T4.create_time desc
|
||||
LIMIT 1
|
||||
) as purchase_price,--购入价
|
||||
( SELECT T4.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
@@ -101,6 +104,7 @@
|
||||
<where>
|
||||
T1.delete_flag = '0'
|
||||
AND T2.instance_table = 'adm_device_definition'
|
||||
|
||||
</where>
|
||||
ORDER BY T1.bus_no
|
||||
) AS T3
|
||||
@@ -151,9 +155,12 @@
|
||||
( SELECT T4.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
LEFT JOIN adm_charge_item_def_detail T4 ON T4.definition_id = T5.id
|
||||
WHERE T4.condition_code = '2'--2:采购价
|
||||
WHERE T4.condition_code in ('1','2')--2:采购价
|
||||
AND T5.instance_id = T1.id
|
||||
AND T5.instance_table = 'adm_device_definition'
|
||||
AND T4.delete_flag='0'
|
||||
ORDER BY T4.create_time desc
|
||||
LIMIT 1
|
||||
) as purchase_price,--购入价
|
||||
( SELECT T4.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?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.datadictionary.mapper.ICDCodeMapper">
|
||||
<select id="getCode" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.datadictionary.dto.ICDCodeDto">
|
||||
|
||||
SELECT
|
||||
id,
|
||||
gl_no,
|
||||
tenant_id,
|
||||
delete_flag,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time,
|
||||
gl_name,
|
||||
icd10_no,
|
||||
icd10_name,
|
||||
FROM cli_condition_no_definition
|
||||
<where>
|
||||
gl_no = #{glNo}
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -150,9 +150,12 @@
|
||||
(SELECT T7.amount
|
||||
FROM adm_charge_item_definition T5
|
||||
LEFT JOIN adm_charge_item_def_detail T7 ON T7.definition_id = T5.id
|
||||
WHERE T7.condition_code = '2'--2:采购价
|
||||
WHERE T7.condition_code in('1','2')
|
||||
AND T5.instance_id = T2.medication_def_id
|
||||
AND T5.instance_table = 'med_medication_definition'
|
||||
AND T7.delete_flag='0'
|
||||
ORDER BY T7.create_time desc
|
||||
LIMIT 1
|
||||
) as purchase_price,--购入价
|
||||
(
|
||||
SELECT T7.amount
|
||||
@@ -164,7 +167,7 @@
|
||||
) as maximum_retail_price--最高零售价
|
||||
FROM med_medication_definition T1
|
||||
LEFT JOIN med_medication T2 ON T1.id = T2.medication_def_id AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T5 ON T2.medication_def_id = T5.instance_id
|
||||
LEFT JOIN adm_charge_item_definition T5 ON T2.medication_def_id = T5.instance_id AND T5.delete_flag = '0'
|
||||
<where>
|
||||
T1.delete_flag = '0'
|
||||
AND T5.instance_table = 'med_medication_definition'
|
||||
@@ -241,15 +244,19 @@
|
||||
T1.rx_flag,--处方标志
|
||||
T1.item_min_quantity,--最小库存警戒数量(常规单位)
|
||||
T1.item_max_quantity,--最大库存警戒数量(常规单位)
|
||||
T1.dosage_instruction,
|
||||
T3.type_code,
|
||||
T3.yb_type,
|
||||
T3.price as retail_price,--零售价
|
||||
(SELECT T4.amount
|
||||
FROM adm_charge_item_definition T3
|
||||
LEFT JOIN adm_charge_item_def_detail T4 ON T4.definition_id = T3.id
|
||||
WHERE T4.condition_code = '2'--2:采购价
|
||||
WHERE T4.condition_code in ('1','2')--2:采购价
|
||||
AND T3.instance_id = T2.medication_def_id
|
||||
AND T3.instance_table = 'med_medication_definition'
|
||||
AND T4.delete_flag='0'
|
||||
ORDER BY T4.create_time desc
|
||||
LIMIT 1
|
||||
) as purchase_price,--购入价
|
||||
(
|
||||
SELECT T4.amount
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<select id="getAdviceBaseInfo" resultType="com.openhis.web.doctorstation.dto.AdviceBaseDto">
|
||||
SELECT abi.tenant_id,
|
||||
abi.advice_type,
|
||||
abi.bus_no,
|
||||
abi.category_code,
|
||||
abi.pharmacology_category_code,
|
||||
abi.part_percent,
|
||||
@@ -39,8 +40,10 @@
|
||||
abi.advice_table_name,
|
||||
abi.position_id,
|
||||
abi.restricted_flag,
|
||||
abi.restricted_scope
|
||||
abi.restricted_scope,
|
||||
abi.dosage_instruction
|
||||
from (
|
||||
<<<<<<< HEAD
|
||||
<!-- 改进SQL逻辑,确保所有情况都能正确处理,避免空的FROM子查询 -->
|
||||
<!-- 当adviceTypes包含4或不在1-3范围内时,或者adviceTypes为空/null时,查询所有类型 -->
|
||||
<choose>
|
||||
@@ -401,6 +404,206 @@
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
=======
|
||||
<if test="adviceTypes == null or adviceTypes.contains(1)">
|
||||
(SELECT
|
||||
DISTINCT ON (T1.ID)
|
||||
T1.tenant_id,
|
||||
1 AS advice_type,
|
||||
T1.bus_no AS bus_no,
|
||||
T1.category_code AS category_code,
|
||||
T1.pharmacology_category_code AS pharmacology_category_code,
|
||||
T1.part_percent AS part_percent,
|
||||
T1.unit_conversion_ratio AS unit_conversion_ratio,
|
||||
T1.part_attribute_enum AS part_attribute_enum,
|
||||
T1.tho_part_attribute_enum AS tho_part_attribute_enum,
|
||||
T1.skin_test_flag AS skin_test_flag,
|
||||
T1.inject_flag AS inject_flag,
|
||||
T1.ID AS advice_definition_id,
|
||||
T1.NAME AS advice_name,
|
||||
T1.bus_no AS advice_bus_no,
|
||||
T1.py_str AS py_str,
|
||||
T1.wb_str AS wb_str,
|
||||
T1.yb_no AS yb_no,
|
||||
T1.merchandise_name AS product_name,
|
||||
0 AS activity_type,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.min_unit_code AS min_unit_code,
|
||||
T2.total_volume AS volume,
|
||||
T2.method_code AS method_code,
|
||||
T2.rate_code AS rate_code,
|
||||
T2.org_id AS org_id,
|
||||
T2.location_id AS location_id,
|
||||
CAST(T2.dose AS TEXT) AS dose,
|
||||
T2.dose_unit_code AS dose_unit_code,
|
||||
T3.NAME AS supplier,
|
||||
T3.id AS supplier_id,
|
||||
T1.manufacturer_text AS manufacturer,
|
||||
T5.id AS charge_item_definition_id,
|
||||
T5.instance_table AS advice_table_name,
|
||||
T6.def_location_id AS position_id,
|
||||
t1.restricted_flag AS restricted_flag,
|
||||
t1.restricted_scope AS restricted_scope,
|
||||
T1.dosage_instruction AS dosage_instruction
|
||||
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}
|
||||
LEFT JOIN adm_supplier AS T3
|
||||
ON T3.ID = T1.supply_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition AS T5 ON T5.instance_id = T1.ID
|
||||
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
|
||||
(CURRENT_TIME :: time (6) BETWEEN T6.start_time AND T6.end_time)
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T2.status_enum = #{statusEnum}
|
||||
<if test="pricingFlag ==1">
|
||||
AND 1 = 2
|
||||
</if>
|
||||
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
|
||||
AND T1.id IN
|
||||
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND T5.instance_table = #{medicationTableName}
|
||||
)
|
||||
</if>
|
||||
|
||||
|
||||
<if test="adviceTypes == null or adviceTypes.contains(1)">
|
||||
<if test="adviceTypes == null or adviceTypes.contains(2) or adviceTypes.contains(3)">UNION ALL</if>
|
||||
</if>
|
||||
|
||||
<if test="adviceTypes == null or adviceTypes.contains(2)">
|
||||
(SELECT
|
||||
DISTINCT ON (T1.ID)
|
||||
T1.tenant_id,
|
||||
2 AS advice_type,
|
||||
T1.bus_no AS bus_no,
|
||||
T1.category_code AS category_code,
|
||||
'' AS pharmacology_category_code,
|
||||
T1.part_percent AS part_percent,
|
||||
0 AS unit_conversion_ratio,
|
||||
null AS part_attribute_enum,
|
||||
null AS tho_part_attribute_enum,
|
||||
null AS skin_test_flag,
|
||||
null AS inject_flag,
|
||||
T1.ID AS advice_definition_id,
|
||||
T1.NAME AS advice_name,
|
||||
T1.bus_no AS advice_bus_no,
|
||||
T1.py_str AS py_str,
|
||||
T1.wb_str AS wb_str,
|
||||
T1.yb_no AS yb_no,
|
||||
'' AS product_name,
|
||||
0 AS activity_type,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.min_unit_code AS min_unit_code,
|
||||
T1.SIZE AS volume,
|
||||
'' AS method_code,
|
||||
'' AS rate_code,
|
||||
T1.org_id AS org_id,
|
||||
T1.location_id AS location_id,
|
||||
'' AS dose,
|
||||
'' AS dose_unit_code,
|
||||
T2.NAME AS supplier,
|
||||
T2.id AS supplier_id,
|
||||
T1.manufacturer_text AS manufacturer,
|
||||
T4.id AS charge_item_definition_id,
|
||||
T4.instance_table AS advice_table_name,
|
||||
T5.def_location_id AS position_id,
|
||||
0 AS restricted_flag,
|
||||
'' AS restricted_scope,
|
||||
'' AS dosage_instruction
|
||||
FROM adm_device_definition AS T1
|
||||
LEFT JOIN adm_supplier AS T2
|
||||
ON T2.ID = T1.supply_id
|
||||
AND T2.delete_flag = '0'
|
||||
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
|
||||
(CURRENT_TIME :: time (6) BETWEEN T5.start_time AND T5.end_time)
|
||||
WHERE T1.delete_flag = '0'
|
||||
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
|
||||
AND T1.id IN
|
||||
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND T4.instance_table = #{deviceTableName}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
)
|
||||
</if>
|
||||
|
||||
|
||||
<if test="adviceTypes == null or adviceTypes.contains(2)">
|
||||
<if test="adviceTypes == null or adviceTypes.contains(3)">UNION ALL</if>
|
||||
</if>
|
||||
|
||||
<if test="adviceTypes == null or adviceTypes.contains(3)">
|
||||
(SELECT
|
||||
DISTINCT ON (T1.ID)
|
||||
T1.tenant_id,
|
||||
3 AS advice_type,
|
||||
T1.bus_no AS bus_no,
|
||||
T1.category_code AS category_code,
|
||||
'' AS pharmacology_category_code,
|
||||
1 AS part_percent,
|
||||
0 AS unit_conversion_ratio,
|
||||
null AS part_attribute_enum,
|
||||
null AS tho_part_attribute_enum,
|
||||
null AS skin_test_flag,
|
||||
null AS inject_flag,
|
||||
T1.ID AS advice_definition_id,
|
||||
T1.NAME AS advice_name,
|
||||
T1.bus_no AS advice_bus_no,
|
||||
T1.py_str AS py_str,
|
||||
T1.wb_str AS wb_str,
|
||||
T1.yb_no AS yb_no,
|
||||
'' AS product_name,
|
||||
T1.type_enum AS activity_type,
|
||||
'' AS unit_code,
|
||||
'' AS min_unit_code,
|
||||
'' AS volume,
|
||||
'' AS method_code,
|
||||
'' AS rate_code,
|
||||
T1.org_id AS org_id,
|
||||
T1.location_id AS location_id,
|
||||
'' AS dose,
|
||||
'' AS dose_unit_code,
|
||||
'' AS supplier,
|
||||
null AS supplier_id,
|
||||
'' AS manufacturer,
|
||||
T2.ID AS charge_item_definition_id,
|
||||
T2.instance_table AS advice_table_name,
|
||||
T3.organization_id AS position_id,
|
||||
0 AS restricted_flag,
|
||||
'' AS restricted_scope,
|
||||
'' AS dosage_instruction
|
||||
FROM wor_activity_definition AS T1
|
||||
LEFT JOIN adm_charge_item_definition AS T2
|
||||
ON T2.instance_id = T1.ID
|
||||
AND T2.delete_flag = '0' AND T2.status_enum = #{statusEnum}
|
||||
LEFT JOIN adm_organization_location AS T3 ON T3.activity_definition_id = T1.ID
|
||||
AND T3.delete_flag = '0' AND (CURRENT_TIME :: time (6) BETWEEN T3.start_time AND T3.end_time)
|
||||
WHERE T1.delete_flag = '0'
|
||||
<if test="pricingFlag ==1">
|
||||
AND T1.pricing_flag = #{pricingFlag}
|
||||
</if>
|
||||
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
|
||||
AND T1.id IN
|
||||
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
|
||||
#{itemId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T2.instance_table = #{activityTableName}
|
||||
)
|
||||
</if>
|
||||
>>>>>>> upstream/develop
|
||||
) AS abi
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
@@ -492,6 +695,17 @@
|
||||
AND (CURRENT_TIME :: TIME ( 6 ) BETWEEN aol.start_time AND aol.end_time)
|
||||
</select>
|
||||
|
||||
<select id="getTakeDeviceLocationId" resultType="long">
|
||||
SELECT aol.def_location_id AS location_id
|
||||
FROM adm_organization_location AS aol
|
||||
INNER JOIN adm_encounter AS ae ON ae.organization_id = aol.organization_id
|
||||
WHERE aol.delete_flag = '0'
|
||||
AND aol.distribution_category_code = #{distributionCategoryCode}
|
||||
AND ae.ID = #{encounterId}
|
||||
AND aol.start_time <= CURRENT_TIME
|
||||
AND aol.end_time >= CURRENT_TIME
|
||||
</select>
|
||||
|
||||
<select id="getChildCharge" resultType="com.openhis.web.doctorstation.dto.AdvicePriceDto">
|
||||
SELECT
|
||||
T1.definition_id,
|
||||
@@ -524,7 +738,7 @@
|
||||
FROM
|
||||
adm_charge_item_definition
|
||||
WHERE
|
||||
delete_flag = '0'
|
||||
delete_flag = '0' AND status_enum = #{statusEnum}
|
||||
<if test="chargeItemDefinitionIdList != null and !chargeItemDefinitionIdList.isEmpty()">
|
||||
AND id IN
|
||||
<foreach collection="chargeItemDefinitionIdList" item="itemId" open="(" separator="," close=")">
|
||||
@@ -537,6 +751,7 @@
|
||||
(SELECT 1 AS advice_type,
|
||||
T1.id AS request_id,
|
||||
T1.id || '-1' AS unique_key,
|
||||
T1.prescription_no AS prescription_no,
|
||||
T1.practitioner_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
CASE WHEN T1.practitioner_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag,
|
||||
@@ -573,7 +788,7 @@
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.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
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 0
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 0 AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
@@ -586,6 +801,7 @@
|
||||
(SELECT 2 AS advice_type,
|
||||
T1.id AS request_id,
|
||||
T1.id || '-2' AS unique_key,
|
||||
'' AS prescription_no,
|
||||
T1.requester_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
CASE WHEN T1.requester_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag,
|
||||
@@ -619,7 +835,7 @@
|
||||
ON T3.service_id = T1.ID AND T3.delete_flag = '0' AND
|
||||
T3.service_table = #{WOR_DEVICE_REQUEST}
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
@@ -632,6 +848,7 @@
|
||||
(SELECT 3 AS advice_type,
|
||||
T1.id AS request_id,
|
||||
T1.id || '-3' AS unique_key,
|
||||
'' AS prescription_no,
|
||||
T1.requester_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
CASE WHEN T1.requester_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag,
|
||||
@@ -665,7 +882,7 @@
|
||||
LEFT JOIN adm_charge_item AS T3 ON T3.service_id = T1.ID AND T3.delete_flag = '0' AND
|
||||
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'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
AND T1.based_on_table is null
|
||||
AND T1.parent_id IS NULL
|
||||
AND T1.refund_service_id IS NULL
|
||||
@@ -690,16 +907,56 @@
|
||||
</select>
|
||||
|
||||
<select id="getActivityBindDevice" resultType="com.openhis.web.doctorstation.dto.ActivityBindDeviceDetailDto">
|
||||
SELECT item_no AS activity_id,
|
||||
dev_act_id AS device_id,
|
||||
quantity,
|
||||
unit_code
|
||||
FROM tmp_activity_device
|
||||
WHERE delete_flag = '0'
|
||||
AND status_enum = #{status}
|
||||
AND type_code = '2'
|
||||
AND dev_act_table = #{tableName}
|
||||
AND item_no = #{activityId}
|
||||
SELECT tcd.item_no AS activity_id,
|
||||
tcd.dev_act_id AS device_id,
|
||||
tcd.quantity,
|
||||
tcd.unit_code,
|
||||
CASE
|
||||
WHEN tcd.unit_code = adde.min_unit_code THEN
|
||||
tcd.quantity
|
||||
ELSE tcd.quantity * adde.part_percent
|
||||
END AS min_unit_code_quantity,
|
||||
CASE
|
||||
WHEN tcd.unit_code = adde.min_unit_code THEN
|
||||
tcd.unit_code
|
||||
ELSE adde.min_unit_code
|
||||
END AS min_unit_code
|
||||
FROM tmp_activity_device AS tcd
|
||||
LEFT JOIN adm_device_definition AS adde ON adde.ID = CAST(tcd.dev_act_id AS BIGINT)
|
||||
AND adde.delete_flag = '0'
|
||||
WHERE tcd.delete_flag = '0'
|
||||
AND tcd.status_enum = #{status}
|
||||
AND tcd.type_code = '2'
|
||||
AND tcd.dev_act_table = #{tableName}
|
||||
AND tcd.item_no = #{activityId}
|
||||
</select>
|
||||
|
||||
<select id="getOrderBindInfo" resultType="com.openhis.web.doctorstation.dto.OrderBindInfoDto">
|
||||
SELECT tad.dev_act_id AS order_definition_id,
|
||||
tad.quantity AS quantity,
|
||||
tad.unit_code AS unit_code,
|
||||
sdd.dict_label AS unit_code_name,
|
||||
CASE
|
||||
WHEN tad.dev_act_table = 'adm_device_definition' THEN
|
||||
adm.NAME
|
||||
WHEN tad.dev_act_table = 'wor_activity_definition' THEN
|
||||
wor.NAME
|
||||
ELSE NULL
|
||||
END AS order_definition_name
|
||||
FROM tmp_activity_device AS tad
|
||||
LEFT JOIN adm_device_definition AS adm ON tad.dev_act_table = 'adm_device_definition'
|
||||
AND tad.dev_act_id = adm.
|
||||
ID
|
||||
LEFT JOIN wor_activity_definition AS wor ON tad.dev_act_table = 'wor_activity_definition'
|
||||
AND tad.dev_act_id = wor.
|
||||
ID
|
||||
LEFT JOIN sys_dict_data AS sdd ON sdd.dict_value = tad.unit_code
|
||||
AND sdd.dict_type = 'unit_code'
|
||||
AND sdd.status = '0'
|
||||
WHERE tad.delete_flag = '0'
|
||||
AND tad.status_enum = #{status}
|
||||
AND tad.type_code = #{typeCode}
|
||||
AND tad.item_no = #{itemNo}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -57,6 +57,7 @@
|
||||
T1.dispense_per_duration AS dispense_per_duration,
|
||||
T1.chinese_herbs_dose_quantity AS chinese_herbs_dose_quantity,
|
||||
T1.suffering_flag AS suffering_flag,
|
||||
T1.dosage_instruction AS dosage_instruction,
|
||||
T2.part_percent AS part_percent,
|
||||
ccd.name AS condition_definition_name
|
||||
FROM med_medication_request AS T1
|
||||
@@ -69,7 +70,7 @@
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.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
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 1
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 1 AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
@@ -122,7 +123,7 @@
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.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
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 1
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 1 AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
T10.register_time,
|
||||
T10.reception_time,
|
||||
T10.practitioner_user_id,
|
||||
T10.jz_practitioner_user_id
|
||||
T10.jz_practitioner_user_id,
|
||||
T10.bus_no
|
||||
from
|
||||
(
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
@@ -48,6 +49,7 @@
|
||||
T1.create_time AS register_time,
|
||||
T1.reception_time AS reception_time,
|
||||
T1.organization_id AS org_id,
|
||||
T8.bus_no AS bus_no,
|
||||
CASE
|
||||
WHEN T9.patient_id IS NOT NULL THEN 1
|
||||
ELSE 0
|
||||
@@ -59,6 +61,7 @@
|
||||
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}
|
||||
@@ -75,8 +78,11 @@
|
||||
T1.delete_flag = '0'
|
||||
<!-- 当前登录账号ID 和 当前登录账号所属的科室ID 用于控制数据权限 -->
|
||||
<if test="userId != null and currentUserOrganizationId != null">
|
||||
AND ( T5.user_id = #{userId}
|
||||
OR (T1.organization_id = #{currentUserOrganizationId}) )
|
||||
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}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="organizationId != null and organizationId != 0">
|
||||
AND ddo.organization_id = #{organizationId} OR dd.use_range_enum = 1
|
||||
AND (ddo.organization_id = #{organizationId} OR dd.use_range_enum = 1)
|
||||
</if>
|
||||
<if test="name != null and !name.isEmpty()">
|
||||
AND dd.name LIKE CONCAT('%',#{name},'%')
|
||||
|
||||
@@ -1,258 +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.inhospitalnursestation.mapper.InpatientMedicineCollectionMapper">
|
||||
<select id="selectEncounterInfoListPage" resultType="com.openhis.web.inhospitalnursestation.dto.InpatientMedicineEncounterInfoDto">
|
||||
SELECT ii.tenant_id,
|
||||
ii.organization_id,
|
||||
ii.organization_name,
|
||||
ii.encounter_id,
|
||||
ii.bus_no,
|
||||
ii.patient_name,
|
||||
ii.patient_py_str,
|
||||
ii.patient_wb_str,
|
||||
ii.gender_enum,
|
||||
ii.birth_date,
|
||||
ii.inpatient_bed
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.organization_id, --科室
|
||||
T3.name AS organization_name,
|
||||
T1.id AS encounter_id, --就诊id
|
||||
T1.bus_no, --住院号
|
||||
T2.name AS patient_name, --患者姓名
|
||||
T2.py_str AS patient_py_str,--拼音码
|
||||
T2.wb_str AS patient_wb_str,--五笔码
|
||||
T2.gender_enum, --性别
|
||||
T2.birth_date, --生日
|
||||
STRING_AGG(T5.NAME, '_' ORDER BY T5.bus_no) AS inpatient_bed --床位
|
||||
FROM adm_encounter AS T1
|
||||
LEFT 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'
|
||||
LEFT JOIN adm_encounter_location AS T4
|
||||
ON T4.encounter_id = T1.id
|
||||
AND T4.status_enum = '2'
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T5
|
||||
ON T5.id = T4.location_id
|
||||
AND T5.delete_flag = '0'
|
||||
WHERE T1.class_enum = #{amb}
|
||||
--todo status_enum 的值
|
||||
AND T1.status_enum = 5
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.organization_id,
|
||||
T3.name,
|
||||
T1.id,
|
||||
T1.bus_no,
|
||||
T2.name,
|
||||
T2.py_str,
|
||||
T2.wb_str,
|
||||
T2.gender_enum,
|
||||
T2.birth_date) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectPrescriptionInfoListPage" resultType="com.openhis.web.inhospitalnursestation.dto.InpatientMedicinePrescriptionInfoDto">
|
||||
SELECT ii.tenant_id,
|
||||
ii.dispense_id,--药品发放id
|
||||
ii.therapy_enum,--治疗类型
|
||||
ii.planned_dispense_time,--预定发放时间
|
||||
ii.encounter_id,--就诊id
|
||||
ii.patient_name,--患者姓名
|
||||
ii.status_enum,--发放状态
|
||||
ii.item_table,--项目表
|
||||
ii.item_id,--项目id
|
||||
ii.item_name,--项目名
|
||||
ii.quantity,--请求数量
|
||||
ii.unit_code,--请求单位编码
|
||||
ii.location_id,--发放地点
|
||||
ii.location_name,
|
||||
ii.lot_number,--批号
|
||||
ii.total_volume--规格
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.id AS dispense_id,--发放id
|
||||
T2.therapy_enum,--治疗类型
|
||||
T1.planned_dispense_time,--预定发放时间
|
||||
T1.encounter_id,--就诊id
|
||||
T3.name AS patient_name,--患者姓名
|
||||
T1.status_enum,--发放状态
|
||||
#{medMedicationDefinition} AS item_table,--项目表
|
||||
T1.medication_id AS item_id,--项目id
|
||||
T4.name AS item_name,--项目名
|
||||
T1.quantity,--请求数量
|
||||
T1.unit_code,--请求单位编码
|
||||
T1.location_id,--发放地点
|
||||
T6.name AS location_name,
|
||||
T1.lot_number,--批号
|
||||
T5.total_volume--规格
|
||||
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 adm_patient AS T3
|
||||
ON T1.patient_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T4
|
||||
ON T1.medication_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T5
|
||||
ON T4.id = T5.medication_def_id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T6
|
||||
ON T1.location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T1.encounter_id IN
|
||||
<foreach collection="encounterIdList" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.id,
|
||||
T2.therapy_enum,
|
||||
T3.name,
|
||||
T4.name,
|
||||
T6.name,
|
||||
T5.total_volume
|
||||
UNION
|
||||
SELECT T1.tenant_id,
|
||||
T1.id AS dispense_id,--发放id
|
||||
null AS therapy_enum,--治疗类型
|
||||
T1.planned_dispense_time,--预定发放时间
|
||||
T1.encounter_id,--就诊id
|
||||
T3.name AS patient_name,--患者姓名
|
||||
T1.status_enum,--发放状态
|
||||
#{admDeviceDefinition} AS item_table,--项目表
|
||||
T1.device_def_id AS item_id,--项目id
|
||||
T4.name AS item_name,--项目名
|
||||
T1.quantity,--请求数量
|
||||
T1.unit_code,--请求单位编码
|
||||
T1.location_id,--发放地点
|
||||
T6.name AS location_name,
|
||||
T1.lot_number,--批号
|
||||
T4.size AS total_volume--规格
|
||||
FROM wor_device_dispense AS T1
|
||||
LEFT JOIN wor_device_request AS T2
|
||||
ON T1.device_req_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T3
|
||||
ON T1.patient_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T4
|
||||
ON T1.device_def_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_device AS T5
|
||||
ON T4.id = T5.device_def_id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T6
|
||||
ON T1.location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T1.encounter_id IN
|
||||
<foreach collection="encounterIdList" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.id,
|
||||
T3.name,
|
||||
T4.name,
|
||||
T6.name,
|
||||
T4.size
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectPrescriptionSummaryInfoListPage" resultType="com.openhis.web.inhospitalnursestation.dto.InpatientMedicinePrescriptionInfoDto">
|
||||
SELECT ii.tenant_id,
|
||||
ii.dispense_ids,
|
||||
ii.item_table,
|
||||
ii.item_id,
|
||||
ii.item_name,
|
||||
ii.quantity,
|
||||
ii.unit_code,
|
||||
ii.lot_number,
|
||||
ii.status_enum,
|
||||
ii.location_id,
|
||||
ii.location_enum
|
||||
FROM (SELECT T1.tenant_id,
|
||||
string_agg(T1.id::text, ',' ORDER BY T1.id) AS dispense_ids,
|
||||
#{medMedicationDefinition} AS item_table,--项目表
|
||||
T1.medication_id AS item_id,--项目id
|
||||
T4.name AS item_name,--项目名
|
||||
SUM(T1.quantity) AS quantity,--请求数量
|
||||
T1.unit_code,--请求单位编码
|
||||
T1.lot_number,--批号
|
||||
T1.status_enum,--发放状态
|
||||
T1.location_id,--发放地点
|
||||
T6.form_enum AS location_enum--地点类型
|
||||
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 adm_patient AS T3
|
||||
-- ON T1.patient_id = T3.id
|
||||
-- AND T3.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS T4
|
||||
ON T1.medication_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS T5
|
||||
ON T4.id = T5.medication_def_id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T6
|
||||
ON T1.location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T1.id IN
|
||||
<foreach collection="medDispenseId" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.medication_id,
|
||||
T1.unit_code,
|
||||
T1.lot_number,
|
||||
T1.location_id,
|
||||
T4.name,
|
||||
T6.form_enum
|
||||
UNION
|
||||
SELECT T1.tenant_id,
|
||||
string_agg(T1.id::text, ',' ORDER BY T1.id) AS dispense_ids,
|
||||
#{admDeviceDefinition} AS item_table,--项目表
|
||||
T1.device_def_id AS item_id,--项目id
|
||||
T4.name AS item_name,--项目名
|
||||
SUM(T1.quantity) AS quantity,--请求数量
|
||||
T1.unit_code,--请求单位编码
|
||||
T1.lot_number,--批号
|
||||
T1.status_enum,--发放状态
|
||||
T1.location_id,--发放地点
|
||||
T6.form_enum AS location_enum--地点类型
|
||||
FROM wor_device_dispense AS T1
|
||||
LEFT JOIN wor_device_request AS T2
|
||||
ON T1.device_req_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
-- LEFT JOIN adm_patient AS T3
|
||||
-- ON T1.patient_id = T3.id
|
||||
-- AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T4
|
||||
ON T1.device_def_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_device AS T5
|
||||
ON T4.id = T5.device_def_id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T6
|
||||
ON T1.location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
WHERE T1.id IN
|
||||
<foreach collection="devDispenseId" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.device_def_id,
|
||||
T1.unit_code,
|
||||
T1.lot_number,
|
||||
T1.location_id,
|
||||
T4.name,
|
||||
T6.form_enum) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,279 @@
|
||||
<?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.MedicineSummaryAppMapper">
|
||||
<resultMap id="MedicineDispenseFormMap" type="com.openhis.web.inhospitalnursestation.dto.MedicineDispenseFormDto">
|
||||
<result property="encounterId" column="encounter_id"/>
|
||||
<result property="skinTestFlag" column="skin_test_flag"/>
|
||||
<result property="injectFlag" column="inject_flag"/>
|
||||
<result property="tcmFlag" column="tcm_flag"/>
|
||||
<result property="chineseHerbsDoseQuantity" column="chinese_herbs_dose_quantity"/>
|
||||
<result property="sufferingFlag" column="suffering_flag"/>
|
||||
<result property="adviceId" column="advice_id"/>
|
||||
<result property="adviceName" column="advice_name"/>
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="volume" column="volume"/>
|
||||
<result property="lotNumber" column="lot_number"/>
|
||||
<result property="quantity" column="quantity"/>
|
||||
<result property="unitCode" column="unit_code"/>
|
||||
<result property="methodCode" column="method_code"/>
|
||||
<result property="rateCode" column="rate_code"/>
|
||||
<result property="dose" column="dose"/>
|
||||
<result property="doseUnitCode" column="dose_unit_code"/>
|
||||
<result property="positionId" column="position_id"/>
|
||||
<result property="positionName" column="position_name"/>
|
||||
<result property="conditionDefinitionName" column="condition_definition_name"/>
|
||||
<result property="therapyEnum" column="therapy_enum"/>
|
||||
<result property="sortNumber" column="sort_number"/>
|
||||
<result property="busNo" column="bus_no"/>
|
||||
<result property="patientName" column="patient_name"/>
|
||||
<result property="bedName" column="bed_name"/>
|
||||
<result property="genderEnum" column="gender_enum"/>
|
||||
<result property="birthDate" column="birth_date"/>
|
||||
<result property="contractName" column="contract_name"/>
|
||||
<result property="conditionNames" column="condition_names"/>
|
||||
<result property="admittingDoctorName" column="admitting_doctor_name"/>
|
||||
<result property="balanceAmount" column="balance_amount"/>
|
||||
<collection property="medicineSummaryParamList" ofType="com.openhis.web.inhospitalnursestation.dto.MedicineSummaryParam">
|
||||
<result property="procedureId" column="procedure_id"/>
|
||||
<result property="dispenseId" column="dispense_id"/>
|
||||
<result property="dispenseTime" column="planned_dispense_time"/>
|
||||
<result property="dispenseStatus" column="dispense_status"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="selectMedicineDispenseFormPage" resultMap="MedicineDispenseFormMap">
|
||||
SELECT ii.encounter_id,
|
||||
ii.skin_test_flag,
|
||||
ii.inject_flag,
|
||||
ii.group_id,
|
||||
ii.tcm_flag,
|
||||
ii.chinese_herbs_dose_quantity,
|
||||
ii.suffering_flag,
|
||||
ii.advice_id,
|
||||
ii.advice_name,
|
||||
ii.item_id,
|
||||
ii.volume,
|
||||
ii.lot_number,
|
||||
ii.quantity,
|
||||
ii.unit_code,
|
||||
ii.method_code,
|
||||
ii.rate_code,
|
||||
ii.dose,
|
||||
ii.dose_unit_code,
|
||||
ii.position_id,
|
||||
ii.position_name,
|
||||
ii.condition_definition_name,
|
||||
ii.therapy_enum,
|
||||
ii.sort_number,
|
||||
ii.bus_no,
|
||||
ii.patient_name,
|
||||
ii.bed_name,
|
||||
ii.gender_enum ,
|
||||
ii.birth_date ,
|
||||
ii.patient_id,
|
||||
ii.contract_name ,
|
||||
ii.condition_names,
|
||||
ii.admitting_doctor_name,
|
||||
ii.balance_amount,
|
||||
ii.dispense_id,
|
||||
ii.planned_dispense_time,
|
||||
ii.procedure_id,
|
||||
ii.dispense_status
|
||||
FROM (( SELECT T1.encounter_id,
|
||||
T1.tenant_id,
|
||||
T1.skin_test_flag AS skin_test_flag,
|
||||
T1.infusion_flag AS inject_flag,
|
||||
T1.group_id AS group_id,
|
||||
T1.tcm_flag,
|
||||
T1.chinese_herbs_dose_quantity,
|
||||
T1.suffering_flag,
|
||||
T1.id AS advice_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.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,
|
||||
ccd."name" AS condition_definition_name,
|
||||
T1.therapy_enum AS therapy_enum,
|
||||
T1.sort_number AS sort_number,
|
||||
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,
|
||||
mmd.id AS dispense_id,
|
||||
mmd.planned_dispense_time,
|
||||
mmd.procedure_id,
|
||||
mmd.status_enum AS dispense_status
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_dispense AS mmd
|
||||
ON T1.id = mmd.med_req_id
|
||||
AND mmd.delete_flag = '0'
|
||||
AND mmd.status_enum != #{summarized}
|
||||
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 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_encounter ae
|
||||
ON ae.id = T1.encounter_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_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.status_enum = #{completed}
|
||||
AND T1.refund_medicine_id IS NULL
|
||||
AND mmd.procedure_id IS NOT NULL
|
||||
ORDER BY mmd.planned_dispense_time )) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectMedicineSummaryFormPage"
|
||||
resultType="com.openhis.web.inhospitalnursestation.dto.MedicineSummaryFormDto">
|
||||
SELECT T1.bus_no ,
|
||||
T1.apply_time ,
|
||||
T1.applicant_id,
|
||||
T1.status_enum ,
|
||||
T1.dispense_time,
|
||||
T1.receiver_id,
|
||||
T1.applicant_name,
|
||||
T1.receiver_name,
|
||||
T1.location_name
|
||||
FROM (
|
||||
SELECT wsr.tenant_id,
|
||||
wsr.bus_no ,
|
||||
wsr.apply_time ,
|
||||
wsr.applicant_id,
|
||||
wsd.status_enum ,
|
||||
wsd.receive_time AS dispense_time,
|
||||
wsd.receiver_id,
|
||||
ap."name" AS applicant_name,
|
||||
ap2."name" AS receiver_name,
|
||||
al."name" AS location_name
|
||||
FROM wor_supply_request wsr
|
||||
LEFT JOIN wor_supply_delivery wsd
|
||||
ON wsr.id = wsd.request_id
|
||||
AND wsd.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap
|
||||
ON wsr.applicant_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner ap2
|
||||
ON wsd.receiver_id = ap.id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wsr.source_location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsd.status_enum IN (#{inProgress}, #{completed})
|
||||
AND wsr.type_enum = #{summaryDispense}
|
||||
GROUP BY wsr.tenant_id,
|
||||
wsr.bus_no ,
|
||||
wsr.apply_time ,
|
||||
wsr.applicant_id,
|
||||
wsd.status_enum ,
|
||||
wsd.receive_time,
|
||||
wsd.receiver_id,
|
||||
ap."name",
|
||||
ap2."name",
|
||||
al."name"
|
||||
ORDER BY wsr.bus_no DESC ) AS T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectMedicineSummaryFormDetail"
|
||||
resultType="com.openhis.web.inhospitalnursestation.dto.MedicineSummaryInfoDto">
|
||||
SELECT mmd."name" AS item_name,
|
||||
mmd.unit_code ,
|
||||
mmd.min_unit_code ,
|
||||
mmd.part_percent ,
|
||||
mm.total_volume ,
|
||||
wsr.lot_number,
|
||||
wsr.item_quantity
|
||||
FROM wor_supply_request wsr
|
||||
LEFT JOIN wor_supply_delivery wsd
|
||||
ON wsr.id = wsd.request_id
|
||||
AND wsd.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wsr.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'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
AND wsr.bus_no = #{summaryNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?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.NurseBillingAppMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,69 @@
|
||||
<?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.OrgDeviceStockTakeAppMapper">
|
||||
<select id="selectOrgDeviceInfo" resultType="com.openhis.web.inhospitalnursestation.dto.OrgDeviceDto">
|
||||
SELECT ii.bus_no, --单据号
|
||||
ii.request_id, --供应请求id
|
||||
ii.dispense_id, --供应发放id
|
||||
ii.item_name, --项目名
|
||||
ii.item_id, --项目id
|
||||
ii.total_volume, --规格
|
||||
ii.lot_number, --批号
|
||||
ii.quantity, --请求数
|
||||
ii.part_percent, --拆零比
|
||||
ii.unit_code, --单位
|
||||
ii.unit_price, --单价
|
||||
ii.max_unit_code, --常规单位
|
||||
ii.min_unit_code, --最小单位
|
||||
ii.source_location_id, --发放地点
|
||||
ii.source_location_name,--发放地点名称
|
||||
ii.org_id, --申请科室
|
||||
ii.org_name, --申请科室名称
|
||||
ii.requester_id, --申请人
|
||||
ii.requester_name, --申请人名字
|
||||
ii.manufacturer, --生产厂商
|
||||
ii.apply_time, --请求开始时间
|
||||
ii.status_enum --状态
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.bus_no,--单据号
|
||||
T1.ID AS request_id,--供应请求id
|
||||
T2.ID AS dispense_id,--供应发放id
|
||||
T3.NAME AS item_name,--项目名
|
||||
T3.ID AS item_id,--项目id
|
||||
T3.SIZE AS total_volume,--规格
|
||||
T1.lot_number,--批号
|
||||
T1.quantity,--请求数
|
||||
T3.part_percent,--拆零比
|
||||
T1.unit_code,--单位
|
||||
T8.unit_price,--单价
|
||||
T3.unit_code AS max_unit_code,--常规单位
|
||||
T3.min_unit_code,--最小单位
|
||||
T1.perform_location AS source_location_id,--发放地点
|
||||
T5.NAME AS source_location_name,--发放地点名称
|
||||
T1.org_id,--申请科室
|
||||
T6.NAME AS org_name,--申请科室名称
|
||||
T1.requester_id,--申请人
|
||||
T7.NAME AS requester_name,--申请人名字
|
||||
T3.manufacturer_text AS manufacturer,--生产厂商
|
||||
T1.req_authored_time AS apply_time,--请求开始时间
|
||||
T1.status_enum--状态
|
||||
FROM wor_device_request T1
|
||||
LEFT JOIN wor_device_dispense AS T2 ON T2.device_req_id = T1.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_device_definition AS T3 ON T1.device_def_id = T3.ID
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device AS T4 ON T3.ID = T4.device_def_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T5 ON T1.perform_location = T5.ID
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS T6 ON T1.org_id = T6.ID
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7 ON T1.requester_id = T7.ID
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS T8 ON T1.id = T8.service_id
|
||||
AND T8.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0') AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,155 @@
|
||||
<?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.nenu.mapper.GfRatioApplicationRecordAppMapper">
|
||||
|
||||
<select id="selectGfRatioApplicationRecordPage" resultType="com.openhis.web.nenu.dto.GfRatioApplicationRecordDto">
|
||||
SELECT T.id
|
||||
, T.application_no
|
||||
, T.item_type
|
||||
, T.application_ratio
|
||||
, T.twice_ratio
|
||||
, T.start_date
|
||||
, T.end_date
|
||||
, T.application_status
|
||||
, T.applicant
|
||||
, T.application_time
|
||||
, T.application_reason
|
||||
, T.initial_approver
|
||||
, T.initial_approval_result
|
||||
, T.initial_approval_time
|
||||
, T.initial_approval_opinion
|
||||
, T.finance_approver
|
||||
, T.finance_approval_result
|
||||
, T.finance_approval_time
|
||||
, T.finance_approval_opinion
|
||||
, T.final_recorder
|
||||
, T.final_approval_result
|
||||
, T.final_record_time
|
||||
, T.final_approval_opinion
|
||||
, T.definition_id
|
||||
, T.bus_no
|
||||
, T.name
|
||||
, T.py_str
|
||||
, T.wb_str
|
||||
, T.yb_no
|
||||
from (SELECT T1.id
|
||||
, T1.bus_no AS application_no
|
||||
, T1.item_type
|
||||
, T1.application_ratio
|
||||
, T1.twice_ratio
|
||||
, T1.start_date
|
||||
, T1.end_date
|
||||
, T1.application_status
|
||||
, T1.applicant
|
||||
, T1.application_time
|
||||
, T1.application_reason
|
||||
, T1.initial_approver
|
||||
, T1.initial_approval_result
|
||||
, T1.initial_approval_time
|
||||
, T1.initial_approval_opinion
|
||||
, T1.finance_approver
|
||||
, T1.finance_approval_result
|
||||
, T1.finance_approval_time
|
||||
, T1.finance_approval_opinion
|
||||
, T1.final_recorder
|
||||
, T1.final_approval_result
|
||||
, T1.final_record_time
|
||||
, T1.final_approval_opinion
|
||||
, T1.definition_id
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.bus_no
|
||||
WHEN T1.item_type = 2 THEN T3.bus_no
|
||||
ELSE '' END AS bus_no
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2."name"
|
||||
WHEN T1.item_type = 2 THEN T3."name"
|
||||
ELSE '' END AS "name"
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.py_str
|
||||
WHEN T1.item_type = 2 THEN T3.py_str
|
||||
ELSE '' END AS py_str
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.wb_str
|
||||
WHEN T1.item_type = 2 THEN T3.wb_str
|
||||
ELSE '' END AS wb_str
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.yb_no
|
||||
WHEN T1.item_type = 2 THEN T3.yb_no
|
||||
ELSE '' END AS yb_no
|
||||
, T1.tenant_id
|
||||
, T1.delete_flag
|
||||
, T1.create_by
|
||||
, T1.create_time
|
||||
, T1.update_by
|
||||
, T1.update_time
|
||||
FROM nenu_gf_ratio_application T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T2.id = T1.definition_id
|
||||
LEFT JOIN wor_activity_definition T3
|
||||
ON T3.id = T1.definition_id
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T1.id DESC) AS T
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectGfRatioApplicationDefinitionSelectPage"
|
||||
resultType="com.openhis.web.nenu.dto.GfRatioApplicationDefinitionSelectDto">
|
||||
SELECT T.id
|
||||
, T.bus_no
|
||||
, T."name"
|
||||
, T.yb_no
|
||||
, T.chrgitm_lv
|
||||
, T.py_str
|
||||
, T.wb_str
|
||||
, T.manufacturer_text
|
||||
, T.total_volume
|
||||
, T.tenant_id
|
||||
, T.delete_flag
|
||||
, T.create_by
|
||||
, T.create_time
|
||||
, T.update_by
|
||||
, T.update_time
|
||||
from (SELECT T1.id
|
||||
, T1.bus_no
|
||||
, T1."name"
|
||||
, T1.yb_no
|
||||
, T1.chrgitm_lv
|
||||
, T1.py_str
|
||||
, T1.wb_str
|
||||
<choose>
|
||||
<when test="itemType == 1">
|
||||
, T1.manufacturer_text
|
||||
, T2.total_volume
|
||||
</when>
|
||||
<otherwise>
|
||||
, '' AS manufacturer_text
|
||||
, '' AS total_volume
|
||||
</otherwise>
|
||||
</choose>
|
||||
, T1.tenant_id
|
||||
, T1.delete_flag
|
||||
, T1.create_by
|
||||
, T1.create_time
|
||||
, T1.update_by
|
||||
, T1.update_time
|
||||
FROM
|
||||
<choose>
|
||||
<when test="itemType == 1">
|
||||
med_medication_definition T1
|
||||
LEFT JOIN med_medication T2
|
||||
ON T2.medication_def_id = T1.id
|
||||
</when>
|
||||
<when test="itemType == 2">
|
||||
wor_activity_definition T1
|
||||
</when>
|
||||
<otherwise>
|
||||
wor_activity_definition T1
|
||||
</otherwise>
|
||||
</choose>
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T1.bus_no) AS T
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,73 @@
|
||||
<?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.nenu.mapper.GfRatioManageAppMapper">
|
||||
|
||||
<select id="selectGfIndividualRatioPage" resultType="com.openhis.web.nenu.dto.GfIndividualRatioDto">
|
||||
SELECT T.id
|
||||
, T.item_type
|
||||
, T.self_ratio
|
||||
, T.twice_ratio
|
||||
, T.start_date
|
||||
, T.end_date
|
||||
, T.bus_no
|
||||
, T.name
|
||||
, T.py_str
|
||||
, T.wb_str
|
||||
, T.yb_no
|
||||
, T.chrgitm_lv
|
||||
, T.tenant_id
|
||||
, T.delete_flag
|
||||
, T.create_by
|
||||
, T.create_time
|
||||
, T.update_by
|
||||
, T.update_time
|
||||
from (SELECT T1.id
|
||||
, T1.item_type
|
||||
, T1.self_ratio
|
||||
, T1.twice_ratio
|
||||
, T1.start_date
|
||||
, T1.end_date
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.bus_no
|
||||
WHEN T1.item_type = 2 THEN T3.bus_no
|
||||
ELSE '' END AS bus_no
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2."name"
|
||||
WHEN T1.item_type = 2 THEN T3."name"
|
||||
ELSE '' END AS "name"
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.py_str
|
||||
WHEN T1.item_type = 2 THEN T3.py_str
|
||||
ELSE '' END AS py_str
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.wb_str
|
||||
WHEN T1.item_type = 2 THEN T3.wb_str
|
||||
ELSE '' END AS wb_str
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.yb_no
|
||||
WHEN T1.item_type = 2 THEN T3.yb_no
|
||||
ELSE '' END AS yb_no
|
||||
, CASE
|
||||
WHEN T1.item_type = 1 THEN T2.chrgitm_lv
|
||||
WHEN T1.item_type = 2 THEN T3.chrgitm_lv
|
||||
ELSE 0 END AS chrgitm_lv
|
||||
, T1.tenant_id
|
||||
, T1.delete_flag
|
||||
, T1.create_by
|
||||
, T1.create_time
|
||||
, T1.update_by
|
||||
, T1.update_time
|
||||
FROM nenu_gf_ratio T1
|
||||
LEFT JOIN med_medication_definition T2
|
||||
ON T2.id = T1.definition_id
|
||||
LEFT JOIN wor_activity_definition T3
|
||||
ON T3.id = T1.definition_id
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.ratio_type = 2
|
||||
ORDER BY T1.id DESC) AS T
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?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.nenu.mapper.GfStudentListAppMapper">
|
||||
|
||||
<select id="selectGfStudentListPage" resultType="com.openhis.web.nenu.dto.GfStudentListDto">
|
||||
SELECT T.id
|
||||
, T.name
|
||||
, T.py_str
|
||||
, T.wb_str
|
||||
, T.gender
|
||||
, T.age
|
||||
, T.student_id
|
||||
, T.id_number
|
||||
, T.phone
|
||||
, T.college
|
||||
, T.major
|
||||
, T.education_level
|
||||
, T.enrollment_date
|
||||
, T.graduation_date
|
||||
, T.grade
|
||||
, T.study_mode
|
||||
, T.student_status
|
||||
, T.physical_exam_result
|
||||
, T.counselor
|
||||
, T.counselor_phone
|
||||
, T.patient_id
|
||||
, T.tenant_id
|
||||
, T.delete_flag
|
||||
, T.create_by
|
||||
, T.create_time
|
||||
, T.update_by
|
||||
, T.update_time
|
||||
from (SELECT T1.id
|
||||
, T1.name
|
||||
, T1.py_str
|
||||
, T1.wb_str
|
||||
, T1.gender
|
||||
, T1.age
|
||||
, T1.student_id
|
||||
, T1.id_number
|
||||
, T1.phone
|
||||
, T1.college
|
||||
, T1.major
|
||||
, T1.education_level
|
||||
, T1.enrollment_date
|
||||
, T1.graduation_date
|
||||
, T1.grade
|
||||
, T1.study_mode
|
||||
, T1.student_status
|
||||
, T1.physical_exam_result
|
||||
, T1.counselor
|
||||
, T1.counselor_phone
|
||||
, T1.patient_id
|
||||
, T1.tenant_id
|
||||
, T1.delete_flag
|
||||
, T1.create_by
|
||||
, T1.create_time
|
||||
, T1.update_by
|
||||
, T1.update_time
|
||||
FROM adm_patient_student AS T1
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T1.id DESC) AS T
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -10,8 +10,7 @@
|
||||
ii.patient_name,
|
||||
ii.patient_py_str,
|
||||
ii.patient_wb_str,
|
||||
ii.birth_date,
|
||||
ii.status_enum
|
||||
ii.birth_date
|
||||
FROM (
|
||||
SELECT T1.tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
@@ -21,8 +20,7 @@
|
||||
T2."name" AS patient_name,
|
||||
T2.py_str AS patient_py_str,
|
||||
T2.wb_str AS patient_wb_str,
|
||||
T2.birth_date,
|
||||
T3.status_enum
|
||||
T2.birth_date
|
||||
FROM adm_encounter AS T1
|
||||
INNER JOIN adm_patient AS T2
|
||||
ON T1.patient_id = T2.id
|
||||
@@ -32,6 +30,7 @@
|
||||
AND T3.refund_service_id IS NULL
|
||||
AND T3.delete_flag = '0'
|
||||
WHERE T1.class_enum = #{amb}
|
||||
AND T3.status_enum IN (#{completed},#{cancelled})
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.id,
|
||||
@@ -41,8 +40,7 @@
|
||||
T2.name,
|
||||
T2.py_str,
|
||||
T2.wb_str,
|
||||
T2.birth_date,
|
||||
T3.status_enum
|
||||
T2.birth_date
|
||||
ORDER BY T1.bus_no DESC
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
@@ -245,7 +243,7 @@
|
||||
ap.gender_enum,
|
||||
ap.birth_date,
|
||||
wad.NAME AS activity_name,
|
||||
SUBSTRING(wad.bus_no FROM 3) AS bus_no,
|
||||
SUBSTRING(wsr.bus_no FROM 3) AS bus_no,
|
||||
aper.name AS practitioner_name,
|
||||
ao.name AS org_name
|
||||
FROM wor_service_request AS wsr
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?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.paymentmanage.mapper.ChangePriceMapper">
|
||||
<!-- 查询药品信息集合 -->
|
||||
<select id="searchMedicationList" resultType="com.openhis.medication.domain.MedicationDefinition">
|
||||
SELECT *
|
||||
FROM med_medication_definition medication_def
|
||||
-- INNER JOIN med_medication medication ON medication_def.id = medication.medication_def_id
|
||||
-- where medication.id = #{medicationId} and (name_en like '%ac%' or py_str like '%ac%');
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -4,63 +4,65 @@
|
||||
|
||||
<select id="getPage" resultType="com.openhis.web.paymentmanage.dto.PaymentVO">
|
||||
SELECT T1.id,
|
||||
T1.relation_id,
|
||||
T1.status_enum,
|
||||
T1.payment_no,
|
||||
T1.payment_enum,
|
||||
T1.enterer_id,
|
||||
T1.kind_enum,
|
||||
T1.patient_id,
|
||||
T1.outcome_enum,
|
||||
T1.tendered_amount,
|
||||
T1.returned_amount,
|
||||
T1.display_amount,
|
||||
T1.print_count,
|
||||
T1.bill_date,
|
||||
T1.encounter_id,
|
||||
T1.yb_clear_flag,
|
||||
T1.yb_settle_ids,
|
||||
T1.enterer_name,
|
||||
T1.patient_name,
|
||||
T1.invoice_id,
|
||||
T1.bill_no as invoice_no,
|
||||
T1.encounter_bus_no
|
||||
T1.relation_id,
|
||||
T1.status_enum,
|
||||
T1.payment_no,
|
||||
T1.payment_enum,
|
||||
T1.enterer_id,
|
||||
T1.kind_enum,
|
||||
T1.patient_id,
|
||||
T1.outcome_enum,
|
||||
T1.tendered_amount,
|
||||
T1.returned_amount,
|
||||
T1.display_amount,
|
||||
T1.print_count,
|
||||
T1.bill_date,
|
||||
T1.encounter_id,
|
||||
T1.yb_clear_flag,
|
||||
T1.yb_settle_ids,
|
||||
T1.enterer_name,
|
||||
T1.patient_name,
|
||||
T1.invoice_id,
|
||||
T1.bill_no as invoice_no,
|
||||
T1.invoice_status,
|
||||
T1.encounter_bus_no
|
||||
FROM (SELECT t.id,
|
||||
t.relation_id,
|
||||
t.status_enum,
|
||||
t.payment_no,
|
||||
t.payment_enum,
|
||||
t.enterer_id,
|
||||
t.kind_enum,
|
||||
pra.name AS enterer_name,
|
||||
t.patient_id,
|
||||
patient.name AS patient_name,
|
||||
t.outcome_enum,
|
||||
t.tendered_amount,
|
||||
t.returned_amount,
|
||||
t.display_amount,
|
||||
t.bill_date,
|
||||
t.print_count,
|
||||
t.encounter_id,
|
||||
invoice.id AS invoice_id,
|
||||
invoice.bill_no,
|
||||
t.yb_clear_flag,
|
||||
t.yb_settle_ids,
|
||||
enc.bus_no AS encounter_bus_no,
|
||||
t.tenant_id
|
||||
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
|
||||
LEFT JOIN adm_invoice invoice ON invoice.reconciliation_id = t.id
|
||||
LEFT JOIN adm_encounter enc ON enc.id = t.enterer_id
|
||||
WHERE 1 = 1
|
||||
AND t.delete_flag = '0'
|
||||
AND t.kind_enum = #{kindEnum}
|
||||
<if test="invoiceNo != null and !invoiceNo.empty">
|
||||
AND invoice.bill_no = #{invoiceNo}
|
||||
</if>
|
||||
ORDER BY t.create_time DESC) as T1
|
||||
${ew.customSqlSegment}
|
||||
t.relation_id,
|
||||
t.status_enum,
|
||||
t.payment_no,
|
||||
t.payment_enum,
|
||||
t.enterer_id,
|
||||
t.kind_enum,
|
||||
pra.name AS enterer_name,
|
||||
t.patient_id,
|
||||
patient.name AS patient_name,
|
||||
t.outcome_enum,
|
||||
t.tendered_amount,
|
||||
t.returned_amount,
|
||||
t.display_amount,
|
||||
t.bill_date,
|
||||
t.print_count,
|
||||
t.encounter_id,
|
||||
invoice.id AS invoice_id,
|
||||
invoice.bill_no,
|
||||
case when invoice.bill_no is not null then 1 else 0 end as invoice_status,
|
||||
t.yb_clear_flag,
|
||||
t.yb_settle_ids,
|
||||
enc.bus_no AS encounter_bus_no,
|
||||
t.tenant_id
|
||||
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
|
||||
LEFT JOIN adm_invoice invoice ON invoice.reconciliation_id = t.id
|
||||
LEFT JOIN adm_encounter enc ON enc.id = t.enterer_id
|
||||
WHERE 1 = 1
|
||||
AND t.delete_flag = '0'
|
||||
AND t.kind_enum = #{kindEnum}
|
||||
<if test="invoiceNo != null and !invoiceNo.empty">
|
||||
AND invoice.bill_no = #{invoiceNo}
|
||||
</if>
|
||||
ORDER BY t.create_time DESC) as T1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getPaymentDetailList" resultType="com.openhis.yb.dto.PaymentDetailDto">
|
||||
SELECT id,
|
||||
|
||||
@@ -38,6 +38,12 @@
|
||||
togpd.quantity,
|
||||
togpd.unit_code,
|
||||
sdd.dict_label AS unit_code_name,
|
||||
togpd.dose,
|
||||
togpd.rate_code,
|
||||
togpd.method_code,
|
||||
togpd.dose_quantity,
|
||||
togpd.group_id,
|
||||
togpd.dispense_per_duration,
|
||||
CASE
|
||||
WHEN togpd.order_definition_table = 'med_medication_definition' THEN
|
||||
med.NAME
|
||||
|
||||
@@ -19,43 +19,7 @@
|
||||
T1.bus_no AS encounter_no,
|
||||
T1.reception_time,
|
||||
T1.organization_id AS department_id,
|
||||
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,
|
||||
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>
|
||||
UNION
|
||||
SELECT T1.tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_no,
|
||||
T1.reception_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,
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
A.refund_unit_code,
|
||||
A.dispense_time,
|
||||
A.location_id,
|
||||
A.tenant_id
|
||||
A.item_table
|
||||
from (
|
||||
WITH refund_info AS (
|
||||
SELECT mmr.refund_medicine_id,
|
||||
@@ -83,7 +83,8 @@
|
||||
ri.total_price AS refund_price,
|
||||
wii.supplier_id,
|
||||
sup.name AS supplier_name,
|
||||
mmd.tenant_id
|
||||
mmd.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table
|
||||
FROM med_medication_dispense mmd
|
||||
LEFT JOIN med_medication_request mmr
|
||||
ON mmd.med_req_id = mmr.id
|
||||
@@ -117,7 +118,7 @@
|
||||
WHERE mmd.status_enum = #{completed}
|
||||
AND mmr.status_enum = #{agree}
|
||||
<if test="flg != 1">
|
||||
AND mmd.dispense_enum = #{amb}
|
||||
AND ae.class_enum = #{amb}
|
||||
</if>
|
||||
AND mmd.delete_flag = '0'
|
||||
UNION
|
||||
@@ -145,7 +146,8 @@
|
||||
ri.total_price AS refund_price,
|
||||
wii.supplier_id,
|
||||
sup.name AS supplier_name,
|
||||
mmd.tenant_id
|
||||
mmd.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table
|
||||
FROM wor_device_dispense mmd
|
||||
LEFT JOIN wor_device_request mmr
|
||||
ON mmd.device_req_id = mmr.id
|
||||
@@ -179,17 +181,17 @@
|
||||
WHERE mmd.status_enum = #{completed}
|
||||
AND mmr.status_enum = #{agree}
|
||||
<if test="flg != 1">
|
||||
AND mmd.dispense_category_enum = #{amb}
|
||||
AND ae.class_enum = #{amb}
|
||||
</if>
|
||||
AND mmd.delete_flag = '0'
|
||||
) AS A
|
||||
${ew.customSqlSegment}
|
||||
<choose>
|
||||
<when test="dispenseEnum == 1">
|
||||
ORDER BY A.practitioner_name, A.dispense_time DESC
|
||||
ORDER BY A.dispense_time DESC
|
||||
</when>
|
||||
<when test="dispenseEnum == 2">
|
||||
ORDER BY A.outpatient_no, A.prescription_no
|
||||
ORDER BY A.outpatient_no DESC, A.prescription_no DESC
|
||||
</when>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
ORDER BY ii.reception_time DESC
|
||||
</select>
|
||||
<select id="selectInventoryInfoList"
|
||||
resultType="com.openhis.web.pharmacymanage.dto.InventoryDto">
|
||||
resultType="com.openhis.web.pharmacymanage.dto.UnDispenseInventoryDto">
|
||||
<choose>
|
||||
<when test="(medDispenseIdList != null and !medDispenseIdList.isEmpty())
|
||||
or (devDispenseIdList != null and !devDispenseIdList.isEmpty())">
|
||||
@@ -72,6 +72,8 @@
|
||||
T1.id AS dispense_id,
|
||||
T1.unit_code AS dispense_unit,
|
||||
T1.quantity,
|
||||
T1.location_id,
|
||||
T1.lot_number,
|
||||
T1.dispense_quantity,
|
||||
T2.id AS inventory_id,
|
||||
T2.unit_code AS inventory_unit_code,
|
||||
@@ -106,6 +108,8 @@
|
||||
T4.id AS dispense_id,
|
||||
T4.unit_code AS dispense_unit,
|
||||
T4.quantity,
|
||||
T4.location_id,
|
||||
T4.lot_number,
|
||||
T4.dispense_quantity,
|
||||
T2.id AS inventory_id,
|
||||
T2.unit_code AS inventory_unit_code,
|
||||
|
||||
@@ -88,9 +88,9 @@
|
||||
LEFT JOIN adm_patient AS T11
|
||||
ON T11.id = T8.patient_id
|
||||
AND T11.delete_flag = '0'
|
||||
WHERE T1.item_table = #{medicationDefinition}
|
||||
AND T1.type_enum = #{typeEnum}
|
||||
AND T1.category_enum = #{categoryEnum}
|
||||
WHERE T1.item_table = 'med_medication_definition'
|
||||
AND T1.type_enum = 23
|
||||
AND T1.category_enum = 21
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.bus_no,
|
||||
@@ -113,325 +113,72 @@
|
||||
T7.name,
|
||||
T1.apply_time,
|
||||
T1.status_enum
|
||||
UNION
|
||||
SELECT T1.tenant_id,
|
||||
T1.bus_no,--单据号
|
||||
T1.id AS request_id,--供应请求id
|
||||
T2.id AS delivery_id,--供应发放id
|
||||
T1.item_table,--项目表
|
||||
T3.name AS item_name,--项目名
|
||||
T1.item_id,--项目id
|
||||
T3.size AS total_volume,--规格
|
||||
T1.lot_number,--批号
|
||||
T1.item_quantity AS quantity,--请求数
|
||||
T1.unit_code,--单位
|
||||
T3.unit_code AS max_unit_code,--常规单位
|
||||
T3.min_unit_code,--最小单位
|
||||
T1.source_location_id,--发放地点
|
||||
T5.name AS source_location_name,
|
||||
T1.purpose_location_id AS org_id,--申请科室
|
||||
T6.name AS org_name,
|
||||
T1.applicant_id,--领药人
|
||||
T7.name AS applicant_name,
|
||||
T1.apply_time,--申请时间
|
||||
T1.status_enum,--状态
|
||||
STRING_AGG(CONCAT(T11.name, ' : ', T12.inpatient_bed), ',' ORDER BY T11.name,
|
||||
T12.inpatient_bed) AS patient_info -- 患者信息
|
||||
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 adm_device_definition AS T3
|
||||
ON T1.item_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_device AS T4
|
||||
ON T3.id = T4.device_def_id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS T5
|
||||
ON T1.source_location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T7
|
||||
ON T1.applicant_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN (SELECT id,
|
||||
encounter_id,
|
||||
patient_id
|
||||
FROM (SELECT id,
|
||||
encounter_id,
|
||||
patient_id,
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY id) AS rn
|
||||
FROM wor_device_dispense
|
||||
WHERE delete_flag = '0') t
|
||||
WHERE rn = 1) AS T8
|
||||
ON CONCAT(',', T2.based_on_ids, ',') LIKE CONCAT('%,', T8.id, ',%')
|
||||
LEFT JOIN (SELECT STRING_AGG(T10.NAME, '_' ORDER BY T10.bus_no) AS inpatient_bed, T9.encounter_id
|
||||
FROM adm_encounter_location T9
|
||||
LEFT JOIN adm_location AS T10
|
||||
ON T10.id = T9.location_id
|
||||
AND T10.delete_flag = '0'
|
||||
WHERE T9.status_enum = '2'
|
||||
AND T9.delete_flag = '0'
|
||||
GROUP BY T9.encounter_id) AS T12 ON T8.encounter_id = T12.encounter_id
|
||||
LEFT JOIN adm_patient AS T11
|
||||
ON T11.id = T8.patient_id
|
||||
AND T11.delete_flag = '0'
|
||||
WHERE T1.item_table = #{deviceDefinition}
|
||||
AND T1.type_enum = #{typeEnum}
|
||||
AND T1.category_enum = #{categoryEnum}
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY T1.tenant_id,
|
||||
T1.bus_no,
|
||||
T1.id,
|
||||
T2.id,
|
||||
T1.item_table,
|
||||
T3.name,
|
||||
T1.item_id,
|
||||
T3.size,
|
||||
T1.lot_number,
|
||||
T1.item_quantity,
|
||||
T1.unit_code,
|
||||
T3.unit_code,
|
||||
T3.min_unit_code,
|
||||
T1.source_location_id,
|
||||
T5.name,
|
||||
T1.purpose_location_id,
|
||||
T6.name,
|
||||
T1.applicant_id,
|
||||
T7.name,
|
||||
T1.apply_time,
|
||||
T1.status_enum) AS ii
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- <select id="selectEncounterInfoListPage" resultType="com.openhis.web.pharmacymanage.dto.InpatientMedicineEncounterInfoDto">-->
|
||||
<!-- SELECT ii.tenant_id,-->
|
||||
<!-- ii.org_id,-->
|
||||
<!-- ii.therapy_enum,-->
|
||||
<!-- ii.encounter_id,-->
|
||||
<!-- ii.bus_no,-->
|
||||
<!-- ii.patient_name,-->
|
||||
<!-- ii.gender_enum,-->
|
||||
<!-- ii.birth_date,-->
|
||||
<!-- ii.inpatient_bed,-->
|
||||
<!-- ii.effective_dose_start-->
|
||||
<!-- FROM (SELECT T1.tenant_id,-->
|
||||
<!-- T1.org_id, --科室-->
|
||||
<!-- T1.therapy_enum, --治疗类型 1:临时医嘱,2:长期医嘱,3:备用医嘱 -->
|
||||
<!-- T3.id AS encounter_id, --就诊id-->
|
||||
<!-- T3.bus_no, --住院号-->
|
||||
<!-- T2.name AS patient_name, --患者姓名-->
|
||||
<!-- T2.gender_enum, --性别-->
|
||||
<!-- T2.birth_date, --生日-->
|
||||
<!-- STRING_AGG(T5.NAME, '_' ORDER BY T5.bus_no) AS inpatient_bed, --床位-->
|
||||
<!-- MIN(T1.effective_dose_start) AS effective_dose_start --请求开始时间-->
|
||||
<!-- FROM med_medication_request AS T1-->
|
||||
<!-- LEFT JOIN adm_patient AS T2-->
|
||||
<!-- ON T1.patient_id = T2.id-->
|
||||
<!-- AND T2.delete_flag = '0'-->
|
||||
<!-- INNER JOIN adm_encounter AS T3-->
|
||||
<!-- ON T1.encounter_id = T3.id-->
|
||||
<!-- AND T3.class_enum = #{amb}-->
|
||||
<!-- AND T3.status_enum = 5-->
|
||||
<!-- AND T3.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_encounter_location AS T4-->
|
||||
<!-- ON T4.encounter_id = T3.id-->
|
||||
<!-- AND T4.status_enum = '2'-->
|
||||
<!-- AND T4.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_location AS T5-->
|
||||
<!-- ON T5.id = T4.location_id-->
|
||||
<!-- AND T5.delete_flag = '0'-->
|
||||
<!-- WHERE T1.delete_flag = '0'-->
|
||||
<!-- GROUP BY T1.tenant_id,-->
|
||||
<!-- T1.org_id,-->
|
||||
<!-- T1.therapy_enum,-->
|
||||
<!-- T3.id,-->
|
||||
<!-- T3.bus_no,-->
|
||||
<!-- T2.name,-->
|
||||
<!-- T2.gender_enum,-->
|
||||
<!-- T2.birth_date) AS ii-->
|
||||
<!-- ${ew.customSqlSegment}-->
|
||||
<!-- </select>-->
|
||||
<!-- <select id="selectPrescriptionInfoListPage" resultType="com.openhis.web.pharmacymanage.dto.InpatientMedicinePrescriptionInfoDto">-->
|
||||
<!-- SELECT ii.tenant_id,-->
|
||||
<!-- ii.request_id,--药品请求id-->
|
||||
<!-- ii.encounter_id,--就诊id-->
|
||||
<!-- ii.bus_no, --单据号-->
|
||||
<!-- ii.status_enum, --状态-->
|
||||
<!-- ii.patient_name,--患者姓名-->
|
||||
<!-- ii.medication_name,--药品名-->
|
||||
<!-- ii.effective_dose_start,--医嘱开始时间-->
|
||||
<!-- ii.effective_dose_end,--医嘱结束时间-->
|
||||
<!-- ii.req_authored_time --生成日期-->
|
||||
<!-- FROM (SELECT T1.tenant_id,-->
|
||||
<!-- T1.id AS request_id,--药品请求id-->
|
||||
<!-- T1.encounter_id,--就诊id-->
|
||||
<!-- T1.bus_no, --单据号-->
|
||||
<!-- T1.status_enum, --状态-->
|
||||
<!-- T2.name AS patient_name,--患者姓名-->
|
||||
<!-- T3.name AS medication_name,--药品名-->
|
||||
<!-- T1.effective_dose_start,--医嘱开始时间-->
|
||||
<!-- T1.effective_dose_end,--医嘱结束时间-->
|
||||
<!-- T1.req_authored_time --生成日期-->
|
||||
<!-- FROM med_medication_request AS T1-->
|
||||
<!-- LEFT JOIN adm_patient AS T2-->
|
||||
<!-- ON T1.patient_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'-->
|
||||
<!-- WHERE T1.encounter_id IN-->
|
||||
<!-- <foreach collection="encounterIdList" item="item" separator="," open="(" close=")">-->
|
||||
<!-- #{item}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND T1.delete_flag = '0'-->
|
||||
<!-- GROUP BY T1.id,-->
|
||||
<!-- T2.name,-->
|
||||
<!-- T3.name) AS ii-->
|
||||
<!-- ${ew.customSqlSegment}-->
|
||||
<!-- </select>-->
|
||||
<!-- <select id="selectMedicationSummaryHeadInfo" resultType="com.openhis.web.pharmacymanage.dto.InpatientMedicineSummaryInfoDtoryInfoDto SELECT T2.dispense_time,--发药日期-->
|
||||
<!-- T2.rec_practitioner_id,--领药人-->
|
||||
<!-- T3.name AS rec_practitioner_name,-->
|
||||
<!-- SUM(T5.total_price) AS totalPrice,--金额合计-->
|
||||
<!-- COUNT(DISTINCT T1.medication_id) AS medVarietyCount,--药品种数-->
|
||||
<!-- COUNT(T1.id) AS aggregated_order_count,--汇总医嘱数-->
|
||||
<!-- T4.name AS department--科室病区-->
|
||||
<!-- FROM med_medication_request AS T1-->
|
||||
<!-- LEFT JOIN med_medication_dispense AS T2-->
|
||||
<!-- ON T2.med_req_id = T1.id-->
|
||||
<!-- AND T2.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_practitioner AS T3-->
|
||||
<!-- ON T2.rec_practitioner_id = T3.id-->
|
||||
<!-- AND T3.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_organization AS T4-->
|
||||
<!-- ON T3.org_id = T4.id-->
|
||||
<!-- AND T4.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_charge_item AS T5-->
|
||||
<!-- ON T1.id = T5.service_id-->
|
||||
<!-- AND T5.service_table = #{medicationRequest}-->
|
||||
<!-- AND T5.delete_flag = '0'-->
|
||||
<!-- WHERE T1.id IN-->
|
||||
<!-- <foreach collection="requestIdList" item="item" separator="," open="(" close=")">-->
|
||||
<!-- #{item}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND T1.delete_flag = '0'-->
|
||||
<!-- GROUP BY T2.dispense_time,-->
|
||||
<!-- T2.rec_practitioner_id,-->
|
||||
<!-- T3.name,-->
|
||||
<!-- T4.name-->
|
||||
<!-- </select>-->
|
||||
<!-- <select id="selectMedicationSummaryInfo" resultType="com.openhis.web.pharmacymanage.dto.MedicineSummaryInfoDtoECT T2.name AS med_name,--药品名-->
|
||||
<!-- T3.total_volume,--规格-->
|
||||
<!-- T5.name AS supplier_name,--供应商-->
|
||||
<!-- CASE T1.unit_code-->
|
||||
<!-- WHEN T2.min_unit_code THEN T8.amount * T2.part_percent-->
|
||||
<!-- ELSE T8.amount END AS purchase_price,--采购价-->
|
||||
<!-- CASE T1.unit_code-->
|
||||
<!-- WHEN T2.min_unit_code THEN T9.amount * T2.part_percent-->
|
||||
<!-- ELSE T9.amount END AS unit_price,--单价-->
|
||||
<!-- T1.lot_number,--批号-->
|
||||
<!-- CASE T1.unit_code-->
|
||||
<!-- WHEN T2.min_unit_code THEN T4.quantity-->
|
||||
<!-- ELSE T4.quantity/T2.part_percent END AS stock_quantity,--库存数-->
|
||||
<!-- SUM(CASE WHEN T1.status_enum = #{active} THEN T1.quantity ELSE 0 END) AS pending_quantity,--待发药数-->
|
||||
<!-- SUM(CASE WHEN T1.status_enum = #{completed} THEN T1.quantity ELSE 0 END) AS dispensed_quantity,--已发药数-->
|
||||
<!-- SUM(CASE WHEN T1.status_enum = #{cancelled} THEN T1.quantity ELSE 0 END) AS returned_quantity,--已退药数-->
|
||||
<!-- T1.unit_code, --单位-->
|
||||
<!-- T1.status_enum,--状态-->
|
||||
<!-- T1.trace_no--追溯码-->
|
||||
<!-- FROM med_medication_request AS T1-->
|
||||
<!-- LEFT JOIN med_medication_definition AS T2-->
|
||||
<!-- ON T1.medication_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 T4.item_id = T2.id-->
|
||||
<!-- AND T4.item_table = #{medicationDefinition}-->
|
||||
<!-- AND T1.lot_number = T4.lot_number-->
|
||||
<!-- AND T4.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_supplier AS T5-->
|
||||
<!-- ON T4.supplier_id = T5.id-->
|
||||
<!-- AND T5.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_charge_item AS T6-->
|
||||
<!-- ON T6.service_id = T1.id-->
|
||||
<!-- AND T6.service_table = #{medicationRequest}-->
|
||||
<!-- AND T6.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_charge_item_definition T7-->
|
||||
<!-- ON T7.instance_id = T2.id-->
|
||||
<!-- AND T7.instance_table = #{medicationDefinition}-->
|
||||
<!-- AND T7.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_charge_item_def_detail T8-->
|
||||
<!-- ON T8.definition_id = T7.id-->
|
||||
<!-- AND T8.condition_code = '1'--1:批号进价-->
|
||||
<!-- AND T8.condition_value = T1.lot_number-->
|
||||
<!-- AND T8.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_charge_item_def_detail T9-->
|
||||
<!-- ON T9.definition_id = T7.id-->
|
||||
<!-- AND T9.condition_code = '5'--1:批号售价-->
|
||||
<!-- AND T9.condition_value = T1.lot_number-->
|
||||
<!-- AND T9.delete_flag = '0'-->
|
||||
<!-- WHERE T1.id IN-->
|
||||
<!-- <foreach collection="requestIdList" item="item" separator="," open="(" close=")">-->
|
||||
<!-- #{item}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND T1.delete_flag = '0'-->
|
||||
<!-- GROUP BY T2.name,-->
|
||||
<!-- T3.total_volume,-->
|
||||
<!-- T5.name,-->
|
||||
<!-- T1.unit_code,-->
|
||||
<!-- T2.min_unit_code,-->
|
||||
<!-- T8.amount,-->
|
||||
<!-- T2.part_percent,-->
|
||||
<!-- T9.amount,-->
|
||||
<!-- T1.lot_number,-->
|
||||
<!-- T4.quantity,-->
|
||||
<!-- T1.status_enum,-->
|
||||
<!-- T1.trace_no-->
|
||||
<!-- </select>-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- <select id="selectMedicationPatientInfoList" resultType="com.openhis.web.pharmacymanage.dto.InpatientMedicineEncounterInfoDto">-->
|
||||
<!-- SELECT T3.bus_no,--住院号-->
|
||||
<!-- T4.name AS patient_name,--患者姓名-->
|
||||
<!-- T2.bus_no AS med_request_bus_no,--发药单号-->
|
||||
<!-- T6.name AS occurrence_name,--发药人-->
|
||||
<!-- T5.occurrence_time,--发药时间-->
|
||||
<!-- T2.status_enum--状态-->
|
||||
<!-- FROM wor_supply_request AS T1-->
|
||||
<!-- INNER JOIN med_medication_request AS T2-->
|
||||
<!-- ON T1.item_id = T2.id-->
|
||||
<!-- AND T2.delete_flag = '0'-->
|
||||
<!-- INNER JOIN adm_encounter AS T3-->
|
||||
<!-- ON T2.encounter_id = T3.id-->
|
||||
<!-- AND T3.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_patient AS T4-->
|
||||
<!-- ON T1.patient_id = T4.id-->
|
||||
<!-- AND T4.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN wor_supply_delivery AS T5-->
|
||||
<!-- ON T5.request_id = T1.id-->
|
||||
<!-- AND T5.delete_flag = '0'-->
|
||||
<!-- LEFT JOIN adm_practitioner AS T6-->
|
||||
<!-- ON T5.practitioner_id = T6.id-->
|
||||
<!-- AND T6.delete_flag = '0'-->
|
||||
<!-- WHERE T1.bus_no = #{busNo}-->
|
||||
<!-- AND T1.item_table = #{medicationRequest}-->
|
||||
<!-- AND T1.delete_flag = '0'-->
|
||||
<!-- GROUP BY T3.bus_no,-->
|
||||
<!-- T4.name,-->
|
||||
<!-- T2.bus_no,-->
|
||||
<!-- T6.name,-->
|
||||
<!-- T5.occurrence_time,-->
|
||||
<!-- T2.status_enum-->
|
||||
<!-- </select>-->
|
||||
|
||||
<select id="selectOrderInfo" resultType="com.openhis.web.pharmacymanage.dto.MedicineSummaryDto">
|
||||
SELECT
|
||||
li.bus_no,--单据号
|
||||
li.request_id,--供应请求id
|
||||
li.delivery_id,--供应发放id
|
||||
li.item_table,--项目表
|
||||
li.item_name,--项目名
|
||||
li.item_id,--项目id
|
||||
li.total_volume,--规格
|
||||
li.lot_number,--批号
|
||||
li.quantity,--请求数
|
||||
li.unit_code,--单位
|
||||
li.max_unit_code,--常规单位
|
||||
li.min_unit_code,--最小单位
|
||||
li.source_location_id,--发放地点
|
||||
li.source_location_name,
|
||||
li.org_id,--申请科室
|
||||
li.org_name,
|
||||
li.applicant_id,--领药人
|
||||
li.applicant_name,
|
||||
li.apply_time,--申请时间
|
||||
li.status_enum--状态
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
wsr.tenant_id,
|
||||
wsr.bus_no,--单据号
|
||||
wsd.request_id,--供应请求id
|
||||
wsd.id AS delivery_id,--供应发放id
|
||||
wsr.item_table,--项目表
|
||||
mmd.name AS item_name,--项目名
|
||||
wsr.item_id,--项目id
|
||||
mm.total_volume,--规格
|
||||
wsr.lot_number,--批号
|
||||
wsr.item_quantity AS quantity,--请求数
|
||||
wsr.unit_code,--单位
|
||||
mmd.unit_code AS max_unit_code,--常规单位
|
||||
mmd.min_unit_code,--最小单位
|
||||
wsr.source_location_id,--发放地点
|
||||
al.name AS source_location_name,
|
||||
ao.id AS org_id,--申请科室
|
||||
ao.name AS org_name,
|
||||
wsr.applicant_id,--领药人
|
||||
ap.name AS applicant_name,
|
||||
wsr.apply_time,--申请时间
|
||||
wsr.status_enum --状态
|
||||
FROM
|
||||
wor_supply_request AS wsr
|
||||
LEFT JOIN adm_practitioner AS ap ON wsr.applicant_id = ap.ID
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN wor_supply_delivery AS wsd ON wsd.request_id = wsr.ID
|
||||
AND wsd.delete_flag = '0'
|
||||
LEFT JOIN med_medication_definition AS mmd ON wsd.item_id = mmd.ID
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication AS mm ON mmd.ID = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_location AS al ON wsr.source_location_id = al.ID
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_organization AS ao ON wsr.purpose_location_id = ao.ID
|
||||
AND ao.delete_flag = '0'
|
||||
WHERE wsr.delete_flag = '0'
|
||||
) AS li
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -50,43 +50,6 @@
|
||||
<if test="statusEnum == 4">
|
||||
T4.status_enum = #{completed}
|
||||
</if>
|
||||
UNION
|
||||
SELECT T1.tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.bus_no AS encounter_no,
|
||||
T1.reception_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,
|
||||
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 wor_device_dispense AS T4
|
||||
ON T4.encounter_id = T1.id
|
||||
AND T4.delete_flag = '0'
|
||||
INNER JOIN wor_device_request AS T5
|
||||
ON T4.device_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>
|
||||
) AS ii
|
||||
${ew.customSqlSegment}
|
||||
GROUP BY ii.encounter_id,
|
||||
@@ -105,6 +68,7 @@
|
||||
</select>
|
||||
<select id="selectMedicineDispenseOrderPage" resultType="com.openhis.web.pharmacymanage.dto.ItemDispenseOrderDto">
|
||||
SELECT ii.department_name,
|
||||
ii.doctor_id,
|
||||
ii.doctor_name,
|
||||
ii.item_type,
|
||||
ii.condition_name,
|
||||
@@ -138,6 +102,7 @@
|
||||
ii.manufacturer_text,
|
||||
ii.trace_no
|
||||
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,
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.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
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 0
|
||||
WHERE T1.delete_flag = '0' AND T1.tcm_flag = 0 AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
@@ -183,7 +183,7 @@
|
||||
ON T3.service_id = T1.ID AND T3.delete_flag = '0' AND
|
||||
T3.service_table = #{WOR_DEVICE_REQUEST}
|
||||
LEFT JOIN adm_location AS al ON al.ID = T1.perform_location AND al.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
AND T1.encounter_id = #{encounterId}
|
||||
</if>
|
||||
@@ -230,7 +230,7 @@
|
||||
LEFT JOIN adm_charge_item AS T3 ON T3.service_id = T1.ID AND T3.delete_flag = '0' AND
|
||||
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'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = #{generateSourceEnum}
|
||||
AND T1.based_on_table is null
|
||||
AND T1.parent_id IS NULL
|
||||
<if test="historyFlag == '0'.toString()">
|
||||
|
||||
@@ -37,4 +37,14 @@
|
||||
AND wsr.prescription_no = #{prescriptionNo}
|
||||
</select>
|
||||
|
||||
<select id="getActivityOrganizationConfig"
|
||||
resultType="com.openhis.web.regdoctorstation.dto.ActivityOrganizationConfigDto">
|
||||
SELECT organization_id,
|
||||
activity_definition_id
|
||||
FROM adm_organization_location
|
||||
WHERE delete_flag = '0'
|
||||
AND (CURRENT_TIME :: TIME ( 6 ) BETWEEN start_time AND end_time)
|
||||
AND activity_category_code = #{activityCategoryCode}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -101,6 +101,7 @@
|
||||
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'
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
<select id="selectProductReportPage"
|
||||
resultType="com.openhis.web.reportmanage.dto.InventoryProductReportPageDto">
|
||||
<<<<<<< HEAD
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT T8.id, --ID
|
||||
@@ -155,5 +156,132 @@
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
=======
|
||||
-- SELECT T8.id, --ID
|
||||
-- T8.bus_no, --药品编码
|
||||
-- T8.name, --药品名称
|
||||
-- T8.lot_number, --批次号
|
||||
-- T8.manufacturer_text, --厂家
|
||||
-- T8.item_table, --药品类型
|
||||
-- T8.item_quantity, --库存数量
|
||||
-- T8.unit_code, --计量单位
|
||||
-- T8.min_package_quantity, --小包装库存数
|
||||
-- T8.min_package_unit, --小包装单位
|
||||
-- T8.price, --进价
|
||||
-- T8.sale_price, --售价
|
||||
-- T8.price * T8.part_percent AS part_price, --拆零进价
|
||||
-- T8.sale_price * T8.part_percent AS part_sale_price, --拆零售价
|
||||
-- T8.price * T8.item_quantity AS total_price, --进价金额(总价)
|
||||
-- T8.sale_price * T8.item_quantity AS total_sale_price, --售价金额(总价)
|
||||
-- T8.purpose_type_enum, --仓库类型
|
||||
-- T8.location_name, --仓库名称
|
||||
-- T8.location_store_name, --货位名称
|
||||
-- T8.expiration_date, --有效期
|
||||
-- T8.yb_no, --医保编码
|
||||
-- T8.tenant_id -- 租户ID
|
||||
-- FROM (SELECT T1.id, --ID
|
||||
-- T2.bus_no, --药品编码
|
||||
-- T2.name, --药品名称
|
||||
-- T1.lot_number, --批次号
|
||||
-- T2.manufacturer_text, --厂家
|
||||
-- T2.category_code AS item_table, --药品类型
|
||||
-- T1.quantity AS item_quantity, --库存数量
|
||||
-- T2.unit_code, --计量单位
|
||||
-- T1.quantity AS min_package_quantity, --小包装库存数
|
||||
-- T2.min_unit_code AS min_package_unit, --小包装单位
|
||||
-- CASE
|
||||
-- WHEN T4.condition_code = #{lotNumber}
|
||||
-- AND T4.condition_value = T1.lot_number
|
||||
-- THEN T4.amount
|
||||
-- ELSE T3.price END AS sale_price, --售价
|
||||
-- T2.part_percent, --拆零比
|
||||
-- T6.form_enum AS purpose_type_enum, --仓库类型
|
||||
-- T6.name AS location_name, --仓库名称
|
||||
-- T7.name AS location_store_name, --货位名称
|
||||
-- T1.expiration_date, --有效期
|
||||
-- T2.yb_no, --医保编码
|
||||
-- T1.tenant_id -- 租户ID
|
||||
-- FROM wor_inventory_item AS T1
|
||||
-- INNER JOIN med_medication_definition AS T2
|
||||
-- ON T2.id = T1.item_id
|
||||
-- AND T2.delete_flag = '0'
|
||||
-- INNER JOIN adm_charge_item_definition AS T3
|
||||
-- ON T3.instance_id = T2.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'
|
||||
-- LEFT JOIN adm_location T6
|
||||
-- ON T1.location_id = T6.id
|
||||
-- AND T6.delete_flag = '0'
|
||||
-- LEFT JOIN adm_location T7
|
||||
-- ON T1.location_store_id = T7.id
|
||||
-- AND T7.delete_flag = '0'
|
||||
-- WHERE T1.delete_flag = '0') AS T8
|
||||
-- UNION
|
||||
-- SELECT T10.id, --ID
|
||||
-- T10.bus_no, --器材编码
|
||||
-- T10.name, --器材名称
|
||||
-- T10.lot_number, --批次号
|
||||
-- T10.manufacturer_text, --厂家
|
||||
-- T10.item_table, --器材类型
|
||||
-- T10.item_quantity, --库存数量
|
||||
-- T10.unit_code, --计量单位
|
||||
-- T10.min_package_quantity, --小包装库存数
|
||||
-- T10.min_package_unit, --小包装单位
|
||||
-- T10.price, --进价
|
||||
-- T10.sale_price, --售价
|
||||
-- T10.price * T10.part_percent AS part_price, --拆零进价
|
||||
-- T10.sale_price * T10.part_percent AS part_sale_price, --拆零售价
|
||||
-- T10.price * T10.item_quantity AS total_price, --进价金额(总价)
|
||||
-- T10.sale_price * T10.item_quantity AS total_sale_price, --售价金额(总价)
|
||||
-- T10.purpose_type_enum, --仓库类型
|
||||
-- T10.location_name, --仓库名称
|
||||
-- T10.location_store_name, --货位名称
|
||||
-- T10.expiration_date, --有效期
|
||||
-- T10.yb_no, --医保编码
|
||||
-- T10.tenant_id -- 租户ID
|
||||
-- FROM (SELECT T1.id, --ID
|
||||
-- T9.bus_no, --药品编码
|
||||
-- T9.name, --药品名称
|
||||
-- T1.lot_number, --批次号
|
||||
-- T9.manufacturer_text, --厂家
|
||||
-- T9.category_code AS item_table, --药品类型
|
||||
-- T1.quantity AS item_quantity, --库存数量
|
||||
-- T9.unit_code, --计量单位
|
||||
-- T1.quantity AS min_package_quantity, --小包装库存数
|
||||
-- T9.min_unit_code AS min_package_unit, --小包装单位
|
||||
-- T1.price, --进价
|
||||
-- CASE
|
||||
-- WHEN T4.condition_code = #{lotNumber}
|
||||
-- AND T4.condition_value = T1.lot_number
|
||||
-- THEN T4.amount
|
||||
-- ELSE T3.price END AS sale_price, --售价
|
||||
-- T9.part_percent, --拆零比
|
||||
-- T6.form_enum AS purpose_type_enum, --仓库类型
|
||||
-- T6.name AS location_name, --仓库名称
|
||||
-- T7.name AS location_store_name, --货位名称
|
||||
-- T1.expiration_date, --有效期
|
||||
-- T9.yb_no, --医保编码
|
||||
-- T1.tenant_id -- 租户ID
|
||||
-- FROM wor_inventory_item AS T1
|
||||
-- INNER JOIN adm_device_definition AS T9
|
||||
-- ON T9.id = T1.item_id
|
||||
-- AND T9.delete_flag = '0'
|
||||
-- INNER JOIN adm_charge_item_definition AS T3
|
||||
-- ON T3.instance_id = T9.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'
|
||||
-- LEFT JOIN adm_location T6
|
||||
-- ON T1.location_id = T6.id
|
||||
-- AND T6.delete_flag = '0'
|
||||
-- LEFT JOIN adm_location T7
|
||||
-- ON T1.location_store_id = T7.id
|
||||
-- AND T7.delete_flag = '0'
|
||||
-- WHERE T1.delete_flag = '0') AS T10
|
||||
-- ${ew.customSqlSegment}
|
||||
>>>>>>> upstream/develop
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user