|
@@ -41,11 +41,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
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 +664,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 +781,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;
|
|
|
+ }
|
|
|
}
|