2 yıl önce
ebeveyn
işleme
fff64670e9

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/dto/project/ProjectDTO.java

@@ -23,6 +23,10 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class ProjectDTO extends BaseDTO implements Serializable {
+    /**
+     * 1:新厂,2:老厂
+     */
+    private Integer flag;
     private String remark;
     private List<String> parentList;
 

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/entity/project/Project.java

@@ -20,6 +20,11 @@ import java.util.List;
 @Table(name = "t_project")
 @Data
 public class Project implements Serializable {
+    /**
+     * 1:新厂,2:老厂
+     */
+    private Integer flag;
+
     private String remark;
     private Integer sort;
 

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/mapper/upms/SysDeptMapper.java

@@ -2,8 +2,11 @@ package com.platform.dao.mapper.upms;
 
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.upms.SysDept;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * @Description 部门表 mapper
  * @Author chenli
@@ -12,5 +15,6 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public interface SysDeptMapper extends MyMapper<SysDept> {
+    List<String> getChildIds(@Param("deptIds") List<String> deptIds);
 
 }

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/project/ProjectVO.java

@@ -23,6 +23,11 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class ProjectVO extends BaseVO implements Serializable {
+    private Integer pFlag;
+    /**
+     * 1:新厂,2:老厂
+     */
+    private Integer flag;
     private String parentNo;
     private String remark;
     private String parentName;

+ 2 - 2
platform-dao/src/main/resources/mapper/project/ProjectMapper.xml

@@ -2,8 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.platform.dao.mapper.project.ProjectMapper">
     <sql id="Base_Column_List">
-        t1.id,  t1.no, t1.name,  t1.parent_id,
-        pt.name as parentName,t1.type,t1.remark,pt.no as parentNo
+        t1.id,  t1.no, t1.name,  t1.parent_id,t1.flag,
+        pt.name as parentName,t1.type,t1.remark,pt.no as parentNo,t2.flag as pFlag
     </sql>
 
     <select id="selectVOList" parameterType="com.platform.dao.dto.project.ProjectDTO"

+ 12 - 1
platform-dao/src/main/resources/mapper/upms/SysDeptMapper.xml

@@ -1,5 +1,16 @@
 <?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.platform.dao.mapper.upms.SysDeptMapper">
-
+    <select id="getChildIds" parameterType="java.lang.String"
+            resultType="java.lang.String">
+        select dept_id from t_sys_dept
+        <where>
+            <if test="deptIds!=null">
+                and parent_id in
+                <foreach collection="deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>

+ 8 - 0
platform-dao/src/main/resources/mapper/upms/SysUserMapper.xml

@@ -39,6 +39,8 @@
         select distinct u.* from t_sys_user u
         join t_sys_user_role role
         on u.user_id=role.user_id left join t_sys_role srole on role.role_id=srole.role_id
+        left join t_sys_user_dept ud on ud.user_id = u.user_id
+        left join t_sys_dept dept on dept.dept_id = ud.dept_id
         where 1=1
         <if test="keyword !=null and keyword !=''">
             and (u.username like CONCAT('%',#{keyword},'%')
@@ -66,6 +68,12 @@
         <if test="roleCode!=null and roleCode!=''">
             and srole.role_code=#{roleCode}
         </if>
+        <if test="deptIds !=null and deptIds.size>0">
+            and dept.dept_id in
+            <foreach collection="deptIds" open="(" separator="," close=")" item="item">
+                #{item}
+            </foreach>
+        </if>
         order by u.update_time desc
     </select>
 

+ 2 - 0
platform-rest/src/main/java/com/platform/rest/controller/upms/SysDeptController.java

@@ -12,6 +12,7 @@ import com.platform.dao.dto.upms.SysDeptDTO;
 import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysUserDept;
 import com.platform.dao.enums.DeptNatureEnum;
+import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.util.TreeUtil;
 import com.platform.dao.vo.im.base.ImportResultVO;
 import com.platform.dao.vo.im.upms.ImportSysDeptVO;
@@ -50,6 +51,7 @@ public class SysDeptController {
 
     private final SysUserDeptService sysUserDeptService;
 
+
     /**
      * 通过id查询单条记录
      *

+ 24 - 0
platform-rest/src/main/java/com/platform/rest/controller/upms/SysUserController.java

@@ -25,6 +25,7 @@ import com.platform.dao.entity.firm.FirmProducer;
 import com.platform.dao.entity.upms.SysMenu;
 import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.enums.SysRoleCodeEnum;
+import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.util.TreeUtil;
 import com.platform.dao.vo.SysUserVO;
@@ -77,6 +78,8 @@ public class SysUserController {
 
     private final SysUserDeptService sysUserDeptService;
 
+    private final SysDeptMapper sysDeptMapper;
+
     /**
      * 获取当前用户全部信息
      *
@@ -241,9 +244,30 @@ public class SysUserController {
     @GetMapping("/page")
     @SysLog("分页查询用户列表")
     public R<MyPage<SysUserVO>> getSysUserPage(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize, SysUserDTO sysUserDTO) {
+        List<String> deptIds = new ArrayList<>();
+        if (sysUserDTO.getDeptId()!=null&&!sysUserDTO.getDeptId().equals("")){
+            deptIds.add(sysUserDTO.getDeptId());
+            deptIds = getDeptIds(deptIds);
+            sysUserDTO.setDeptIds(deptIds);
+        }else if ("".equals(sysUserDTO.getDeptId())){
+            sysUserDTO.setDeptId(null);
+        }
         return new R<>(sysUserService.selectVOPageInfo(sysUserDTO, pageNum, pageSize));
     }
 
+    private List<String> getDeptIds(List<String> ids){
+        if (ids!=null&&ids.size()>0) {
+            List<String> childIds = sysDeptMapper.getChildIds(ids);
+            ids.addAll(childIds);
+            if (childIds!=null&&childIds.size()>0){
+                getDeptIds(childIds);
+            }else {
+                return ids;
+            }
+        }
+        return ids;
+    }
+
     /**
      * 查询用户列表
      *