解决合并冲突

This commit is contained in:
2025-12-10 14:20:24 +08:00
parent e1385cb3e6
commit 18f6a845e6
804 changed files with 61881 additions and 13577 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>