版本更新

This commit is contained in:
Zhang.WH
2025-10-16 17:17:24 +08:00
parent d23a594a4b
commit f515bb8fbb
600 changed files with 7881 additions and 35954 deletions

View File

@@ -6,7 +6,7 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:postgresql://kocalhost:5432/openhis?currentSchema=public&characterEncoding=UTF-8&client_encoding=UTF-8
url: jdbc:postgresql://localhost:5432/openhis?currentSchema=public&characterEncoding=UTF-8&client_encoding=UTF-8
username: postgres
password: root
# 从库数据源

View File

@@ -54,7 +54,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: local # (天翼云)cloud 本地测试test 本地local 生产prod (农大) nd (长大) cd (师大)sd
active: local #本地local 生产prod (农大)
# 文件上传
servlet:
multipart:

View File

@@ -76,7 +76,8 @@
T1.end_time, -- 结束时间
T1.supplier_id, -- 供应商id
T9."name" AS supplier_name, -- 供应商名称
T2.part_percent --拆零比
T2.part_percent, --拆零比
T1.total_quantity AS old_quantity --报损前数量
FROM wor_supply_request T1
LEFT JOIN med_medication_definition T2
ON T1.item_id = T2.id
@@ -137,7 +138,8 @@
T1.end_time, -- 结束时间
T1.supplier_id, -- 供应商id
T9."name" AS supplier_name, -- 供应商名称
T7.part_percent --拆零比
T7.part_percent, --拆零比
T1.total_quantity AS old_quantity --报损前数量
FROM wor_supply_request T1
LEFT JOIN adm_device_definition T7
ON T1.item_id = T7.id

View File

@@ -235,6 +235,7 @@
AND T1.source_location_id = T9.location_id
AND T9.lot_number = T1.lot_number
AND T9.delete_flag = '0'
AND T9.inventory_status_enum != 3
LEFT JOIN adm_charge_item_definition AS T10
ON T10.instance_id = T9.item_id
AND T10.delete_flag = '0'
@@ -248,6 +249,7 @@
AND T1.purpose_location_id = T12.location_id
AND T12.lot_number = T1.lot_number
AND T12.delete_flag = '0'
AND T12.inventory_status_enum != 3
WHERE T1.bus_no = #{busNo}
AND T1.item_table = #{medicationTableName}
AND T1.delete_flag = '0'
@@ -305,6 +307,7 @@
AND T1.source_location_id = T9.location_id
AND T9.lot_number = T1.lot_number
AND T9.delete_flag = '0'
AND T9.inventory_status_enum != 3
LEFT JOIN adm_charge_item_definition AS T10
ON T10.instance_id = T9.item_id
AND T10.delete_flag = '0'
@@ -318,6 +321,7 @@
AND T1.purpose_location_id = T12.location_id
AND T12.lot_number = T1.lot_number
AND T12.delete_flag = '0'
AND T12.inventory_status_enum != 3
WHERE T1.bus_no = #{busNo}
AND T1.item_table = #{deviceTableName}
AND T1.delete_flag = '0'

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.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>

View File

@@ -140,4 +140,5 @@
AND T1.context_enum != #{register}
AND T1.delete_flag = '0'
</select>
</mapper>

View File

@@ -196,6 +196,7 @@
<select id="selectInventoryItemInfo" resultType="com.openhis.web.common.dto.LocationInventoryDto">
SELECT T1.item_id,
T1.item_table,
T1.location_id,
SUM(CASE WHEN T1.location_id = #{objLocationId} THEN T1.quantity ELSE 0 END) AS obj_quantity,
SUM(CASE WHEN T1.location_id = #{orgLocationId} THEN T1.quantity ELSE 0 END) AS org_quantity,
T1.unit_code,
@@ -272,6 +273,7 @@
</choose>
GROUP BY T1.item_id,
T1.item_table,
T1.location_id,
T1.unit_code,
T1.production_date,
T1.expiration_date,

View File

@@ -33,6 +33,7 @@
abi.dose,
abi.dose_unit_code,
abi.supplier,
abi.supplier_id,
abi.manufacturer,
abi.charge_item_definition_id,
abi.advice_table_name,
@@ -69,6 +70,7 @@
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,
@@ -134,6 +136,7 @@
'' 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,
@@ -194,6 +197,7 @@
'' 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,
@@ -486,6 +490,7 @@
WHERE T1.delete_flag = '0'
AND T1.based_on_table is null
AND T1.parent_id IS NULL
AND T1.refund_service_id IS NULL
<if test="historyFlag == '0'.toString()">
AND T1.encounter_id = #{encounterId}
</if>

View File

@@ -0,0 +1,74 @@
<?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.externalintegration.mapper.FoodborneAcquisitionAppMapper">
<select id="selectEncounterDiagnosisConditionNameList" resultType="String">
SELECT T3."name"
FROM adm_encounter_diagnosis T1
INNER JOIN cli_condition T2
ON T2.id = T1.condition_id
INNER JOIN cli_condition_definition T3
ON T3.id = T2.definition_id
WHERE T1.encounter_id = #{encounterId}
</select>
<select id="selectSimplediseaseAddNopwParam"
resultType="com.openhis.web.externalintegration.dto.FaSimplediseaseAddNopwParam">
SELECT to_char(COALESCE(T3.onset_datetime, T1.create_time), 'YYYY-MM-DD HH24:MI') AS diseaseDate
, to_char(T1.create_time, 'YYYY-MM-DD HH24:MI') AS diseaseTreattime
, T1.bus_no AS outPatientNumber
, T4."name" AS patientName
, CASE
WHEN T4.gender_enum = #{genderEnumMale} THEN '1'
WHEN T4.gender_enum = #{genderEnumFemale} THEN '0'
ELSE '1' END AS diseaseSex
, '' AS guarderName
, CASE
WHEN T1.first_enum = #{firstEnumFollowUp} THEN '1'
ELSE '0' END AS diseaseIsreexam
, CASE
WHEN T1.class_enum = #{encounterClassEnumImp} THEN '1'
ELSE '0' END AS diseaseIspaint
, CASE
WHEN T1.class_enum = #{encounterClassEnumImp} THEN T1.bus_no
ELSE '' END AS diseaseHospitalno
, T4.id_card AS identityCard
, to_char(T4.birth_date, 'YYYY-MM-DD') AS diseaseBirthday
, T4.phone AS phoneNumber
, T4.work_company AS workUnit
, to_char(T4.deceased_date, 'YYYY-MM-DD HH24:MI') AS deathDate
, T6."name" AS fillingDoctorName
, T4.address_province AS diseaseProvince
, T4.address_city AS diseaseCity
, T4.address_district AS diseaseDistrict
, T4.address AS diseaseAddress
, T4.prfs_enum AS diseaseOccupation
FROM adm_encounter T1
INNER JOIN (
SELECT condition_id
, encounter_id
FROM adm_encounter_diagnosis
WHERE encounter_id = #{encounterId}
AND delete_flag = '0'
AND maindise_flag = 1
ORDER BY id DESC LIMIT 1
) T2 ON T2.encounter_id = T1.id
INNER JOIN cli_condition T3
ON T3.id = T2.condition_id
INNER JOIN adm_patient T4
ON T4.id = T1.patient_id
LEFT JOIN (
SELECT practitioner_id
, encounter_id
FROM adm_encounter_participant
WHERE encounter_id = #{encounterId}
AND delete_flag = '0'
AND type_code = #{participantTypeAdmitter}
ORDER BY id DESC LIMIT 1
) T5 ON T5.encounter_id = T1.id
LEFT JOIN adm_practitioner T6
ON T6.id = T5.practitioner_id
WHERE T1.id = #{encounterId}
</select>
</mapper>

View File

@@ -136,13 +136,16 @@
ii.day_times,
ii.bus_no,
ii."patient_name" AS patient_name,
ii."bad_name" AS bad_name,
ii."bed_name" AS bed_name,
ii.gender_enum ,
ii.birth_date ,
ii.patient_id,
ii.contract_name ,
ii.condition_names,
ii.admitting_doctor_name AS admitting_doctor_name,
ii.balance_amount AS balance_amount
ii.balance_amount AS balance_amount,
ii.account_id AS account_id,
ii.performer_check_id
FROM (( SELECT T1.encounter_id,
T1.tenant_id,
#{medMedicationRequest} AS advice_table,
@@ -154,6 +157,7 @@
T1.skin_test_flag AS skin_test_flag,
T1.infusion_flag AS inject_flag,
T1.group_id AS group_id,
T1.performer_check_id,
T2."name" AS advice_name,
T2.id AS item_id,
T3.total_volume AS volume,
@@ -176,13 +180,15 @@
af.day_times,
ae.bus_no,
ap."name" AS patient_name,
al2."name" AS bad_name,
al2."name" AS bed_name,
ap.gender_enum ,
ap.birth_date ,
ap.id AS patient_id,
fc.contract_name ,
diagnosis.condition_names,
pra."name" AS admitting_doctor_name,
personal_account.balance_amount
personal_account.balance_amount,
personal_account.id AS account_id
FROM med_medication_request AS T1
LEFT JOIN med_medication_definition AS T2
ON T2.id = T1.medication_id
@@ -245,7 +251,8 @@
LEFT JOIN adm_practitioner pra
ON aep.practitioner_id = pra.id
AND pra.delete_flag = '0'
LEFT JOIN ( SELECT aa.encounter_id,
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) +
@@ -257,7 +264,8 @@
AND aa.delete_flag = '0'
WHERE aa.type_code = #{personalCashAccount}
AND aa.delete_flag = '0'
GROUP BY aa.encounter_id,
GROUP BY aa.id,
aa.encounter_id,
aa.balance_amount
) AS personal_account
ON personal_account.encounter_id = ae.id
@@ -281,6 +289,7 @@
NULL AS skin_test_flag,
NULL AS inject_flag,
NULL AS group_id,
T1.performer_check_id,
T2."name" AS advice_name,
T2.id AS item_id,
NULL AS volume,
@@ -303,13 +312,15 @@
af.day_times,
ae.bus_no,
ap."name" AS patient_name,
al2."name" AS bad_name,
al2."name" AS bed_name,
ap.gender_enum ,
ap.birth_date ,
ap.id AS patient_id,
fc.contract_name ,
diagnosis.condition_names,
pra."name" AS admitting_doctor_name,
personal_account.balance_amount
personal_account.balance_amount,
personal_account.id AS account_id
FROM wor_service_request AS T1
LEFT JOIN wor_activity_definition AS T2
ON T2.id = T1.activity_id
@@ -367,7 +378,8 @@
LEFT JOIN adm_practitioner pra
ON aep.practitioner_id = pra.id
AND pra.delete_flag = '0'
LEFT JOIN ( SELECT aa.encounter_id,
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) +
@@ -379,7 +391,8 @@
AND aa.delete_flag = '0'
WHERE aa.type_code = #{personalCashAccount}
AND aa.delete_flag = '0'
GROUP BY aa.encounter_id,
GROUP BY aa.id,
aa.encounter_id,
aa.balance_amount
) AS personal_account
ON personal_account.encounter_id = ae.id
@@ -395,5 +408,4 @@
) AS ii
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -4,5 +4,27 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.jlau.mapper.ReviewPrescriptionRecordsAppMapper">
<select id="getReviewPrescriptionRecords" resultType="com.openhis.web.jlau.dto.ReviewPrescriptionRecordsDto">
SELECT nrpr.ID AS review_id,
nrpr.encounter_id,
nrpr.prescription_no,
nrpr.med_request_ids,
nrpr.pass_flag,
nrpr.reason_text,
ap.NAME AS practitioner_name
FROM nd_review_prescription_records AS nrpr
LEFT JOIN adm_practitioner AS ap ON ap.ID = nrpr.practitioner_id
AND ap.delete_flag = '0'
WHERE nrpr.delete_flag = '0'
<if test="prescriptionNo != null and prescriptionNo != ''">
AND nrpr.prescription_no = #{prescriptionNo}
</if>
<if test="passFlag != null">
AND nrpr.pass_flag = #{passFlag}
</if>
<if test="encounterId != null">
AND nrpr.encounter_id = #{encounterId}
</if>
</select>
</mapper>

View File

@@ -56,6 +56,9 @@
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>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.web.pharmacymanage.mapper.InpatientMedicineSummaryDispenseMapper">
<select id="selectMedicationSummaryInfo" resultType="com.openhis.web.pharmacymanage.dto.InpatientMedicineSummaryDto">
<mapper namespace="com.openhis.web.pharmacymanage.mapper.SummaryDispenseMedicineMapper">
<select id="selectMedicationSummaryInfo" resultType="com.openhis.web.pharmacymanage.dto.MedicineSummaryDto">
SELECT ii.tenant_id,
ii.bus_no,--单据号
ii.request_id,--供应请求id

View File

@@ -0,0 +1,67 @@
<?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.DepartmentRevenueStatisticsMapper">
<!--门诊收入明细-->
<select id="selectPage"
resultType="com.openhis.web.reportmanage.dto.DepartmentRevenueStatisticsPageDto">
select A.medication_name,
A.bus_no,
A.yb_no,
A.total_volume,
A.unit_code,
A.dispense_quantity,
A.dispense_price,
A.category_code,
A.dispense_time,
A.tenant_id
from (
SELECT def."name" AS medication_name,
def.bus_no,
def.yb_no,
mm.total_volume,
mmd.unit_code,
SUM( mmd.dispense_quantity) AS dispense_quantity,
SUM( aci.total_price ) AS dispense_price,
def.category_code,
mmd.dispense_time,
mmd.tenant_id
FROM med_medication_dispense mmd
LEFT JOIN med_medication_request mmr
ON mmd.med_req_id = mmr.id
AND mmr.delete_flag = '0'
INNER JOIN adm_charge_item aci
ON aci.service_id = mmr.id
AND aci.delete_flag = '0'
LEFT JOIN med_medication_definition def
ON mmd.medication_id = def.id
AND def.delete_flag = '0'
LEFT JOIN med_medication mm
ON mm.medication_def_id = def.id
AND mm.delete_flag = '0'
LEFT JOIN med_medication_request mmrr
on mmr.id = mmrr.refund_medicine_id
AND mmrr.delete_flag = '0'
WHERE mmd.status_enum = #{disCompleted}
AND mmr.status_enum = #{reqCompleted}
AND mmr.refund_medicine_id IS NULL
AND mmrr.refund_medicine_id IS NULL
AND mmd.delete_flag = '0'
<if test="antibioticFlg == 1" >
AND def.antibiotic_flag = 1
</if>
<if test="antibioticFlg == 0" >
AND def.antibiotic_flag = 0
</if>
GROUP BY def."name",
def.bus_no,
def.yb_no,
mm.total_volume,
mmd.unit_code,
def.category_code,
mmd.dispense_time,
mmd.tenant_id
) AS A
${ew.customSqlSegment}
ORDER BY A.bus_no DESC
</select>
</mapper>

View File

@@ -0,0 +1,101 @@
<?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.ReportStatisticsMapper">
<!--月报明细-->
<select id="getStaffStat"
resultType="com.openhis.web.reportmanage.dto.DailyReportStatisticsPageDto$StaffStatDTO">
SELECT COUNT(DISTINCT T1.id) AS total_medical_staff,--卫生技术人员总数
SUM(CASE WHEN EXISTS (
SELECT 1 FROM adm_practitioner_role T2
WHERE T2.practitioner_id = T1.id
AND T2.role_code = #{doctor}
AND T2.delete_flag = '0'
) THEN 1 ELSE 0 END) AS total_practicing_doctor,--执业(助理)医师总数
-- AS tcm_practicing_doctor,-- 中医执业(助理)医师数
SUM(CASE WHEN EXISTS (
SELECT 1 FROM adm_practitioner_role T2
WHERE T2.practitioner_id = T1.id
AND T2.role_code = #{nurse}
AND T2.delete_flag = '0'
) THEN 1 ELSE 0 END) AS registered_nurse--注册护士数
FROM adm_practitioner T1
WHERE T1.delete_flag = '0'
AND T1.name != '超级管理员'
</select>
<select id="getBedStat"
resultType="com.openhis.web.reportmanage.dto.DailyReportStatisticsPageDto$BedStatDTO">
SELECT COUNT(DISTINCT T1.id) AS actual_bedCount --实有床位(单位:张)
-- AS total_open_bed_days,--实际开放总床日数
-- AS total_occupied_bed_days,--实际占用总床日数
-- AS discharged_bed_days --出院者占用总床日数
FROM adm_location T1
WHERE T1.form_enum = #{bed}
AND T1.delete_flag = '0'
</select>
<select id="getRevenueStat"
resultType="com.openhis.web.reportmanage.dto.DailyReportStatisticsPageDto$RevenueStatDTO">
SELECT
-- AS total_revenue,--总收入
-- AS total_medical_revenue,--医疗收入合计
-- AS total_outpatient_revenue,--门急诊收入合计
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{registrationFee} THEN T1.total_price ELSE 0 END) AS outpatient_registration_revenue,--挂号收入
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{diagnosticFee} THEN T1.total_price ELSE 0 END) AS outpatient_consultation_revenue,--诊察收入(门急诊)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{checkFee} THEN T1.total_price ELSE 0 END) AS outpatient_inspection_revenue,--检查收入(门急诊)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{diagnosticTestFee} THEN T1.total_price ELSE 0 END) AS outpatient_lab_test_revenue,--化验收入(门急诊)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{medicalExpenseFee} THEN T1.total_price ELSE 0 END) AS outpatient_treatment_revenue,--治疗收入(门急诊)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{operationFee} THEN T1.total_price ELSE 0 END) AS outpatient_surgery_revenue,--手术收入(门急诊)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{sanitaryMaterialsFee} THEN T1.total_price ELSE 0 END) AS outpatient_medical_material_revenue,--卫生材料收入(门急诊)
-- AS outpatient_total_drug_revenue,-- 药品收入合计
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{westMedicine} THEN T1.total_price ELSE 0 END) AS outpatient_total_western_drug_revenue,--西药收入合计
0 AS outpatient_vaccine_revenue,--疫苗收入(西药下)
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{chineseMedicineFee} THEN T1.total_price ELSE 0 END) AS outpatient_chinese_patent_drug_revenue,--中成药收入
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{chineseMedicineSlicesFee} THEN T1.total_price ELSE 0 END) AS outpatient_chinese_herb_revenue,--中药饮片收入
SUM(CASE WHEN T3.class_enum = #{amb} AND T2.yb_type = #{otherFee} THEN T1.total_price ELSE 0 END) AS other_outpatient_revenue,--其他门诊收入
-- AS total_inpatient_revenue,--住院收入合计
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{bedFee} THEN T1.total_price ELSE 0 END) AS inpatient_bed_revenue,--床位收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{diagnosticFee} THEN T1.total_price ELSE 0 END) AS inpatient_consultation_revenue,--诊察收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{checkFee} THEN T1.total_price ELSE 0 END) AS inpatient_inspection_revenue,--检查收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{diagnosticTestFee} THEN T1.total_price ELSE 0 END) AS inpatient_lab_test_revenue,--化验收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{medicalExpenseFee} THEN T1.total_price ELSE 0 END) AS inpatient_treatment_revenue,--治疗收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{operationFee} THEN T1.total_price ELSE 0 END) AS inpatient_surgery_revenue,--手术收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{nursingFee} THEN T1.total_price ELSE 0 END) AS inpatient_nursing_revenue,--护理收入(住院)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{sanitaryMaterialsFee} THEN T1.total_price ELSE 0 END) AS inpatient_medical_material_revenue,--卫生材料收入(住院)
-- AS inpatient_total_drug_revenue,--药品收入合计
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{westMedicine} THEN T1.total_price ELSE 0 END) AS inpatient_total_western_drug_revenue,--西药收入合计
0 AS inpatient_vaccine_revenue,--疫苗收入(西药下)
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{chineseMedicineFee} THEN T1.total_price ELSE 0 END) AS inpatient_chinese_patent_drug_revenue,--中成药收入
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{chineseMedicineSlicesFee} THEN T1.total_price ELSE 0 END) AS inpatient_chinese_herb_revenue,--中药饮片收入
SUM(CASE WHEN T3.class_enum = #{imp} AND T2.yb_type = #{otherFee} THEN T1.total_price ELSE 0 END) AS other_inpatient_revenue,--其他住院收入
0 AS settlement_difference--结算差额
FROM adm_charge_item T1
LEFT JOIN adm_charge_item_definition T2
ON T1.definition_id = T2.id
AND T2.delete_flag = '0'
LEFT JOIN adm_encounter T3
ON T1.encounter_id = T3.id
AND T3.delete_flag = '0'
WHERE T1.status_enum = #{billed}
AND TO_CHAR(T1.update_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T1.delete_flag = '0'
</select>
<select id="getTreatmentStat"
resultType="com.openhis.web.reportmanage.dto.DailyReportStatisticsPageDto$TreatmentStatDTO">
SELECT -- AS total_treatment_count,--总诊疗人次数
COUNT(DISTINCT T1.id) AS total_outpatient_emergency_count--门诊和急诊人次数合计
-- AS reserved_outpatient_count,--预约门诊人次数
-- AS online_reserved_outpatient_count,--网上预约门诊人次数
-- AS general_outpatient_count,--普通门诊人次数
-- AS tcm_treatment_count,--中医诊疗人次数
-- AS emergency_count,--急诊人次数
-- AS fever_clinic_count,--发热门诊人次数
-- AS internet_treatment_count,--互联网诊疗服务人次数
-- AS telemedicine_count,--远程医疗服务人次数
-- AS discharged_count--出院人次数
FROM adm_encounter T1
WHERE T1.class_enum = #{amb}
AND TO_CHAR(T1.reception_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
AND T1.delete_flag = '0'
</select>
</mapper>