|  | @@ -33,6 +33,8 @@ import org.jeecg.common.system.util.JwtUtil;
 | 
	
		
			
				|  |  |  import org.jeecg.common.system.vo.LoginUser;
 | 
	
		
			
				|  |  |  import org.jeecg.common.util.*;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.geke.attendance.service.IAttendanceService;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.geke.attendanceRule.entity.AttendanceRule;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.geke.attendanceRule.service.IAttendanceRuleService;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.geke.historyWages.service.IHistoryWagesService;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.geke.sysFile.entity.SysFile;
 | 
	
	
		
			
				|  | @@ -143,6 +145,9 @@ public class SysUserController {
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private RedisUtil redisUtil;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +    private IAttendanceRuleService attendanceRuleService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Value("${jeecg.path.upload}")
 | 
	
		
			
				|  |  |      private String upLoadPath;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -256,12 +261,32 @@ public class SysUserController {
 | 
	
		
			
				|  |  |      	//TODO 外部模拟登陆临时账号,列表不显示
 | 
	
		
			
				|  |  |          queryWrapper.ne("username","_reserve_user_external");
 | 
	
		
			
				|  |  |          Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
 | 
	
		
			
				|  |  | -//        IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
 | 
	
		
			
				|  |  | +        String deptids="";
 | 
	
		
			
				|  |  | +        String state="0";
 | 
	
		
			
				|  |  | +        List<String> mySubDepIdsByDepId=null;
 | 
	
		
			
				|  |  | +        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 | 
	
		
			
				|  |  | +        List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUser.getId()));
 | 
	
		
			
				|  |  | +        if (userRole!=null&&userRole.size()>0){
 | 
	
		
			
				|  |  | +            for (SysUserRole role:userRole){
 | 
	
		
			
				|  |  | +                if (role.getRoleId().equals("1462659329857978370")){
 | 
	
		
			
				|  |  | +                    List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
 | 
	
		
			
				|  |  | +                    for (SysDepart depart:list){
 | 
	
		
			
				|  |  | +                        deptids+=depart.getId()+",";
 | 
	
		
			
				|  |  | +                        if (depart.getId().equals("1")){
 | 
	
		
			
				|  |  | +                            state="1";
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (state.equals("0")){
 | 
	
		
			
				|  |  | +                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          List<String> subDepIdsByDepId=null;
 | 
	
		
			
				|  |  |          if (user.getOrgCodeTxt()!=null){
 | 
	
		
			
				|  |  |              subDepIdsByDepId= sysDepartService.getSubDepIdsByDepId(user.getOrgCodeTxt());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId);
 | 
	
		
			
				|  |  | +        Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId,mySubDepIdsByDepId);
 | 
	
		
			
				|  |  |          //批量查询用户的所属部门
 | 
	
		
			
				|  |  |          //step.1 先拿到全部的 useids
 | 
	
		
			
				|  |  |          //step.2 通过 useids,一次性查询用户的所属部门名字
 | 
	
	
		
			
				|  | @@ -347,6 +372,19 @@ public class SysUserController {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  			sysUserService.addUserWithRole(user, selectedRoles);
 | 
	
		
			
				|  |  |              sysUserService.addUserWithDepart(user, selectedDeparts);
 | 
	
		
			
				|  |  | +            if (jsonObject.getString("type")!=null){
 | 
	
		
			
				|  |  | +                AttendanceRule attendanceRule=new AttendanceRule();
 | 
	
		
			
				|  |  | +                attendanceRule.setUserId(String.valueOf(codeVo.getSeqNo()));
 | 
	
		
			
				|  |  | +                attendanceRule.setType(jsonObject.getString("type").toString());
 | 
	
		
			
				|  |  | +                if (jsonObject.getString("type").equals(1)||jsonObject.getString("type").equals("1")){
 | 
	
		
			
				|  |  | +                    String str="2022-01-02 10:00:00";
 | 
	
		
			
				|  |  | +                    String end="2022-01-02 19:00:00";
 | 
	
		
			
				|  |  | +                    attendanceRule.setWorkDay("0,1,2,3,4,5,6");
 | 
	
		
			
				|  |  | +                    attendanceRule.setStartDate(DateUtils.parseDate(str,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | +                    attendanceRule.setEndDate(DateUtils.parseDate(end,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                attendanceRuleService.save(attendanceRule);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              HistoryWages historyWages=new HistoryWages();
 | 
	
		
			
				|  |  |              historyWages.setUserId(user.getId());
 | 
	
		
			
				|  |  |              historyWages.setWagesOne(user.getWagesOne());
 | 
	
	
		
			
				|  | @@ -408,6 +446,23 @@ public class SysUserController {
 | 
	
		
			
				|  |  |                  sysUserService.updateNullPhoneEmail();
 | 
	
		
			
				|  |  |                  service.deleteByUserId(user.getId());
 | 
	
		
			
				|  |  |                  List<HistoryWages> one = historyWagesService.getOne(user.getId());
 | 
	
		
			
				|  |  | +                if (jsonObject.getString("type")!=null){
 | 
	
		
			
				|  |  | +                    AttendanceRule ats = attendanceRuleService.UserRule(user.getId());
 | 
	
		
			
				|  |  | +                    if (ats!=null){
 | 
	
		
			
				|  |  | +                        attendanceRuleService.removeById(ats.getId());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    AttendanceRule attendanceRule=new AttendanceRule();
 | 
	
		
			
				|  |  | +                    attendanceRule.setUserId(user.getId());
 | 
	
		
			
				|  |  | +                    attendanceRule.setType(jsonObject.getString("type").toString());
 | 
	
		
			
				|  |  | +                    if (jsonObject.getString("type").equals(1)||jsonObject.getString("type").equals("1")){
 | 
	
		
			
				|  |  | +                        String str="2022-01-02 10:00:00";
 | 
	
		
			
				|  |  | +                        String end="2022-01-02 19:00:00";
 | 
	
		
			
				|  |  | +                        attendanceRule.setWorkDay("0,1,2,3,4,5,6");
 | 
	
		
			
				|  |  | +                        attendanceRule.setStartDate(DateUtils.parseDate(str,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | +                        attendanceRule.setEndDate(DateUtils.parseDate(end,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    attendanceRuleService.save(attendanceRule);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  HistoryWages history =new HistoryWages();
 | 
	
		
			
				|  |  |                  history.setWagesBase(user.getWagesBase());
 | 
	
		
			
				|  |  |                  history.setWagesOne(user.getWagesOne());
 | 
	
	
		
			
				|  | @@ -739,7 +794,7 @@ public class SysUserController {
 | 
	
		
			
				|  |  |          if (sysUser.getOrgCodeTxt()!=null){
 | 
	
		
			
				|  |  |              subDepIdsByDepId= sysDepartService.getSubDepIdsByDepId(sysUser.getOrgCodeTxt());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId);
 | 
	
		
			
				|  |  | +        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId,null);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<String>userids=new ArrayList<>();
 | 
	
		
			
				|  |  |         if (pageList.size()>0){
 | 
	
	
		
			
				|  | @@ -750,6 +805,29 @@ public class SysUserController {
 | 
	
		
			
				|  |  |                 Map<String,String>  useDepNames = sysUserService.getDepNamesByUserIds(userids);
 | 
	
		
			
				|  |  |                 pageList.forEach(item->{
 | 
	
		
			
				|  |  |                     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());
 | 
	
		
			
				|  |  | +                               }
 | 
	
		
			
				|  |  | +                           });
 | 
	
		
			
				|  |  | +                       }
 | 
	
		
			
				|  |  | +                   }
 | 
	
		
			
				|  |  |                 });
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |  
 |