| | |
| | | |
| | | |
| | | <resultMap id="treeDeviceDto" type="map"> |
| | | <result property="largeCategory" column="large_category"/> |
| | | <collection property="children" resultMap="DeviceDto" javaType="List"/> |
| | | <result property="label" column="laboratory_name"/> |
| | | <result property="value" column="value" /> |
| | | <collection property="children" resultMap="storagePointMap" javaType="List"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="DeviceDto" type="map"> |
| | | <id property="id" column="id"/> |
| | | <result property="deviceName" column="device_name"/> |
| | | <resultMap id="storagePointMap" type="map"> |
| | | <result property="value" column="value"/> |
| | | <result property="label" column="storage_point"/> |
| | | <collection property="children" resultMap="deviceNameMap" javaType="List"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="deviceNameMap" type="map"> |
| | | <result property="value" column="id"/> |
| | | <result property="label" column="device_name"/> |
| | | </resultMap> |
| | | <select id="treeDevice" resultMap="treeDeviceDto"> |
| | | select id, |
| | | case when large_category is null || large_category ='' then '其他' |
| | | else large_category end as large_category, device_name |
| | | from device |
| | | select |
| | | d.id, |
| | | case when l.laboratory_name is null || l.laboratory_name ='' then '其他' else l.laboratory_name end as laboratory_name, |
| | | case when d.large_category is null || d.large_category ='' then '其他' else d.large_category end as storage_point, |
| | | d.device_name, |
| | | null as value |
| | | from device d |
| | | LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id |
| | | <where> |
| | | <if test="deviceName!=null and deviceName!=''"> |
| | | and device_name like concat('%',#{deviceName},'%') |
| | | </if> |
| | | </where> |
| | | order by l.laboratory_name desc, d.large_category desc |
| | | </select> |
| | | </mapper> |