洪城义警-正式版后台
zengh
2022-09-14 df878618a8882fc057a5863738df43e1fcd878ea
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -29,6 +29,11 @@
        <result column="work_status" property="work_status"/>
        <result column="examination_type" property="examination_type"/>
        <result column="examination_mx" property="examination_mx"/>
        <result column="audit_time" property="auditTime"/>
        <result column="cardid" property="cardid"/>
        <result column="district" property="district"/>
        <result column="jurisdiction" property="jurisdiction"/>
        <result column="team" property="team"/>
    </resultMap>
    <resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UsersVo">
        <result column="id" property="id"/>
@@ -59,10 +64,13 @@
        <result column="examination_type" property="examination_type"/>
        <result column="examination_mx" property="examination_mx"/>
        <result column="dept_name" property="deptName"/>
        <result column="audit_time" property="auditTime"/>
        <result column="cardid" property="cardid"/>
        <result column="jurisdiction" property="jurisdiction"/>
    </resultMap>
    <select id="selectUserPage" resultMap="userResultMap">
        select *  from blade_user
        select * from blade_user
        where is_deleted = 0
        <if test="tenantId!=null and tenantId != ''">
            and tenant_id = #{tenantId}
@@ -71,48 +79,63 @@
            and tenant_id = #{user.tenantId}
        </if>
        <if test="user.account!=null and user.account != ''">
            and account = #{user.account}
            and account like concat('%',#{user.account},'%')
        </if>
        <if test="user.jurisdiction!=null and user.jurisdiction != ''">
            and (jurisdiction = #{user.jurisdiction} or workjurisdiction = #{user.jurisdiction})
        </if>
        <if test="user.workjurisdiction!=null and user.workjurisdiction != ''">
            and workjurisdiction = #{user.workjurisdiction}
        </if>
        <if test="user.realName!=null and user.realName != ''">
            and real_name = #{user.realName}
            and real_name like concat('%',#{user.realName},'%')
        </if>
        <if test="user.userType!=null and user.userType != ''">
            and user_type = #{user.userType}
        </if>
        <if test="deptIdList!=null and deptIdList.size>0">
            and id in (
            SELECT
            user_id
            FROM
            blade_user_dept
            WHERE
            dept_id IN
            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
            )
        <if test="user.deptId!=null and user.deptId != ''">
            and (jurisdiction = #{user.deptId} or workjurisdiction = #{user.deptId})
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and (role_id = #{user.roleId} )
        </if>
<!--        <if test="deptIdList!=null and deptIdList.size>0">-->
<!--            and id in (-->
<!--            SELECT-->
<!--            user_id-->
<!--            FROM-->
<!--            blade_user_dept-->
<!--            WHERE-->
<!--            dept_id IN-->
<!--            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">-->
<!--                #{item}-->
<!--            </foreach>-->
<!--            )-->
<!--        </if>-->
        ORDER BY id
    </select>
    <select id="selectUserPages" resultMap="userResultMaps">
        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate )  from blade_user s
        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
        LEFT JOIN sys_position p ON p.snumber = s.CODE
        LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
        left join
        blade_role br
        on
        s.role_id=br.id
        where s.is_deleted = 0 and br.role_alias ='qfqkdw'
        where s.is_deleted = 0
        <if test="user.account!=null and user.account != ''">
            and s.account = #{user.account}
            and s.account like concat('%',#{user.account},'%')
        </if>
        <if test="user.cardid!=null and user.cardid != ''">
            and s.cardid like concat('%',#{user.cardid},'%')
        </if>
        <if test="user.id!=null and user.id != ''">
            and s.id = #{user.id}
        </if>
        <if test="user.realName!=null and user.realName != ''">
            and s.real_name = #{user.realName}
            and s.real_name like concat('%',#{user.real_name},'%')
        </if>
        <if test="user.userType!=null and user.userType != ''">
            and s.user_type = #{user.userType}
@@ -133,11 +156,11 @@
            </foreach>
            )
        </if>
        ORDER BY id
        ORDER BY id desc
    </select>
    <select id="selectUserPagetxl" resultMap="userResultMaps">
        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate )  from blade_user s
        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
        LEFT JOIN sys_position p ON p.snumber = s.CODE
        LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
        left join
@@ -178,11 +201,13 @@
    <select id="getUser" resultMap="userResultMap">
        SELECT
            *
            r.role_name as rolename,
            u.*
        FROM
            blade_user
            blade_user u
            LEFT JOIN blade_role r ON u.role_id = r.id
        WHERE
            tenant_id = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
            u.tenant_id = #{param1} and u.account = #{param2} and u.password = #{param3} and u.is_deleted = 0
    </select>
    <select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
@@ -212,8 +237,7 @@
        on
        bu.role_id=br.id
        where
        br.role_alias ='qfqkdw'
        and bu.is_deleted=0
        bu.is_deleted=0
        <if test="user.realName!=null and user.realName !=''">
            <bind name="realName" value="'%'+user.realName+'%'"/>
            and bu.real_name like #{realName}
@@ -243,8 +267,235 @@
            left join
        blade_region br
            on
        bu.region_id = br.code
            where bu.region_id is not null
        group by bu.region_id
        bu.district = br.code
            where bu.district is not null
        group by bu.district
    </select>
    <!-- 统计六大队伍数量 -->
    <select id="getUserTypeCount" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
        SELECT
        tj.`角色` as region,
        COUNT(*) as num
        FROM
        (SELECT
        blade_user.real_name AS "姓名",
        blade_user.phone AS "电话",
        blade_user.cardid AS "身份证",
        blade_user.address AS "所属社区或单位",
        blade_role.role_name AS "角色",
        sys_jurisdiction.dept_name AS "服务范围",
        s.dept_name AS "工作单位"
        FROM
        (
        blade_user
        LEFT JOIN blade_role ON ( blade_user.role_id = blade_role.id )
        LEFT JOIN sys_jurisdiction ON ( blade_user.jurisdiction = sys_jurisdiction.id )
        LEFT JOIN sys_jurisdiction s ON ( blade_user.workjurisdiction = s.id )
        )
        WHERE
        blade_user.is_deleted != 1) as tj
        GROUP BY tj.`角色`
    </select>
<!--    <select id="getUserTypeCount" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">-->
<!--        SELECT-->
<!--            '治保会队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424615693403414529'-->
<!--            UNION ALL-->
<!--            SELECT-->
<!--            '内保干部队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424615773594312705'-->
<!--            UNION ALL-->
<!--            SELECT-->
<!--            '治安巡防队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424615835435130881'-->
<!--            UNION ALL-->
<!--            SELECT-->
<!--            '信息员队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424615909959524354'-->
<!--            UNION ALL-->
<!--            SELECT-->
<!--            '保安员队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424615972718895106'-->
<!--            UNION ALL-->
<!--            SELECT-->
<!--            '警务辅助队伍' AS region,-->
<!--            count( * ) num-->
<!--        FROM-->
<!--            blade_user bu-->
<!--            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
<!--        WHERE-->
<!--            dept.id = '1424616047083905026'-->
<!--    </select>-->
    <!-- 按辖区统计六大队伍数量 -->
    <select id="getUserTypeCountXq" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
        SELECT
            '治保会队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424615693403414529' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '内保干部队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424615773594312705' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '治安巡防队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424615835435130881' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '信息员队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424615909959524354' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '保安员队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424615972718895106' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '警务辅助队伍' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1424616047083905026' and bu.jurisdiction = #{xid}
            UNION ALL
            SELECT
            '平安志愿者' AS region,
            count( * ) num
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            dept.id = '1416225906918195201' and bu.jurisdiction = #{xid}
    </select>
    <!-- 按辖区统计六大队伍数量 -->
    <select id="getUserTypeList" resultType="org.springblade.modules.system.vo.UserVO">
        SELECT
            bu.*
        FROM
            blade_user bu
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            bu.jurisdiction = #{xid}
            <if test="index == 1">
                AND dept.id = '1424615693403414529'
            </if>
            <if test="index == 2">
                AND  dept.id = '1424615773594312705'
            </if>
            <if test="index == 3">
                AND  dept.id = '1424615835435130881'
            </if>
            <if test="index == 4">
                AND  dept.id = '1424615909959524354'
            </if>
            <if test="index == 5">
                AND  dept.id = '1424615972718895106'
            </if>
            <if test="index == 6">
                AND  dept.id = '1424616047083905026'
            </if>
            <if test="index == 7">
                AND  dept.id ='1416225906918195201'
            </if>
    </select>
    <select id="getUserDistrictTypeCount" resultType="org.springblade.modules.system.vo.UserDistrictStatisVO">
        SELECT
            br.NAME AS region,
            count( * ) num ,
            count( CASE WHEN dept.dept_name = '治保会队伍' THEN 1 END) as zbh,
            count( CASE WHEN dept.dept_name = '内保干部队伍' THEN 1 END) as nbgb,
            count( CASE WHEN dept.dept_name = '治安巡防队伍' THEN 1 END) as zaxf,
            count( CASE WHEN dept.dept_name = '信息员队伍' THEN 1 END) as xxy,
            count( CASE WHEN dept.dept_name = '保安员队伍' THEN 1 END) as bay,
            count( CASE WHEN dept.dept_name = '警务辅助队伍' THEN 1 END) as jwfz
        FROM
            blade_user bu
            LEFT JOIN blade_region br ON bu.district = br.CODE
            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
        WHERE
            bu.district IS NOT NULL
        GROUP BY
            bu.district
    </select>
    <!--查询用户数据,未审核的-->
    <select id="getNotAuditAllUserList" resultType="org.springblade.modules.system.entity.User">
        select id, cardid
        from blade_user
        where examination_type is null
    </select>
    <!--查询账号相同的数量-->
    <select id="selectCountAccount" resultType="java.lang.Integer">
        select count(*) from blade_user where 1=1
        and status = 1
        and is_deleted = 0
        and account = #{account}
    </select>
    <update id="updateAcc">
        update blade_user set stype=#{stype},firstlogin = "1" where  account=#{account}
    </update>
    <update id="firstLogin">
        update blade_user set firstlogin = "0" where  id=#{id}
    </update>
    <delete id="delete">
        delete from  blade_user where account=#{account}
    </delete>
</mapper>