代码修改 sql位置修改

This commit is contained in:
Zhuangxingyu
2025-02-24 15:23:41 +08:00
parent ced81f823e
commit 0ad32e695d

View File

@@ -0,0 +1,236 @@
<?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.ChargeItemDefSearchMapper">
<select id="getMedList" resultType="com.openhis.web.datadictionary.dto.ChargeItemDefPageDto">
SELECT
T5.id,
T5.charge_name,
T5.status_enum,
T5.description,
T5.effective_start,
T5.effective_end,
T5.instance_table,
T5.price,
T5.create_time,
T5.update_time,
T5.item_id,
T5.condition_rule_id,
T5.condition_lotnumber,
T5.condition_yb_code,
T5.priority,
T5.amount,
T5.item_no,
T5.py_str,
T5.wb_str,
T5.unit_code,
T5.category_code,
T5.total_volume,
T5.lot_number,
COUNT(1) OVER() AS TOTAL_COUNT
FROM (
SELECT
T1.id,
T1.charge_name,
T1.status_enum,
T1.description,
T1.effective_start,
T1.effective_end,
T1.instance_table,
T1.price,
T1.create_time,
T1.update_time,
T2.id AS item_id,
T2.condition_rule_id,
T2.condition_lotnumber,
T2.condition_yb_code,
T2.priority,
T2.amount,
T3.bus_no AS item_no,
T3.py_str,
T3.wb_str,
T3.unit_code,
T3.category_code,
T4.total_volume,
T4.lot_number
FROM
adm_charge_item_definition T1
LEFT JOIN adm_charge_item_def_app T2
ON T1.id = T2.definition_id
LEFT JOIN med_medication_definition T3
ON T1.instance_id = T3.id
LEFT JOIN med_medication T4
ON T3.id = T4.medication_def_id) T5
<where>
T5.instance_table = 'med_medication_definition'
<if test="itemDefSearchParam.getSearchKey() != null">
AND T5.charge_name LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.py_code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
</if>
<if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if>
<if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if>
</where>
ORDER BY T5.create_time DESC
<!-- 拼接页码 -->
<if test="skipCount != null and pageSize != null and pageSize > 0">
LIMIT #{pageSize} OFFSET #{skipCount}
</if>
</select>
<select id="getDevList" resultType="com.openhis.web.datadictionary.dto.ChargeItemDefPageDto">
SELECT
T5.id,
T5.charge_name,
T5.status_enum,
T5.description,
T5.effective_start,
T5.effective_end,
T5.instance_table,
T5.price,
T5.create_time,
T5.update_time,
T5.item_id,
T5.condition_rule_id,
T5.condition_lotnumber,
T5.condition_yb_code,
T5.priority,
T5.amount,
T5.item_no,
T5.py_code,
T5.wb_code,
T5.unit_code,
T5.category_code,
T5.lot_number,
COUNT(1) OVER() AS TOTAL_COUNT
FROM (
SELECT
T1.id,
T1.charge_name,
T1.status_enum,
T1.description,
T1.effective_start,
T1.effective_end,
T1.instance_table,
T1.price,
T1.create_time,
T1.update_time,
T2.id AS item_id,
T2.condition_rule_id,
T2.condition_lotnumber,
T2.condition_yb_code,
T2.priority,
T2.amount,
T3.code AS item_no,
T3.py_code,
T3.wb_code,
T3.unit_code AS unit_code,
T3.device_class AS category_code,
T4.lot_number
FROM
adm_charge_item_definition T1
LEFT JOIN adm_charge_item_def_app T2
ON T1.id = T2.definition_id
LEFT JOIN adm_device_definition T3
ON T1.instance_id = T3.id
LEFT JOIN adm_device T4
ON T3.id = T4.def_id) T5
<where>
T5.instance_table = 'adm_device_definition'
<if test="itemDefSearchParam.getSearchKey() != null">
AND T5.charge_name LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.py_code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
</if>
<if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if>
<if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if>
</where>
ORDER BY T5.create_time DESC
<!-- 拼接页码 -->
<if test="skipCount != null and pageSize != null and pageSize > 0">
LIMIT #{pageSize} OFFSET #{skipCount}
</if>
</select>
<select id="getActList" resultType="com.openhis.web.datadictionary.dto.ChargeItemDefPageDto">
SELECT
T5.id,
T5.charge_name,
T5.status_enum,
T5.description,
T5.effective_start,
T5.effective_end,
T5.instance_table,
T5.price,
T5.create_time,
T5.update_time,
T5.item_id,
T5.condition_rule_id,
T5.condition_lotnumber,
T5.condition_yb_code,
T5.priority,
T5.amount,
T5.item_no,
T5.py_code,
T5.wb_code,
T5.unit_code,
T5.category_code,
COUNT(1) OVER() AS TOTAL_COUNT
FROM (
SELECT
T1.id,
T1.charge_name,
T1.status_enum,
T1.description,
T1.effective_start,
T1.effective_end,
T1.instance_table,
T1.price,
T1.create_time,
T1.update_time,
T2.id AS item_id,
T2.condition_rule_id,
T2.condition_lotnumber,
T2.condition_yb_code,
T2.priority,
T2.amount,
T3.code AS item_no,
T3.py_code,
T3.wb_code,
T3.permitted_unit AS unit_code,
T3.type_enum AS category_code
FROM
adm_charge_item_definition T1
LEFT JOIN adm_charge_item_def_app T2
ON T1.id = T2.definition_id
LEFT JOIN wor_activity_definition T3
ON T1.instance_id = T3.id) T5
<where>
T5.instance_table = 'wor_activity_definition'
<if test="itemDefSearchParam.getSearchKey() != null">
AND T5.charge_name LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
OR T5.py_code LIKE CONCAT('%', #{itemDefSearchParam.searchKey}, '%')
</if>
<if test="itemDefSearchParam.getStatusEnum() != null">
AND T5.status_enum = #{itemDefSearchParam.statusEnum}
</if>
<if test="itemDefSearchParam.getChargeItem() != null">
AND T5.category_code = #{itemDefSearchParam.chargeItem}
</if>
</where>
ORDER BY T5.create_time DESC
<!-- 拼接页码 -->
<if test="skipCount != null and pageSize != null and pageSize > 0">
LIMIT #{pageSize} OFFSET #{skipCount}
</if>
</select>
</mapper>