|
@@ -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());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|