qa-prevention-gwj/src/main/resources/mybatis/datasource/highriskwork/HotWorkApplicationMapper.xml

607 lines
18 KiB
XML
Raw Normal View History

2024-02-06 11:02:25 +08:00
<?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.HotWorkApplicationMapper">
<!--表名 -->
<sql id="tableName">
BUS_HOTWORKAPPLICATION
</sql>
<!--数据字典表名 -->
<sql id="dicTableName">
SYS_DICTIONARIES
</sql>
<!-- 字段 -->
<sql id="Field">
f.APPLY_USER_ID,
f.JOB_NUMBER,
f.APPLICATION_DATE,
f.JOB_TYPE_INDEX,
f.HOT_WORK_POSITION,
f.HOT_WORK_LEVEL_INDEX,
f.HOT_WORK_METHOD_ID,
f.JOB_CONTENT,
f.HOT_WORK_TIME_START,
f.HOT_WORK_TIME_END,
f.CREATOR,
f.CREATTIME,
f.OPERATOR,
f.OPERATTIME,
f.STATE,
f.ISDELETE,
f.WORK_LONGITUDE,
f.WORK_LATITUDE,
f.CORPINFO_ID,
f.IS_SAFETY_DIRECTOR,
f.IS_GAS_TESTING,
f.SPARE,
f.HOTWORKAPPLICATION_ID
</sql>
<!-- 字段用于新增 -->
<sql id="Field2">
APPLY_USER_ID,
JOB_NUMBER,
APPLICATION_DATE,
JOB_TYPE_INDEX,
HOT_WORK_POSITION,
HOT_WORK_LEVEL_INDEX,
HOT_WORK_METHOD_ID,
JOB_CONTENT,
HOT_WORK_TIME_START,
HOT_WORK_TIME_END,
CREATOR,
CREATTIME,
OPERATOR,
OPERATTIME,
STATE,
ISDELETE,
WORK_LONGITUDE,
WORK_LATITUDE,
CORPINFO_ID,
IS_SAFETY_DIRECTOR,
IS_GAS_TESTING,
SPARE,
HOTWORKAPPLICATION_ID
</sql>
<!-- 字段值 -->
<sql id="FieldValue">
#{APPLY_USER_ID},
#{JOB_NUMBER},
#{APPLICATION_DATE},
#{JOB_TYPE_INDEX},
#{HOT_WORK_POSITION},
#{HOT_WORK_LEVEL_INDEX},
#{HOT_WORK_METHOD_ID},
#{JOB_CONTENT},
#{HOT_WORK_TIME_START},
#{HOT_WORK_TIME_END},
#{CREATOR},
#{CREATTIME},
#{OPERATOR},
#{OPERATTIME},
#{STATE},
#{ISDELETE},
#{WORK_LONGITUDE},
#{WORK_LATITUDE},
#{CORPINFO_ID},
#{IS_SAFETY_DIRECTOR},
#{IS_GAS_TESTING},
#{SPARE},
#{HOTWORKAPPLICATION_ID}
</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
HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</delete>
<!-- 修改 -->
<update id="edit" parameterType="pd">
update
<include refid="tableName"></include>
set
APPLY_USER_ID = #{APPLY_USER_ID},
JOB_NUMBER = #{JOB_NUMBER},
APPLICATION_DATE = #{APPLICATION_DATE},
JOB_TYPE_INDEX = #{JOB_TYPE_INDEX},
HOT_WORK_POSITION = #{HOT_WORK_POSITION},
HOT_WORK_LEVEL_INDEX = #{HOT_WORK_LEVEL_INDEX},
HOT_WORK_METHOD_ID = #{HOT_WORK_METHOD_ID},
JOB_CONTENT = #{JOB_CONTENT},
HOT_WORK_TIME_START = #{HOT_WORK_TIME_START},
HOT_WORK_TIME_END = #{HOT_WORK_TIME_END},
CREATOR = #{CREATOR},
CREATTIME = #{CREATTIME},
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME},
<if test="STATE != null and STATE != ''">
STATE = #{STATE},
</if>
HOTWORKAPPLICATION_ID = HOTWORKAPPLICATION_ID
where
HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</update>
<!-- 修改 -->
<update id="editState" parameterType="pd">
update
<include refid="tableName"></include>
set
STATE = #{STATE}
where
HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</update>
<!-- 通过ID获取数据 -->
<select id="findById" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>,
u.NAME CREATORNAME,
d.NAME DEPARTMENTNAME,
group_concat(p.NAME) HOT_WORK_METHOD_NAME
2024-02-06 11:02:25 +08:00
from
<include refid="tableName"></include> f
left join sys_user u on f.CREATOR = u.USER_ID
left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
LEFT JOIN sys_dictionaries p ON FIND_IN_SET(p.DICTIONARIES_ID,f.HOT_WORK_METHOD_ID)
2024-02-06 11:02:25 +08:00
where
f.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</select>
<!-- 列表 -->
<select id="datalistPage" parameterType="page" resultType="pd">
select
f.APPLY_USER_ID,
f.JOB_NUMBER,
f.APPLICATION_DATE,
f.JOB_TYPE_INDEX,
f.HOT_WORK_POSITION,
f.HOT_WORK_LEVEL_INDEX,
f.HOT_WORK_METHOD_ID,
f.JOB_CONTENT,
f.HOT_WORK_TIME_START,
f.HOT_WORK_TIME_END,
f.CREATOR,
DATE_FORMAT(f.CREATTIME, '%Y-%m-%d %H:%i:%s') as CREATTIME,
f.OPERATOR,
f.OPERATTIME,
f.STATE,
f.ISDELETE,
f.WORK_LONGITUDE,
f.WORK_LATITUDE,
f.CORPINFO_ID,
f.IS_SAFETY_DIRECTOR,
f.IS_GAS_TESTING,
f.SPARE,
f.HOTWORKAPPLICATION_ID,
u.NAME CREATORNAME,
d.NAME DEPARTMENTNAME,
ua.NAME OPERATORNAME
from
<include refid="tableName"></include> f
LEFT JOIN bus_hotworkapplicationuser fu ON f.HOTWORKAPPLICATION_ID = fu.FOREIGN_KEY and f.STATE = fu.STATE
left join sys_user u on f.CREATOR = u.USER_ID
left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
left join vi_user_all ua on ua.USER_ID = f.OPERATOR
left join sys_user uu on uu.USER_ID = #{pd.loginUserId} and uu.DEPARTMENT_ID = fu.USER_ID
where
<if test="pd.STATE != null and pd.STATE != ''">
<if test='pd.STATE == "10"'>
(
</if>
</if> f.ISDELETE = '0'
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
and
( f.JOB_NUMBER LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
or f.HOT_WORK_POSITION LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
)
</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.HOT_WORK_LEVEL_INDEX != null and pd.HOT_WORK_LEVEL_INDEX != ''">
and (HOT_WORK_LEVEL_INDEX = #{pd.HOT_WORK_LEVEL_INDEX})
</if>
<if test="pd.roleLevel != null and pd.roleLevel != ''"><!-- 权限显示 -->
<choose>
<when test='pd.roleLevel == "0"'>
</when>
<when test='pd.roleLevel == "1"'>
and f.HOTWORKAPPLICATION_ID in (select hu.FOREIGN_KEY from bus_hotworkapplicationuser hu LEFT JOIN vi_user_all bhuuser ON bhuuser.USER_ID = hu.USER_ID where bhuuser.DEPARTMENT_ID in (${pd.supDeparIds}) or u.DEPARTMENT_ID in (${pd.supDeparIds}) )
</when>
<when test='pd.roleLevel == "2"'>
and f.HOTWORKAPPLICATION_ID in (select hu.FOREIGN_KEY from bus_hotworkapplicationuser hu where hu.USER_ID = #{pd.loginUserId}
<if test="pd.STATE != null and pd.STATE != ''">
<choose>
<!-- State为99时查询的是特级动火归档此处查询的是由我审批的数据 -->
<when test='pd.STATE == "99"'>
and (hu.STATE in ('30','31','32','33','34'))
</when>
<when test='pd.STATE == "98"'>
</when>
<otherwise>
and (hu.STATE = #{pd.STATE})
</otherwise>
</choose>
</if>
)
</when>
</choose>
</if>
<if test="pd.myApprove != null and pd.myApprove != ''"><!-- 应该由我审批的数据 -->
and f.HOTWORKAPPLICATION_ID in (select hu.FOREIGN_KEY from bus_hotworkapplicationuser hu where hu.USER_ID = #{pd.myApprove}
<if test="pd.STATE != null and pd.STATE != ''">
<choose>
<!-- State为99时查询的是特级动火归档此处查询的是由我审批的数据 -->
<when test='pd.STATE == "99"'>
and (hu.STATE in ('30','31','32','33','34'))
</when>
<when test='pd.STATE == "98"'>
</when>
<otherwise>
and (hu.STATE = #{pd.STATE})
</otherwise>
</choose>
</if>
)
</if>
<if test="pd.keyJobNumber != null and pd.keyJobNumber != ''">
and (f.JOB_NUMBER LIKE CONCAT(CONCAT('%', #{pd.keyJobNumber}),'%'))
</if>
<if test="pd.applicantName != null and pd.applicantName != ''">
and (u.NAME LIKE CONCAT(CONCAT('%', #{pd.applicantName}),'%'))
</if>
<if test="pd.keyState != null and pd.keyState != ''">
<!-- <if test='pd.keyState == "1"'>-->
<!-- and f.STATE = '11'-->
<!-- </if>-->
<!-- <if test='pd.keyState == "2"'>-->
<!-- and f.STATE = '12'-->
<!-- </if>-->
<!-- <if test='pd.keyState == "3"'>-->
<!-- and f.STATE = '2'-->
<!-- </if>-->
<!-- <if test='pd.keyState == "4"'>-->
<!-- and f.STATE = '-2'-->
<!-- </if>-->
and f.STATE = #{pd.keyState}
</if>
<if test="pd.keyApplyUserName != null and pd.keyApplyUserName != ''"><!-- 申请人 -->
and f.HOTWORKAPPLICATION_ID in (select FOREIGN_KEY from bus_hotworkapplicationuser houtUser LEFT JOIN vi_user_all u on u.user_id = houtUser.USER_ID where u.USERNAME = CONCAT(CONCAT('%', #{pd.keyApplyUserName}),'%') and STATE = '11')
</if>
<if test="pd.keyApproveUserName != null and pd.keyApproveUserName != ''"><!-- 申请人 -->
and f.HOTWORKAPPLICATION_ID in (select FOREIGN_KEY from bus_hotworkapplicationuser houtUser LEFT JOIN vi_user_all u on u.user_id = houtUser.USER_ID where u.USERNAME = CONCAT(CONCAT('%', #{pd.keyApproveUserName}),'%') and STATE = '12')
</if>
<if test="pd.STATE != null and pd.STATE != ''">
<choose>
<when test='pd.STATE == "0"'>
and f.CREATOR = #{pd.CREATOR} and f.state !='-4'
</when>
<when test='pd.STATE == "24"'>
and f.STATE in ('1','2','3','4','5','6'
,'7','8','9')
</when>
<when test='pd.STATE == "11"'>
and (f.STATE in ('11','-3'))
</when>
<!-- State为99时查询的是特级动火归档动火表查询已经完成特级动火流程的数据即回归普通动火流程的数据 -->
<when test='pd.STATE == "99"'>
and (
(
f.STATE &gt;= 1
and f.STATE &lt;= 11
)
or f.STATE = '-3'
)
</when>
<when test='pd.STATE == "98"'>
<!-- and (f.STATE &gt;= 1) -->
</when>
<when test='pd.STATE == "10"'>
and (f.STATE != '11')
) or (uu.USER_ID is not null and f.ISDELETE = '0')
</when>
<otherwise>
and (f.STATE = #{pd.STATE})
</otherwise>
</choose>
</if>
group by f.HOTWORKAPPLICATION_ID
ORDER BY f.CREATTIME desc
<!-- ORDER BY f.OPERATTIME desc -->
</select>
<!-- 列表 -->
<select id="hotworkdatalistPage" parameterType="page" resultType="pd">
select
fu.OPERATTIME as pxsj, <!-- 前台的排序时间查的是hotuser表里的OPERATTIME起别名叫排序时间 -->
<include refid="Field"></include>,
u.NAME CREATORNAME,
d.NAME DEPARTMENTNAME,
ua.NAME OPERATORNAME
from
<include refid="tableName"></include> f
left join bus_hotworkapplicationuser fu on f.HOTWORKAPPLICATION_ID = fu.FOREIGN_KEY and fu.state='1' <!-- 前台的排序时间查的是hotuser表里的OPERATTIME起别名叫排序时间 -->
left join sys_user u on f.CREATOR = u.USER_ID
left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
left join vi_user_all ua on ua.USER_ID = f.OPERATOR
LEFT JOIN bus_hotworkapplicationuser bhu ON bhu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID
LEFT JOIN vi_user_all bhuuser ON bhuuser.USER_ID = bhu.USER_ID
left join bus_hotworkapplicationuser hot on f.HOTWORKAPPLICATION_ID = hot.FOREIGN_KEY and hot.ISDELETE ='0' and hot.state='4'
left join sys_user hu on hot.USER_ID = hu.USER_ID
left join oa_department hd on hd.DEPARTMENT_ID = hu.DEPARTMENT_ID
where f.ISDELETE = '0'
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
and f.CORPINFO_ID = #{pd.CORPINFO_ID}
</if>
<if test="pd.roleLevel != null and pd.roleLevel != ''"><!-- 权限显示 -->
<choose>
<when test='pd.roleLevel == "0"'>
</when>
<when test='pd.roleLevel == "1"'>
and (bhuuser.DEPARTMENT_ID in (${pd.supDeparIds}) or ua.DEPARTMENT_ID in (${pd.supDeparIds}))
</when>
<when test='pd.roleLevel == "2"'>
AND (f.CREATOR = #{pd.loginUserId} or bhu.USER_ID = #{pd.loginUserId})
</when>
</choose>
</if>
<!-- AND bhu.TYPE = '2' -->
AND f.state != '-4'
<if test="pd.keyJobNumber != null and pd.keyJobNumber != ''">
and (f.JOB_NUMBER LIKE CONCAT(CONCAT('%', #{pd.keyJobNumber}),'%'))
</if>
<if test="pd.JOB_CONTENT != null and pd.JOB_CONTENT != ''">
and f.JOB_CONTENT LIKE CONCAT(CONCAT('%', #{pd.JOB_CONTENT}),'%')
</if>
<if test="pd.HOT_WORK_POSITION != null and pd.HOT_WORK_POSITION != ''">
and f.HOT_WORK_POSITION LIKE CONCAT(CONCAT('%', #{pd.HOT_WORK_POSITION}),'%')
</if>
<if test="pd.HOT_WORK_LEVEL_INDEX != null and pd.HOT_WORK_LEVEL_INDEX != ''">
and f.HOT_WORK_LEVEL_INDEX = #{pd.HOT_WORK_LEVEL_INDEX}
</if>
<if test="pd.UNIT_LEADER_DEPARTMENT_ID != null and pd.UNIT_LEADER_DEPARTMENT_ID != ''">
and hd.DEPARTMENT_ID = #{pd.UNIT_LEADER_DEPARTMENT_ID}
</if>
<if test="pd.keyState != null and pd.keyState != ''">
and f.STATE = #{pd.keyState}
</if>
2024-12-13 16:29:48 +08:00
<if test="pd.STARTTIME != null and pd.STARTTIME != ''"><!-- 关键词检索 -->
and f.CREATTIME >= #{pd.STARTTIME}
</if>
<if test="pd.ENDTIME != null and pd.ENDTIME != ''">
and f.CREATTIME &lt;= #{pd.ENDTIME}
</if>
2024-02-06 11:02:25 +08:00
GROUP BY HOTWORKAPPLICATION_ID
ORDER BY
fu.OPERATTIME DESC <!-- 前台的排序时间查的是hotuser表里的OPERATTIME起别名叫排序时间 -->
</select>
<!-- 列表(全部) -->
<select id="listAll" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where 1=1
<if test="INSTATES != null and INSTATES.size() > 0">
and STATE in
<foreach item="item" index="index" collection="INSTATES" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<!-- 批量删除 -->
<delete id="deleteAll" parameterType="String">
update
<include refid="tableName"></include>
set
ISDELETE = '1'
where
HOTWORKAPPLICATION_ID in
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- bus_hotwork_measures-->
<!-- 列表(全部) -->
<select id="listAllMeasures" parameterType="pd" resultType="pd">
SELECT
f.BUS_HOTWORK_MEASURES_ID,
f.PROTECTIVE_MEASURES,
f.QUESTION1,
f.QUESTION2,
f.QUESTION3,
f.QUESTION4,
f.ISDELETE,
f.ORDERBY,
hwtm.ANSWER1,
hwtm.ANSWER2,
hwtm.ANSWER3,
hwtm.ANSWER4
FROM
BUS_HOTWORK_MEASURES f
LEFT JOIN BUS_HOTWORKTOMEASURES hwtm on f.BUS_HOTWORK_MEASURES_ID = hwtm.BUS_HOTWORK_MEASURES_ID and hwtm.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
WHERE f.ISDELETE = '0'
oRDER BY f.ORDERBY
</select>
<!-- 修改 -->
<update id="editByState" parameterType="pd">
update
<include refid="tableName"></include>
set
<if test="ISDELETEOLD != null and ISDELETEOLD != ''">
ISDELETE = #{ISDELETEOLD},
</if>
STATE = #{STATE},
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME}
where
HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</update>
<!-- 修改 -->
<update id="editPosition" parameterType="pd">
update
<include refid="tableName"></include>
set
WORK_LONGITUDE = #{WORK_LONGITUDE},
WORK_LATITUDE = #{WORK_LATITUDE}
where
HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
</update>
<select id="getCountByMyApproval" parameterType="pd" resultType="pd">
select f.STATE ,fu.USER_ID,count(distinct HOTWORKAPPLICATION_ID) as count
from bus_hotworkapplication f
left join bus_hotworkapplicationuser fu on fu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID
and f.STATE = fu.state
where fu.user_id = #{USER_ID} AND fu.ISDELETE = '0' and f.STATE != 11 and f.STATE != -3
GROUP BY f.STATE
</select>
<select id="getCountByMyGasAnaly" parameterType="pd" resultType="pd">
SELECT
f.STATE,
fu.USER_ID,
count(*) AS count
FROM
bus_hotworkapplication f
LEFT JOIN bus_hotworkapplicationuser fu ON fu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID
WHERE
fu.user_id = #{USER_ID}
AND fu.STATE = '24'
and f.STATE in ('1','2','3','4','5','6'
,'7','8','9')
</select>
<!-- 列表(全部) -->
<select id="getCountByDate" parameterType="pd" resultType="integer">
select
count(*) as count
from
<include refid="tableName"></include> f
where 1=1
and CREATOR >= #{startData}
and CREATOR &lt;= #{endDate}
</select>
<!-- 列表(全部) -->
<update id="updateState4ids" parameterType="pd" >
update
<include refid="tableName"></include>
set
STATE = #{STATE},
OPERATTIME = #{OPERATTIME}
where
HOTWORKAPPLICATION_ID in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<insert id="saveJobNumber" parameterType="pd">
insert into
bus_hotworkapplicationnumber
(
JOB_NUMBER
) values (
#{JOB_NUMBER}
)
</insert>
<select id="getJobNumber" parameterType="pd" resultType="integer">
SELECT
count(*) count
FROM
bus_hotworkapplicationnumber f
WHERE
f.JOB_NUMBER LIKE CONCAT(CONCAT('%', #{JOB_NUMBER}),'%')
</select>
<delete id="cleanUpJobNumber" parameterType="pd">
DELETE from bus_hotworkapplicationnumber where JOB_NUMBER LIKE CONCAT(CONCAT('%', #{JOB_NUMBER_LIKE}),'%')
</delete>
<!-- 列表 -->
<select id="filedatalistPage" parameterType="page" resultType="pd">
select
<include refid="Field"></include>,
u.NAME CREATORNAME,
d.NAME DEPARTMENTNAME,
ua.NAME OPERATORNAME
from
<include refid="tableName"></include> f
left join sys_user u on f.CREATOR = u.USER_ID
left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
left join vi_user_all ua on ua.USER_ID = f.OPERATOR
left join bus_hotworkapplicationuser bhu on bhu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID
LEFT JOIN vi_user_all bhuuser ON bhuuser.USER_ID = bhu.USER_ID
where f.ISDELETE = '0'
<if test="pd.roleLevel != null and pd.roleLevel != ''"><!-- 权限显示 -->
<choose>
<when test='pd.roleLevel == "0"'>
</when>
<when test='pd.roleLevel == "1"'>
and (bhuuser.DEPARTMENT_ID in (${pd.supDeparIds}) or ua.DEPARTMENT_ID in (${pd.supDeparIds}))
</when>
<when test='pd.roleLevel == "2"'>
AND (f.CREATOR = #{pd.loginUserId} or bhu.USER_ID = #{pd.loginUserId})
</when>
</choose>
</if>
<if test="pd.STATE != null and pd.STATE != ''">
<choose>
<when test='pd.STATE == "11"'>
and (f.STATE in ('11','-3'))
</when>
</choose>
</if>
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
and f.CORPINFO_ID = #{pd.CORPINFO_ID}
</if>
<if test="pd.loginUserId != null and pd.loginUserId != ''">
AND (f.CREATOR = #{pd.loginUserId} or bhu.USER_ID = #{pd.loginUserId})
</if>
GROUP BY HOTWORKAPPLICATION_ID
ORDER BY f.OPERATTIME desc
</select>
<select id="getCountByMyApprovalForDelayedHotWork" parameterType="pd" resultType="pd">
select f.STATE,u.USER_ID,count(distinct HOTWORKAPPLICATION_ID) as count
from bus_hotworkapplication f
left join bus_hotworkapplicationuser fu on fu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID and f.STATE = fu.state
left join sys_user u on u.DEPARTMENT_ID = fu.USER_ID
where u.USER_ID = #{USER_ID} AND fu.ISDELETE = '0' and f.STATE = 10
</select>
</mapper>