docs(release-notes): 添加住院护士站划价功能说明和发版记录

- 新增住院护士站划价服务流程说明文档,详细描述了从参数预处理到结果响应的五大阶段流程
- 包含耗材类医嘱和诊疗活动类医嘱的差异化处理逻辑
- 添加完整的发版内容记录,涵盖新增菜单功能和各模块优化点
- 记录了住院相关功能的新增和门诊业务流程的修复
```
This commit is contained in:
2025-12-25 14:13:14 +08:00
parent 85fcb7c2e2
commit abc0674531
920 changed files with 107068 additions and 14495 deletions

View File

@@ -126,4 +126,129 @@
${ew.customSqlSegment}
ORDER BY T10.supply_bus_no DESC
</select>
<select id="excelInboundReportPage"
resultType="com.openhis.web.reportmanage.dto.InboundReportPageDto">
SELECT T10.supply_bus_no, --单据号
T10.name, --药品名称
T10.bus_no, --药品编码
T10.lot_number, --批次号
T10.purpose_location_id, --目的仓库ID
T10.location_name, --仓库名称
T10.location_store_name, --货位名称
T10.unit_code, --计量单位
T10.quantity, --采购数量
T10.price, --采购单价
T10.total_price AS total_price, --采购金额(总价)
T10.sale_price, --售价
T10.sale_price * T10.quantity AS total_sale_price, --售价金额(总价)
T10.supplier_id, --供应商id
T10.supplier, --供应商
T10.approver_id, --审核人
T10.occurrence_time, --制单日期
T10.approval_time, --审核日期
T10.tenant_id -- 租户ID
FROM (SELECT T1.bus_no AS supply_bus_no, --单据号
T2.name, --药品名称
T2.bus_no, --药品编码
T1.lot_number, --批次号
T1.purpose_location_id, -- 目的仓库ID
T7.name AS location_name, --仓库名称
T8.name AS location_store_name, --货位名称
T1.unit_code, --计量单位
T1.item_quantity AS quantity, --采购数量
T4.amount AS price, --采购单价
T1.total_price, --采购金额(总价)
T4.amount AS sale_price, --售价
T2.part_percent, --拆零比
T1.supplier_id, --供应商id
T9.name AS supplier, --供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.approval_time, --审核日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T14
ON T14.request_id = T1.id
AND T14.status_enum = #{deliveryStatus}
AND T14.delete_flag = '0'
LEFT JOIN med_medication_definition AS T2
ON T2.id = T1.item_id
AND T2.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T3
ON T3.instance_id = T1.item_id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_def_detail AS T4
ON T4.definition_id = T3.id
AND T4.delete_flag = '0'
AND T4.condition_value = T1.lot_number
AND T4.condition_code = '1'--1:批号进价
LEFT JOIN med_medication AS T5
ON T5.medication_def_id = T2.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location AS T7
ON T7.id = T1.purpose_location_id
AND T7.delete_flag = '0'
LEFT JOIN adm_location AS T8
ON T8.id = T1.purpose_location_store_id
AND T8.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.delete_flag = '0'
AND T1.type_enum = #{purchaseInventory}
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{medicationTableName}
UNION
SELECT T1.bus_no AS supply_bus_no, --单据号
T11.name, --器材名称
T11.bus_no, --器材编码
T1.lot_number, --批次号
T1.purpose_location_id, -- 目的仓库ID
T7.name AS location_name, --仓库名称
T8.name AS location_store_name, --货位名称
T1.unit_code, --计量单位
T1.item_quantity AS quantity, --采购数量
T4.amount AS price, --采购单价
T1.total_price, --采购金额(总价)
T4.amount AS sale_price, --售价
T11.part_percent, --拆零比
T1.supplier_id, --供应商id
T9.name AS supplier, --供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.approval_time, --审核日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T14
ON T14.request_id = T1.id
AND T14.status_enum = #{deliveryStatus}
AND T14.delete_flag = '0'
LEFT JOIN adm_device_definition AS T11
ON T11.id = T1.item_id
AND T11.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T3
ON T3.instance_id = T1.item_id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_def_detail AS T4
ON T4.definition_id = T3.id
AND T4.delete_flag = '0'
AND T4.condition_value = T1.lot_number
AND T4.condition_code = '1'--1:批号进价
LEFT JOIN adm_location AS T7
ON T7.id = T1.purpose_location_id
AND T7.delete_flag = '0'
LEFT JOIN adm_location AS T8
ON T8.id = T1.purpose_location_store_id
AND T8.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.delete_flag = '0'
AND T1.type_enum = #{purchaseInventory}
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{deviceTableName}) AS T10
${ew.customSqlSegment}
ORDER BY T10.supply_bus_no DESC
</select>
</mapper>

View File

@@ -107,4 +107,110 @@
${ew.customSqlSegment}
ORDER BY T9.supply_bus_no DESC
</select>
<select id="excelLossReportPage"
resultType="com.openhis.web.reportmanage.dto.LossReportPageDto">
SELECT T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
T9.supply_bus_no,--单据号
T9.purpose_location_id,-- 目的仓库id
T9.price,--采购单价
T9.location_store_name,--仓库货位
T9.total_price,--报损金额
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --单位
T1.item_quantity, --数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN med_medication_definition AS T2
ON T1.item_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN med_medication AS T3
ON T2.id = T3.medication_def_id
AND T3.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.purpose_location_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location AS T4
ON T4.id = T1.purpose_location_store_id
AND T4.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.type_enum = #{lossReport}
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{medicationTableName}
AND T1.delete_flag = '0'
UNION
SELECT T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --单位
T1.item_quantity, --数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN adm_device_definition AS T6
ON T1.item_id = T6.id
AND T6.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.purpose_location_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location AS T4
ON T4.id = T1.purpose_location_store_id
AND T4.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.type_enum = #{lossReport}
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{deviceTableName}
AND T1.delete_flag = '0') AS T9
${ew.customSqlSegment}
ORDER BY T9.supply_bus_no DESC
</select>
</mapper>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.reportmanage.mapper.MedicationInboundReportMapper">
<select id="getMedicationInboundPage" resultType="com.openhis.web.reportmanage.dto.MedicationInboundReportDto">
SELECT ii.medication_id, --药品id
ii.NAME, --药品名称
ii.py_str, --拼音码
ii.wb_str, --五笔码
ii.yb_no, --医保编码
ii.bus_no, --药品编号
ii.total_price, --总价
ii.item_quantity, --数量
ii.unit_code, --单位
ii.min_unit_code, --最小单位
ii.part_percent, --拆零比
ii.occurrence_time --发放时间
FROM (SELECT T1.tenant_id,
T3.ID AS medication_id,
T3.NAME,
T3.py_str,
T3.wb_str,
T3.yb_no,
T3.bus_no,
T1.total_price,
T1.item_quantity,
T1.unit_code,
T3.min_unit_code,
T3.part_percent,
T2.occurrence_time
FROM wor_supply_request T1
LEFT JOIN wor_supply_delivery AS T2 ON T2.request_id = T1.ID
AND T2.delete_flag = '0'
LEFT JOIN med_medication_definition AS T3 ON T2.item_id = T3.ID
AND T3.delete_flag = '0'
LEFT JOIN med_medication AS T4 ON T3.ID = T4.medication_def_id
AND T4.delete_flag = '0'
WHERE T1.delete_flag = '0'
AND T1.status_enum = #{requestStatus}
AND T2.status_enum = #{dispenseStatus}
AND T1.type_enum = #{typeStatus}
AND T1.item_table = #{medMedicationDefinition}) AS ii
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -131,4 +131,134 @@
${ew.customSqlSegment}
ORDER BY T10.supply_bus_no DESC
</select>
<select id="excelOutboundReportPage"
resultType="com.openhis.web.reportmanage.dto.OutboundReportPageDto">
select T10.supply_bus_no, --单据号
T10.name, --药品名称
T10.bus_no, --编码
T10.lot_number, --批号
T10.source_location_id, -- 源仓库ID(存放仓库)
T10.source_location_name, -- 源仓库(存放仓库)
T10.source_location_store_id, -- 源仓位ID
T10.source_location_store_name, -- 源仓位
T10.purpose_location_id, -- 目的仓库ID(领用科室)
T10.purpose_location_name, -- 目的仓库(领用科室)
T10.unit_code, --计量单位
T10.item_quantity, --数量
T10.purchase_price, --采购单价
T10.price, --领用单价
T10.total_price, --金额
T10.supplier_id, --供应商
T10.approver_id, --审核人
T10.approval_time, --审批时间
T10.occurrence_time, --制单日期
T10.remake, --出库原因
T10.tenant_id -- 租户ID
from (
select T1.bus_no as supply_bus_no, --单据号
T3.name, --药品名称
T3.bus_no, --编码
T1.lot_number, --批号
T1.source_location_id, -- 源仓库ID
T4.name AS source_location_name, -- 源仓库
T1.source_location_store_id, -- 源仓位ID
T5.name AS source_location_store_name, -- 源仓位
T1.purpose_location_id, -- 目的仓库ID
T8.name AS purpose_location_name, -- 目的仓库(领用科室)
T1.unit_code, --计量单位
T1.item_quantity, --数量
T7.amount as purchase_price, --采购单价
T1.price, --领用单价
T1.total_price, --金额
T1.supplier_id, --供应商
T1.approver_id, --审核人
T1.approval_time, --审批时间
T1.occurrence_time, --制单日期
T1.remake, --出库原因(备注)
T1.tenant_id -- 租户ID
from wor_supply_request as T1
inner join wor_supply_delivery as T2
on T1.id = T2.request_id
and T2.status_enum = #{deliveryStatus}
and T2.delete_flag = '0'
left join med_medication_definition as T3
on T1.item_id = T3.id
and T3.delete_flag = '0'
left join adm_location T4
on T1.source_location_id = T4.id
and T4.delete_flag = '0'
left join adm_location T5
on T1.source_location_store_id = T5.id
and T5.delete_flag = '0'
left join adm_charge_item_definition as T6
on T3.id = T6.instance_id
and T6.delete_flag = '0'
left join adm_charge_item_def_detail as T7
on T6.id = T7.definition_id
and T7.delete_flag = '0'
AND T7.condition_value = T1.lot_number
AND T7.condition_code = '1'--1:批号进价
left join adm_organization T8
on T1.purpose_location_id = T8.id
and T8.delete_flag = '0'
where T1.delete_flag = '0'
and T1.type_enum = #{issueInventory}
and T1.status_enum = #{supplyStatus}
and T1.item_table = #{medicationTableName}
union
select T1.bus_no as supply_bus_no, --单据号
T3.name, --药品名称
T3.bus_no, --编码
T1.lot_number, --批号
T1.source_location_id, -- 源仓库ID
T4.name AS source_location_name, -- 源仓库
T1.source_location_store_id, -- 源仓位ID
T5.name AS source_location_store_name, -- 源仓位
T1.purpose_location_id, -- 目的仓库ID
T8.name AS purpose_location_name, -- 目的仓库(领用科室)
T1.unit_code, --计量单位
T1.item_quantity, --数量
T7.amount as purchase_price, --采购单价
T1.price, --领用单价
T1.total_price, --金额
T1.supplier_id, --供应商
T1.approver_id, --审核人
T1.approval_time, --审批时间
T1.occurrence_time, --制单日期
T1.remake, --出库原因
T1.tenant_id -- 租户ID
from wor_supply_request as T1
inner join wor_supply_delivery as T2
on T1.id = T2.request_id
and T2.status_enum = #{deliveryStatus}
and T2.delete_flag = '0'
inner join adm_device_definition as T3
on T1.item_id = T3.id
and T3.delete_flag = '0'
left join adm_location T4
on T1.source_location_id = T4.id
and T4.delete_flag = '0'
left join adm_location T5
on T1.source_location_store_id = T5.id
and T5.delete_flag = '0'
left join adm_charge_item_definition as T6
on T3.id = T6.instance_id
and T6.delete_flag = '0'
left join adm_charge_item_def_detail as T7
on T6.id = T7.definition_id
and T7.delete_flag = '0'
AND T7.condition_value = T1.lot_number
AND T7.condition_code = '1'--1:批号进价
left join adm_organization T8
on T1.purpose_location_id = T8.id
and T8.delete_flag = '0'
where T1.delete_flag = '0'
and T1.type_enum = #{issueInventory}
and T1.status_enum = #{supplyStatus}
and T1.item_table = #{deviceTableName}
) as T10
${ew.customSqlSegment}
ORDER BY T10.supply_bus_no DESC
</select>
</mapper>

View File

@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.reportmanage.mapper.ReportMapper">
<!--患者明细报表-->
<select id="selectPatientDetailsPage"
resultType="com.openhis.web.reportmanage.dto.ReportPatientDetailsDto">
SELECT T6.tenant_id,
T6.encounter_bus_no,
T6.med_name,
T6.med_yb_no,
T6.category_code,
T6.dose_form_code,
T6.total_volume,
T6.package_unit,
T6.unit_code,
T6.is_selected,
T6.manufacturer_text,
T6.price,
T6.quantity,
T6.total_price
FROM (SELECT T1.tenant_id,
T2.bus_no AS encounter_bus_no,--门诊住院号
T4.name AS med_name,--药品通用名
T4.yb_no AS med_yb_no,--药品医保编码
T4.category_code AS category_code,--药品类别
T5.dose_form_code AS dose_form_code,--剂型
T5.total_volume AS total_volume,--规格
T4.unit_code AS package_unit,--包装
T1.quantity_unit AS unit_code,--计价单位
'' AS is_selected,--是否中选产品
T4.manufacturer_text AS manufacturer_text,--生产企业
T1.unit_price AS price,--单价(元)
T1.quantity_value AS quantity,--使用数量(片袋支)
T1.total_price AS total_price--使用总金额(元)
FROM adm_charge_item T1
LEFT JOIN adm_encounter T2 ON T1.encounter_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN med_medication_request T3 ON T1.service_id = T3.id
AND T3.delete_flag = '0'
LEFT JOIN med_medication_definition T4 ON T3.medication_id = T4.id
AND T4.delete_flag = '0'
LEFT JOIN med_medication T5 ON T4.id = T5.medication_def_id
AND T5.delete_flag = '0'
WHERE T1.service_table = #{medicationTableName}
AND T1.delete_flag = '0'
) AS T6
${ew.customSqlSegment}
</select>
<select id="selectMedicationInboundDetailsPage"
resultType="com.openhis.web.reportmanage.dto.ReportMedicationInboundDetailsDto">
SELECT T2.med_name AS product_name,
T2.unit_label,
T2.min_unit_label AS min_unit,
T2.item_quantity,
T2.total_quantity,
T2.part_percent
FROM (SELECT T1.bus_no,
T4.NAME AS med_name,
T1.item_quantity,
T1.total_quantity,
sdd.dict_label AS unit_label,
sdd1.dict_label AS min_unit_label,
T4.part_percent
FROM wor_supply_request AS T1
LEFT JOIN med_medication_definition T4 ON T1.item_id = T4.ID
AND T4.delete_flag = '0'
LEFT JOIN sys_dict_data sdd ON sdd.dict_value = T4.unit_code
AND sdd.dict_type = 'unit_code'
LEFT JOIN sys_dict_data sdd1 ON sdd1.dict_value = T4.min_unit_code
AND sdd1.dict_type = 'unit_code'
WHERE T1.type_enum IN (#{transferCode}, #{batchTransferCode})
AND T1.source_location_id = #{sourceLocationId}
AND T1.purpose_location_id = #{purposeLocationId}
AND T1.occurrence_time BETWEEN #{startTime} AND #{endTime}
GROUP BY T1.bus_no,
T4.NAME,
T1.item_quantity,
T1.total_quantity,
sdd.dict_label,
sdd1.dict_label,
T4.part_percent,
T4.unit_code,
T4.min_unit_code
ORDER BY T1.bus_no DESC) AS T2
</select>
<!--患者明细主表做成-->
<select id="selectPatientMasterDetailPage"
resultType="com.openhis.web.reportmanage.dto.ReportPatientMasterDetailDto">
SELECT T7.tenant_id,
T7.encounter_bus_no,
T7.patient_name,
T7.id_card,
T7.psn_no,--人员编码
T7.insu_plc_no,--参保地区编码
T7.yb_type,
T7.encounter_start_time,
T7.encounter_end_time,
T7.issue_time,--处方日期
T7.out_diagnose_name,--出院诊断
T7.fee_amount,
T7.inscp_scp_amt,--政策范围内
T7.tc_pay_amount--基本医保统筹支付金额(元)
FROM (SELECT T1.tenant_id,
T2.bus_no AS encounter_bus_no,
T3.name AS patient_name,
T3.id_card AS id_card,
'' AS psn_no,--人员编码
'' AS insu_plc_no,--参保地区编码
T5.contract_name AS yb_type,--参保类型
T2.start_time AS encounter_start_time,
T2.end_time AS encounter_end_time,
MAX(T6.issue_time ) AS issue_time,--处方日期
'' AS out_diagnose_name,--出院诊断
SUM(T1.total_price) AS fee_amount,--总费用(元)
NULL AS inscp_scp_amt,--政策范围内
NULL AS tc_pay_amount--基本医保统筹支付金额(元)
FROM adm_charge_item T1
LEFT JOIN adm_encounter T2 ON T1.encounter_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN adm_patient T3 ON T1.patient_id = T3.id
AND T3.delete_flag = '0'
LEFT JOIN adm_account T4 ON T1.encounter_id = T4.encounter_id
AND T4.delete_flag = '0'
LEFT JOIN fin_contract T5 ON T4.contract_no = T5.bus_no
AND T5.delete_flag = '0'
LEFT JOIN elep_medication_request T6 ON T1.prescription_no = T6.prescription_no
AND T6.delete_flag = '0'
WHERE T2.class_enum = #{encounterClass}--住院
AND T1.delete_flag = '0'
GROUP BY
T1.tenant_id,
T2.bus_no,
T3.name,
T3.id_card,
T2.start_time,
T2.end_time,
T5.contract_name
) AS T7
${ew.customSqlSegment}
</select>
<select id="selectMedicationUsagePage"
resultType="com.openhis.web.reportmanage.dto.ReportMedicationUsageDto">
SELECT
mmde.yb_no AS national_drugCode,
md.medication_def_id AS bus_no,
mmde.name AS item_name,
SUM(aci.total_price) AS total_sales_price,
SUM(CASE
WHEN mmdi.unit_code = mmde.min_unit_code THEN mmdi.dispense_quantity
WHEN mmdi.unit_code = mmde.unit_code THEN mmdi.dispense_quantity * mmde.part_percent
ELSE 0
END) AS package_sales_quantity,
SUM(CASE
WHEN mmdi.unit_code = mmde.unit_code THEN mmdi.dispense_quantity
WHEN mmdi.unit_code = mmde.min_unit_code THEN mmdi.dispense_quantity / mmde.part_percent
ELSE 0
END) AS dosage_sales_quantity,
mmde.min_unit_code AS unit_code,
md.tenant_id
FROM med_medication md
INNER JOIN med_medication_definition mmde
ON md.medication_def_id = mmde.id
AND mmde.delete_flag = '0'
INNER JOIN med_medication_dispense mmdi
ON md.medication_def_id = mmdi.medication_id
AND mmdi.status_enum = #{dispenseStatus}
AND mmdi.delete_flag = '0'
LEFT JOIN adm_charge_item aci
ON mmdi.encounter_id = aci.encounter_id
AND product_table = 'med_medication_definition'
AND aci.delete_flag = '0'
WHERE
md.delete_flag = '0'
<if test="searchKey != null">
AND mmde.name LIKE CONCAT('%', #{searchKey}, '%')
</if>
<if test="startTime != null">
AND mmdi.dispense_time >= CAST(#{startTime} AS timestamp with time zone)
</if>
<if test="endTime != null">
AND mmdi.dispense_time &gt;= CAST(#{endTime} AS timestamp with time zone)
</if>
GROUP BY
mmde.yb_no,
md.medication_def_id,
mmde.name,
mmde.min_unit_code,
md.tenant_id
</select>
</mapper>

View File

@@ -4,52 +4,52 @@
<select id="selectStocktakingReportPage"
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
SELECT T9.id, --ID
T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
SELECT T9.id, --ID
T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
T9.supply_bus_no,--单据号
T9.purpose_location_id,-- 目的仓库id
T9.price,--采购单价
T9.location_store_name,--仓库货位
T9.total_price,--报损金额
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T1.id, --ID
T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T9.profit_loss_price,
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T1.id, --ID
T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
T4.name AS location_store_name,--仓库货位
T1.profit_loss_price,
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN med_medication_definition AS T2
ON T1.item_id = T2.id
AND T2.delete_flag = '0'
ON T1.item_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN med_medication AS T3
ON T2.id = T3.medication_def_id
AND T3.delete_flag = '0'
@@ -67,33 +67,33 @@
AND T1.item_table = #{medicationTableName}
AND T1.delete_flag = '0'
UNION
SELECT T1.id, --ID
T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
SELECT T1.id, --ID
T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
T4.name AS location_store_name,--仓库货位
T1.profit_loss_price,
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN adm_device_definition AS T6
ON T1.item_id = T6.id
AND T6.delete_flag = '0'
ON T1.item_id = T6.id
AND T6.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.purpose_location_id = T5.id
AND T5.delete_flag = '0'
@@ -113,44 +113,44 @@
<select id="selectAutoStocktakingReportPage"
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
SELECT T9.id, --ID
T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
SELECT T9.id, --ID
T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
T9.supply_bus_no,--单据号
T9.purpose_location_id,-- 目的仓库id
T9.price,--采购单价
T9.location_store_name,--仓库货位
T9.total_price,--报损金额
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T1.id, --ID
T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T1.id, --ID
T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_aut_supply_request AS T1
LEFT JOIN med_medication_definition AS T2
ON T1.item_id = T2.id
@@ -173,25 +173,25 @@
AND T1.delete_flag = '0'
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') = #{time}
UNION
SELECT T1.id, --ID
T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
SELECT T1.id, --ID
T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T4.name AS location_store_name,--仓库货位
T1.total_price,--报损金额
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_aut_supply_request AS T1
LEFT JOIN adm_device_definition AS T6
ON T1.item_id = T6.id
@@ -212,4 +212,113 @@
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') = #{time}) AS T9
ORDER BY T9.supply_bus_no DESC
</select>
<select id="excelStocktakingReportPage"
resultType="com.openhis.web.reportmanage.dto.StocktakingReportPageDto">
SELECT T9.id, --ID
T9.bus_no, --编码
T9.name, --名称
T9.total_volume, --规格
T9.manufacturer_text, --厂家
T9.lot_number, --产品批号
T9.location_name, --目的仓库
T9.unit_code, --小单位
T9.item_quantity, --数量
T9.approval_time, --审批时间
T9.supply_bus_no,--单据号
T9.purpose_location_id,-- 目的仓库id
T9.price,--采购单价
T9.location_store_name,--仓库货位
T9.profit_loss_price,
T9.name AS supplier,--供应商
T9.approver_id, --审核人
T9.occurrence_time, --制单日期
T9.tenant_id -- 租户ID
FROM (SELECT T1.id, --ID
T2.bus_no, --编码
T2.name, --名称
T3.total_volume, --规格
T2.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.profit_loss_price,
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN med_medication_definition AS T2
ON T1.item_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN med_medication AS T3
ON T2.id = T3.medication_def_id
AND T3.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.purpose_location_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location AS T4
ON T4.id = T1.purpose_location_store_id
AND T4.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.type_enum in (#{stocktakingReport}, #{stocktakingBatchReport})
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{medicationTableName}
AND T1.delete_flag = '0'
UNION
SELECT T1.id, --ID
T6.bus_no, --编码
T6.name, --名称
T6.size AS total_volume, --规格(器材规格)
T6.manufacturer_text, --厂家
T1.lot_number, --产品批号
T5.name AS location_name, --目的仓库
T1.unit_code, --小单位
T1.item_quantity, --盈亏数量
T1.approval_time, --审批时间
T1.bus_no AS supply_bus_no,--单据号
T1.purpose_location_id,-- 目的仓库id
T1.price,--采购单价
T4.name AS location_store_name,--仓库货位
T1.profit_loss_price,
T9.name AS supplier,--供应商
T1.approver_id, --审核人
T1.occurrence_time, --制单日期
T1.tenant_id -- 租户ID
FROM wor_supply_request AS T1
INNER JOIN wor_supply_delivery AS T8
ON T8.request_id = T1.id
AND T8.status_enum = #{deliveryStatus}
AND T8.delete_flag = '0'
LEFT JOIN adm_device_definition AS T6
ON T1.item_id = T6.id
AND T6.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.purpose_location_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location AS T4
ON T4.id = T1.purpose_location_store_id
AND T4.delete_flag = '0'
LEFT JOIN adm_supplier AS T9
ON T9.id = T1.supplier_id
AND T9.delete_flag = '0'
WHERE T1.type_enum in (#{stocktakingReport}, #{stocktakingBatchReport})
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{deviceTableName}
AND T1.delete_flag = '0') AS T9
${ew.customSqlSegment}
ORDER BY T9.supply_bus_no DESC
</select>
</mapper>

View File

@@ -125,4 +125,128 @@
${ew.customSqlSegment}
ORDER BY T6.supply_bus_no DESC
</select>
<select id="excelTransferReportPage"
resultType="com.openhis.web.reportmanage.dto.TransferReportPageDto">
SELECT T6.id,
T6.supply_bus_no, -- 商品调拨单据号
T6.name, -- 药品名称
T6.status_enum, -- 状态
T6.lot_number, -- 产品批号
T6.source_location_id, -- 源仓库ID
T6.source_location_name, -- 源仓库
T6.source_location_store_id, -- 源仓位ID
T6.source_location_store_name, -- 源仓位
T6.purpose_location_id, -- 目的仓库ID
T6.purpose_location_name, -- 目的仓库
T6.purpose_location_store_id, -- 目的货位ID
T6.purpose_location_store_name, -- 目的货位
T6.item_quantity, -- 调拨数量
T6.unit_code, -- 物品计量单位
T6.price, -- 采购单价
T6.total_price, -- 总价
T6.applicant_id, -- 申请人(制单人)
T6.approver_id, -- 审核人
T6.occurrence_time, -- 制单日期
T6.apply_time, -- 申请日期
T6.approval_time, -- 审批时间(调拨日期)
T6.tenant_id -- 租户ID
FROM (SELECT T1.id,
T1.bus_no AS supply_bus_no, -- 商品调拨单据号
T3.name, -- 药品名称
T1.status_enum, -- 状态
T1.lot_number, -- 产品批号
T1.source_location_id, -- 源仓库ID
T4.name AS source_location_name, -- 源仓库
T1.source_location_store_id, -- 源仓位ID
T5.name AS source_location_store_name, -- 源仓位
T1.purpose_location_id, -- 目的仓库ID
T9.name AS purpose_location_name, -- 目的仓库
T1.purpose_location_store_id, -- 目的货位ID
T10.name AS purpose_location_store_name, -- 目的货位
T1.item_quantity, -- 调拨数量
T1.unit_code, -- 物品计量单位
T1.price, -- 采购单价
T1.total_price, -- 总价
T1.applicant_id, -- 申请人(制单人)
T1.approver_id, -- 审核人
T1.occurrence_time, -- 制单日期
T1.apply_time, -- 申请日期
T1.approval_time, -- 审批时间(调拨日期)
T1.tenant_id -- 租户ID
FROM wor_supply_request T1
INNER JOIN wor_supply_delivery AS T2
ON T2.request_id = T1.id
AND T2.status_enum = #{deliveryStatus}
AND T2.delete_flag = '0'
LEFT JOIN med_medication_definition T3
ON T1.item_id = T3.id
AND T3.delete_flag = '0'
LEFT JOIN adm_location T4
ON T1.source_location_id = T4.id
AND T4.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.source_location_store_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location T9
ON T1.purpose_location_id = T9.id
AND T9.delete_flag = '0'
LEFT JOIN adm_location T10
ON T1.purpose_location_store_id = T10.id
AND T10.delete_flag = '0'
WHERE T1.type_enum in (#{transferReport}, #{transferBatchReport})
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{medicationTableName}
AND T1.delete_flag = '0'
UNION
SELECT T1.id,
T1.bus_no AS supply_bus_no, -- 商品调拨单据号
T7.name, -- 器材名称
T1.status_enum, -- 状态
T1.lot_number, -- 产品批号
T1.source_location_id, -- 源仓库ID
T4.name AS source_location_name, -- 源仓库
T1.source_location_store_id, -- 源仓位ID
T5.name AS source_location_store_name, -- 源仓位
T1.purpose_location_id, -- 目的仓库ID
T9.name AS purpose_location_name, -- 目的仓库
T1.purpose_location_store_id, -- 目的货位ID
T10.name AS purpose_location_store_name, -- 目的货位
T1.item_quantity, -- 调拨数量
T1.unit_code, -- 物品计量单位
T1.price, -- 采购单价
T1.total_price, -- 总价
T1.applicant_id, -- 申请人(制单人)
T1.approver_id, -- 审核人
T1.occurrence_time, -- 制单日期
T1.apply_time, -- 申请日期
T1.approval_time, -- 审批时间(调拨日期)
T1.tenant_id -- 租户ID
FROM wor_supply_request T1
INNER JOIN wor_supply_delivery AS T2
ON T2.request_id = T1.id
AND T2.status_enum = #{deliveryStatus}
AND T2.delete_flag = '0'
LEFT JOIN adm_device_definition T7
ON T1.item_id = T7.id
AND T7.delete_flag = '0'
LEFT JOIN adm_location T4
ON T1.source_location_id = T4.id
AND T4.delete_flag = '0'
LEFT JOIN adm_location T5
ON T1.source_location_store_id = T5.id
AND T5.delete_flag = '0'
LEFT JOIN adm_location T9
ON T1.purpose_location_id = T9.id
AND T9.delete_flag = '0'
LEFT JOIN adm_location T10
ON T1.purpose_location_store_id = T10.id
AND T10.delete_flag = '0'
WHERE T1.type_enum in (#{transferReport}, #{transferBatchReport})
AND T1.status_enum = #{supplyStatus}
AND T1.item_table = #{deviceTableName}
AND T1.delete_flag = '0') AS T6
${ew.customSqlSegment}
ORDER BY T6.supply_bus_no DESC
</select>
</mapper>