update 优化 岗位如果绑定了用户则不允许禁用

2.X
疯狂的狮子Li 2 years ago
parent 68ad388d09
commit 160d38a9af

@ -52,6 +52,16 @@ public interface UserConstants {
*/ */
String DEPT_DISABLE = "1"; String DEPT_DISABLE = "1";
/**
*
*/
String POST_NORMAL = "0";
/**
*
*/
String POST_DISABLE = "1";
/** /**
* *
*/ */

@ -1,21 +1,22 @@
package org.dromara.system.controller.system; package org.dromara.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.bo.SysPostBo; import org.dromara.system.domain.bo.SysPostBo;
import org.dromara.system.domain.vo.SysPostVo; import org.dromara.system.domain.vo.SysPostVo;
import org.dromara.system.service.ISysPostService; import org.dromara.system.service.ISysPostService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
@ -26,7 +27,7 @@ import java.util.List;
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/post") @RequestMapping("/system/post")
public class SysPostController extends BaseController { public class SysPostController extends BaseController {
private final ISysPostService postService; private final ISysPostService postService;
@ -88,6 +89,9 @@ public class SysPostController extends BaseController {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
} else if (!postService.checkPostCodeUnique(post)) { } else if (!postService.checkPostCodeUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在"); return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
} else if (UserConstants.POST_DISABLE.equals(post.getStatus())
&& postService.countUserPostById(post.getPostId()) > 0) {
return R.fail("该岗位下存在已分配用户,不能禁用!");
} }
return toAjax(postService.updatePost(post)); return toAjax(postService.updatePost(post));
} }
@ -109,7 +113,9 @@ public class SysPostController extends BaseController {
*/ */
@GetMapping("/optionselect") @GetMapping("/optionselect")
public R<List<SysPostVo>> optionselect() { public R<List<SysPostVo>> optionselect() {
List<SysPostVo> posts = postService.selectPostAll(); SysPostBo postBo = new SysPostBo();
postBo.setStatus(UserConstants.POST_NORMAL);
List<SysPostVo> posts = postService.selectPostList(postBo);
return R.ok(posts); return R.ok(posts);
} }
} }

@ -156,7 +156,7 @@ public class SysPostServiceImpl implements ISysPostService {
for (Long postId : postIds) { for (Long postId : postIds) {
SysPost post = baseMapper.selectById(postId); SysPost post = baseMapper.selectById(postId);
if (countUserPostById(postId) > 0) { if (countUserPostById(postId) > 0) {
throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName())); throw new ServiceException(String.format("%1$s已分配,不能删除!", post.getPostName()));
} }
} }
return baseMapper.deleteBatchIds(Arrays.asList(postIds)); return baseMapper.deleteBatchIds(Arrays.asList(postIds));

Loading…
Cancel
Save