qa-prevention-gwj/src/main/resources/mybatis/datasource/firemanager/FirePonitMapper.xml

285 lines
10 KiB
XML

<?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.zcloud.mapper.datasource.firemanager.FirePointMapper">
<sql id="baseFields">
,CREATOR
,CREATTIME
,OPERATOR
,OPERATTIME
</sql>
<insert id="savePointInfo" parameterType="page">
INSERT INTO bus_fire_point
(FIRE_POINT_ID,
FIRE_POINT_NAME,
FIRE_POINT_CODE,
FIRE_REGION_ID,
DEPARTMENT_ID,
QUALIFIED_PHOTOS_ID,
LONGITUDE,
LATITUDE,
USER_ID,
CORPINFO_ID,
CREATOR,
CREATTIME,
OPERATOR,
OPERATTIME)
VALUES (#{FIRE_POINT_ID},
#{FIRE_POINT_NAME},
#{FIRE_POINT_CODE},
#{FIRE_REGION_ID},
#{DEPARTMENT_ID},
#{QUALIFIED_PHOTOS_ID},
#{LONGITUDE},
#{LATITUDE},
#{USER_ID},
#{CORPINFO_ID},
#{CREATOR},
#{CREATTIME},
#{OPERATOR},
#{OPERATTIME})
</insert>
<!-- 定位 -->
<update id="savePosition" parameterType="pd">
update
bus_fire_point
set
LATITUDE = #{LATITUDE},
LONGITUDE = #{LONGITUDE}
where
FIRE_POINT_ID = #{FIRE_POINT_ID}
</update>
<update id="updFirePointById">
UPDATE bus_fire_point
SET `FIRE_POINT_NAME` = #{FIRE_POINT_NAME},
`FIRE_POINT_CODE` = #{FIRE_POINT_CODE},
`FIRE_REGION_ID` = #{FIRE_REGION_ID},
`QUALIFIED_PHOTOS_ID` = #{QUALIFIED_PHOTOS_ID},
`LONGITUDE` = #{LONGITUDE},
`LATITUDE` = #{LATITUDE},
`DEPARTMENT_ID` = #{DEPARTMENT_ID},
`USER_ID` = #{USER_ID},
`OPERATOR` = #{OPERATOR},
`OPERATTIME` = #{OPERATTIME}
WHERE `FIRE_POINT_ID` = #{FIRE_POINT_ID}
</update>
<update id="updPointDepAuserByRegId">
update bus_fire_point
SET DEPARTMENT_ID = #{DEPARTMENT_ID},
QUALIFIED_PHOTOS_ID = #{QUALIFIED_PHOTOS_ID},
USER_ID = null,
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME}
WHERE FIRE_REGION_ID = #{FIRE_REGION_ID}
and CORPINFO_ID = #{CORPINFO_ID}
</update>
<delete id="delFirePointByIds">
UPDATE bus_fire_point
SET ISDELETE = 1
WHERE FIRE_POINT_ID = #{FIRE_POINT_ID}
</delete>
<update id="deleteAll">
update bus_fire_point set
ISDELETE = 1,
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME}
where FIRE_POINT_ID in
<foreach collection="ArrayDATA_IDS" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<update id="removeQualifiedByQIds">
update bus_fire_point set
QUALIFIED_PHOTOS_ID = null,
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME}
where QUALIFIED_PHOTOS_ID in
<foreach collection="ArrayDATA_IDS" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<update id="batchEditFirePointUser">
update bus_fire_point set
USER_ID = #{USER_ID}
where
FIRE_POINT_ID in
<foreach collection="dataIds" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<update id="batchUpdPointDepAuserByRegId">
update bus_fire_point
SET DEPARTMENT_ID = #{DEPARTMENT_ID},
<if test="QUALIFIED_PHOTOS_ID != null and QUALIFIED_PHOTOS_ID != ''">
QUALIFIED_PHOTOS_ID = #{QUALIFIED_PHOTOS_ID},
</if>
USER_ID = null,
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME}
WHERE FIRE_REGION_ID in
<foreach collection="ArrayDATA_IDS" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
and CORPINFO_ID = #{CORPINFO_ID}
</if>
</update>
<select id="datalistPage" parameterType="page" resultType="pd">
SELECT
p.FIRE_POINT_ID,
p.FIRE_POINT_NAME,
p.FIRE_POINT_CODE,
p.DEPARTMENT_ID,
r.FIRE_REGION_ID,
CONCAT_WS( '--', p.LATITUDE, p.LONGITUDE ) LONGTITUDEANDLATITUDE,
p.QUALIFIED_PHOTOS_ID,
fqp.QUALIFIED_TYPE_NAME,
IFNULL( t.DEVICE_COUNT, 0 ) DEVICE_COUNT,
d.`NAME` AS DEPARTMENT_NAME,
p.USER_ID,
u.`NAME` AS USERNAME,
r.FIRE_REGION_NAME,
if(p.LATITUDE is null or p.LONGITUDE is null or p.LATITUDE = '' or p.LONGITUDE = '', '1', '0') AS ISPUNCTUATION
FROM
bus_fire_point AS p
LEFT JOIN bus_fire_qualified_photos fqp ON p.QUALIFIED_PHOTOS_ID = fqp.QUALIFIED_PHOTOS_ID
LEFT JOIN bus_fire_region AS r ON p.FIRE_REGION_ID = r.FIRE_REGION_ID
LEFT JOIN ( SELECT count( FIRE_DEVICE_ID ) DEVICE_COUNT, FIRE_POINT_ID FROM bus_fire_device WHERE ISDELETE = 0 GROUP BY FIRE_POINT_ID ) t ON t.FIRE_POINT_ID = p.FIRE_POINT_ID
LEFT JOIN sys_user AS u ON p.USER_ID = u.USER_ID
LEFT JOIN oa_department AS d ON p.DEPARTMENT_ID = d.DEPARTMENT_ID
WHERE
r.CORPINFO_ID = #{pd.CORPINFO_ID}
AND r.ISDELETE = 0
AND p.ISDELETE = 0
<if test="pd.FIRE_POINT_NAME != null and pd.FIRE_POINT_NAME !='' ">
AND p.FIRE_POINT_NAME like concat('%',#{pd.FIRE_POINT_NAME,jdbcType=VARCHAR},'%')
</if>
<if test="pd.FIRE_POINT_CODE != null and pd.FIRE_POINT_CODE !='' ">
AND p.FIRE_POINT_CODE like concat('%',#{pd.FIRE_POINT_CODE,jdbcType=VARCHAR},'%')
</if>
<if test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
AND p.DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
</if>
<if test="pd.FIRE_REGION_ID != null and pd.FIRE_REGION_ID != ''">
AND p.FIRE_REGION_ID = #{pd.FIRE_REGION_ID}
</if>
<if test="pd.IS_PUNCTUATION != null and pd.IS_PUNCTUATION != ''">
AND if(p.LATITUDE is null or p.LONGITUDE is null or p.LATITUDE = '' or p.LONGITUDE = '', '1', '0') = #{pd.IS_PUNCTUATION}
</if>
group by p.FIRE_POINT_ID
ORDER BY
p.OPERATTIME desc
</select>
<select id="findById" parameterType="page" resultType="com.zcloud.entity.PageData">
SELECT
p.FIRE_POINT_ID,
p.FIRE_POINT_NAME,
p.FIRE_POINT_CODE,
p.QUALIFIED_PHOTOS_ID,
p.LONGITUDE,
p.LATITUDE,
CONCAT_WS('--', p.LATITUDE,p.LONGITUDE) LONGTITUDEANDLATITUDE,
r.FIRE_REGION_ID,
d.`NAME` AS DEPARTMENT_NAME,
u.`NAME` AS USERNAME,
r.FIRE_REGION_NAME,
u.USER_ID,
p.DEPARTMENT_ID
FROM
bus_fire_point AS p
left JOIN bus_fire_region AS r ON p.FIRE_REGION_ID = r.FIRE_REGION_ID
LEFT JOIN sys_user AS u ON p.USER_ID = u.USER_ID
left JOIN oa_department AS d ON p.DEPARTMENT_ID = d.DEPARTMENT_ID
WHERE
r.ISDELETE = 0 AND p.ISDELETE = 0
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
AND r.CORPINFO_ID = #{CORPINFO_ID}
</if>
<if test="FIRE_POINT_ID != null and FIRE_POINT_ID != ''">
AND FIRE_POINT_ID = #{FIRE_POINT_ID}
</if>
</select>
<select id="getAllPointNameByRegion" parameterType="page" resultType="com.zcloud.entity.PageData">
SELECT p.FIRE_POINT_NAME,
p.FIRE_POINT_ID
FROM bus_fire_region AS r
RIGHT JOIN
bus_fire_point AS p
ON
r.FIRE_REGION_ID = p.FIRE_REGION_ID
WHERE r.ISDELETE = 0
AND p.ISDELETE = 0
AND r.FIRE_REGION_ID = #{FIRE_REGION_ID}
AND r.CORPINFO_ID = #{CORPINFO_ID}
order by p.OPERATTIME desc
</select>
<select id="trydelPoint" parameterType="pd" resultType="com.zcloud.entity.PageData">
SELECT COUNT(d.FIRE_DEVICE_ID) AS sum
FROM
bus_fire_point AS p
RIGHT JOIN
bus_fire_device AS d
ON
p.FIRE_POINT_ID = d.FIRE_POINT_ID
WHERE
d.ISDELETE = 0
AND
p.FIRE_POINT_ID = #{FIRE_POINT_ID}
</select>
<select id="getAllList" parameterType="pd" resultType="pd">
SELECT p.*
FROM bus_fire_point AS p
WHERE p.ISDELETE = 0
AND p.CORPINFO_ID = #{CORPINFO_ID}
order by p.OPERATTIME desc
</select>
<select id="getFirePointCheckPhotos" resultType="com.zcloud.entity.PageData">
SELECT
GROUP_CONCAT( img.FILEPATH SEPARATOR '@@' ) FILEPATHLIST,
u.`NAME` CREATOR_NAME,
cl.FIRE_CHECK_ID,
cl.FIRE_CHECK_STANDARD_NAME,
frp.EQUIPMENT_POINT_ID,
frp.FIRE_POINT_ID,
frp.FIRE_RECORD_ID,
frp.CREATTIME
FROM
`qa-gwj-prevention`.bus_fire_checklist cl
LEFT JOIN `qa-gwj-prevention`.bus_fire_record_point frp ON frp.fire_check_id = cl.fire_check_id
AND cl.ISDELETE = 0
LEFT JOIN `qa-gwj-prevention`.bus_imgfiles img ON frp.EQUIPMENT_POINT_ID = img.FOREIGN_KEY
LEFT JOIN `qa-gwj-prevention`.sys_user u on frp.CREATOR = u.USER_ID
WHERE
frp.ISDELETE = 0
AND frp.FIRE_POINT_ID = #{FIRE_POINT_ID}
AND frp.P_ISCHECKED = 0
GROUP BY
cl.FIRE_CHECK_ID
ORDER BY
frp.CREATTIME DESC
limit 1
</select>
<select id="findByIds" resultType="com.zcloud.entity.PageData">
SELECT p.*
FROM bus_fire_point AS p
WHERE p.ISDELETE = 0
AND p.FIRE_POINT_ID IN
<foreach collection="pointIds" item="item" open="(" separator="," close=")" index="index">
#{item}
</foreach>
</select>
</mapper>