智慧保安后台管理-外网项目备份
tangzy
2021-11-15 bc1f282f1cc9bdad3225ec8d1acea44d7835aba6
1.分公司权限
10 files modified
1184 ■■■■■ changed files
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/record/controller/RecordController.java 135 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/DeptController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 1007 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -31,7 +31,7 @@
        on
            sj.id = sdu.jurisdiction
        where 1=1
        <if test="dispatcher.jurisdiction!=null  and dispatcher.jurisdiction!=''">
        <if test="dispatcher.jurisdiction!=null  and dispatcher.jurisdiction!='' and dispatcher.jurisdiction!='1372091709474910209'">
            and (sj.id = #{dispatcher.jurisdiction} or sj.parent_id = #{dispatcher.jurisdiction})
        </if>
        <if test="dispatcher.dispatcherUnitId!=null">
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml
@@ -36,7 +36,7 @@
        <if test="dispatcherUnit.city!=null">
            and sdu.city = #{dispatcherUnit.city}
        </if>
        <if test="dispatcherUnit.jurisdiction!=null">
        <if test="dispatcherUnit.jurisdiction!=null and dispatcherUnit.jurisdiction!='' and dispatcherUnit.jurisdiction!='1372091709474910209'">
            and (sj.id = #{dispatcherUnit.jurisdiction} or sj.parent_id = #{dispatcherUnit.jurisdiction})
        </if>
        <if test="dispatcherUnit.deptId!=null and dispatcherUnit.deptId!=''">
src/main/java/org/springblade/modules/record/controller/RecordController.java
@@ -24,6 +24,7 @@
import lombok.AllArgsConstructor;
import org.springblade.common.cache.DictCache;
import org.springblade.common.cache.ParamCache;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.enums.DictEnum;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
@@ -31,6 +32,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.information.entity.Information;
@@ -240,7 +242,8 @@
            user.setTenantId("000000");
            user.setAccount(record.getEnterprisename());
            String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD);
            user.setPassword(initPassword);
            user.setPassword(DigestUtil.encrypt(initPassword));
            //user.setPassword(initPassword);
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            user.setRoleId("1414575196264300546");
@@ -251,7 +254,7 @@
            String s = "insert into sys_information(id,creditCode,enterpriseName,representative" +
                ",registeredCapital,organizationCode,registrationNumber, enterprises, address," +
                " business,region,registration,industry,departmentid,stats,jurisdiction,representativecell," +
                "contacts,contactscell,create_time,create_user_id) " +
                "contacts,contactscell,create_user_id) " +
                "values(" + "'" + information.getId() + "'" +
                "," + "'" + information.getCreditcode() + "'" +
                "," + "'" + information.getEnterprisename() + "'" +
@@ -271,26 +274,132 @@
                "," + "'" + information.getRepresentativecell() + "'" +
                "," + "'" + information.getContacts() + "'" +
                "," + "'" + information.getContactscell() + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(information.getCreateTime()) + "'" +
                "," + "'" + information.getCreateUserId() + "'" + ");" +
                "insert into blade_dept(id,parent_id,tenant_id,dept_name,ancestors,dept_category,is_deleted) values(" + "'" + information.getDepartmentid() + "'" + "," + "'" + dept.getParentId() + "'" + ","
                "," + "'" + information.getCreateUserId() + "'" + ")";
            FtpUtil.sqlFileUpload(s);
            String ss = "insert into blade_dept(id,parent_id,tenant_id,dept_name,ancestors,dept_category,is_deleted) values(" + "'" + dept.getId() + "'" + "," + "'" + dept.getParentId() + "'" + ","
                + "'" + dept.getTenantId() + "'" +
                "," + "'" + information.getEnterprisename() + "'" +
                "," + "'" + dept.getAncestors() + "'" +
                "," + "'" + dept.getDeptCategory() + "'" +
                "," + "'" + isDeleted + "'" + ");" +
                "insert into blade_user(id,tenant_id,account,password,role_id,dept_id,create_time,update_time,status,is_deleted) " +
                "," + "'" + isDeleted + "'" + ")";
            FtpUtil.sqlFileUpload(ss);
            String rtime;
            String paperTime;
            if (user.getRtime() == null) {
                rtime = null;
            } else {
                rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
            }
            //发证日期处理
            if (user.getPaperTime() == null) {
                paperTime = "";
            } else {
                paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
            }
            //头像
            if (null != user.getAvatar() && !user.getAvatar().equals("")) {
                user.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
            }
            //指纹
            if (null != user.getFingerprint() && !user.getFingerprint().equals("")) {
                user.setFingerprint(FtpConfig.ip + user.getFingerprint().substring(26));
            }
            String sss = "insert into blade_user(" +
                "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
                "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
                "politicaloutlook,healstats,height,address,registered,rtime," +
                "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch) " +
                "values(" + "'" + user.getId() + "'" +
                "," + "'" + user.getTenantId() + "'"
                + "," + "'" + user.getAccount() + "'" +
                "," + "'" + user.getTenantId() + "'" +
                "," + "'" + user.getAccount() + "'" +
                "," + "'" + user.getPassword() + "'" +
                "," + "'" + user.getName() + "'" +
                "," + "'" + user.getRealName() + "'" +
                "," + "'" + user.getAvatar() + "'" +
                "," + "'" + user.getEmail() + "'" +
                "," + "'" + user.getPhone() + "'" +
                "," + "'" + null + "'" +
                "," + "'" + roleid + "'" +
                "," + "'" + user.getDeptId() + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
                "," + "'" + user.getCardid() + "'" +
                "," + "'" + user.getNativeplace() + "'" +
                "," + "'" + user.getNation() + "'" +
                "," + "'" + user.getFingerprint() + "'" +
                "," + "'" + user.getEducation() + "'" +
                "," + "'" + user.getPoliticaloutlook() + "'" +
                "," + "'" + user.getHealstats() + "'" +
                "," + "'" + user.getHeight() + "'" +
                "," + "'" + user.getAddress() + "'" +
                "," + "'" + user.getRegistered() + "'" +
                "," + "'" + rtime + "'" +
                "," + "'" + user.getSecuritynumber() + "'" +
                "," + "'" + user.getHold() + "'" +
                "," + "'" + user.getJurisdiction() + "'" +
                "," + "'" + user.getExaminationType() + "'" +
                "," + "'" + user.getStatus() + "'" +
                "," + "'" + user.getIsDeleted() + "'" + ")";
            FtpUtil.sqlFileUpload(s);
                "," + "'" + user.getIsDeleted() + "'" +
                "," + "'" + user.getDispatch() + "'" + ")";
            FtpUtil.sqlFileUpload(sss);
//            Integer isDeleted = 0;
//            //注册用户
//            User user = new User();
//            user.setDeptId(information.getDepartmentid());
//            user.setTenantId("000000");
//            user.setAccount(record.getEnterprisename());
//            String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD);
//            user.setPassword(initPassword);
//            user.setCreateTime(new Date());
//            user.setUpdateTime(new Date());
//            user.setRoleId("1414575196264300546");
//            user.setStatus(1);
//            user.setIsDeleted(0);
//            userService.save(user);
//            String roleid = "1415563428727328770";
//            String s = "insert into sys_information(id,creditCode,enterpriseName,representative" +
//                ",registeredCapital,organizationCode,registrationNumber, enterprises, address," +
//                " business,region,registration,industry,departmentid,stats,jurisdiction,representativecell," +
//                "contacts,contactscell,create_time,create_user_id) " +
//                "values(" + "'" + information.getId() + "'" +
//                "," + "'" + information.getCreditcode() + "'" +
//                "," + "'" + information.getEnterprisename() + "'" +
//                "," + "'" + information.getRepresentative() + "'" +
//                "," + "'" + information.getRegisteredcapital() + "'" +
//                "," + "'" + information.getOrganizationcode() + "'" +
//                "," + "'" + information.getRegistrationnumber() + "'" +
//                "," + "'" + information.getEnterprises() + "'" +
//                "," + "'" + information.getAddress() + "'" +
//                "," + "'" + information.getBusiness() + "'" +
//                "," + "'" + information.getRegion() + "'" +
//                "," + "'" + information.getRegistration() + "'" +
//                "," + "'" + information.getIndustry() + "'" +
//                "," + "'" + information.getDepartmentid() + "'" +
//                "," + "'" + information.getStats() + "'" +
//                "," + "'" + information.getJurisdiction() + "'" +
//                "," + "'" + information.getRepresentativecell() + "'" +
//                "," + "'" + information.getContacts() + "'" +
//                "," + "'" + information.getContactscell() + "'" +
//                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(information.getCreateTime()) + "'" +
//                "," + "'" + information.getCreateUserId() + "'" + ");" +
//                "insert into blade_dept(id,parent_id,tenant_id,dept_name,ancestors,dept_category,is_deleted) values(" + "'" + information.getDepartmentid() + "'" + "," + "'" + dept.getParentId() + "'" + ","
//                + "'" + dept.getTenantId() + "'" +
//                "," + "'" + information.getEnterprisename() + "'" +
//                "," + "'" + dept.getAncestors() + "'" +
//                "," + "'" + dept.getDeptCategory() + "'" +
//                "," + "'" + isDeleted + "'" + ");" +
//                "insert into blade_user(id,tenant_id,account,password,role_id,dept_id,create_time,update_time,status,is_deleted) " +
//                "values(" + "'" + user.getId() + "'" +
//                "," + "'" + user.getTenantId() + "'"
//                + "," + "'" + user.getAccount() + "'" +
//                "," + "'" + user.getPassword() + "'" +
//                "," + "'" + roleid + "'" +
//                "," + "'" + user.getDeptId() + "'" +
//                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
//                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
//                "," + "'" + user.getStatus() + "'" +
//                "," + "'" + user.getIsDeleted() + "'" + ")";
//            FtpUtil.sqlFileUpload(s);
//            //注册用户
//            User user = new User();
//            user.setAccount(record.getEnterprisename());
src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -247,4 +247,12 @@
        return R.data(tree);
    }
    @GetMapping("/selectInfos")
    public R<List<DeptVO>> selectInfos() {
        List<DeptVO> tree =deptService.selectInfos();
        return R.data(tree);
    }
}
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -93,6 +93,7 @@
     */
    List<DeptVO> securityLazyTree(@Param("jurisdiction") String jurisdiction, Long parentId);
    List<DeptVO>  selectInfo();
    List<DeptVO>  selectInfos();
    /**
     * 查询所有的部门信息
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -40,17 +40,17 @@
    <select id="lazyList" resultMap="deptVOResultMap">
        SELECT
            dept.* ,
            (
                SELECT
                    CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                    blade_dept
                WHERE
                    parent_id = dept.id and is_deleted = 0
            ) AS "has_children"
        dept.* ,
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
            blade_dept dept
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        WHERE dept.is_deleted = 0
        <if test="param1!=null and param1!=''">
            and dept.tenant_id = #{param1}
@@ -75,25 +75,25 @@
        ORDER BY sort
    </select>
    <select id="lazyTree" resultMap="treeNodeResultMap" >
    <select id="lazyTree" resultMap="treeNodeResultMap">
        SELECT
            dept.id,
            dept.parent_id,
            dept.dept_name AS title,
            dept.id AS "value",
            dept.id AS "key",
            (
                SELECT
                    CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                    blade_dept
                WHERE
                    parent_id = dept.id and is_deleted = 0
            ) AS "has_children"
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
            blade_dept dept
        blade_dept
        WHERE
            dept.is_deleted = 0
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        WHERE
        dept.is_deleted = 0
        <if test="param2!=null and param2!=0">
            and dept.parent_id = #{param2}
        </if>
@@ -107,64 +107,63 @@
    </select>
    <!--查询保安公司列表,保安员管理-->
    <select id="securityLazyTree" resultMap="treeNodeResultMap" >
    <select id="securityLazyTree" resultMap="treeNodeResultMap">
        (
            SELECT
            id,
            parent_id,
            dept_name AS title,
            id AS "value",
            id AS "key",
            0 AS "has_children"
            FROM
            blade_dept
            where is_deleted = 0
            and
            (id = 1413470343230877697
            or id = 1425366663452196865
            or id = 1418458374477549569
            or id = 1420222768149966850
            or id = 1426354978959691778)
        SELECT
        id,
        parent_id,
        dept_name AS title,
        id AS "value",
        id AS "key",
        0 AS "has_children"
        FROM
        blade_dept
        where is_deleted = 0
        and
        (id = 1413470343230877697
        or id = 1425366663452196865
        or id = 1420222768149966850
        or id = 1426354978959691778)
        )
           union
        union
        (
            SELECT
            DISTINCT
            dept.id,
            dept.parent_id,
            dept.dept_name AS title,
            dept.id AS "value",
            dept.id AS "key",
            (
            SELECT
            CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
            FROM
            blade_dept
            WHERE
            parent_id = dept.id and is_deleted = 0
            ) AS "has_children"
            FROM
            blade_dept dept
            left join
            sys_information si
            on
            si.departmentid = dept.id
            left join
            sys_jurisdiction sj
            on
            sj.id = si.jurisdiction
            WHERE
            1=1
            and si.stats != 3
            AND dept.is_deleted = 0
            <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
                and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
            </if>
        SELECT
        DISTINCT
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        sys_information si
        on
        si.departmentid = dept.id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        WHERE
        1=1
        and si.stats != 3 AND si.stats!=1
        AND dept.is_deleted = 0
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
        </if>
        )
    </select>
    <!--懒加载获取部门树形结构(按分类查询)-->
    <select id="lazyTreeType" resultMap="treeNodeResultMap" >
    <select id="lazyTreeType" resultMap="treeNodeResultMap">
        SELECT
        dept.id,
        dept.parent_id,
@@ -193,356 +192,350 @@
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)app-->
    <select id="lazyTreeUserApp" resultType="org.springblade.modules.system.vo.DeptAndUserVO" >
    <select id="lazyTreeUserApp" resultType="org.springblade.modules.system.vo.DeptAndUserVO">
        select DISTINCT
            *
        *
        from (
            (SELECT
            dept.id,
            dept.parent_id,
            dept.dept_name AS label,
            dept.id AS "key",
            dept.id AS "value",
            1 as idCardNo,
            (
                SELECT
                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                blade_dept
                WHERE
                parent_id = dept.id and dept.is_deleted = 0
                ) AS "has_children"
                FROM
                blade_dept dept
                left join
                blade_user bu
                on
                bu.dept_id = dept.id
                WHERE
                dept.is_deleted = 0
                and bu.is_deleted = 0
                <if test="type==1">
                    and dept_category=1
                    AND dept.parent_id = "1413470343230877697"
                </if>
                <if test="type==2 or type==3">
                    and dept_category=2
                    AND dept.parent_id = "1123598813738675201"
                </if>
                <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
                    and dept_category=1
                    AND dept.parent_id = "1413470343230877697"
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
        (SELECT
        dept.id,
        dept.parent_id,
        dept.dept_name AS label,
        dept.id AS "key",
        dept.id AS "value",
        1 as idCardNo,
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and dept.is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        blade_user bu
        on
        bu.dept_id = dept.id
        WHERE
        dept.is_deleted = 0
        and bu.is_deleted = 0
        <if test="type==1">
            and dept_category=1
            AND dept.parent_id = "1413470343230877697"
        </if>
        <if test="type==2 or type==3">
            and dept_category=2
            AND dept.parent_id = "1123598813738675201"
        </if>
        <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
            and dept_category=1
            AND dept.parent_id = "1413470343230877697"
            and bu.jurisdiction = #{jurisdiction}
        </if>
        )
            union all
        union all
            (
                select
                bu.id,
                bu.dept_id  parent_id,
                bu.real_name AS label,
                bu.id AS "key",
                bu.id AS "value",
                bu.cardid as idCardNo,
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="type==1">
                    and dept_category=1
                </if>
                <if test="type==2 or type==3">
                    and dept_category=2
                </if>
                <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
                    and dept_category=1
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
        (
        select
        bu.id,
        bu.dept_id parent_id,
        bu.real_name AS label,
        bu.id AS "key",
        bu.id AS "value",
        bu.cardid as idCardNo,
        0 as "has_children"
        from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        where 1=1
        and bu.is_deleted = 0
        and bu.status = 1
        <if test="type==1">
            and dept_category=1
        </if>
        <if test="type==2 or type==3">
            and dept_category=2
        </if>
        <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
            and dept_category=1
            and bu.jurisdiction = #{jurisdiction}
        </if>
        )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUser" resultMap="treeNodeResultMap" >
    <select id="lazyTreeUser" resultMap="treeNodeResultMap">
        select DISTINCT
            c.id,
            c.parent_id,
            c.title,
            c.value,
            c.key,
            (
            SELECT
            CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
            FROM
            blade_dept
            where
            id = c.parent_id
            <if test="parentId!=null and parentId!=''">
                and dept_category=1
                AND id = #{parentId}
            </if>
            ) AS "has_children"
        c.id,
        c.parent_id,
        c.title,
        c.value,
        c.key,
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        where
        id = c.parent_id
        <if test="parentId!=null and parentId!=''">
            and dept_category=1
            AND id = #{parentId}
        </if>
        ) AS "has_children"
        from (
            (SELECT
              dept.id,
              dept.parent_id,
              dept.dept_name AS title,
              dept.id AS "value",
              dept.id AS "key",
                        (
                            SELECT
                                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM
                                blade_dept
                            WHERE
                                parent_id = dept.id and is_deleted = 0
                        ) AS "has_children"
                    FROM
                        blade_dept dept
                    WHERE
                        dept.is_deleted = 0
                    <if test="parentId!=null and parentId!=''">
                        and dept_category=1
                        AND dept.parent_id = #{parentId}
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parent_id,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                <if test="parentId!=null and parentId!=''">
                    and dept_category=1
                    AND bu.dept_id = #{parentId}
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据),未删除,在职-->
    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              dept.dept_name AS title,
              dept.id AS "value",
              dept.id AS "key",
                        (
                            SELECT
                                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM
                                blade_dept
                            WHERE
                                parent_id = dept.id and is_deleted = 0
                        ) AS "has_children"
                    FROM
                        blade_dept dept
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="deptId!=null and deptId!=''">
                        and dept.id = #{deptId}
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                left join
                blade_role br
                on
                br.id = bu.role_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="type==1">
                    and role_alias = '保安'
                </if>
                <if test="deptId!=null and deptId!=''">
                    and bu.dept_id = #{deptId}
                </if>
                <if test="jurisdiction!=null and jurisdiction!=''">
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              dept.dept_name AS title,
              dept.id AS "value",
              dept.id AS "key",
                        (
                            SELECT
                                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM
                                blade_dept
                            WHERE
                                parent_id = dept.id and is_deleted = 0
                        ) AS "has_children"
                    FROM
                        blade_dept dept
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="deptId!=null and deptId!=''">
                        and (dept.parent_id = #{deptId} or dept.id = #{deptId})
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="deptId!=null and deptId!=''">
                    and (bd.parent_id = #{deptId} or bd.id = #{deptId})
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据) 民警向民警汇报-->
    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              dept.dept_name AS title,
              dept.id AS "value",
              dept.id AS "key",
                        (
                            SELECT
                                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM
                                blade_dept
                            WHERE
                                parent_id = dept.id and is_deleted = 0
                        ) AS "has_children"
                    FROM
                        blade_dept dept
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="deptId!=null and deptId!=''">
                        and  dept.id = #{deptId}
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="deptId!=null and deptId!=''">
                    and  bd.id = #{deptId}
                </if>
            )
        )c
    </select>
    <select id="lazyTrees" resultMap="treeNodeResultMap" >
    SELECT
        (SELECT
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
            SELECT
                CASE WHEN count(1) > 0 THEN 0 ELSE 1 END
            FROM
                blade_dept
            WHERE
                parent_id = dept.id and is_deleted = 0
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
    FROM
        blade_dept dept WHERE (
                                  SELECT
                                      CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                                  FROM
                                      blade_dept
                                  WHERE
                                      parent_id = dept.id and is_deleted = 0
                              ) =1
</select>
        FROM
        blade_dept dept
        WHERE
        dept.is_deleted = 0
        <if test="parentId!=null and parentId!=''">
            and dept_category=1
            AND dept.parent_id = #{parentId}
        </if>
        )
        union
        (select
        bu.id,
        bu.dept_id parent_id,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
        0 as "has_children"
        from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        where 1=1
        and bu.is_deleted = 0
        <if test="parentId!=null and parentId!=''">
            and dept_category=1
            AND bu.dept_id = #{parentId}
        </if>
        )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据),未删除,在职-->
    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
        (SELECT
        dept.id,
        dept.parent_id parentId,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        sys_information si
        on
        si.departmentid = dept.id
        WHERE
        dept.is_deleted = 0
        <if test="deptId!=null and deptId!=''">
            and dept.id = #{deptId}
        </if>
        )
        union
        (select
        bu.id,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
        0 as "has_children"
        from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        left join
        blade_role br
        on
        br.id = bu.role_id
        where 1=1
        and bu.is_deleted = 0
        and bu.status = 1
        <if test="type==1">
            and role_alias = '保安'
        </if>
        <if test="deptId!=null and deptId!=''">
            and bu.dept_id = #{deptId}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''">
            and bu.jurisdiction = #{jurisdiction}
        </if>
        )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
        (SELECT
        dept.id,
        dept.parent_id parentId,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        sys_information si
        on
        si.departmentid = dept.id
        WHERE
        dept.is_deleted = 0
        <if test="deptId!=null and deptId!=''">
            and (dept.parent_id = #{deptId} or dept.id = #{deptId})
        </if>
        )
        union
        (select
        bu.id,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
        0 as "has_children"
        from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        where 1=1
        and bu.is_deleted = 0
        and bu.status = 1
        <if test="deptId!=null and deptId!=''">
            and (bd.parent_id = #{deptId} or bd.id = #{deptId})
        </if>
        )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据) 民警向民警汇报-->
    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
        (SELECT
        dept.id,
        dept.parent_id parentId,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        blade_dept
        WHERE
        parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        sys_information si
        on
        si.departmentid = dept.id
        WHERE
        dept.is_deleted = 0
        <if test="deptId!=null and deptId!=''">
            and dept.id = #{deptId}
        </if>
        )
        union
        (select
        bu.id,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
        0 as "has_children"
        from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        where 1=1
        and bu.is_deleted = 0
        and bu.status = 1
        <if test="deptId!=null and deptId!=''">
            and bd.id = #{deptId}
        </if>
        )
        )c
    </select>
    <select id="lazyTrees" resultMap="treeNodeResultMap">
        SELECT dept.id,
               dept.parent_id,
               dept.dept_name AS title,
               dept.id        AS "value",
               dept.id        AS "key",
               (
                   SELECT CASE WHEN count(1) > 0 THEN 0 ELSE 1 END
                   FROM blade_dept
                   WHERE parent_id = dept.id
                     and is_deleted = 0
               )              AS "has_children"
        FROM blade_dept dept
        WHERE (
                  SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                  FROM blade_dept
                  WHERE parent_id = dept.id
                    and is_deleted = 0
              ) = 1
    </select>
    <select id="getDeptNames" resultType="java.lang.String">
        SELECT
@@ -558,75 +551,83 @@
    </select>
    <select id="selectIn" resultType="java.util.HashMap">
        SELECT
            id as deptid,
            dept_name as deptname
        FROM
            blade_dept where is_deleted = 0
        SELECT id        as deptid,
               dept_name as deptname
        FROM blade_dept
        where is_deleted = 0
    </select>
    <!--统计单位类型数量-->
    <select id="selectCount" resultType="java.util.HashMap">
        SELECT dept.id as jurisdiction,dept.dept_name AS title FROM blade_dept dept WHERE  dept.dept_name  like concat(concat('%', #{name}),'%')
        SELECT dept.id as jurisdiction, dept.dept_name AS title
        FROM blade_dept dept
        WHERE dept.dept_name like concat(concat('%', #{name}), '%')
    </select>
    <select id="selectHold" resultType="java.util.HashMap">
        SELECT
            ISNULL(B.cz,0) as cz,
            ISNULL(C.wcz,0) as wcz
        FROM (SELECT jurisdiction FROM blade_user ) A
            LEFT JOIN (SELECT COUNT(hold) as cz,jurisdiction FROM blade_user WHERE hold=0 GROUP BY jurisdiction ) B ON A.jurisdiction=B.jurisdiction
            LEFT JOIN (SELECT COUNT(hold) as wcz,jurisdiction FROM blade_user WHERE hold=1 GROUP BY jurisdiction ) C ON A.jurisdiction=C.jurisdiction
        WHERE A.jurisdiction=#{deptid} GROUP BY cz,wcz
        SELECT ISNULL(B.cz, 0)  as cz,
               ISNULL(C.wcz, 0) as wcz
        FROM (SELECT jurisdiction FROM blade_user) A
                 LEFT JOIN (SELECT COUNT(hold) as cz, jurisdiction
                            FROM blade_user
                            WHERE hold = 0
                            GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
                 LEFT JOIN (SELECT COUNT(hold) as wcz, jurisdiction
                            FROM blade_user
                            WHERE hold = 1
                            GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
        WHERE A.jurisdiction = #{deptid}
        GROUP BY cz, wcz
    </select>
    <!--查询部门下面的所有单位-->
    <select id="selectId" resultType="java.util.HashMap">
        SELECT id FROM blade_dept WHERE parent_id =#{id} and is_deleted = 0
        SELECT id
        FROM blade_dept
        WHERE parent_id = #{id}
          and is_deleted = 0
    </select>
    <insert id="add" parameterType="org.springblade.modules.system.entity.Dept" useGeneratedKeys="true" keyProperty="id">
        insert into blade_dept(tenant_id, parent_id,ancestors,dept_category,dept_name) values(#{tenantId}, #{parentId}, #{ancestors}, #{deptCategory}, #{deptName})
    <insert id="add" parameterType="org.springblade.modules.system.entity.Dept" useGeneratedKeys="true"
            keyProperty="id">
        insert into blade_dept(tenant_id, parent_id, ancestors, dept_category, dept_name)
        values (#{tenantId}, #{parentId}, #{ancestors}, #{deptCategory}, #{deptName})
    </insert>
    <select id="selectInfo" resultMap="treeNodeResultMap">
        SELECT
            DISTINCT
            dept.id,
            dept.parent_id,
            dept.dept_name AS title,
            dept.id AS "value",
            dept.id AS "key",
            (
                SELECT
                    CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                    blade_dept
                WHERE
                    parent_id = dept.id and is_deleted = 0
            ) AS "has_children"
        FROM
            blade_dept dept
                left join
            sys_information si
            on
                si.departmentid = dept.id
        WHERE
            1=1
        SELECT DISTINCT dept.id,
                        dept.parent_id,
                        dept.dept_name AS title,
                        dept.id        AS "value",
                        dept.id        AS "key",
                        (
                            SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM blade_dept
                            WHERE parent_id = dept.id
                              and is_deleted = 0
                        )              AS "has_children"
        FROM blade_dept dept
                 left join
             sys_information si
             on
                 si.departmentid = dept.id
        WHERE 1 = 1
          AND dept.is_deleted = 0
          and dept.id !=1420222961377357825
        /*  and dept.id !=1420222961377357825
          and dept.id !=1432625856013971457
        and dept.parent_id!=1420222961377357825
        and dept.parent_id!=1432625856013971457
        and dept.parent_id!=1432625856013971457*/
    </select>
    <!--查询所有的部门信息-->
    <select id="selDeptList" resultType="org.springblade.common.vo.DeptVo">
        select id ,dept_name deptName from blade_dept where is_deleted=0
        select id, dept_name deptName
        from blade_dept
        where is_deleted = 0
    </select>
    <!--懒加载获取部门树形结构,根据辖区查询-->
    <select id="lazyTreeJurisdiction" resultMap="treeNodeResultMap" >
    <select id="lazyTreeJurisdiction" resultMap="treeNodeResultMap">
        SELECT
        DISTINCT
        dept.id,
@@ -663,7 +664,7 @@
    </select>
    <!--查询树菜单,区以下-->
    <select id="lazyTreeCity" resultMap="treeNodeResultMap" >
    <select id="lazyTreeCity" resultMap="treeNodeResultMap">
        (SELECT
        id,
        parent_id,
@@ -704,54 +705,76 @@
    </select>
    <!--查询树菜单,区以下-->
    <select id="lazyTreeCityOne" resultMap="treeNodeResultMap" >
        SELECT
        id,
        parent_id,
        dept_name AS title,
        id AS "value",
        id AS "key",
        0 AS "has_children"
    <select id="lazyTreeCityOne" resultMap="treeNodeResultMap">
        SELECT id,
               parent_id,
               dept_name AS title,
               id        AS "value",
               id        AS "key",
               0         AS "has_children"
        from blade_dept
        where id = #{param2}
    </select>
    <!--查询用户信息-->
    <select id="getUserInfoById" resultType="org.springblade.modules.system.vo.UserVO">
        select bu.*,bd.dept_name deptName,br.role_alias roleAlias from blade_user bu
        left join
        blade_dept bd
        on
        bu.dept_id = bd.id
        left join
        blade_role br
        on
        br.id = bu.role_id
        select bu.*, bd.dept_name deptName, br.role_alias roleAlias
        from blade_user bu
                 left join
             blade_dept bd
             on
                 bu.dept_id = bd.id
                 left join
             blade_role br
             on
                 br.id = bu.role_id
        where bu.id = #{param1}
    </select>
    <!--查所有公安局数据 tree -->
    <select id="lazyTreeByJurisdiction" resultMap="treeNodeResultMap" >
        SELECT
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
        dept.id AS "value",
        dept.id AS "key",
        (
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        sys_jurisdiction
        WHERE
        parent_id = sj.id and is_deleted = 0
        ) AS "has_children"
        FROM
        sys_jurisdiction sj
        left join
        blade_dept dept
        on
        sj.dept_name = dept.dept_name
    <select id="lazyTreeByJurisdiction" resultMap="treeNodeResultMap">
        SELECT dept.id,
               dept.parent_id,
               dept.dept_name AS title,
               dept.id        AS "value",
               dept.id        AS "key",
               (
                   SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                   FROM sys_jurisdiction
                   WHERE parent_id = sj.id
                     and is_deleted = 0
               )              AS "has_children"
        FROM sys_jurisdiction sj
                 left join
             blade_dept dept
             on
                 sj.dept_name = dept.dept_name
    </select>
    <select id="selectInfos" resultMap="treeNodeResultMap">
        SELECT DISTINCT dept.id,
                        dept.parent_id,
                        dept.dept_name AS title,
                        dept.id        AS "value",
                        dept.id        AS "key",
                        (
                            SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                            FROM blade_dept
                            WHERE parent_id = dept.id
                              and is_deleted = 0
                        )              AS "has_children"
        FROM blade_dept dept
                 left join
             sys_information si
             on
                 si.departmentid = dept.id
        WHERE 1 = 1
          AND dept.is_deleted = 0
          AND parent_id NOT IN
              ('1123598813738675201', '1415619841521414145', '1415619917295710209', '1415619986417840129',
               '1415620058526314497', '1415620118307729409', '1415620188289691649', '1415620235718881282',
               '1415620288487419906', '1415620344112279553', '1415620404103409666', '1415620472965492738',
               '1415620707473223681')
    </select>
</mapper>
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -95,7 +95,7 @@
            and bu.hold = #{user.hold}
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and bu.dept_id = #{user.deptId}
            and (bd.id = #{user.deptId} or bd.parent_id = #{user.deptId})
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and bu.role_id = #{user.roleId}
src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -58,7 +58,6 @@
     * @return
     */
    List<DeptVO> lazyTree(String tenantId, Long parentId,String userId);
    /**
     * 懒加载获取树形节点
     *
@@ -133,6 +132,7 @@
     */
    List<DeptVO> securityLazyTree(String jurisdiction, Long parentId);
    List<DeptVO> selectInfo();
    List<DeptVO>  selectInfos();
    List<DeptVo> selDeptList();
    /**
     * 懒加载获取部门树形结构(包含用户数据)
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -135,7 +135,6 @@
        //admin
        return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId,null));
    }
    @Override
    public List<DeptVO> lazyTrees() {
        return  ForestNodeMerger.merge(baseMapper.lazyTrees());
@@ -328,6 +327,11 @@
    }
    @Override
    public List<DeptVO> selectInfos() {
        return baseMapper.selectInfos();
    }
    @Override
    public List<DeptVo> selDeptList() {
        return baseMapper.selDeptList();
    }
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -188,6 +188,25 @@
            } else {
                userVO.setAge(null);
            }
            if (null!=userVO.getDeptId()) {
                List<String> list = baseMapper.getDeptName(userVO.getDeptId());
                if (list.size() > 1) {
                    if (null != list.get(1) && list.get(1) != "") {
                        String s = list.get(1).toString();
                        if (s.equals("本市保安公司") || s.equals("保安培训学校") || s.equals("自招保安单位") || s.equals("武装押运公司") || s.equals("分公司") || s.equals("其他")){
                            userVO.setDeptName(list.get(0));
                        }
                        else {
                            userVO.setDeptName(list.get(1) + "," + list.get(0));
                        }
                    } else {
                        userVO.setDeptName(list.get(0));
                    }
                }
                if (list.size() == 1) {
                    userVO.setDeptName(list.get(0));
                }
            }
        });
        return page.setRecords(userVOS);
    }