<?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.highriskwork.HotworkCfdMapper">

	<!--表名 -->
	<sql id="tableName">
		BUS_HOTWORK_CFD
	</sql>

	<!--数据字典表名 -->
	<sql id="dicTableName">
		SYS_DICTIONARIES
	</sql>

	<!-- 字段 -->
	<sql id="Field">
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		f.CONFIRM_CONTENT,
		f.AUDIT_CONTENT,
		f.APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		f.ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		f.SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		f.GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		f.LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		f.MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.HOTWORK_ID,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,
		f.ACCEPT_CONFESS_USER_SIGNER_PATH,
		f.ACCEPT_CONFESS_USER_SIGNER_TIME,
		f.ANALYZE_TIME
	</sql>

	<!-- 字段用于新增 -->
	<sql id="Field2">
		CORPINFO_ID,
		ISDELETE,
		CREATTIME,
		CREATOR,
		OPERATTIME,
		OPERATOR,
		CHECK_NO,
		WORK_CONTENT,
		WORK_START_DATE,
		WORK_END_DATE,
		CONFIRM_DEPARTMENT_ID,
		CONFIRM_USER_ID,
		CONFIRM_USER_SIGNER_PATH,
		CONFIRM_USER_SIGNER_TIME,
		AUDIT_DEPARTMENT_ID,
		AUDIT_USER_ID,
		AUDIT_USER_SIGNER_PATH,
		AUDIT_USER_SIGNER_TIME,
		APPROVE_DEPARTMENT_ID,
		APPROVE_USER_ID,
		APPROVE_USER_SIGNER_PATH,
		APPROVE_USER_SIGNER_TIME,
		APPLY_STATUS,
		CONFIRM_CONTENT,
		AUDIT_CONTENT,
		APPROVE_CONTENT,
		OTHER_PROTECTIVE_MEASURES,
		ACCEPT_DEPARTMENT_ID,
		ACCEPT_USER_ID,
		ACCEPT_USER_SIGNER_PATH,
		ACCEPT_USER_SIGNER_TIME,
		ACCEPT_CONTENT,
		APPLY_DEPARTMENT_ID,
		APPLY_USER_ID,
		WORK_PLACE,
		WORK_LEVEL,
		WORK_USER,
		WORK_LONGITUDE,
		WORK_LATITUDE,
		SPECIAL_WORK,
		RISK_IDENTIFICATION,
		WORK_MANAGER,
		ANALYZE_DEPARTMENT_ID,
		ANALYZE_USER_ID,
		GUARDIAN_DEPARTMENT_ID,
		GUARDIAN_USER_ID,
		GUARDIAN_USER_SIGNER_PATH,
		GUARDIAN_USER_SIGNER_TIME,
		GUARDIAN_CONTENT,
		LEADER_DEPARTMENT_ID,
		LEADER_USER_ID,
		LEADER_USER_SIGNER_PATH,
		LEADER_USER_SIGNER_TIME,
		LEADER_CONTENT,
		MONITOR_DEPARTMENT_ID,
		MONITOR_USER_ID,
		MONITOR_USER_SIGNER_PATH,
		MONITOR_USER_SIGNER_TIME,
		MONITOR_CONTENT,
		CONFESS_USER,
		EDUCATE_USER,
		ACCEPT_EDUCATE_USER,
		TRIAL_USER,
		WORK_FUNCTION,
		GUARDIAN_USER,
		HOTWORK_ID,
		CONFESS_DEPARTMENT_ID,
		CONFESS_USER_ID,
		CONFESS_USER_SIGNER_PATH,
		CONFESS_USER_SIGNER_TIME,
		ACCEPT_CONFESS_DEPARTMENT_ID,
		ACCEPT_CONFESS_USER_ID,
		ACCEPT_CONFESS_USER_SIGNER_PATH,
		ACCEPT_CONFESS_USER_SIGNER_TIME,
		ANALYZE_TIME
	</sql>

	<!-- 字段值 -->
	<sql id="FieldValue">
		#{CORPINFO_ID},
		#{ISDELETE},
		#{CREATTIME},
		#{CREATOR},
		#{OPERATTIME},
		#{OPERATOR},
		#{CHECK_NO},
		#{WORK_CONTENT},
		#{WORK_START_DATE},
		#{WORK_END_DATE},
		#{CONFIRM_DEPARTMENT_ID},
		#{CONFIRM_USER_ID},
		#{CONFIRM_USER_SIGNER_PATH},
		#{CONFIRM_USER_SIGNER_TIME},
		#{AUDIT_DEPARTMENT_ID},
		#{AUDIT_USER_ID},
		#{AUDIT_USER_SIGNER_PATH},
		#{AUDIT_USER_SIGNER_TIME},
		#{APPROVE_DEPARTMENT_ID},
		#{APPROVE_USER_ID},
		#{APPROVE_USER_SIGNER_PATH},
		#{APPROVE_USER_SIGNER_TIME},
		#{APPLY_STATUS},
		#{CONFIRM_CONTENT},
		#{AUDIT_CONTENT},
		#{APPROVE_CONTENT},
		#{OTHER_PROTECTIVE_MEASURES},
		#{ACCEPT_DEPARTMENT_ID},
		#{ACCEPT_USER_ID},
		#{ACCEPT_USER_SIGNER_PATH},
		#{ACCEPT_USER_SIGNER_TIME},
		#{ACCEPT_CONTENT},
		#{APPLY_DEPARTMENT_ID},
		#{APPLY_USER_ID},
		#{WORK_PLACE},
		#{WORK_LEVEL},
		#{WORK_USER},
		#{WORK_LONGITUDE},
		#{WORK_LATITUDE},
		#{SPECIAL_WORK},
		#{RISK_IDENTIFICATION},
		#{WORK_MANAGER},
		#{ANALYZE_DEPARTMENT_ID},
		#{ANALYZE_USER_ID},
		#{GUARDIAN_DEPARTMENT_ID},
		#{GUARDIAN_USER_ID},
		#{GUARDIAN_USER_SIGNER_PATH},
		#{GUARDIAN_USER_SIGNER_TIME},
		#{GUARDIAN_CONTENT},
		#{LEADER_DEPARTMENT_ID},
		#{LEADER_USER_ID},
		#{LEADER_USER_SIGNER_PATH},
		#{LEADER_USER_SIGNER_TIME},
		#{LEADER_CONTENT},
		#{MONITOR_DEPARTMENT_ID},
		#{MONITOR_USER_ID},
		#{MONITOR_USER_SIGNER_PATH},
		#{MONITOR_USER_SIGNER_TIME},
		#{MONITOR_CONTENT},
		#{CONFESS_USER},
		#{EDUCATE_USER},
		#{ACCEPT_EDUCATE_USER},
		#{TRIAL_USER},
		#{WORK_FUNCTION},
		#{GUARDIAN_USER},
		#{HOTWORK_ID},
		#{CONFESS_DEPARTMENT_ID},
		#{CONFESS_USER_ID},
		#{CONFESS_USER_SIGNER_PATH},
		#{CONFESS_USER_SIGNER_TIME},
		#{ACCEPT_CONFESS_DEPARTMENT_ID},
		#{ACCEPT_CONFESS_USER_ID},
		#{ACCEPT_CONFESS_USER_SIGNER_PATH},
		#{ACCEPT_CONFESS_USER_SIGNER_TIME},
		#{ANALYZE_TIME}
	</sql>

	<!-- 新增-->
	<insert id="save" parameterType="pd">
		insert into
	<include refid="tableName"></include>
		(
	<include refid="Field2"></include>
		) values (
	<include refid="FieldValue"></include>
		)
	</insert>

	<!-- 删除-->
	<delete id="delete" parameterType="pd">
		update
		<include refid="tableName"></include>
		set
			ISDELETE = '1'
		where
			HOTWORK_ID = #{HOTWORK_ID}
	</delete>
	<update id="edittime" parameterType="pd">
		update
		<include refid="tableName"></include>
		set
		ANALYZE_TIME = #{ANALYZE_TIME}
		where
		HOTWORK_ID = #{HOTWORK_ID}
	</update>
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set
			CORPINFO_ID = #{CORPINFO_ID},
			ISDELETE = #{ISDELETE},
			CREATTIME = #{CREATTIME},
			CREATOR = #{CREATOR},
			OPERATTIME = #{OPERATTIME},
			OPERATOR = #{OPERATOR},
			CHECK_NO = #{CHECK_NO},
			WORK_CONTENT = #{WORK_CONTENT},
			WORK_START_DATE = #{WORK_START_DATE},
			WORK_END_DATE = #{WORK_END_DATE},
			CONFIRM_DEPARTMENT_ID = #{CONFIRM_DEPARTMENT_ID},
			CONFIRM_USER_ID = #{CONFIRM_USER_ID},
			CONFIRM_USER_SIGNER_PATH = #{CONFIRM_USER_SIGNER_PATH},
			CONFIRM_USER_SIGNER_TIME = #{CONFIRM_USER_SIGNER_TIME},
			AUDIT_DEPARTMENT_ID = #{AUDIT_DEPARTMENT_ID},
			AUDIT_USER_ID = #{AUDIT_USER_ID},
			AUDIT_USER_SIGNER_PATH = #{AUDIT_USER_SIGNER_PATH},
			AUDIT_USER_SIGNER_TIME = #{AUDIT_USER_SIGNER_TIME},
			APPROVE_DEPARTMENT_ID = #{APPROVE_DEPARTMENT_ID},
			APPROVE_USER_ID = #{APPROVE_USER_ID},
			APPROVE_USER_SIGNER_PATH = #{APPROVE_USER_SIGNER_PATH},
			APPROVE_USER_SIGNER_TIME = #{APPROVE_USER_SIGNER_TIME},
			APPLY_STATUS = #{APPLY_STATUS},
			CONFIRM_CONTENT = #{CONFIRM_CONTENT},
			AUDIT_CONTENT = #{AUDIT_CONTENT},
			APPROVE_CONTENT = #{APPROVE_CONTENT},
			OTHER_PROTECTIVE_MEASURES = #{OTHER_PROTECTIVE_MEASURES},
			ACCEPT_DEPARTMENT_ID = #{ACCEPT_DEPARTMENT_ID},
			ACCEPT_USER_ID = #{ACCEPT_USER_ID},
			ACCEPT_USER_SIGNER_PATH = #{ACCEPT_USER_SIGNER_PATH},
			ACCEPT_USER_SIGNER_TIME = #{ACCEPT_USER_SIGNER_TIME},
			ACCEPT_CONTENT = #{ACCEPT_CONTENT},
			APPLY_DEPARTMENT_ID = #{APPLY_DEPARTMENT_ID},
			APPLY_USER_ID = #{APPLY_USER_ID},
			WORK_PLACE = #{WORK_PLACE},
			WORK_LEVEL = #{WORK_LEVEL},
			WORK_USER = #{WORK_USER},
			WORK_LONGITUDE = #{WORK_LONGITUDE},
			WORK_LATITUDE = #{WORK_LATITUDE},
			SPECIAL_WORK = #{SPECIAL_WORK},
			RISK_IDENTIFICATION = #{RISK_IDENTIFICATION},
			WORK_MANAGER = #{WORK_MANAGER},
			ANALYZE_DEPARTMENT_ID = #{ANALYZE_DEPARTMENT_ID},
			ANALYZE_USER_ID = #{ANALYZE_USER_ID},
			GUARDIAN_DEPARTMENT_ID = #{GUARDIAN_DEPARTMENT_ID},
			GUARDIAN_USER_ID = #{GUARDIAN_USER_ID},
			GUARDIAN_USER_SIGNER_PATH = #{GUARDIAN_USER_SIGNER_PATH},
			GUARDIAN_USER_SIGNER_TIME = #{GUARDIAN_USER_SIGNER_TIME},
			GUARDIAN_CONTENT = #{GUARDIAN_CONTENT},
			LEADER_DEPARTMENT_ID = #{LEADER_DEPARTMENT_ID},
			LEADER_USER_ID = #{LEADER_USER_ID},
			LEADER_USER_SIGNER_PATH = #{LEADER_USER_SIGNER_PATH},
			LEADER_USER_SIGNER_TIME = #{LEADER_USER_SIGNER_TIME},
			LEADER_CONTENT = #{LEADER_CONTENT},
			MONITOR_DEPARTMENT_ID = #{MONITOR_DEPARTMENT_ID},
			MONITOR_USER_ID = #{MONITOR_USER_ID},
			MONITOR_USER_SIGNER_PATH = #{MONITOR_USER_SIGNER_PATH},
			MONITOR_USER_SIGNER_TIME = #{MONITOR_USER_SIGNER_TIME},
			MONITOR_CONTENT = #{MONITOR_CONTENT},
			CONFESS_USER = #{CONFESS_USER},
			EDUCATE_USER = #{EDUCATE_USER},
			ACCEPT_EDUCATE_USER = #{ACCEPT_EDUCATE_USER},
			TRIAL_USER = #{TRIAL_USER},
			WORK_FUNCTION=#{WORK_FUNCTION},
			GUARDIAN_USER=#{GUARDIAN_USER},
			CONFESS_DEPARTMENT_ID = #{CONFESS_DEPARTMENT_ID},
			CONFESS_USER_ID = #{CONFESS_USER_ID},
			CONFESS_USER_SIGNER_PATH = #{CONFESS_USER_SIGNER_PATH},
			CONFESS_USER_SIGNER_TIME = #{CONFESS_USER_SIGNER_TIME},
			ACCEPT_CONFESS_DEPARTMENT_ID = #{ACCEPT_CONFESS_DEPARTMENT_ID},
			ACCEPT_CONFESS_USER_ID = #{ACCEPT_CONFESS_USER_ID},
			ACCEPT_CONFESS_USER_SIGNER_PATH = #{ACCEPT_CONFESS_USER_SIGNER_PATH},
			ACCEPT_CONFESS_USER_SIGNER_TIME = #{ACCEPT_CONFESS_USER_SIGNER_TIME},
			HOTWORK_ID = HOTWORK_ID
		where
			HOTWORK_ID = #{HOTWORK_ID}
	</update>

	<update id="cancel" parameterType="pd">
		update
		<include refid="tableName"></include>
		set
		APPLY_STATUS = #{APPLY_STATUS}
		where
		HOTWORK_ID = #{HOTWORK_ID}
	</update>
	<select id="checkno" parameterType="pd" resultType="pd">
		SELECT
			CONCAT_WS( " ", "动火作业", f.CHECK_NO ) AS CHECK_NO
			FROM
			<include refid="tableName"></include> f
			WHERE
			f.HOTWORK_ID = #{HOTWORK_ID}
			AND f.ISDELETE = '0'
	</select>
	<update id="editSpecialwork" parameterType = "pd">
		update
		bus_confinedspace f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork1" parameterType = "pd">
		update
		bus_blindboard f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork2" parameterType = "pd">
		update
		bus_electricity f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork3" parameterType = "pd">
		update
		bus_hoisting f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork4" parameterType = "pd">
		update
		bus_breakground f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork5" parameterType = "pd">
		update
		bus_cutroad f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork6" parameterType = "pd">
		update
		bus_highwork f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>
	<update id="editSpecialwork7" parameterType = "pd">
		update
		<!--bus_hotwork f-->
		bus_hotwork_cfd f
		set f.SPECIAL_WORK = REPLACE(f.SPECIAL_WORK,#{CHECK_NO},CONCAT(#{CHECK_NO},'(已作废)'))
		WHERE
		f.ISDELETE = '0'
		AND	f.APPLY_STATUS > 0
		AND	f.CORPINFO_ID = #{CORPINFO_ID}
		and ( FIND_IN_SET( #{CHECK_NO}, f.SPECIAL_WORK ) )
	</update>


	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		<!--(SELECT a.ANALYZE_TIME from bus_hotworkgas a where a.ISDELETE = '0'-->
		(SELECT a.ANALYZE_TIME from bus_hotworkgas_cfd a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = #{HOTWORK_ID}
		ORDER BY
		a.ANALYZE_TIME DESC LIMIT 1) as ANALYZE_TIME,
		IFNULL(f.CONFIRM_CONTENT,'无') as CONFIRM_CONTENT,
		IFNULL(f.AUDIT_CONTENT,'无') as AUDIT_CONTENT,
		IFNULL(f.APPROVE_CONTENT,'无') as APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		IFNULL(f.SPECIAL_WORK,'无') as SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		IFNULL(f.GUARDIAN_CONTENT,'无') as GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		IFNULL(f.LEADER_CONTENT,'无') as LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		IFNULL(f.MONITOR_CONTENT,'无') as MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,
		f.ACCEPT_CONFESS_USER_SIGNER_PATH,
		f.ACCEPT_CONFESS_USER_SIGNER_TIME,
		f.HOTWORK_ID,
		ad.NAME as APPLY_DEPARTMENT_NAME,
		au.NAME as APPLY_USER_NAME,

		cd.NAME as CONFIRM_DEPARTMENT_NAME,
		cu.NAME as CONFIRM_USER_NAME,

		gd.NAME as GUARDIAN_DEPARTMENT_NAME,
		gu.NAME as GUARDIAN_USER_NAME,

		ld.NAME as LEADER_DEPARTMENT_NAME,
		lu.NAME as LEADER_USER_NAME,

		aud.NAME as AUDIT_DEPARTMENT_NAME,
		auu.NAME as AUDIT_USER_NAME,

		apd.NAME as APPROVE_DEPARTMENT_NAME,
		apu.NAME as APPROVE_USER_NAME,

		md.NAME as MONITOR_DEPARTMENT_NAME,
		mu.NAME as MONITOR_USER_NAME,

		acd.NAME as ACCEPT_DEPARTMENT_NAME,
		acu.NAME as ACCEPT_USER_NAME,

		ac.NAME as CONFESS_DEPARTMENT_NAME,
		accu.NAME as CONFESS_USER_NAME,

		aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
		aacu.NAME as ACCEPT_CONFESS_USER_NAME,

		anad.NAME as ANALYZE_DEPARTMENT_NAME,
		anau.NAME as ANALYZE_USER_NAME
		from
		<include refid="tableName"></include> f
		left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
		left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID

		left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
		left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID

		left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
		left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID

		left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
		left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID

		left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
		left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID

		left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
		left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID

		left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
		left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID

		left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
		left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID

		left join OA_DEPARTMENT md on md.DEPARTMENT_ID = f.MONITOR_DEPARTMENT_ID
		left join SYS_USER mu on mu.USER_ID = f.MONITOR_USER_ID

		left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
		left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID

		left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
		left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID

		where
			f.HOTWORK_ID = #{HOTWORK_ID}
	</select>

	<!-- 列表 -->
	<select id="datalistPage" parameterType="page" resultType="pd">
		select
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		f.CONFIRM_CONTENT,
		f.AUDIT_CONTENT,
		f.APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		f.ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		f.SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		f.GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		f.LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		f.MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.HOTWORK_ID,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,

		<!--IFNULL((SELECT  replace(a.ANALYZE_TIME,'-','/') from bus_hotworkgas a where a.ISDELETE = '0'-->
		IFNULL((SELECT  replace(a.ANALYZE_TIME,'-','/') from bus_hotworkgas_cfd a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = f.HOTWORK_ID
		ORDER BY
		a.ANALYZE_TIME DESC LIMIT 1),'无') as ANALYZE_TIME,

		<!--(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER a where a.ISDELETE = '0'-->
		(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER_CFD a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = f.HOTWORK_ID
		ORDER BY
		a.ACCEPT_CONFESS_USER_SIGNER_TIME DESC LIMIT 1) as ACCEPT_CONFESS_USER_SIGNER_TIME,

		ad.NAME as APPLY_DEPARTMENT_NAME,
		getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
		au.NAME as APPLY_USER_NAME,

		cd.NAME as CONFIRM_DEPARTMENT_NAME,
		cu.NAME as CONFIRM_USER_NAME,

		gd.NAME as GUARDIAN_DEPARTMENT_NAME,
		gu.NAME as GUARDIAN_USER_NAME,

		ld.NAME as LEADER_DEPARTMENT_NAME,
		lu.NAME as LEADER_USER_NAME,

		aud.NAME as AUDIT_DEPARTMENT_NAME,
		auu.NAME as AUDIT_USER_NAME,

		apd.NAME as APPROVE_DEPARTMENT_NAME,
		apu.NAME as APPROVE_USER_NAME,

		md.NAME as MONITOR_DEPARTMENT_NAME,
		mu.NAME as MONITOR_USER_NAME,

		acd.NAME as ACCEPT_DEPARTMENT_NAME,
		acu.NAME as ACCEPT_USER_NAME,

		ac.NAME as CONFESS_DEPARTMENT_NAME,
		accu.NAME as CONFESS_USER_NAME,

		aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
		aacu.NAME as ACCEPT_CONFESS_USER_NAME,

		anad.NAME as ANALYZE_DEPARTMENT_NAME,
		anau.NAME as ANALYZE_USER_NAME
		from
		<include refid="tableName"></include> f
		left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
		left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID

		left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
		left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID

		left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
		left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID

		left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
		left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID

		left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
		left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID

		left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
		left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID

		left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
		left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID

		left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
		left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID

		left join OA_DEPARTMENT md on md.DEPARTMENT_ID = f.MONITOR_DEPARTMENT_ID
		left join SYS_USER mu on mu.USER_ID = f.MONITOR_USER_ID

		left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
		left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID

		left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
		left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID
		where f.ISDELETE = '0'
        <if test="pd.APPLY_STATUS != null and pd.APPLY_STATUS != ''">
            and f.APPLY_STATUS = #{pd.APPLY_STATUS}
        </if>
		<if test="pd.IS_GAS != null and pd.IS_GAS != ''">
			and f.APPLY_STATUS in ('1','2','4','5','6','0.9','2.5')
		</if>
        <if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
            and f.CORPINFO_ID = #{pd.CORPINFO_ID}
        </if>

        <if test="pd.CREATOR != null and pd.CREATOR != ''">
            and f.CREATOR = #{pd.CREATOR}
        </if>

        <if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
            and
            (
            f.CHECK_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
            )
        </if>

        <if test="pd.CONFIRM_USER_ID != null and pd.CONFIRM_USER_ID != ''">
            and f.CONFIRM_USER_ID = #{pd.CONFIRM_USER_ID}
        </if>

        <if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
            and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
        </if>

        <if test="pd.LEADER_USER_ID != null and pd.LEADER_USER_ID != ''">
            and f.LEADER_USER_ID = #{pd.LEADER_USER_ID}
        </if>

        <if test="pd.AUDIT_USER_ID != null and pd.AUDIT_USER_ID != ''">
            and f.AUDIT_USER_ID = #{pd.AUDIT_USER_ID}
        </if>
		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>
		<if test="pd.CONFESS_USER_ID != null and pd.CONFESS_USER_ID != ''">
			and f.CONFESS_USER_ID = #{pd.CONFESS_USER_ID}
		</if>
		<if test="pd.ACCEPT_CONFESS_USER_ID != null and pd.ACCEPT_CONFESS_USER_ID != ''">
			and f.ACCEPT_CONFESS_USER_ID = #{pd.ACCEPT_CONFESS_USER_ID}
		</if>
        <if test="pd.APPROVE_USER_ID != null and pd.APPROVE_USER_ID != ''">
            and f.APPROVE_USER_ID = #{pd.APPROVE_USER_ID}
        </if>

        <if test="pd.MONITOR_USER_ID != null and pd.MONITOR_USER_ID != ''">
            and f.MONITOR_USER_ID = #{pd.MONITOR_USER_ID}
        </if>

        <if test="pd.ACCEPT_USER_ID != null and pd.ACCEPT_USER_ID != ''">
            and f.ACCEPT_USER_ID = #{pd.ACCEPT_USER_ID}
        </if>

        <if test="pd.ANALYZE_USER_ID != null and pd.ANALYZE_USER_ID != ''">
            and f.ANALYZE_USER_ID = #{pd.ANALYZE_USER_ID}
        </if>
		<choose>
			<when test='pd.ISMAIN != null and pd.ISMAIN != "" and pd.ISMAIN == "1"'>
				<if test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
					and
					f.APPLY_DEPARTMENT_ID in
					<foreach item="item" index="index"
							 collection="pd.DEPT_IDS" open="(" separator="," close=")">
						'${item}'
					</foreach>
				</if>
			</when>
			<otherwise>
				<choose>
					<when test='pd.ISSUPERVISE != null and pd.ISSUPERVISE != "" and pd.ISSUPERVISE == "1"'>
						<choose>
							<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
								and
								f.APPLY_DEPARTMENT_ID in
								<foreach item="item" index="index"
										 collection="pd.DEPT_IDS" open="(" separator="," close=")">
									'${item}'
								</foreach>
							</when>
							<otherwise>
								and
								f.APPLY_DEPARTMENT_ID in (
								select
								SUB_DEPARTMENT_ID
								from
								oa_supervision_department osd
								where
								osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
								and osd.ISDELETE = '0'
								and osd.CORPINFO_ID  = #{pd.CORPINFO_ID}
								)
							</otherwise>
						</choose>
					</when>
					<when test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
						and f.APPLY_DEPARTMENT_ID=#{pd.DEPARTMENT_ID}
					</when>
					<otherwise>
					</otherwise>
				</choose>
			</otherwise>
		</choose>
		ORDER BY f.APPLY_STATUS,f.CREATTIME DESC
	</select>
	<select id="aqdatalistPage" parameterType="page" resultType="pd">
		select
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		f.CONFIRM_CONTENT,
		f.AUDIT_CONTENT,
		f.APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		f.ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		f.SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		f.GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		f.LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		f.MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.HOTWORK_ID,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,
		f.ANALYZE_TIME,
		(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER_CFD a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = f.HOTWORK_ID
		ORDER BY
		a.ACCEPT_CONFESS_USER_SIGNER_TIME DESC LIMIT 1) as ACCEPT_CONFESS_USER_SIGNER_TIME,
		ad.NAME as APPLY_DEPARTMENT_NAME,
		getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
		au.NAME as APPLY_USER_NAME,

		cd.NAME as CONFIRM_DEPARTMENT_NAME,
		cu.NAME as CONFIRM_USER_NAME,

		gd.NAME as GUARDIAN_DEPARTMENT_NAME,
		gu.NAME as GUARDIAN_USER_NAME,

		ld.NAME as LEADER_DEPARTMENT_NAME,
		lu.NAME as LEADER_USER_NAME,

		aud.NAME as AUDIT_DEPARTMENT_NAME,
		auu.NAME as AUDIT_USER_NAME,

		apd.NAME as APPROVE_DEPARTMENT_NAME,
		apu.NAME as APPROVE_USER_NAME,

		md.NAME as MONITOR_DEPARTMENT_NAME,
		mu.NAME as MONITOR_USER_NAME,

		acd.NAME as ACCEPT_DEPARTMENT_NAME,
		acu.NAME as ACCEPT_USER_NAME,

		ac.NAME as CONFESS_DEPARTMENT_NAME,
		accu.NAME as CONFESS_USER_NAME,

		aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
		aacu.NAME as ACCEPT_CONFESS_USER_NAME,

		anad.NAME as ANALYZE_DEPARTMENT_NAME,
		anau.NAME as ANALYZE_USER_NAME
		from
		<include refid="tableName"></include> f
		left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
		left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID

		left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
		left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID

		left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
		left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID

		left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
		left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID

		left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
		left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID

		left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
		left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID

		left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
		left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID

		left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
		left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID

		left join OA_DEPARTMENT md on md.DEPARTMENT_ID = f.MONITOR_DEPARTMENT_ID
		left join SYS_USER mu on mu.USER_ID = f.MONITOR_USER_ID

		left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
		left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID

		left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
		left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID
		where f.ISDELETE = '0'
		and f.APPLY_STATUS &lt; 8 and f.CONFESS_USER_SIGNER_TIME is null and f.APPLY_STATUS &gt; 0

		<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
		</if>

		<if test="pd.CREATOR != null and pd.CREATOR != ''">
			and f.CREATOR = #{pd.CREATOR}
		</if>

		<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
			and
			(
			f.CHECK_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
			)
		</if>

		<if test="pd.CONFIRM_USER_ID != null and pd.CONFIRM_USER_ID != ''">
			and f.CONFIRM_USER_ID = #{pd.CONFIRM_USER_ID}
		</if>

		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>

		<if test="pd.LEADER_USER_ID != null and pd.LEADER_USER_ID != ''">
			and f.LEADER_USER_ID = #{pd.LEADER_USER_ID}
		</if>

		<if test="pd.AUDIT_USER_ID != null and pd.AUDIT_USER_ID != ''">
			and f.AUDIT_USER_ID = #{pd.AUDIT_USER_ID}
		</if>
		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>
		<if test="pd.CONFESS_USER_ID != null and pd.CONFESS_USER_ID != ''">
			and f.CONFESS_USER_ID = #{pd.CONFESS_USER_ID}
		</if>
		<if test="pd.ACCEPT_CONFESS_USER_ID != null and pd.ACCEPT_CONFESS_USER_ID != ''">
			and f.ACCEPT_CONFESS_USER_ID = #{pd.ACCEPT_CONFESS_USER_ID}
		</if>
		<if test="pd.APPROVE_USER_ID != null and pd.APPROVE_USER_ID != ''">
			and f.APPROVE_USER_ID = #{pd.APPROVE_USER_ID}
		</if>

		<if test="pd.MONITOR_USER_ID != null and pd.MONITOR_USER_ID != ''">
			and f.MONITOR_USER_ID = #{pd.MONITOR_USER_ID}
		</if>

		<if test="pd.ACCEPT_USER_ID != null and pd.ACCEPT_USER_ID != ''">
			and f.ACCEPT_USER_ID = #{pd.ACCEPT_USER_ID}
		</if>

		<if test="pd.ANALYZE_USER_ID != null and pd.ANALYZE_USER_ID != ''">
			and f.ANALYZE_USER_ID = #{pd.ANALYZE_USER_ID}
		</if>
		<choose>
			<when test='pd.ISMAIN != null and pd.ISMAIN != "" and pd.ISMAIN == "1"'>
				<if test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
					and
					f.APPLY_DEPARTMENT_ID in
					<foreach item="item" index="index"
							 collection="pd.DEPT_IDS" open="(" separator="," close=")">
						'${item}'
					</foreach>
				</if>
			</when>
			<otherwise>
				<choose>
					<when test='pd.ISSUPERVISE != null and pd.ISSUPERVISE != "" and pd.ISSUPERVISE == "1"'>
						<choose>
							<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
								and
								f.APPLY_DEPARTMENT_ID in
								<foreach item="item" index="index"
										 collection="pd.DEPT_IDS" open="(" separator="," close=")">
									'${item}'
								</foreach>
							</when>
							<otherwise>
								and
								f.APPLY_DEPARTMENT_ID in (
								select
								SUB_DEPARTMENT_ID
								from
								oa_supervision_department osd
								where
								osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
								and osd.ISDELETE = '0'
								and osd.CORPINFO_ID  = #{pd.CORPINFO_ID}
								)
							</otherwise>
						</choose>
					</when>
					<when test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
						and f.APPLY_DEPARTMENT_ID=#{pd.DEPARTMENT_ID}
					</when>
					<otherwise>
					</otherwise>
				</choose>
			</otherwise>
		</choose>
		ORDER BY f.APPLY_STATUS,f.CREATTIME DESC
	</select>
	<select id="jhdatalistPage" parameterType="page" resultType="pd">
		select
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		f.CONFIRM_CONTENT,
		f.AUDIT_CONTENT,
		f.APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		f.ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		f.SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		f.GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		f.LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		f.MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.HOTWORK_ID,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,
		f.ANALYZE_TIME,

		<!--(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER a where a.ISDELETE = '0'-->
		(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER_CFD a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = f.HOTWORK_ID
		ORDER BY
		a.ACCEPT_CONFESS_USER_SIGNER_TIME DESC LIMIT 1) as ACCEPT_CONFESS_USER_SIGNER_TIME,
		ad.NAME as APPLY_DEPARTMENT_NAME,
		getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
		au.NAME as APPLY_USER_NAME,

		cd.NAME as CONFIRM_DEPARTMENT_NAME,
		cu.NAME as CONFIRM_USER_NAME,

		gd.NAME as GUARDIAN_DEPARTMENT_NAME,
		gu.NAME as GUARDIAN_USER_NAME,

		ld.NAME as LEADER_DEPARTMENT_NAME,
		lu.NAME as LEADER_USER_NAME,

		aud.NAME as AUDIT_DEPARTMENT_NAME,
		auu.NAME as AUDIT_USER_NAME,

		apd.NAME as APPROVE_DEPARTMENT_NAME,
		apu.NAME as APPROVE_USER_NAME,

		md.NAME as MONITOR_DEPARTMENT_NAME,
		mu.NAME as MONITOR_USER_NAME,

		acd.NAME as ACCEPT_DEPARTMENT_NAME,
		acu.NAME as ACCEPT_USER_NAME,

		ac.NAME as CONFESS_DEPARTMENT_NAME,
		accu.NAME as CONFESS_USER_NAME,

		aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
		aacu.NAME as ACCEPT_CONFESS_USER_NAME,

		anad.NAME as ANALYZE_DEPARTMENT_NAME,
		anau.NAME as ANALYZE_USER_NAME
		from
		<include refid="tableName"></include> f
		left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
		left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID

		left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
		left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID

		left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
		left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID

		left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
		left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID

		left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
		left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID

		left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
		left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID

		left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
		left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID

		left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
		left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID

		left join OA_DEPARTMENT md on md.DEPARTMENT_ID = f.MONITOR_DEPARTMENT_ID
		left join SYS_USER mu on mu.USER_ID = f.MONITOR_USER_ID

		left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
		left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID

		left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
		left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID
		where f.ISDELETE = '0'
		and f.APPLY_STATUS &lt; 8 and f.GUARDIAN_USER_SIGNER_TIME is null and f.APPLY_STATUS &gt; 0
		<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
		</if>

		<if test="pd.CREATOR != null and pd.CREATOR != ''">
			and f.CREATOR = #{pd.CREATOR}
		</if>

		<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
			and
			(
			f.CHECK_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
			)
		</if>

		<if test="pd.CONFIRM_USER_ID != null and pd.CONFIRM_USER_ID != ''">
			and f.CONFIRM_USER_ID = #{pd.CONFIRM_USER_ID}
		</if>

		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>

		<if test="pd.LEADER_USER_ID != null and pd.LEADER_USER_ID != ''">
			and f.LEADER_USER_ID = #{pd.LEADER_USER_ID}
		</if>

		<if test="pd.AUDIT_USER_ID != null and pd.AUDIT_USER_ID != ''">
			and f.AUDIT_USER_ID = #{pd.AUDIT_USER_ID}
		</if>
		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>
		<if test="pd.CONFESS_USER_ID != null and pd.CONFESS_USER_ID != ''">
			and f.CONFESS_USER_ID = #{pd.CONFESS_USER_ID}
		</if>
		<if test="pd.ACCEPT_CONFESS_USER_ID != null and pd.ACCEPT_CONFESS_USER_ID != ''">
			and f.ACCEPT_CONFESS_USER_ID = #{pd.ACCEPT_CONFESS_USER_ID}
		</if>
		<if test="pd.APPROVE_USER_ID != null and pd.APPROVE_USER_ID != ''">
			and f.APPROVE_USER_ID = #{pd.APPROVE_USER_ID}
		</if>

		<if test="pd.MONITOR_USER_ID != null and pd.MONITOR_USER_ID != ''">
			and f.MONITOR_USER_ID = #{pd.MONITOR_USER_ID}
		</if>

		<if test="pd.ACCEPT_USER_ID != null and pd.ACCEPT_USER_ID != ''">
			and f.ACCEPT_USER_ID = #{pd.ACCEPT_USER_ID}
		</if>

		<if test="pd.ANALYZE_USER_ID != null and pd.ANALYZE_USER_ID != ''">
			and f.ANALYZE_USER_ID = #{pd.ANALYZE_USER_ID}
		</if>
		<choose>
			<when test='pd.ISMAIN != null and pd.ISMAIN != "" and pd.ISMAIN == "1"'>
				<if test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
					and
					f.APPLY_DEPARTMENT_ID in
					<foreach item="item" index="index"
							 collection="pd.DEPT_IDS" open="(" separator="," close=")">
						'${item}'
					</foreach>
				</if>
			</when>
			<otherwise>
				<choose>
					<when test='pd.ISSUPERVISE != null and pd.ISSUPERVISE != "" and pd.ISSUPERVISE == "1"'>
						<choose>
							<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
								and
								f.APPLY_DEPARTMENT_ID in
								<foreach item="item" index="index"
										 collection="pd.DEPT_IDS" open="(" separator="," close=")">
									'${item}'
								</foreach>
							</when>
							<otherwise>
								and
								f.APPLY_DEPARTMENT_ID in (
								select
								SUB_DEPARTMENT_ID
								from
								oa_supervision_department osd
								where
								osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
								and osd.ISDELETE = '0'
								and osd.CORPINFO_ID  = #{pd.CORPINFO_ID}
								)
							</otherwise>
						</choose>
					</when>
					<when test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
						and f.APPLY_DEPARTMENT_ID=#{pd.DEPARTMENT_ID}
					</when>
					<otherwise>
					</otherwise>
				</choose>
			</otherwise>
		</choose>
		ORDER BY f.APPLY_STATUS,f.CREATTIME DESC
	</select>
	<select id="jsdatalistPage" parameterType="page" resultType="pd">
		select
		f.CORPINFO_ID,
		f.ISDELETE,
		f.CREATTIME,
		f.CREATOR,
		f.OPERATTIME,
		f.OPERATOR,
		f.CHECK_NO,
		f.WORK_CONTENT,
		f.WORK_START_DATE,
		f.WORK_END_DATE,
		f.CONFIRM_DEPARTMENT_ID,
		f.CONFIRM_USER_ID,
		f.CONFIRM_USER_SIGNER_PATH,
		f.CONFIRM_USER_SIGNER_TIME,
		f.AUDIT_DEPARTMENT_ID,
		f.AUDIT_USER_ID,
		f.AUDIT_USER_SIGNER_PATH,
		f.AUDIT_USER_SIGNER_TIME,
		f.APPROVE_DEPARTMENT_ID,
		f.APPROVE_USER_ID,
		f.APPROVE_USER_SIGNER_PATH,
		f.APPROVE_USER_SIGNER_TIME,
		f.APPLY_STATUS,
		f.CONFIRM_CONTENT,
		f.AUDIT_CONTENT,
		f.APPROVE_CONTENT,
		f.OTHER_PROTECTIVE_MEASURES,
		f.ACCEPT_DEPARTMENT_ID,
		f.ACCEPT_USER_ID,
		f.ACCEPT_USER_SIGNER_PATH,
		f.ACCEPT_USER_SIGNER_TIME,
		f.ACCEPT_CONTENT,
		f.APPLY_DEPARTMENT_ID,
		f.APPLY_USER_ID,
		f.WORK_PLACE,
		f.WORK_LEVEL,
		f.WORK_USER,
		f.WORK_LONGITUDE,
		f.WORK_LATITUDE,
		f.SPECIAL_WORK,
		f.RISK_IDENTIFICATION,
		f.WORK_MANAGER,
		f.ANALYZE_DEPARTMENT_ID,
		f.ANALYZE_USER_ID,
		f.GUARDIAN_DEPARTMENT_ID,
		f.GUARDIAN_USER_ID,
		f.GUARDIAN_USER_SIGNER_PATH,
		f.GUARDIAN_USER_SIGNER_TIME,
		f.GUARDIAN_CONTENT,
		f.LEADER_DEPARTMENT_ID,
		f.LEADER_USER_ID,
		f.LEADER_USER_SIGNER_PATH,
		f.LEADER_USER_SIGNER_TIME,
		f.LEADER_CONTENT,
		f.MONITOR_DEPARTMENT_ID,
		f.MONITOR_USER_ID,
		f.MONITOR_USER_SIGNER_PATH,
		f.MONITOR_USER_SIGNER_TIME,
		f.MONITOR_CONTENT,
		f.CONFESS_USER,
		f.EDUCATE_USER,
		f.ACCEPT_EDUCATE_USER,
		f.TRIAL_USER,
		f.WORK_FUNCTION,
		f.GUARDIAN_USER,
		f.HOTWORK_ID,
		f.CONFESS_DEPARTMENT_ID,
		f.CONFESS_USER_ID,
		f.CONFESS_USER_SIGNER_PATH,
		f.CONFESS_USER_SIGNER_TIME,
		f.ACCEPT_CONFESS_DEPARTMENT_ID,
		f.ACCEPT_CONFESS_USER_ID,
		f.ANALYZE_TIME,

		<!--(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER a where a.ISDELETE = '0'-->
		(SELECT a.ACCEPT_CONFESS_USER_SIGNER_TIME from BUS_HOTWORK_ACCEPTUSER_CFD a where a.ISDELETE = '0'
		AND a.HOTWORK_ID = f.HOTWORK_ID
		ORDER BY
		a.ACCEPT_CONFESS_USER_SIGNER_TIME DESC LIMIT 1) as ACCEPT_CONFESS_USER_SIGNER_TIME,
		ad.NAME as APPLY_DEPARTMENT_NAME,
		getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
		au.NAME as APPLY_USER_NAME,

		cd.NAME as CONFIRM_DEPARTMENT_NAME,
		cu.NAME as CONFIRM_USER_NAME,

		gd.NAME as GUARDIAN_DEPARTMENT_NAME,
		gu.NAME as GUARDIAN_USER_NAME,

		ld.NAME as LEADER_DEPARTMENT_NAME,
		lu.NAME as LEADER_USER_NAME,

		aud.NAME as AUDIT_DEPARTMENT_NAME,
		auu.NAME as AUDIT_USER_NAME,

		apd.NAME as APPROVE_DEPARTMENT_NAME,
		apu.NAME as APPROVE_USER_NAME,

		md.NAME as MONITOR_DEPARTMENT_NAME,
		mu.NAME as MONITOR_USER_NAME,

		acd.NAME as ACCEPT_DEPARTMENT_NAME,
		acu.NAME as ACCEPT_USER_NAME,

		ac.NAME as CONFESS_DEPARTMENT_NAME,
		accu.NAME as CONFESS_USER_NAME,

		aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
		aacu.NAME as ACCEPT_CONFESS_USER_NAME,

		anad.NAME as ANALYZE_DEPARTMENT_NAME,
		anau.NAME as ANALYZE_USER_NAME
		from
		<include refid="tableName"></include> f
		left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
		left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID

		left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
		left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID

		left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
		left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID

		left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
		left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID

		left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
		left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID

		left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
		left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID

		left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
		left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID

		left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
		left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID

		left join OA_DEPARTMENT md on md.DEPARTMENT_ID = f.MONITOR_DEPARTMENT_ID
		left join SYS_USER mu on mu.USER_ID = f.MONITOR_USER_ID

		left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
		left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID

		left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
		left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID
		where f.ISDELETE = '0'
		and f.APPLY_STATUS &lt; 8 and
		<!--not exists(select 1 from BUS_HOTWORK_ACCEPTUSER m where m.HOTWORK_ID = f.HOTWORK_ID and m.CORPINFO_ID = f.CORPINFO_ID and f.ACCEPT_CONFESS_USER_ID = m.ACCEPT_CONFESS_USER_ID)-->
		not exists(select 1 from BUS_HOTWORK_ACCEPTUSER_CFD m where m.HOTWORK_ID = f.HOTWORK_ID and m.CORPINFO_ID = f.CORPINFO_ID and f.ACCEPT_CONFESS_USER_ID = m.ACCEPT_CONFESS_USER_ID)

		and f.APPLY_STATUS &gt; 0

		<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
		</if>

		<if test="pd.CREATOR != null and pd.CREATOR != ''">
			and f.CREATOR = #{pd.CREATOR}
		</if>

		<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
			and
			(
			f.CHECK_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
			)
		</if>

		<if test="pd.CONFIRM_USER_ID != null and pd.CONFIRM_USER_ID != ''">
			and f.CONFIRM_USER_ID = #{pd.CONFIRM_USER_ID}
		</if>

		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>

		<if test="pd.LEADER_USER_ID != null and pd.LEADER_USER_ID != ''">
			and f.LEADER_USER_ID = #{pd.LEADER_USER_ID}
		</if>

		<if test="pd.AUDIT_USER_ID != null and pd.AUDIT_USER_ID != ''">
			and f.AUDIT_USER_ID = #{pd.AUDIT_USER_ID}
		</if>
		<if test="pd.GUARDIAN_USER_ID != null and pd.GUARDIAN_USER_ID != ''">
			and f.GUARDIAN_USER_ID = #{pd.GUARDIAN_USER_ID}
		</if>
		<if test="pd.CONFESS_USER_ID != null and pd.CONFESS_USER_ID != ''">
			and f.CONFESS_USER_ID = #{pd.CONFESS_USER_ID}
		</if>
		<if test="pd.ACCEPT_CONFESS_USER_ID != null and pd.ACCEPT_CONFESS_USER_ID != ''">
			and f.ACCEPT_CONFESS_USER_ID = #{pd.ACCEPT_CONFESS_USER_ID}
		</if>
		<if test="pd.APPROVE_USER_ID != null and pd.APPROVE_USER_ID != ''">
			and f.APPROVE_USER_ID = #{pd.APPROVE_USER_ID}
		</if>

		<if test="pd.MONITOR_USER_ID != null and pd.MONITOR_USER_ID != ''">
			and f.MONITOR_USER_ID = #{pd.MONITOR_USER_ID}
		</if>

		<if test="pd.ACCEPT_USER_ID != null and pd.ACCEPT_USER_ID != ''">
			and f.ACCEPT_USER_ID = #{pd.ACCEPT_USER_ID}
		</if>

		<if test="pd.ANALYZE_USER_ID != null and pd.ANALYZE_USER_ID != ''">
			and f.ANALYZE_USER_ID = #{pd.ANALYZE_USER_ID}
		</if>
		<choose>
			<when test='pd.ISMAIN != null and pd.ISMAIN != "" and pd.ISMAIN == "1"'>
				<if test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
					and
					f.APPLY_DEPARTMENT_ID in
					<foreach item="item" index="index"
							 collection="pd.DEPT_IDS" open="(" separator="," close=")">
						'${item}'
					</foreach>
				</if>
			</when>
			<otherwise>
				<choose>
					<when test='pd.ISSUPERVISE != null and pd.ISSUPERVISE != "" and pd.ISSUPERVISE == "1"'>
						<choose>
							<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
								and
								f.APPLY_DEPARTMENT_ID in
								<foreach item="item" index="index"
										 collection="pd.DEPT_IDS" open="(" separator="," close=")">
									'${item}'
								</foreach>
							</when>
							<otherwise>
								and
								f.APPLY_DEPARTMENT_ID in (
								select
								SUB_DEPARTMENT_ID
								from
								oa_supervision_department osd
								where
								osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
								and osd.ISDELETE = '0'
								and osd.CORPINFO_ID  = #{pd.CORPINFO_ID}
								)
							</otherwise>
						</choose>
					</when>
					<when test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
						and f.APPLY_DEPARTMENT_ID=#{pd.DEPARTMENT_ID}
					</when>
					<otherwise>
					</otherwise>
				</choose>
			</otherwise>
		</choose>
		ORDER BY f.APPLY_STATUS,f.CREATTIME DESC
	</select>

	<!-- 列表(全部) -->
	<select id="listAllMeasures" parameterType="pd" resultType="pd">
		select
		f.*
		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
			,eo.STATUS,eo.ANSWER1,eo.ANSWER2,eo.ANSWER3,eo.ANSWER4,eo.CONFIRM_NAME
		</if>
		from
		BUS_HOTWORK_MEASURES_CFD f
		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
			left join BUS_HOTWORKTOMEASURES_CFD eo on eo.BUS_HOTWORK_MEASURES_ID = f.BUS_HOTWORK_MEASURES_ID
		</if>
		<if test="showInfo == '1'">
			left join BUS_HOTWORKTOMEASURES_CFD eo on eo.BUS_HOTWORK_MEASURES_ID = f.BUS_HOTWORK_MEASURES_ID
		</if>
		where f.ISDELETE = '0'
		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
			and eo.HOTWORK_ID = #{HOTWORK_ID}
		</if>
		<if test="showInfo == '1'">
			and eo.HOTWORK_ID = #{HOTWORK_ID}
		</if>
		order by f.ORDER
	</select>

	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from
		<include refid="tableName"></include> f
	</select>

	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="String">
		update
		<include refid="tableName"></include>
		set
			ISDELETE = '1'
		where
			HOTWORK_ID in
		<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>

	<!-- 待办作业数 -->
	<select id="countCheck" parameterType="pd" resultType="pd">
		SELECT
		COUNT(CASE WHEN (f.APPLY_STATUS+0) &lt; 1 AND f.CREATOR = #{USER_ID} THEN f.HOTWORK_ID END) COUNTBACK,
		COUNT(CASE WHEN f.APPLY_STATUS = '1' AND f.CONFIRM_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTCONFIRM,
		COUNT(CASE WHEN f.APPLY_STATUS = '2' AND f.LEADER_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTLEADER,
		COUNT(CASE WHEN f.APPLY_STATUS = '4' AND f.AUDIT_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTAUDIT,
		COUNT(CASE WHEN f.APPLY_STATUS = '5' AND f.APPROVE_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTAPPROVE,
		COUNT(CASE WHEN f.APPLY_STATUS = '6' AND f.MONITOR_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTMONITOR,
		COUNT(CASE WHEN f.APPLY_STATUS = '7' AND f.ACCEPT_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTACCEPT,
		COUNT(CASE WHEN f.APPLY_STATUS &lt; '7' AND f.APPLY_STATUS &gt; 0  AND f.ANALYZE_USER_ID = #{USER_ID} THEN f.HOTWORK_ID END) COUNTANALYZE,
		COUNT(CASE WHEN f.APPLY_STATUS &lt; '8' AND f.APPLY_STATUS &gt; 0 AND f.GUARDIAN_USER_ID = #{USER_ID} and f.GUARDIAN_USER_SIGNER_TIME is null THEN f.HOTWORK_ID END) COUNTGUARDIAN,
		COUNT(CASE WHEN f.APPLY_STATUS &lt; '8' AND f.APPLY_STATUS &gt; 0 AND f.CONFESS_USER_ID = #{USER_ID} and f.CONFESS_USER_SIGNER_TIME is null THEN f.HOTWORK_ID END) COUNTCONFESS,
		COUNT(CASE WHEN f.APPLY_STATUS &lt; '8' AND f.APPLY_STATUS &gt; 0 AND f.ACCEPT_CONFESS_USER_ID = #{USER_ID} and not exists(select 1 from BUS_HOTWORK_ACCEPTUSER_CFD m where m.HOTWORK_ID = f.HOTWORK_ID and m.CORPINFO_ID = f.CORPINFO_ID and f.ACCEPT_CONFESS_USER_ID = m.ACCEPT_CONFESS_USER_ID)
		THEN f.HOTWORK_ID END) COUNTACCEPTCONFESS
		FROM <include refid="tableName"></include> f
		WHERE f.ISDELETE = '0' AND f.CORPINFO_ID = #{CORPINFO_ID}
	</select>

	<!-- 获取编码 -->
	<select id="getCode" parameterType="pd" resultType="pd">
		SELECT
		COUNT(1) as code
		FROM <include refid="tableName"></include> f
		WHERE f.CORPINFO_ID = #{CORPINFO_ID}
		and f.CREATTIME LIKE CONCAT(#{CREATDATE},'%')
	</select>

</mapper>