mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-23 07:41:53 +08:00
完成岗位的迁移
This commit is contained in:
parent
e4fd022ce1
commit
ba6c879ee1
@ -1,130 +0,0 @@
|
|||||||
package com.ruoyi.web.controller.system;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
||||||
import com.ruoyi.system.domain.SysPost;
|
|
||||||
import com.ruoyi.system.service.ISysPostService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 岗位信息操作处理
|
|
||||||
*
|
|
||||||
* @author ruoyi
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/system/post")
|
|
||||||
public class SysPostController extends BaseController
|
|
||||||
{
|
|
||||||
@Autowired
|
|
||||||
private ISysPostService postService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取岗位列表
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:list')")
|
|
||||||
@GetMapping("/list")
|
|
||||||
public TableDataInfo list(SysPost post)
|
|
||||||
{
|
|
||||||
startPage();
|
|
||||||
List<SysPost> list = postService.selectPostList(post);
|
|
||||||
return getDataTable(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Log(title = "岗位管理", businessType = BusinessType.EXPORT)
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:export')")
|
|
||||||
@GetMapping("/export")
|
|
||||||
public AjaxResult export(SysPost post)
|
|
||||||
{
|
|
||||||
List<SysPost> list = postService.selectPostList(post);
|
|
||||||
ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class);
|
|
||||||
return util.exportExcel(list, "岗位数据");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据岗位编号获取详细信息
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:query')")
|
|
||||||
@GetMapping(value = "/{postId}")
|
|
||||||
public AjaxResult getInfo(@PathVariable Long postId)
|
|
||||||
{
|
|
||||||
return AjaxResult.success(postService.selectPostById(postId));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增岗位
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:add')")
|
|
||||||
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
|
|
||||||
@PostMapping
|
|
||||||
public AjaxResult add(@Validated @RequestBody SysPost post)
|
|
||||||
{
|
|
||||||
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
|
|
||||||
{
|
|
||||||
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
|
|
||||||
}
|
|
||||||
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
|
|
||||||
{
|
|
||||||
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
|
|
||||||
}
|
|
||||||
post.setCreateBy(SecurityUtils.getUsername());
|
|
||||||
return toAjax(postService.insertPost(post));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改岗位
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:edit')")
|
|
||||||
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
|
|
||||||
@PutMapping
|
|
||||||
public AjaxResult edit(@Validated @RequestBody SysPost post)
|
|
||||||
{
|
|
||||||
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
|
|
||||||
{
|
|
||||||
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
|
|
||||||
}
|
|
||||||
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
|
|
||||||
{
|
|
||||||
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
|
|
||||||
}
|
|
||||||
post.setUpdateBy(SecurityUtils.getUsername());
|
|
||||||
return toAjax(postService.updatePost(post));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除岗位
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('system:post:remove')")
|
|
||||||
@Log(title = "岗位管理", businessType = BusinessType.DELETE)
|
|
||||||
@DeleteMapping("/{postIds}")
|
|
||||||
public AjaxResult remove(@PathVariable Long[] postIds)
|
|
||||||
{
|
|
||||||
return toAjax(postService.deletePostByIds(postIds));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取岗位选择框列表
|
|
||||||
*/
|
|
||||||
@GetMapping("/optionselect")
|
|
||||||
public AjaxResult optionselect()
|
|
||||||
{
|
|
||||||
List<SysPost> posts = postService.selectPostAll();
|
|
||||||
return AjaxResult.success(posts);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
package com.ruoyi.common.constant;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户常量信息
|
|
||||||
*
|
|
||||||
* @author ruoyi
|
|
||||||
*/
|
|
||||||
public class UserConstants
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* 平台内系统用户的唯一标志
|
|
||||||
*/
|
|
||||||
public static final String SYS_USER = "SYS_USER";
|
|
||||||
|
|
||||||
/** 正常状态 */
|
|
||||||
public static final String NORMAL = "0";
|
|
||||||
|
|
||||||
/** 异常状态 */
|
|
||||||
public static final String EXCEPTION = "1";
|
|
||||||
|
|
||||||
/** 用户封禁状态 */
|
|
||||||
public static final String USER_DISABLE = "1";
|
|
||||||
|
|
||||||
/** 角色封禁状态 */
|
|
||||||
public static final String ROLE_DISABLE = "1";
|
|
||||||
|
|
||||||
/** 部门正常状态 */
|
|
||||||
public static final String DEPT_NORMAL = "0";
|
|
||||||
|
|
||||||
/** 部门停用状态 */
|
|
||||||
public static final String DEPT_DISABLE = "1";
|
|
||||||
|
|
||||||
/** 字典正常状态 */
|
|
||||||
public static final String DICT_NORMAL = "0";
|
|
||||||
|
|
||||||
/** 是否为系统默认(是) */
|
|
||||||
public static final String YES = "Y";
|
|
||||||
|
|
||||||
/** 是否菜单外链(是) */
|
|
||||||
public static final String YES_FRAME = "0";
|
|
||||||
|
|
||||||
/** 是否菜单外链(否) */
|
|
||||||
public static final String NO_FRAME = "1";
|
|
||||||
|
|
||||||
/** Layout组件标识 */
|
|
||||||
public final static String LAYOUT = "Layout";
|
|
||||||
|
|
||||||
/** ParentView组件标识 */
|
|
||||||
public final static String PARENT_VIEW = "ParentView";
|
|
||||||
|
|
||||||
/** 校验返回结果码 */
|
|
||||||
public final static String UNIQUE = "0";
|
|
||||||
public final static String NOT_UNIQUE = "1";
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
package com.ruoyi.common.core.controller;
|
|
||||||
|
|
||||||
import java.beans.PropertyEditorSupport;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.web.bind.WebDataBinder;
|
|
||||||
import org.springframework.web.bind.annotation.InitBinder;
|
|
||||||
import com.github.pagehelper.PageHelper;
|
|
||||||
import com.github.pagehelper.PageInfo;
|
|
||||||
import com.ruoyi.common.constant.HttpStatus;
|
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
|
||||||
import com.ruoyi.common.core.page.PageDomain;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
|
||||||
import com.ruoyi.common.core.page.TableSupport;
|
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.utils.sql.SqlUtil;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web层通用数据处理
|
|
||||||
*
|
|
||||||
* @author ruoyi
|
|
||||||
*/
|
|
||||||
public class BaseController {
|
|
||||||
protected final Logger logger = LoggerFactory.getLogger(BaseController.class);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 将前台传递过来的日期格式的字符串,自动转化为Date类型
|
|
||||||
*/
|
|
||||||
@InitBinder
|
|
||||||
public void initBinder(WebDataBinder binder) {
|
|
||||||
// Date 类型转换
|
|
||||||
binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
|
|
||||||
@Override
|
|
||||||
public void setAsText(String text) {
|
|
||||||
setValue(DateUtils.parseDate(text));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
package com.ruoyi.common.enums;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import org.springframework.lang.Nullable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 请求方式
|
|
||||||
*
|
|
||||||
* @author ruoyi
|
|
||||||
*/
|
|
||||||
public enum HttpMethod
|
|
||||||
{
|
|
||||||
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
|
|
||||||
|
|
||||||
private static final Map<String, HttpMethod> mappings = new HashMap<>(16);
|
|
||||||
|
|
||||||
static
|
|
||||||
{
|
|
||||||
for (HttpMethod httpMethod : values())
|
|
||||||
{
|
|
||||||
mappings.put(httpMethod.name(), httpMethod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
public static HttpMethod resolve(@Nullable String method)
|
|
||||||
{
|
|
||||||
return (method != null ? mappings.get(method) : null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean matches(String method)
|
|
||||||
{
|
|
||||||
return (this == resolve(method));
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||||||
// 查询岗位列表
|
// 查询岗位列表
|
||||||
export function listPost(query) {
|
export function listPost(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/post/list',
|
url: '/system/post/page',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
@ -20,7 +20,7 @@ export function listSimplePosts() {
|
|||||||
// 查询岗位详细
|
// 查询岗位详细
|
||||||
export function getPost(postId) {
|
export function getPost(postId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/post/' + postId,
|
url: '/system/post/get?id=' + postId,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -28,7 +28,7 @@ export function getPost(postId) {
|
|||||||
// 新增岗位
|
// 新增岗位
|
||||||
export function addPost(data) {
|
export function addPost(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/post',
|
url: '/system/post/create',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
@ -37,8 +37,8 @@ export function addPost(data) {
|
|||||||
// 修改岗位
|
// 修改岗位
|
||||||
export function updatePost(data) {
|
export function updatePost(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/post',
|
url: '/system/post/update',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -46,8 +46,8 @@ export function updatePost(data) {
|
|||||||
// 删除岗位
|
// 删除岗位
|
||||||
export function delPost(postId) {
|
export function delPost(postId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/post/' + postId,
|
url: '/system/post/delete?id=' + postId,
|
||||||
method: 'delete'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ import { listDept, getDept, delDept, addDept, updateDept } from "@/api/system/de
|
|||||||
import Treeselect from "@riophae/vue-treeselect";
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
|
|
||||||
import {SysCommonStatusEnum, SysMenuTypeEnum} from '@/utils/constants'
|
import {SysCommonStatusEnum} from '@/utils/constants'
|
||||||
import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict'
|
import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -249,7 +249,7 @@ export default {
|
|||||||
leader: undefined,
|
leader: undefined,
|
||||||
phone: undefined,
|
phone: undefined,
|
||||||
email: undefined,
|
email: undefined,
|
||||||
status: "0"
|
status: SysCommonStatusEnum.ENABLE,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="岗位编码" prop="postCode">
|
<el-form-item label="岗位编码" prop="code">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.postCode"
|
v-model="queryParams.code"
|
||||||
placeholder="请输入岗位编码"
|
placeholder="请输入岗位编码"
|
||||||
clearable
|
clearable
|
||||||
size="small"
|
size="small"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="岗位名称" prop="postName">
|
<el-form-item label="岗位名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.postName"
|
v-model="queryParams.name"
|
||||||
placeholder="请输入岗位名称"
|
placeholder="请输入岗位名称"
|
||||||
clearable
|
clearable
|
||||||
size="small"
|
size="small"
|
||||||
@ -22,10 +22,10 @@
|
|||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable size="small">
|
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in statusOptions"
|
v-for="dict in statusDictDatas"
|
||||||
:key="dict.dictValue"
|
:key="parseInt(dict.value)"
|
||||||
:label="dict.dictLabel"
|
:label="dict.label"
|
||||||
:value="dict.dictValue"
|
:value="parseInt(dict.value)"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -45,26 +45,6 @@
|
|||||||
v-hasPermi="['system:post:add']"
|
v-hasPermi="['system:post:add']"
|
||||||
>新增</el-button>
|
>新增</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="success"
|
|
||||||
icon="el-icon-edit"
|
|
||||||
size="mini"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleUpdate"
|
|
||||||
v-hasPermi="['system:post:edit']"
|
|
||||||
>修改</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="danger"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
size="mini"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
v-hasPermi="['system:post:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
@ -77,12 +57,11 @@
|
|||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="postList">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column label="岗位编号" align="center" prop="id" />
|
||||||
<el-table-column label="岗位编号" align="center" prop="postId" />
|
<el-table-column label="岗位编码" align="center" prop="code" />
|
||||||
<el-table-column label="岗位编码" align="center" prop="postCode" />
|
<el-table-column label="岗位名称" align="center" prop="name" />
|
||||||
<el-table-column label="岗位名称" align="center" prop="postName" />
|
<el-table-column label="岗位排序" align="center" prop="sort" />
|
||||||
<el-table-column label="岗位排序" align="center" prop="postSort" />
|
|
||||||
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
|
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@ -108,11 +87,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total>0"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="queryParams.pageNum"
|
:page.sync="queryParams.pageNo"
|
||||||
:limit.sync="queryParams.pageSize"
|
:limit.sync="queryParams.pageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
@ -120,22 +99,22 @@
|
|||||||
<!-- 添加或修改岗位对话框 -->
|
<!-- 添加或修改岗位对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="岗位名称" prop="postName">
|
<el-form-item label="岗位名称" prop="name">
|
||||||
<el-input v-model="form.postName" placeholder="请输入岗位名称" />
|
<el-input v-model="form.name" placeholder="请输入岗位名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="岗位编码" prop="postCode">
|
<el-form-item label="岗位编码" prop="code">
|
||||||
<el-input v-model="form.postCode" placeholder="请输入编码名称" />
|
<el-input v-model="form.code" placeholder="请输入编码名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="岗位顺序" prop="postSort">
|
<el-form-item label="岗位顺序" prop="sort">
|
||||||
<el-input-number v-model="form.postSort" controls-position="right" :min="0" />
|
<el-input-number v-model="form.sort" controls-position="right" :min="0" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="岗位状态" prop="status">
|
<el-form-item label="岗位状态" prop="status">
|
||||||
<el-radio-group v-model="form.status">
|
<el-radio-group v-model="form.status">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="dict in statusOptions"
|
v-for="dict in statusDictDatas"
|
||||||
:key="dict.dictValue"
|
:key="parseInt(dict.value)"
|
||||||
:label="dict.dictValue"
|
:label="parseInt(dict.value)"
|
||||||
>{{dict.dictLabel}}</el-radio>
|
>{{dict.label}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
@ -153,6 +132,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { listPost, getPost, delPost, addPost, updatePost, exportPost } from "@/api/system/post";
|
import { listPost, getPost, delPost, addPost, updatePost, exportPost } from "@/api/system/post";
|
||||||
|
|
||||||
|
import {SysCommonStatusEnum} from '@/utils/constants'
|
||||||
|
import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Post",
|
name: "Post",
|
||||||
data() {
|
data() {
|
||||||
@ -179,47 +161,49 @@ export default {
|
|||||||
statusOptions: [],
|
statusOptions: [],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
postCode: undefined,
|
code: undefined,
|
||||||
postName: undefined,
|
name: undefined,
|
||||||
status: undefined
|
status: undefined
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
postName: [
|
name: [
|
||||||
{ required: true, message: "岗位名称不能为空", trigger: "blur" }
|
{ required: true, message: "岗位名称不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
postCode: [
|
code: [
|
||||||
{ required: true, message: "岗位编码不能为空", trigger: "blur" }
|
{ required: true, message: "岗位编码不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
postSort: [
|
sort: [
|
||||||
{ required: true, message: "岗位顺序不能为空", trigger: "blur" }
|
{ required: true, message: "岗位顺序不能为空", trigger: "blur" }
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// 枚举
|
||||||
|
CommonStatusEnum: SysCommonStatusEnum,
|
||||||
|
// 数据字典
|
||||||
|
statusDictDatas: getDictDatas(DICT_TYPE.SYS_COMMON_STATUS)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getDicts("sys_normal_disable").then(response => {
|
|
||||||
this.statusOptions = response.data;
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询岗位列表 */
|
/** 查询岗位列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listPost(this.queryParams).then(response => {
|
listPost(this.queryParams).then(response => {
|
||||||
this.postList = response.rows;
|
this.postList = response.data.list;
|
||||||
this.total = response.total;
|
this.total = response.data.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 岗位状态字典翻译
|
// 岗位状态字典翻译
|
||||||
statusFormat(row, column) {
|
statusFormat(row, column) {
|
||||||
return this.selectDictLabel(this.statusOptions, row.status);
|
return getDictDataLabel(DICT_TYPE.SYS_COMMON_STATUS, row.status)
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancel() {
|
cancel() {
|
||||||
@ -229,18 +213,18 @@ export default {
|
|||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
postId: undefined,
|
id: undefined,
|
||||||
postCode: undefined,
|
code: undefined,
|
||||||
postName: undefined,
|
name: undefined,
|
||||||
postSort: 0,
|
sort: 0,
|
||||||
status: "0",
|
status: SysCommonStatusEnum.ENABLE,
|
||||||
remark: undefined
|
remark: undefined
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNo = 1;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
@ -248,12 +232,6 @@ export default {
|
|||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
|
||||||
handleSelectionChange(selection) {
|
|
||||||
this.ids = selection.map(item => item.postId)
|
|
||||||
this.single = selection.length!=1
|
|
||||||
this.multiple = !selection.length
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
@ -263,8 +241,8 @@ export default {
|
|||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const postId = row.postId || this.ids
|
const id = row.id
|
||||||
getPost(postId).then(response => {
|
getPost(id).then(response => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改岗位";
|
this.title = "修改岗位";
|
||||||
@ -274,7 +252,7 @@ export default {
|
|||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.postId != undefined) {
|
if (this.form.id !== undefined) {
|
||||||
updatePost(this.form).then(response => {
|
updatePost(this.form).then(response => {
|
||||||
this.msgSuccess("修改成功");
|
this.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
@ -292,13 +270,13 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const postIds = row.postId || this.ids;
|
const ids = row.id;
|
||||||
this.$confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?', "警告", {
|
this.$confirm('是否确认删除岗位编号为"' + ids + '"的数据项?', "警告", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning"
|
type: "warning"
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return delPost(postIds);
|
return delPost(ids);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.msgSuccess("删除成功");
|
this.msgSuccess("删除成功");
|
||||||
@ -319,4 +297,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,15 +2,16 @@ package cn.iocoder.dashboard.modules.system.controller.dept;
|
|||||||
|
|
||||||
import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
|
import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
|
||||||
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
||||||
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostSimpleRespVO;
|
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.*;
|
||||||
import cn.iocoder.dashboard.modules.system.convert.dept.SysPostConvert;
|
import cn.iocoder.dashboard.modules.system.convert.dept.SysPostConvert;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
||||||
import cn.iocoder.dashboard.modules.system.service.dept.SysPostService;
|
import cn.iocoder.dashboard.modules.system.service.dept.SysPostService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -37,4 +38,54 @@ public class SysPostController {
|
|||||||
return success(SysPostConvert.INSTANCE.convertList02(list));
|
return success(SysPostConvert.INSTANCE.convertList02(list));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获得岗位分页列表")
|
||||||
|
@GetMapping("/page")
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:list')")
|
||||||
|
public CommonResult<PageResult<SysPostRespVO>> pagePosts(@Validated SysPostPageReqVO reqVO) {
|
||||||
|
return success(SysPostConvert.INSTANCE.convertPage(postService.pagePosts(reqVO)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("新增岗位")
|
||||||
|
@PostMapping("/create")
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:add')")
|
||||||
|
// @Log(title = "岗位管理", businessType = BusinessType.INSERT)
|
||||||
|
public CommonResult<Long> createPost(@Validated @RequestBody SysPostCreateReqVO reqVO) {
|
||||||
|
Long postId = postService.createPost(reqVO);
|
||||||
|
return success(postId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("修改岗位")
|
||||||
|
@PostMapping("/update")
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:edit')")
|
||||||
|
// @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
|
||||||
|
public CommonResult<Boolean> updatePost(@Validated @RequestBody SysPostUpdateReqVO reqVO) {
|
||||||
|
postService.updatePost(reqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除岗位")
|
||||||
|
@PostMapping("/delete")
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:remove')")
|
||||||
|
// @Log(title = "岗位管理", businessType = BusinessType.DELETE)
|
||||||
|
public CommonResult<Boolean> deletePost(@RequestParam("id") Long id) {
|
||||||
|
postService.deletePost(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获得岗位信息")
|
||||||
|
@ApiImplicitParam(name = "id", value = "岗位编号", readOnly = true, example = "1024")
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:query')")
|
||||||
|
@GetMapping(value = "/get")
|
||||||
|
public CommonResult<SysPostRespVO> getPost(@RequestParam("id") Long id) {
|
||||||
|
return success(SysPostConvert.INSTANCE.convert(postService.getPost(id)));
|
||||||
|
}
|
||||||
|
|
||||||
|
// @Log(title = "岗位管理", businessType = BusinessType.EXPORT)
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:post:export')")
|
||||||
|
// @GetMapping("/export")
|
||||||
|
// public AjaxResult export(SysPost post) {
|
||||||
|
// List<SysPost> list = postService.selectPostList(post);
|
||||||
|
// ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class);
|
||||||
|
// return util.exportExcel(list, "岗位数据");
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,9 @@ public class SysPostBaseVO {
|
|||||||
@NotBlank(message = "显示顺序不能为空")
|
@NotBlank(message = "显示顺序不能为空")
|
||||||
private String sort;
|
private String sort;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
@ApiModelProperty(value = "备注", example = "快乐的备注")
|
@ApiModelProperty(value = "备注", example = "快乐的备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
package cn.iocoder.dashboard.modules.system.controller.dept.vo.post;
|
||||||
|
|
||||||
|
import cn.iocoder.dashboard.common.pojo.PageParam;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@ApiModel("岗位分页 Request VO")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class SysPostPageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "岗位名称", example = "芋道", notes = "模糊匹配")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "展示状态", example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
}
|
@ -15,9 +15,6 @@ public class SysPostRespVO extends SysPostBaseVO {
|
|||||||
@ApiModelProperty(value = "岗位序号", required = true, example = "1024")
|
@ApiModelProperty(value = "岗位序号", required = true, example = "1024")
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
|
|
||||||
private Integer status;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
|
@ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
|
@ -14,6 +14,6 @@ public class SysPostUpdateReqVO extends SysPostBaseVO {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "岗位编号", required = true, example = "1024")
|
@ApiModelProperty(value = "岗位编号", required = true, example = "1024")
|
||||||
@NotNull(message = "岗位编号不能为空")
|
@NotNull(message = "岗位编号不能为空")
|
||||||
private Integer id;
|
private Long id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
package cn.iocoder.dashboard.modules.system.convert.dept;
|
package cn.iocoder.dashboard.modules.system.convert.dept;
|
||||||
|
|
||||||
|
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostCreateReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostRespVO;
|
||||||
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostSimpleRespVO;
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostSimpleRespVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostUpdateReqVO;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.Mapping;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -14,4 +20,15 @@ public interface SysPostConvert {
|
|||||||
|
|
||||||
List<SysPostSimpleRespVO> convertList02(List<SysPostDO> list);
|
List<SysPostSimpleRespVO> convertList02(List<SysPostDO> list);
|
||||||
|
|
||||||
|
PageResult<SysPostRespVO> convertPage(PageResult<SysPostDO> page);
|
||||||
|
|
||||||
|
SysPostRespVO convert(SysPostDO id);
|
||||||
|
|
||||||
|
@Mapping(source = "records", target = "list")
|
||||||
|
PageResult<SysPostDO> convertPage02(IPage<SysPostDO> page);
|
||||||
|
|
||||||
|
SysPostDO convert(SysPostCreateReqVO bean);
|
||||||
|
|
||||||
|
SysPostDO convert(SysPostUpdateReqVO reqVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept;
|
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept;
|
||||||
|
|
||||||
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
|
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
|
||||||
|
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -16,4 +20,18 @@ public interface SysPostMapper extends BaseMapper<SysPostDO> {
|
|||||||
.inIfPresent("status", statuses));
|
.inIfPresent("status", statuses));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default IPage<SysPostDO> selectList(SysPostPageReqVO reqVO) {
|
||||||
|
return selectPage(MyBatisUtils.buildPage(reqVO),
|
||||||
|
new QueryWrapperX<SysPostDO>().likeIfPresent("name", reqVO.getName())
|
||||||
|
.eqIfPresent("status", reqVO.getStatus()));
|
||||||
|
}
|
||||||
|
|
||||||
|
default SysPostDO selectByName(String name) {
|
||||||
|
return selectOne(new QueryWrapper<SysPostDO>().eq("name", name));
|
||||||
|
}
|
||||||
|
|
||||||
|
default SysPostDO selectByCode(String code) {
|
||||||
|
return selectOne(new QueryWrapper<SysPostDO>().eq("code", code));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -51,5 +51,7 @@ public interface SysErrorCodeConstants {
|
|||||||
// ========== 岗位模块 1002005000 ==========
|
// ========== 岗位模块 1002005000 ==========
|
||||||
ErrorCode POST_NOT_FOUND = new ErrorCode(1002005001, "当前岗位不存在");
|
ErrorCode POST_NOT_FOUND = new ErrorCode(1002005001, "当前岗位不存在");
|
||||||
ErrorCode POST_NOT_ENABLE = new ErrorCode(1002005002, "岗位({}) 不处于开启状态,不允许选择");
|
ErrorCode POST_NOT_ENABLE = new ErrorCode(1002005002, "岗位({}) 不处于开启状态,不允许选择");
|
||||||
|
ErrorCode POST_NAME_DUPLICATE = new ErrorCode(1002004001, "已经存在该名字的岗位");
|
||||||
|
ErrorCode POST_CODE_DUPLICATE = new ErrorCode(1002004001, "已经存在该标识的岗位");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package cn.iocoder.dashboard.modules.system.service.dept;
|
package cn.iocoder.dashboard.modules.system.service.dept;
|
||||||
|
|
||||||
|
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostCreateReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostUpdateReqVO;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
@ -22,4 +26,42 @@ public interface SysPostService {
|
|||||||
*/
|
*/
|
||||||
List<SysPostDO> listPosts(@Nullable Collection<Long> ids, @Nullable Collection<Integer> statuses);
|
List<SysPostDO> listPosts(@Nullable Collection<Long> ids, @Nullable Collection<Integer> statuses);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得岗位分页列表
|
||||||
|
*
|
||||||
|
* @param reqVO 分页条件
|
||||||
|
* @return 部门分页列表
|
||||||
|
*/
|
||||||
|
PageResult<SysPostDO> pagePosts(SysPostPageReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得岗位信息
|
||||||
|
*
|
||||||
|
* @param id 岗位编号
|
||||||
|
* @return 岗位信息
|
||||||
|
*/
|
||||||
|
SysPostDO getPost(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建岗位
|
||||||
|
*
|
||||||
|
* @param reqVO 岗位信息
|
||||||
|
* @return 岗位编号
|
||||||
|
*/
|
||||||
|
Long createPost(SysPostCreateReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新岗位
|
||||||
|
*
|
||||||
|
* @param reqVO 岗位信息
|
||||||
|
*/
|
||||||
|
void updatePost(SysPostUpdateReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除岗位信息
|
||||||
|
*
|
||||||
|
* @param id 岗位编号
|
||||||
|
*/
|
||||||
|
void deletePost(Long id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -175,7 +175,7 @@ public class SysDeptServiceImpl implements SysDeptService {
|
|||||||
if (parentId.equals(id)) {
|
if (parentId.equals(id)) {
|
||||||
throw ServiceExceptionUtil.exception(DEPT_PARENT_ERROR);
|
throw ServiceExceptionUtil.exception(DEPT_PARENT_ERROR);
|
||||||
}
|
}
|
||||||
// 父菜单不存在
|
// 父岗位不存在
|
||||||
SysDeptDO dept = deptMapper.selectById(parentId);
|
SysDeptDO dept = deptMapper.selectById(parentId);
|
||||||
if (dept == null) {
|
if (dept == null) {
|
||||||
throw ServiceExceptionUtil.exception(DEPT_PARENT_NOT_EXITS);
|
throw ServiceExceptionUtil.exception(DEPT_PARENT_NOT_EXITS);
|
||||||
@ -206,7 +206,7 @@ public class SysDeptServiceImpl implements SysDeptService {
|
|||||||
if (menu == null) {
|
if (menu == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 如果 id 为空,说明不用比较是否为相同 id 的菜单
|
// 如果 id 为空,说明不用比较是否为相同 id 的岗位
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
throw ServiceExceptionUtil.exception(DEPT_NAME_DUPLICATE);
|
throw ServiceExceptionUtil.exception(DEPT_NAME_DUPLICATE);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
package cn.iocoder.dashboard.modules.system.service.dept.impl;
|
package cn.iocoder.dashboard.modules.system.service.dept.impl;
|
||||||
|
|
||||||
|
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
|
||||||
|
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostCreateReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostUpdateReqVO;
|
||||||
|
import cn.iocoder.dashboard.modules.system.convert.dept.SysPostConvert;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept.SysPostMapper;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept.SysPostMapper;
|
||||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
|
||||||
import cn.iocoder.dashboard.modules.system.service.dept.SysPostService;
|
import cn.iocoder.dashboard.modules.system.service.dept.SysPostService;
|
||||||
@ -9,6 +15,8 @@ import javax.annotation.Resource;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 岗位 Service 实现类
|
* 岗位 Service 实现类
|
||||||
*
|
*
|
||||||
@ -25,4 +33,88 @@ public class SysPostServiceImpl implements SysPostService {
|
|||||||
return postMapper.selectList(ids, statuses);
|
return postMapper.selectList(ids, statuses);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<SysPostDO> pagePosts(SysPostPageReqVO reqVO) {
|
||||||
|
return SysPostConvert.INSTANCE.convertPage02(postMapper.selectList(reqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysPostDO getPost(Long id) {
|
||||||
|
return postMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long createPost(SysPostCreateReqVO reqVO) {
|
||||||
|
// 校验正确性
|
||||||
|
this.checkCreateOrUpdate(null, reqVO.getName(), reqVO.getCode());
|
||||||
|
// 插入岗位
|
||||||
|
SysPostDO post = SysPostConvert.INSTANCE.convert(reqVO);
|
||||||
|
postMapper.insert(post);
|
||||||
|
return post.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updatePost(SysPostUpdateReqVO reqVO) {
|
||||||
|
// 校验正确性
|
||||||
|
this.checkCreateOrUpdate(reqVO.getId(), reqVO.getName(), reqVO.getCode());
|
||||||
|
// 更新岗位
|
||||||
|
SysPostDO updateObj = SysPostConvert.INSTANCE.convert(reqVO);
|
||||||
|
postMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCreateOrUpdate(Long id, String name, String code) {
|
||||||
|
// 校验自己存在
|
||||||
|
checkPostExists(id);
|
||||||
|
// 校验岗位名的唯一性
|
||||||
|
checkPostNameUnique(id, name);
|
||||||
|
// 校验岗位编码的唯一性
|
||||||
|
checkPostCodeUnique(id, code);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkPostNameUnique(Long id, String name) {
|
||||||
|
SysPostDO post = postMapper.selectByName(name);
|
||||||
|
if (post == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 如果 id 为空,说明不用比较是否为相同 id 的岗位
|
||||||
|
if (id == null) {
|
||||||
|
throw ServiceExceptionUtil.exception(POST_NAME_DUPLICATE);
|
||||||
|
}
|
||||||
|
if (!post.getId().equals(id)) {
|
||||||
|
throw ServiceExceptionUtil.exception(POST_NAME_DUPLICATE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkPostCodeUnique(Long id, String code) {
|
||||||
|
SysPostDO post = postMapper.selectByCode(code);
|
||||||
|
if (post == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 如果 id 为空,说明不用比较是否为相同 id 的岗位
|
||||||
|
if (id == null) {
|
||||||
|
throw ServiceExceptionUtil.exception(POST_CODE_DUPLICATE);
|
||||||
|
}
|
||||||
|
if (!post.getId().equals(id)) {
|
||||||
|
throw ServiceExceptionUtil.exception(POST_CODE_DUPLICATE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deletePost(Long id) {
|
||||||
|
// 校验是否存在
|
||||||
|
this.checkPostExists(id);
|
||||||
|
// 删除部门
|
||||||
|
postMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkPostExists(Long id) {
|
||||||
|
if (id == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SysPostDO post = postMapper.selectById(id);
|
||||||
|
if (post == null) {
|
||||||
|
throw ServiceExceptionUtil.exception(POST_NOT_FOUND);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user