<?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="org.springblade.modules.loginrecord.mapper.LoginRecordMapper">
|
|
<!--登录记录自定义分页信息-->
|
<select id="selectSecurityPaperPage" resultType="org.springblade.modules.loginrecord.vo.LoginRecordVo">
|
select
|
slr.*,
|
bd.dept_name deptName
|
from
|
sys_login_record slr
|
left join blade_dept bd on bd.id = slr.dept_id
|
<if test="loginRecord.deptName!=null and loginRecord.deptName!=''">
|
bd.dept_name like concat('%',#{loginRecord.deptName},'%')
|
</if>
|
<if test="loginRecord.createBy!=null and loginRecord.createBy!=''">
|
slr.create_by like concat('%',#{loginRecord.createBy},'%')
|
</if>
|
order by slr.id desc
|
</select>
|
|
<!--自定义分页(企业登录分页记录)-->
|
<select id="getInformationLoginPage" resultType="org.springblade.modules.loginrecord.vo.LoginRecordVo">
|
select * from (
|
SELECT
|
a.enterpriseName deptName,
|
a.stats,
|
sj.dept_name jurisdictionName,
|
ifnull( b.c, 0 ) num,
|
c.create_time createTime
|
FROM
|
(
|
SELECT
|
si.*
|
FROM
|
sys_information si
|
LEFT JOIN blade_dept bd ON si.departmentid = bd.id
|
WHERE
|
bd.is_deleted = 0
|
AND bd.dept_category = 1
|
) a
|
left join
|
(
|
SELECT count( * ) c, dept_id FROM `sys_login_record`
|
where 1=1
|
and type = 1
|
<if test="loginRecord.startTime!=null and loginRecord.startTime!=''">
|
and date(create_time) >= #{loginRecord.startTime}
|
</if>
|
<if test="loginRecord.endTime!=null and loginRecord.endTime!=''">
|
and date(create_time) <= #{loginRecord.endTime}
|
</if>
|
GROUP BY dept_id
|
) b ON a.departmentid = b.dept_id
|
left join
|
(
|
select dept_id,max(create_time) create_time from sys_login_record GROUP BY dept_id
|
) c on a.departmentid = c.dept_id
|
left join sys_jurisdiction sj on a.jurisdiction = sj.id
|
where 1=1
|
<if test="loginRecord.jurisdiction!=null and loginRecord.jurisdiction!='' and loginRecord.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{loginRecord.jurisdiction} or sj.parent_id = #{loginRecord.jurisdiction})
|
</if>
|
<if test="loginRecord.deptName!=null and loginRecord.deptName!=''">
|
and a.enterpriseName like concat('%',#{loginRecord.deptName},'%')
|
</if>
|
<if test="loginRecord.stats!=null and loginRecord.stats!=''">
|
and a.stats = #{loginRecord.stats}
|
</if>
|
) r where 1=1
|
<if test="loginRecord.types ==1">
|
and r.num = 0
|
</if>
|
<if test="loginRecord.types ==2">
|
and r.num > 0
|
</if>
|
</select>
|
|
|
<!--企业登录记录导出-->
|
<select id="exportLoginRecord" resultType="org.springblade.modules.loginrecord.excel.LoginRecordExcel">
|
select * from (
|
SELECT
|
a.enterpriseName deptName,
|
case when a.stats=0 then '自招保安单位'
|
when a.stats=2 then '本市保安公司'
|
when a.stats=4 then '分公司'
|
when a.stats=1 then '保安培训学校'
|
else "其他" end as stats,
|
sj.dept_name jurisdictionName,
|
ifnull( b.c, 0 ) num,
|
c.create_time createTime
|
FROM
|
(
|
SELECT
|
si.*
|
FROM
|
sys_information si
|
LEFT JOIN blade_dept bd ON si.departmentid = bd.id
|
WHERE
|
bd.is_deleted = 0
|
AND bd.dept_category = 1
|
) a
|
left join
|
(
|
SELECT count( * ) c, dept_id FROM `sys_login_record`
|
where 1=1
|
and type = 1
|
<if test="loginRecord.startTime!=null and loginRecord.startTime!='' and loginRecord.startTime!='undefined'">
|
and date(create_time) >= #{loginRecord.startTime}
|
</if>
|
<if test="loginRecord.endTime!=null and loginRecord.endTime!='' and loginRecord.endTime!='undefined'">
|
and date(create_time) <= #{loginRecord.endTime}
|
</if>
|
GROUP BY dept_id
|
) b ON a.departmentid = b.dept_id
|
left join
|
(
|
select dept_id,max(create_time) create_time from sys_login_record GROUP BY dept_id
|
) c on a.departmentid = c.dept_id
|
left join sys_jurisdiction sj on a.jurisdiction = sj.id
|
where 1=1
|
<if test="loginRecord.jurisdiction!=null and loginRecord.jurisdiction!='' and loginRecord.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{loginRecord.jurisdiction} or sj.parent_id = #{loginRecord.jurisdiction})
|
</if>
|
<if test="loginRecord.deptName!=null and loginRecord.deptName!=''">
|
and a.enterpriseName like concat('%',#{loginRecord.deptName},'%')
|
</if>
|
<if test="loginRecord.stats!=null and loginRecord.stats!=''">
|
and a.stats = #{loginRecord.stats}
|
</if>
|
) r where 1=1
|
<if test="loginRecord.types ==1">
|
and r.num = 0
|
</if>
|
<if test="loginRecord.types ==2">
|
and r.num > 0
|
</if>
|
</select>
|
|
</mapper>
|