| 
					
				 | 
			
			
				@@ -43,9 +43,7 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.multipart.MultipartFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import static com.jeeplus.test.jobPosion.utils.BeanUtils.objectCheckIsNull; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -664,24 +662,48 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseEntity removeByRosterIds(String[] ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> rosterIds = Arrays.asList(ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 删除花名册数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.removeByIds(Arrays.asList(ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 删除花名册关联用户数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 员工切换为游客、花名册直接删除   这两种情况都要删除用户信息以及用户关联的角色等信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        userService.remove(new QueryWrapper<User>().lambda().in(User::getRosterId, ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Arrays.asList(ids).stream().forEach(item -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            UserDTO u = new UserDTO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            u.setId(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 删除用户关联的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            userMapper.deleteUserManageOffice(u);  //  根据用户id删除用户的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 删除用户关联的岗位信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            userMapper.deleteUserPost(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 删除用户关联的角色信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            userMapper.deleteUserRole(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.removeByIds(rosterIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除花名册关联用户数据。删除用户信息以及用户关联的角色等信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rosterIds.stream().forEach(rosterId -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 通过花名册id查询用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User u = userService.getOne(new QueryWrapper<User>().lambda().eq(User::getRosterId, rosterId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtil.isNotEmpty(u)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 通过花名册id删除用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userService.removeById(u.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                UserDTO userDTO = new UserDTO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userDTO.setId(u.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 删除用户关联的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userMapper.deleteUserManageOffice(userDTO);  //  根据用户id删除用户的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 删除用户关联的岗位信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userMapper.deleteUserPost(u.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 删除用户关联的角色信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userMapper.deleteUserRole(u.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseEntity.ok ("删除花名册成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 根据花名册id删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResponseEntity removeByRosterId(String rosterId, String userId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除花名册信息,物理删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rosterBaseMapper.deleteByIdPhysical(rosterId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除用户信息,物理删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userService.removeByIdPhysical(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        UserDTO userDTO = new UserDTO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userDTO.setId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除用户关联的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userMapper.deleteUserManageOffice(userDTO);  //  根据用户id删除用户的管理部门信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除用户关联的岗位信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userMapper.deleteUserPost(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 删除用户关联的角色信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userMapper.deleteUserRole(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,Object> res = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        res.put("success", true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResponseEntity.ok (res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public RosterBaseDTO deleteRosterWorker (RosterBaseDTO rosterBaseDTO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        删除原数据关联表的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rosterBaseDTO.setRosterContractDTO(null);  // 删除合同信息 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -757,4 +779,57 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.update(wrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return rosterBaseDTO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<String,Object> saveOrUpdateUserRoster(RosterBase rosterBase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,Object> resultMap = new HashMap<String,Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtil.isNotEmpty(rosterBase) && StringUtils.isNotBlank(rosterBase.getUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 保存或修改花名册信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.saveOrUpdate(rosterBase); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 保存或修改用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User u = userService.getById(rosterBase.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User user = new User(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user.setId(rosterBase.getUserId()); // 用户id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user.setName(rosterBase.getName()); // 用户姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user.setLoginName(rosterBase.getName()); // 登录账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user.setMobile(rosterBase.getMobile()); // 手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user.setOfficeId(rosterBase.getOfficeId()); // 所属部门id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtil.isNotEmpty(u) && StringUtils.isNotBlank(u.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isNotBlank(rosterBase.getNewPassword())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    user.setPassword(SecurityUtils.encryptPassword(rosterBase.getNewPassword())); // 密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 用户修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userService.updateUser(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isNotBlank(rosterBase.getNewPassword())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    user.setPassword(SecurityUtils.encryptPassword(rosterBase.getNewPassword())); // 密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    user.setPassword(SecurityUtils.encryptPassword("123456")); // 密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 用户新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userService.save(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("success", true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message","保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("success", false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message","保存失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<String,Object> deleteUserRoster(RosterBase rosterBase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,Object> resultMap = new HashMap<String,Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtil.isNotEmpty(rosterBase) && StringUtils.isNotBlank(rosterBase.getUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 删除花名册信息,必须是物理删除!!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rosterBaseMapper.deleteByIdPhysical(rosterBase.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 删除用户信息,必须是物理删除!!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userService.removeByIdPhysical(rosterBase.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("success", true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message","删除成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("success", false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message","删除失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |