<?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.map.MapKeyProjectMapper">


	<select id="findFormCount" parameterType="pd" resultType="pd">
		SELECT
			SUM( STATE_COUNT ) STATE_COUNT,
			SUM( VIDEOKG_COUNT ) VIDEO_COUNT,
			SUM( CHECK_COUNT ) CHECK_COUNT,
			SUM( HIDDEN_COUNT ) HIDDEN_COUNT,
			SUM( PUNISH_COUNT ) PUNISH_COUNT,
			SUM( AMOUT_SUM ) AMOUT_SUM
		FROM
		`qa-czks-regulatory`.vi_keyproj_count
		where 1=1
		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
			and CORPINFO_ID = #{CORPINFO_ID}
		</if>
		<if test="ids!= null and ids.size()>0">
			AND  CORPINFO_ID IN
			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
				#{item}
			</foreach>
		</if>
	</select>

	<select id="datalistPage" parameterType="pd" resultType="pd">
		SELECT
	  		v.OUTSOURCED_COUNT,
			v.CHECK_COUNT,
			v.HIDDEN_COUNT,
			c.CORP_NAME
		FROM
		`qa-czks-regulatory`.vi_keyproj_count v
		LEFT JOIN `qa-czks-prevention`.bus_corp_info c on v.CORPINFO_ID=c.CORPINFO_ID
		where 1=1
		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
			and v.CORPINFO_ID = #{pd.CORPINFO_ID}
		</if>
		<if test="pd.ids!= null and pd.ids.size()>0">
			AND  v.CORPINFO_ID IN
			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
				#{pd.ids[${index}]}
			</foreach>
		</if>
		order by v.CHECK_COUNT desc
	</select>

	<select id="getProjectLocation" parameterType="pd" resultType="pd">
		SELECT
		'PROJECT' TYPE,
		o.OUTSOURCED_ID id,
		o.WORK_LONGITUDE LONGITUDE,
		o.WORK_LATITUDE LATITUDE,
		u.CORPINFO_ID,
		o.OUTSOURCED_NAME as MAP_POINT_NAME
		FROM
		`qa-czks-regulatory`.bus_outsourced o
		LEFT JOIN `qa-czks-prevention`.vi_user_all u on o.CREATOR = u.USER_ID
		WHERE
		o.ISDELETE = '0'
		AND o.STATE = '1'
		AND o.WORK_LONGITUDE IS NOT NULL
		AND o.WORK_LONGITUDE != ''
		AND o.WORK_LATITUDE IS NOT NULL
		AND o.WORK_LATITUDE != ''
		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
			and u.CORPINFO_ID = #{CORPINFO_ID}
		</if>
		<if test="ids!= null and ids.size()>0">
			AND u.CORPINFO_ID IN
			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
				#{item}
			</foreach>
		</if>
	</select>


	<select id="getVideoLocation" parameterType="pd" resultType="pd">
		SELECT
		'camera' TYPE,
		v.VIDEOMANAGER_ID id,
		v.LONGITUDE,
		v.LATITUDE,
		u.CORPINFO_ID,
		v.VIDEONAME as MAP_POINT_NAME
		FROM
		`qa-czks-regulatory`.bus_videomanager v
		LEFT JOIN `qa-czks-regulatory`.bus_outsourced o on v.OUTSOURCED_ID = o.OUTSOURCED_ID
		LEFT JOIN `qa-czks-prevention`.vi_user_all u on o.CREATOR = u.USER_ID
		WHERE
		v.ISDELETE = '0'
		AND o.STATE = '1'
		AND o.ISDELETE = '0'
		AND v.LONGITUDE IS NOT NULL
		AND v.LONGITUDE != ''
		AND v.LATITUDE IS NOT NULL
		AND v.LATITUDE != ''
		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
			and u.CORPINFO_ID = #{CORPINFO_ID}
		</if>
		<if test="ids!= null and ids.size()>0">
			AND u.CORPINFO_ID IN
			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
				#{item}
			</foreach>
		</if>
	</select>


	<!-- 通过ID获取数据 -->
	<select id="getProjectById" parameterType="pd" resultType="pd">
	select
	f.*,
	(select GROUP_CONCAT(t.CORP_NAME) from `qa-czks-prevention`.BUS_CORP_INFO t where FIND_IN_SET(t.CORPINFO_ID, f.GROUP_UNIT)) as GROUP_UNIT_NAME,
	( SELECT GROUP_CONCAT( t.NAME ) FROM `qa-czks-prevention`.oa_department t WHERE FIND_IN_SET( t.DEPARTMENT_ID, f.INVOLVING_CORPS_DEPART_ID ) ) AS INVOLVING_CORPS_DEPART_NAME,
	( SELECT GROUP_CONCAT( t.NAME ) FROM `qa-czks-prevention`.vi_department_all t WHERE FIND_IN_SET( t.DEPARTMENT_ID, f.DEPARTMENT_ID ) ) AS DEPARTMENT_NAME,
	(select GROUP_CONCAT(t.NAME) from (
	SELECT
	CONCAT( CONCAT( c.CORP_NAME, '-' ), t.NAME ) NAME  ,t.DEPARTMENT_ID
	FROM
	`qa-czks-prevention`.OA_DEPARTMENT t
	LEFT JOIN `qa-czks-prevention`.bus_corp_info c ON c.CORPINFO_ID = t.CORPINFO_ID
	) t where FIND_IN_SET(t.DEPARTMENT_ID, f.JURISDICTION_UNIT)) as JURISDICTION_UNIT_NAME,
	(select GROUP_CONCAT(t.CORP_NAME) from `qa-czks-prevention`.BUS_CORP_INFO t where FIND_IN_SET(t.CORPINFO_ID, f.MANAGE_NAME)) as MANAGE_CORPS_NAME,
	-- isd.NAME DEPARTMENT_NAME,
	isdd.NAME MANAGER_DEPARTMENT_NAME,
	isu.NAME USER_NAME,
	pci.NAME Q_COMPETENT_DEPT_NAME,
	pcij.NAME Q_DEPARTMENT_NAME,
	pcijd.NAME Q_INVOLVING_CORPS_DEPART_NAME,
	b.UNITS_NAME as UNITS_ID,
	b.UNITS_NAME as UNITS_NAME,
	p.`NAME` as UNITS_PIC_NAME
	from
	`qa-czks-regulatory`.bus_outsourced f
	-- LEFT JOIN `qa-czks-regulatory`.SYS_DEPARTMENT isd ON isd.DEPARTMENT_ID = f.DEPARTMENT_ID
	LEFT JOIN `qa-czks-regulatory`.SYS_DEPARTMENT isdd ON isdd.DEPARTMENT_ID = f.MANAGER_DEPARTMENT_ID
	LEFT JOIN `qa-czks-regulatory`.SYS_USER isu ON isu.USER_ID = f.CONTRACT_PIC
	LEFT JOIN `qa-czks-prevention`.oa_department pci ON pci.DEPARTMENT_ID = f.COMPETENT_DEPT_ID
	LEFT JOIN `qa-czks-prevention`.oa_department pcij ON pcij.DEPARTMENT_ID = f.DEPARTMENT_ID
	LEFT JOIN `qa-czks-prevention`.oa_department pcijd ON pcijd.DEPARTMENT_ID = f.INVOLVING_CORPS_DEPART_ID
	left join `qa-czks-regulatory`.bus_units b using (UNITS_ID)
	left join  `qa-czks-regulatory`.bus_personnelmanagement p on p.PERSONNELMANAGEMENT_ID = f.UNITS_PIC
	where
	f.OUTSOURCED_ID = #{id}
	</select>

	<!-- 通过ID获取数据 -->
	<select id="getVideoById" parameterType="pd" resultType="pd">
		select
		f.OUTSOURCED_ID,
		f.VIDEONAME,
		f.VIDEOURL,
		f.OPDATE,
		f.OPUSER,
		f.ISDELETE,
		f.CODE,
		f.VIDEO_RESOURCES_ID,
		f.PLATFORMVIDEOMANAGEMENT_ID,
		f.VIDEOMANAGER_ID,
		f.LATITUDE,
		f.LONGITUDE,
		o.OUTSOURCED_NAME,
		c.CORP_NAME,
		pv.INDEXCODE
		from
		`qa-czks-regulatory`.BUS_VIDEOMANAGER f
		LEFT JOIN `qa-czks-regulatory`.bus_outsourced o on o.OUTSOURCED_ID = f.OUTSOURCED_ID
		LEFT JOIN `qa-czks-prevention`.vi_user_all u on o.CREATOR = u.USER_ID
		LEFT JOIN `qa-czks-prevention`.bus_corp_info c on u.CORPINFO_ID=c.CORPINFO_ID
		left join `qa-czks-regulatory`.bus_platformvideomanagement pv on pv.PLATFORMVIDEOMANAGEMENT_ID = f.PLATFORMVIDEOMANAGEMENT_ID
		where
		f.VIDEOMANAGER_ID = #{id}
	</select>
</mapper>