| | |
| | | <mapper namespace="org.sxkj.fw.detection.mapper.FwEffectEvalMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="fwEffectEvalResultMap" type="org.sxkj.fw.detection.entity.FwEffectEvalEntity"> |
| | | <resultMap id="fwEffectEvalResultMap" type="org.sxkj.fw.detection.vo.FwEffectEvalVO"> |
| | | <result column="id" property="id"/> |
| | | <result column="alarm_record_id" property="alarmRecordId"/> |
| | | <result column="device_id" property="deviceId"/> |
| | | <result column="device_sn" property="deviceSn"/> |
| | | <result column="device_name" property="deviceName"/> |
| | | <result column="device_model" property="deviceModel"/> |
| | | <result column="device_type" property="deviceType"/> |
| | | <result column="drone_name" property="droneName"/> |
| | | <result column="drone_type" property="droneType"/> |
| | | <result column="drone_device_code" property="droneDeviceCode"/> |
| | | <result column="find_time" property="findTime"/> |
| | | <result column="counter_effect" property="counterEffect"/> |
| | | <result column="deploy_longitude" property="deployLongitude"/> |
| | | <result column="deploy_latitude" property="deployLatitude"/> |
| | | <result column="cover_radius_m" property="coverRadiusM"/> |
| | | <result column="work_mode" property="workMode"/> |
| | | <result column="area_code" property="areaCode"/> |
| | | <result column="create_user" property="createUser"/> |
| | | <result column="create_dept" property="createDept"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_user" property="updateUser"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="status" property="status"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="selectFwEffectEvalPage" resultMap="fwEffectEvalResultMap"> |
| | | select * from ja_fw_effect_eval where is_deleted = 0 |
| | | select |
| | | ee.*, |
| | | string_agg(distinct ad.area_name, ',') as area_name, |
| | | string_agg(distinct ds.scene_name, ',') as scene_name |
| | | from ja_fw_effect_eval ee |
| | | left join ja_fw_area_divide ad on ee.device_id = ANY(string_to_array(ad.device_ids, ',')::bigint[]) and ad.is_deleted = 0 |
| | | left join ja_fw_defense_scene ds on ad.id = ANY(string_to_array(ds.area_divide_ids, ',')::bigint[]) and ds.is_deleted = 0 |
| | | <where> |
| | | ee.is_deleted = 0 |
| | | <if test="param2.deviceName != null and param2.deviceName != ''"> |
| | | and ee.device_name like concat('%', #{param2.deviceName}, '%') |
| | | </if> |
| | | <if test="param2.deviceType != null and param2.deviceType != ''"> |
| | | and ee.device_type = #{param2.deviceType} |
| | | </if> |
| | | <if test="param2.counterEffect != null and param2.counterEffect != ''"> |
| | | and ee.counter_effect = #{param2.counterEffect} |
| | | </if> |
| | | <if test="param2.deptList != null and param2.deptList.size > 0"> |
| | | and (ee.create_dept in |
| | | <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> |
| | | #{deptId} |
| | | </foreach> |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | | <if test="param2.currentDeptId != null and param2.currentDeptId != '' "> |
| | | or ee.device_id in ( |
| | | SELECT device_id FROM ja_fw_device_per_share |
| | | WHERE loan_to_dept_id = #{param2.currentDeptId} |
| | | AND is_deleted = 0 |
| | | ) |
| | | </if> |
| | | ) |
| | | </if> |
| | | group by ee.id -- 按主表主键分组 |
| | | </where> |
| | | </select> |
| | | |
| | | |