LiGuang 3 năm trước cách đây
mục cha
commit
b461f403be

+ 59 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -54,6 +54,7 @@ import org.jeecg.modules.system.util.UrlData;
 import org.jeecg.modules.system.util.emailUtils;
 import org.jeecg.modules.system.vo.CodeVo;
 import org.jeecg.modules.system.vo.SysDepartUsersVO;
+import org.jeecg.modules.system.vo.SysUserDepVo;
 import org.jeecg.modules.system.vo.SysUserRoleVO;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -256,7 +257,11 @@ public class SysUserController {
         queryWrapper.ne("username","_reserve_user_external");
         Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
 //        IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
-        Page<SysUser> pageList = sysUserService.kQueryUser(page, user);
+        List<String> subDepIdsByDepId=null;
+        if (user.getOrgCodeTxt()!=null){
+            subDepIdsByDepId= sysDepartService.getSubDepIdsByDepId(user.getOrgCodeTxt());
+        }
+        Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId);
         //批量查询用户的所属部门
         //step.1 先拿到全部的 useids
         //step.2 通过 useids,一次性查询用户的所属部门名字
@@ -267,9 +272,29 @@ public class SysUserController {
                 String bankCard = item.getBankCard();
                 item.setOrgCodeTxt(useDepNames.get(item.getId()));
                 List<String> orgName = sysUserService.getOrgName(item.getId());
+                List<SysUserDepVo> depNamesByUserIds = sysUserMapper.getDepNamesByUserIds(Arrays.asList(item.getId().split(",")));
                 if (orgName!=null&&orgName.size()>0){
                     item.setOrgText(sysUserService.getOrgName(item.getId()).get(0));
+                }if (depNamesByUserIds!=null&&depNamesByUserIds.size()>0&&!depNamesByUserIds.get(0).getOrgType().equals("0")){
+                    String code=depNamesByUserIds.get(0).getOrgCode();
+                    List<String>codes=new ArrayList<>();
+                    for (int i=0;i<code.length();i=i+2){
+                        codes.add(code.substring(0,i+2));
+                    }
+                    List<SysDepart> sysDeparts = sysDepartService.listDeptTop(codes);
+                    if (sysDeparts!=null&&sysDeparts.size()>0){
+                        sysDeparts.forEach(str->{
+                            if (str.getOrgType().equals("1")){
+                                item.setDel2(str.getDepartName());
+                            }else if (str.getOrgType().equals("2")){
+                                item.setDel3(str.getDepartName());
+                            }else if (str.getOrgType().equals("3")){
+                                item.setDel4(str.getDepartName());
+                            }
+                        });
+                    }
                 }
+
             });
         }
 		result.setSuccess(true);
@@ -426,6 +451,22 @@ public class SysUserController {
 		return result;
 	}
 
+
+    @RequestMapping(value = "/editState", method = RequestMethod.GET)
+    public Result<SysUser> editState(String userids) {
+        Result<SysUser> result = new Result<SysUser>();
+        try {
+            List<String> list = Arrays.asList(userids.split(","));
+            if (list!=null&&list.size()>0){
+                sysUserService.updateByState(list);
+                result.success("操作成功!");
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
 	/**
 	 * 删除用户
 	 */
@@ -694,7 +735,11 @@ public class SysUserController {
            queryWrapper.in("id",selections.split(","));
        }
         //update-end--Author:kangxiaolin  Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据----------------------
-        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser);
+        List<String> subDepIdsByDepId=null;
+        if (sysUser.getOrgCodeTxt()!=null){
+            subDepIdsByDepId= sysDepartService.getSubDepIdsByDepId(sysUser.getOrgCodeTxt());
+        }
+        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId);
 
         List<String>userids=new ArrayList<>();
        if (pageList.size()>0){
@@ -1969,4 +2014,16 @@ public class SysUserController {
         List<Map<String, Object> >deptByUserName = sysUserService.getDeptByUserName(user.getRealname());
         return Result.OK(deptByUserName);
     }
+
+
+    public static void main(String[] args) {
+        String code="010101";
+        List<String>list=new ArrayList<>();
+        //System.out.println(code.substring(0,2)+"---"+code.substring(2,4)+"--"+code.substring(4,6));
+        for (int i=0;i<code.length();i=i+2){
+            list.add(code.substring(0,i+2));
+        }
+        list.forEach(System.out::println);
+        System.out.println(code.length());
+    }
 }

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java

@@ -58,4 +58,7 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 	String getDepartLis(@Param("name") String name);
 
 	List<SysDepart>listDept();
+
+
+	List<SysDepart>listDeptTop(@Param("codes")List<String>codes);
 }

+ 3 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -220,8 +220,10 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	//获取下一个工号
 	void getNextNo(CodeVo params);
 
-	List<SysUser>kQueryUser(Page<SysUser> page,@Param("user") SysUser user);
+	List<SysUser>kQueryUser(Page<SysUser> page,@Param("user") SysUser user,@Param("deptids")List<String> deptids);
 
 	//根据员工姓名查询部门
 	List<Map<String,Object>>getDeptByUserName(@Param("username")String username);
+
+	boolean updateByState(@Param("userids")List<String>userids);
 }

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml

@@ -49,5 +49,15 @@
     <select id="listDept" resultType="org.jeecg.modules.system.entity.SysDepart">
         select *from sys_depart  where org_code!='0' order by org_type asc
     </select>
+    <select id="listDeptTop" resultType="org.jeecg.modules.system.entity.SysDepart">
+        select *from sys_depart where 1=1
+        <if test="codes!=null and codes.size()>0">
+         and org_code in
+            <foreach collection="codes" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        order by org_type asc
+    </select>
 
 </mapper>

+ 18 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -40,7 +40,7 @@
 
 	<!-- 查询用户的所属部门名称信息 -->
 	<select id="getDepNamesByUserIds" resultType="org.jeecg.modules.system.vo.SysUserDepVo">
-		select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
+		select d.depart_name,ud.user_id,d.org_type,d.org_code from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
 		<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
 			#{id}
 		</foreach>
@@ -182,6 +182,15 @@
 	<update id="updateTpUser">
 		update sys_user set sy_state="1" where id=#{userid}
 	</update>
+	<update id="updateByState">
+		update sys_user set employment_status='10' where 1=1
+		<if test="userids!=null and userids.size()>0">
+			and id in
+			<foreach collection="userids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+	</update>
 
 	<!-- 通过多个部门IDS,查询部门下的用户信息 -->
 	<select id="queryByDepIds" resultType="org.jeecg.modules.system.entity.SysUser">
@@ -439,8 +448,14 @@ on a.depart_name=b.orgCodeTxt
 		<if test="user.employmentStatus!=null and ''!=user.employmentStatus">
 			and a.employment_status=#{user.employmentStatus}
 		</if>
-		<if test="user.orgCodeTxt!=null and ''!=user.orgCodeTxt">
-			and c.depart_name like concat(concat('%',#{user.orgCodeTxt}),'%')
+		<if test="deptids!=null and deptids.size()>0">
+			and c.id in
+			<foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+		<if test="user.category!=null and ''!=user.category">
+			and a.category=#{user.category}
 		</if>
 		order by create_time DESC
 	</select>

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java

@@ -121,4 +121,6 @@ public interface ISysDepartService extends IService<SysDepart>{
     Boolean saveDepart(SysDepart sysDepart);
 
     List<SysDepart>listDept();
+
+    List<SysDepart>listDeptTop(List<String>codes);
 }

+ 3 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -307,7 +307,9 @@ List<String>  departIds(String userid);
 
 	Page<SysUser>deptUser(Page<SysUser> page,String username,List<String>deptids,Integer sex,String realname,String ipone,Integer state);
 
-	Page<SysUser>kQueryUser(Page<SysUser> page,SysUser user);
+	Page<SysUser>kQueryUser(Page<SysUser> page,SysUser user,List<String> deptids);
 
 	List<Map<String,Object>>getDeptByUserName(String username);
+
+	boolean updateByState(List<String>userids);
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

@@ -572,6 +572,11 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 		return sysDepartMapper.listDept();
 	}
 
+	@Override
+	public List<SysDepart> listDeptTop(List<String> codes) {
+		return sysDepartMapper.listDeptTop(codes);
+	}
+
 	/**
      * 根据关键字筛选部门信息
      * @param keyWord

+ 7 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -620,8 +620,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	}
 
 	@Override
-	public Page<SysUser> kQueryUser(Page<SysUser> page, SysUser user) {
-		return page.setRecords(userMapper.kQueryUser(page,user));
+	public Page<SysUser> kQueryUser(Page<SysUser> page, SysUser user,List<String> deptids) {
+		return page.setRecords(userMapper.kQueryUser(page,user,deptids));
 	}
 
 	@Override
@@ -631,6 +631,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return deptByUserName;
 	}
 
+	@Override
+	public boolean updateByState(List<String> userids) {
+		return userMapper.updateByState(userids);
+	}
+
 
 	/**
 	 * 循环获取字典数据 树

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysUserDepVo.java

@@ -12,4 +12,6 @@ import lombok.Data;
 public class SysUserDepVo {
     private String userId;
     private String departName;
+    private  String orgType;
+    private String orgCode;
 }