后端最新版本同步

This commit is contained in:
Zhang.WH
2025-09-25 10:43:25 +08:00
parent 1276dc4adb
commit c8014404f1
355 changed files with 10070 additions and 5578 deletions

View File

@@ -1,7 +1,58 @@
<?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.common.mapper.CommonAppMapper">
<resultMap id="PrescriptionPrintInfoMap" type="com.openhis.web.common.dto.AdvicePrintInfoDto">
<id property="departmentName" column="department_name"/>
<result property="patientName" column="patient_name"/>
<result property="phone" column="phone"/>
<result property="encounterNo" column="encounter_no"/>
<result property="genderEnum" column="gender_enum"/>
<result property="age" column="age"/>
<result property="birthDate" column="birth_date"/>
<result property="reqTime" column="req_time"/>
<result property="contractName" column="contract_name"/>
<result property="conditionName" column="condition_name"/>
<result property="doctorName" column="doctor_name"/>
<result property="dispenseDoctorName" column="dispense_doctor_name"/>
<result property="preparerDoctorName" column="preparer_doctor_name"/>
<result property="chargeDoctorName" column="charge_doctor_name"/>
<result property="encounterYbClass" column="encounter_yb_class"/>
<collection property="adviceItemList" ofType="com.openhis.web.common.dto.AdviceItemPrintInfoDto">
<result property="quantity" column="quantity"/>
<result property="unitPrice" column="unit_price"/>
<result property="totalPrice" column="total_price"/>
<result property="itemName" column="item_name"/>
<result property="totalVolume" column="total_volume"/>
<result property="dose" column="dose"/>
<result property="rateCode" column="rate_code"/>
<result property="methodCode" column="method_code"/>
<result property="doseUnitCode" column="dose_unit_code"/>
<result property="unitCode" column="unit_code"/>
<result property="prescriptionNo" column="prescription_no"/>
<result property="groupId" column="group_id"/>
<result property="sortNumber" column="sort_number"/>
</collection>
</resultMap>
<resultMap id="TreatmentPrintInfoMap" type="com.openhis.web.common.dto.AdvicePrintInfoDto">
<id property="departmentName" column="department_name"/>
<result property="patientName" column="patient_name"/>
<result property="phone" column="phone"/>
<result property="encounterNo" column="encounter_no"/>
<result property="genderEnum" column="gender_enum"/>
<result property="age" column="age"/>
<result property="birthDate" column="birth_date"/>
<result property="reqTime" column="req_time"/>
<result property="contractName" column="contract_name"/>
<result property="doctorName" column="doctor_name"/>
<result property="encounterYbClass" column="encounter_yb_class"/>
<collection property="adviceItemList" ofType="com.openhis.web.common.dto.AdviceItemPrintInfoDto">
<result property="quantity" column="quantity"/>
<result property="unitPrice" column="unit_price"/>
<result property="totalPrice" column="total_price"/>
<result property="itemName" column="item_name"/>
<result property="unitCode" column="unit_code"/>
</collection>
</resultMap>
<select id="selectInventoryItemList" resultType="com.openhis.web.common.dto.InventoryItemDto">
SELECT ii.tenant_id,
ii.item_type,
@@ -263,4 +314,195 @@
AND delete_flag = '0'
ORDER BY create_time DESC LIMIT 1
</select>
<select id="getPractitionerList" resultType="com.openhis.web.common.dto.PractitionerInfoDto">
SELECT ap.ID AS practitioner_id,
ap.NAME AS practitioner_name,
ao.NAME AS organization_name
FROM adm_practitioner AS ap
LEFT JOIN adm_organization AS ao ON ap.org_id = ao.ID
AND ao.delete_flag = '0'
WHERE ap.delete_flag = '0'
<if test="searchKey != null and searchKey != ''">
AND (ap.py_str LIKE concat('%', #{searchKey}, '%') OR ap.NAME LIKE concat('%', #{searchKey}, '%'))
</if>
</select>
<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
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'
WHERE mmr.delete_flag = '0'
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
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'
WHERE wdr.delete_flag = '0'
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
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'
WHERE wsr.delete_flag = '0'
AND wsr.id IN
<foreach collection="requestIds" item="requestId" separator="," open="(" close=")">
#{requestId}
</foreach>
</select>
</mapper>