排班任务的导入导出接口增加注解

删除用户时增加判断排班任务信息内容
新增强制删除用户的接口
This commit is contained in:
qiaoqinzheng 2023-05-26 15:58:58 +08:00
parent f45fee5d62
commit 9d5196d431
4 changed files with 81 additions and 9 deletions

View File

@ -84,16 +84,19 @@ public class SysTaskController {
}
@PostMapping("exportExcel")
@ApiOperation(value = "导出排班任务", notes = "导出排班任务")
public void exportExcel(@DateTimeFormat(pattern = "yyyy-MM") Date yearMonth, HttpServletRequest request, HttpServletResponse response){
sysTaskService.exportExcel(yearMonth, request, response);
}
@GetMapping("exportImportTemplate")
@ApiOperation(value = "导出排班任务导入模板", notes = "导出排班任务导入模板")
public void exportImportTemplate(HttpServletRequest request, HttpServletResponse response){
sysTaskService.exportImportTemplate(request, response);
}
@PostMapping("importExcel")
@ApiOperation(value = "导入排班任务", notes = "导入排班任务")
public ImportViewVo importExcel(MultipartFile file){
try {
int headerRow = 1;

View File

@ -49,6 +49,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@ -223,9 +224,22 @@ public class SysUserController {
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
baseCommonService.addLog("删除用户id " +id ,CommonConstant.LOG_TYPE_2, 3);
this.sysUserService.deleteUser(id);
return Result.ok("删除用户成功");
}
try {
return this.sysUserService.deleteUser(id);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
/**
* 删除用户
*/
//@RequiresPermissions("system:user:delete")
@RequestMapping(value = "/deleteById", method = RequestMethod.DELETE)
public Result<?> deleteById(@RequestParam(name="id",required=true) String id) {
baseCommonService.addLog("删除用户id " +id ,CommonConstant.LOG_TYPE_2, 3);
return this.sysUserService.deleteById(id);
}
/**
* 批量删除用户

View File

@ -17,6 +17,7 @@ import org.jeecg.modules.system.vo.lowapp.UpdateDepartInfo;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -34,7 +35,7 @@ public interface ISysUserService extends IService<SysUser> {
/**
* 查询用户数据列表
*
*
* @param req
* @param queryWrapper
* @param pageSize
@ -42,7 +43,7 @@ public interface ISysUserService extends IService<SysUser> {
* @return
*/
Result<IPage<SysUser>> queryPageList(HttpServletRequest req, LambdaQueryWrapper<SysUser> queryWrapper, Integer pageSize, Integer pageNo);
/**
* 重置密码
*
@ -67,7 +68,14 @@ public interface ISysUserService extends IService<SysUser> {
* @param userId
* @return
*/
public boolean deleteUser(String userId);
public Result deleteUser(String userId) throws ParseException;
/**
* 删除用户
* @param userId
* @return
*/
public Result deleteById(String userId);
/**
* 批量删除用户

View File

@ -50,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@ -97,6 +98,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private SysUserTenantMapper relationMapper;
@Autowired
private SysUserTenantMapper userTenantMapper;
@Autowired
private SysTaskMapper sysTaskMapper;
@Autowired
private SysTaskStationMapper sysTaskStationMapper;
@Value("${system.auth.defaultPassword}")
private String defaultPassword;
@ -220,10 +225,52 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
@Transactional(rollbackFor = Exception.class)
public boolean deleteUser(String userId) {
public Result deleteUser(String userId) throws ParseException {
//判断当前用户是否有排班任务如果有就不让删除
LambdaQueryWrapper<SysTask> taskQueryWrapper = new LambdaQueryWrapper<>();
taskQueryWrapper.eq(SysTask::getUserId, userId);
taskQueryWrapper.ge(SysTask::getSchedulingDate, DateUtils.parseDate(DateUtils.formatDate(new Date()) ,"yyyy-MM-dd"));
List<SysTask> sysTasks = sysTaskMapper.selectList(taskQueryWrapper);
if (CollectionUtils.isNotEmpty(sysTasks)){
return Result.error("删除失败, 当前用户存在排班任务信息!");
}
//删除用户关联的权限信息
LambdaQueryWrapper<SysUserRole> userRoleQueryWrapper = new LambdaQueryWrapper<>();
userRoleQueryWrapper.eq(SysUserRole::getUserId, userId);
sysUserRoleMapper.delete(userRoleQueryWrapper);
//1.删除用户
this.removeById(userId);
return false;
this.baseMapper.deleteById(userId);
List<String> userIds = new ArrayList<>();
userIds.add(userId);
this.baseMapper.deleteLogicDeleted(userIds);
return Result.ok("删除用户成功");
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result deleteById(String userId) {
//根据用户id删除排班任务信息
LambdaQueryWrapper<SysTask> taskQueryWrapper = new LambdaQueryWrapper<>();
taskQueryWrapper.eq(SysTask::getUserId, userId);
List<SysTask> sysTasks = sysTaskMapper.selectList(taskQueryWrapper);
//如果排班任务信息不为空删除排班任务相关台站信息
if (CollectionUtils.isNotEmpty(sysTasks)){
List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList());
LambdaQueryWrapper<SysTaskStation> taskStationQueryWrapper = new LambdaQueryWrapper<>();
taskStationQueryWrapper.in(SysTaskStation::getTaskId, taskIds);
sysTaskStationMapper.delete(taskStationQueryWrapper);
}
sysTaskMapper.delete(taskQueryWrapper);
//删除用户关联的权限信息
LambdaQueryWrapper<SysUserRole> userRoleQueryWrapper = new LambdaQueryWrapper<>();
userRoleQueryWrapper.eq(SysUserRole::getUserId, userId);
sysUserRoleMapper.delete(userRoleQueryWrapper);
//1.删除用户
this.baseMapper.deleteById(userId);
List<String> userIds = new ArrayList<>();
userIds.add(userId);
this.baseMapper.deleteLogicDeleted(userIds);
return Result.ok("删除用户成功");
}
@Override