• Java项目:企业OA管理系统(java+SSM+HTML+LayUI+bootstrap+mysql)


    源码获取:俺的博客首页 "资源" 里下载!

    项目介绍

    本项目包含管理员与普通员工两种角色,
    管理员角色包含以下功能:
    岗位管理,部门管理,工龄奖金管理,员工管理,考勤管理,工资查询,职称管理,统计图表,工资项管理,管理员登录等功能。
    员工角色包含以下功能:
    个人信息管理,工资详情,考勤管理,员工登录等功能。


    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
    5.数据库:MySql 5.7版本;
    6.是否Maven项目:是;


    技术栈

    1. 后端:Spring+SpringMVC+Mybatis
    2. 前端:HTML+CSS+JavaScript+LayUI+jquery+bootstrap


    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中dbconfig.properties配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/ssm_esms_oa 登录
    注:tomcat中需配置路径为/ssm_esms_oa,否则会有异常
    管理员账号/密码:admin/admin
    用户账号/密码:18080833/123456

     

     

     

     

     

    用户管理控制层:

    1. @Controller
    2. @RequestMapping("/user")
    3. public class UserController extends BaseController{
    4. private String prefix = "system/user/";
    5. @Autowired
    6. IUserService iUserService;
    7. @Autowired
    8. IRoleService iRoleService;
    9. @Autowired
    10. IDeptService iDeptService;
    11. @Autowired
    12. IPositionService iPositionService;
    13. @Autowired
    14. private SysPasswordService passwordService;
    15. /**
    16. *
    17. * @描述 跳转到用户页面
    18. *
    19. * @date 2018/9/16 10:54
    20. */
    21. @RequestMapping("/tolist")
    22. @RequiresPermissions("user:list")
    23. public String toUserList()
    24. {
    25. return prefix + "user";
    26. }
    27. /**
    28. * @描述 用户数据
    29. * @date 2018/9/15 12:30
    30. */
    31. @RequestMapping("/tableList")
    32. @ResponseBody
    33. public TableDataInfo list(User user)
    34. {
    35. startPage();
    36. List<User> users = iUserService.selectByUser(user);
    37. return getDataTable(users);
    38. }
    39. /**
    40. * 编辑用户 system/user/edit/20180914-1
    41. */
    42. @RequiresPermissions("user:update")
    43. @RequestMapping("/edit/{userId}")
    44. public String edit(@PathVariable("userId") String userId, Model model)
    45. {
    46. // 个人信息
    47. User user = iUserService.selectByPrimaryKey(userId);
    48. Map<String, Object> role_post_dept = getRole_Post_Dept();
    49. model.addAttribute("depts", role_post_dept.get("dept"));
    50. model.addAttribute("roles", role_post_dept.get("role"));
    51. model.addAttribute("positions", role_post_dept.get("position"));
    52. model.addAttribute("user", user);
    53. return prefix + "edit";
    54. }
    55. /**
    56. *
    57. * @描述 保存用户
    58. *
    59. * @date 2018/9/15 18:53
    60. */
    61. @PostMapping("/editSave")
    62. @RequiresPermissions("user:update")
    63. @Operlog(modal = "用户管理", descr = "修改用户信息")
    64. @ResponseBody
    65. public AjaxResult save(User user)
    66. {
    67. if (StringUtils.isNotNull(user.getUid()) && User.isBoss(user.getUid()))
    68. {
    69. return error("不允许修改管理员用户");
    70. }
    71. if(user.getPwd()!=null){
    72. user.setSalt(ShiroUtils.randomSalt());
    73. SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);
    74. user.setPwd(md5.toHex());
    75. }
    76. return result(iUserService.updateByPrimaryKeySelective(user));
    77. }
    78. /**
    79. * @描述 添加用户页面
    80. * @date 2018/9/15 18:46
    81. */
    82. @RequestMapping("/toAdd")
    83. @RequiresPermissions("user:add")
    84. public String toaddUser(Model model)
    85. {
    86. Map<String, Object> role_post_dept = getRole_Post_Dept();
    87. model.addAttribute("depts", role_post_dept.get("dept"));
    88. model.addAttribute("roles", role_post_dept.get("role"));
    89. model.addAttribute("positions", role_post_dept.get("position"));
    90. return prefix + "add";
    91. }
    92. /**
    93. *
    94. * @描述 添加用户
    95. *
    96. * @date 2018/9/15 20:40
    97. */
    98. @RequestMapping("/addSave")
    99. @RequiresPermissions("user:add")
    100. @Operlog(modal = "用户管理", descr = "添加用户")
    101. @ResponseBody
    102. public AjaxResult addUser(User user)
    103. {
    104. user.setSalt(ShiroUtils.randomSalt());
    105. SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);
    106. user.setPwd(md5.toHex());
    107. user.setAvatar(CsEnum.avatar.USER_AVATAR.getValue());
    108. user.setCreateTime(new Date());
    109. return result(iUserService.insertSelective(user));
    110. }
    111. /**
    112. *
    113. * @描述 批量删除
    114. *
    115. * @date 2018/9/16 9:31
    116. */
    117. @RequestMapping("/del")
    118. @RequiresPermissions("user:del")
    119. @Operlog(modal = "用户模块", descr = "删除用户")
    120. @ResponseBody
    121. public AjaxResult delByUserIds(String[] ids)
    122. {
    123. try
    124. {
    125. int i = iUserService.deleteByPrimaryKeys(ids);
    126. }
    127. catch (Exception e)
    128. {
    129. return error(e.getMessage());
    130. }
    131. return success();
    132. }
    133. /**
    134. *
    135. * @描述 编辑密码修改页面
    136. *
    137. * @date 2018/9/16 10:25
    138. */
    139. @RequestMapping("/resetPwd/{userId}")
    140. @RequiresPermissions("user:update")
    141. public String editPwd(@PathVariable("userId") String id, Model model)
    142. {
    143. model.addAttribute("uid", id);
    144. return prefix + "resetPwd";
    145. }
    146. /**
    147. *
    148. * @描述 密码修改
    149. *
    150. * @date 2018/9/16 10:42
    151. */
    152. @RequestMapping("/resetPwd")
    153. @RequiresPermissions("user:update")
    154. @Operlog(modal = "用户模块", descr = "修改密码")
    155. @ResponseBody
    156. public AjaxResult resetPwd(User user)
    157. {
    158. return result(iUserService.resrtPwd(user));
    159. }
    160. /**
    161. * 校验手机号码
    162. */
    163. @PostMapping("/checkPhoneUnique")
    164. @ResponseBody
    165. public String checkPhoneUnique(User user)
    166. {
    167. String uniqueFlag = "0";
    168. if (user != null)
    169. {
    170. uniqueFlag = iUserService.checkPhoneUnique(user);
    171. }
    172. return uniqueFlag;
    173. }
    174. /**
    175. * 校验email邮箱
    176. */
    177. @PostMapping("/checkEmailUnique")
    178. @ResponseBody
    179. public String checkEmailUnique(User user)
    180. {
    181. String uniqueFlag = "0";
    182. if (user != null)
    183. {
    184. uniqueFlag = iUserService.checkEmailUnique(user);
    185. }
    186. return uniqueFlag;
    187. }
    188. /**
    189. *
    190. * @描述: 校验登录名唯一性
    191. *
    192. * @params:
    193. * @return:
    194. * @date: 2018/10/2 17:06
    195. */
    196. @PostMapping("/checkLoginNameUnique")
    197. @ResponseBody
    198. public String checkLoginNameUnique(User user)
    199. {
    200. String uniqueFlag = "0";
    201. if (user != null)
    202. {
    203. uniqueFlag = iUserService.checkLoginNameUnique(user);
    204. }
    205. return uniqueFlag;
    206. }
    207. public Map<String, Object> getRole_Post_Dept()
    208. {
    209. Map<String, Object> map = new HashMap<>();
    210. // 角色
    211. List<Role> roles = iRoleService.selectRoleList(new Role());
    212. // 部门信息
    213. List<Dept> depts = iDeptService.selectDeptList(new Dept());
    214. // 岗位
    215. List<Position> positions = iPositionService.selectPositionList(new Position());
    216. map.put("role", roles);
    217. map.put("dept", depts);
    218. map.put("position", positions);
    219. return map;
    220. }
    221. /**
    222. * 用户个人信息查看页面
    223. */
    224. @RequestMapping("/myMsg")
    225. public String ToMyMsg(Model model, HttpServletRequest request)
    226. {
    227. User user = iUserService.selectByPrimaryKey(getUserId());
    228. model.addAttribute("user", user);
    229. model.addAttribute("loginIp", HttpHeaderUtil.getIpAddr(request));
    230. return prefix + "profile/msg";
    231. }
    232. /**
    233. * 密码修改页面
    234. */
    235. @RequestMapping("/resetMyPwd")
    236. public String toResetPwd(Model model)
    237. {
    238. User user = iUserService.selectByPrimaryKey(getUserId());
    239. model.addAttribute("user", user);
    240. return prefix + "profile/resetPwd";
    241. }
    242. /**
    243. * 密码修改保存
    244. */
    245. @RequestMapping("/updateMyPwdSave")
    246. @ResponseBody
    247. @RequiresPermissions("user:update")
    248. @Operlog(modal = "个人信息", descr = "修改密码")
    249. public AjaxResult updateMyPwdSave(String password)
    250. {
    251. User user = new User();
    252. user.setSalt(ShiroUtils.randomSalt());
    253. SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);
    254. user.setPwd(md5.toHex());
    255. user.setUid(getUserId());
    256. int i = iUserService.updateByPrimaryKeySelective(user);
    257. if (i > 0)
    258. {
    259. //更新shiro中的信息
    260. ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
    261. return success();
    262. }
    263. return error();
    264. }
    265. /**
    266. * 编辑用户头像修改
    267. */
    268. @RequestMapping("/updateAvatar")
    269. public String toupdateAvatar(Model model)
    270. {
    271. model.addAttribute("user", getUser());
    272. return prefix + "profile/avatar";
    273. }
    274. /**
    275. * 修改保存用户头像
    276. */
    277. @RequestMapping("/updateAvatarSave")
    278. @RequiresPermissions("user:update")
    279. @Operlog(modal = "个人信息", descr = "修改头像")
    280. @ResponseBody
    281. public AjaxResult toupdateAvatar(MultipartFile file)
    282. {
    283. try
    284. {
    285. String imgPath = UploadFile.uploadUserImg(file);
    286. if (StringUtils.isEmpty(imgPath))
    287. {
    288. return error("图片上传失败,稍后再试!");
    289. }
    290. User user = new User();
    291. user.setUid(getUserId());
    292. user.setAvatar(imgPath);
    293. int i = iUserService.updateByPrimaryKeySelective(user);
    294. if (i > 0)
    295. {
    296. ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
    297. }
    298. return result(i);
    299. }
    300. catch (IOException e)
    301. {
    302. return error();
    303. }
    304. catch (FileSizeException e)
    305. {
    306. //文件过大
    307. return error(e.getMsg());
    308. }
    309. catch (FileNameLengthException e)
    310. {
    311. //文件名字超长
    312. return error(e.getMsg());
    313. }
    314. }
    315. /**
    316. * 校验密码和原来密码是否相同
    317. */
    318. @RequestMapping("/checkPassword")
    319. @ResponseBody
    320. public boolean checkPassword(String password)
    321. {
    322. //加密后与数据库密码比较
    323. User user = getUser();
    324. SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);
    325. String oldPassword = md5.toHex();
    326. String pwd = getPwd();
    327. if (pwd.equals(oldPassword))
    328. {
    329. return true;
    330. }
    331. return false;
    332. }
    333. }

    角色管理控制层:

    1. @Controller
    2. @RequestMapping("/role")
    3. public class RoleController extends BaseController{
    4. private String prefix = "system/role/";
    5. @Autowired
    6. IUserService iUserService;
    7. @Autowired
    8. IRoleService iRoleService;
    9. @Autowired
    10. IPermissionService iPermissionService;
    11. /**
    12. *
    13. * @描述 页面跳转
    14. *
    15. * @date 2018/9/16 10:59
    16. */
    17. @RequestMapping("/tolist")
    18. @RequiresPermissions("role:list")
    19. public String tolist()
    20. {
    21. return prefix + "role";
    22. }
    23. /**
    24. *
    25. * @描述 ajax请求所有
    26. *
    27. * @date 2018/9/16 10:48
    28. */
    29. @RequestMapping("/ajaxlist")
    30. @ResponseBody
    31. public List<Role> list(Role role)
    32. {
    33. List<Role> roles = iRoleService.selectRoleList(role);
    34. return roles;
    35. }
    36. /**
    37. *
    38. * @描述 列表
    39. *
    40. * @date 2018/9/16 10:52
    41. */
    42. @RequestMapping("/tableList")
    43. @ResponseBody
    44. public TableDataInfo listPag(Role role)
    45. {
    46. //开启分页
    47. startPage();
    48. List<Role> roles = iRoleService.selectRoleList(role);
    49. return getDataTable(roles);
    50. }
    51. /**
    52. *
    53. * @描述 新增页面
    54. *
    55. * @date 2018/9/16 11:37
    56. */
    57. @RequestMapping("/toAdd")
    58. @RequiresPermissions("role:add")
    59. public String toAdd(Model model)
    60. {
    61. return prefix + "add";
    62. }
    63. /**
    64. *
    65. * @描述 批量删除
    66. *
    67. * @date 2018/9/16 11:53
    68. */
    69. @RequestMapping("/del")
    70. @RequiresPermissions("role:del")
    71. @Operlog(modal = "角色管理",descr = "删除角色")
    72. @ResponseBody
    73. public AjaxResult del(Integer[] ids)
    74. {
    75. try
    76. {
    77. iRoleService.deleteByPrimaryKeys(ids);
    78. }
    79. catch (Exception e)
    80. {
    81. return error(e.getMessage());
    82. }
    83. return success();
    84. }
    85. /**
    86. *
    87. * @描述 添加保存
    88. *
    89. * @date 2018/9/16 11:54
    90. */
    91. @RequestMapping("/addSave")
    92. @RequiresPermissions("role:update")
    93. @Operlog(modal = "角色管理",descr = "添加角色")
    94. @ResponseBody
    95. public AjaxResult addRole(Role role, Integer[] ids)
    96. {
    97. role.setCreateTime(new Date());
    98. int insert = 0;
    99. try
    100. {
    101. if (StringUtils.isEmpty(ids))
    102. {
    103. ids = new Integer[0];
    104. }
    105. insert = iRoleService.insert(role, ids);
    106. }
    107. catch (Exception e)
    108. {
    109. return error(e.getMessage());
    110. }
    111. //清空缓存
    112. ShiroUtils.clearCachedAuthorizationInfo();
    113. return result(insert);
    114. }
    115. /**
    116. *
    117. * @描述: 根据ID 获取u他的所有权限 做回显
    118. *
    119. * @params: roleId 角色Id
    120. * @return:
    121. * @date: 2018/9/27 14:04
    122. */
    123. @RequestMapping("/selectById/{roleId}")
    124. @ResponseBody
    125. public Role selectById(@PathVariable("roleId") Integer roleId)
    126. {
    127. Role role = iRoleService.selectByPrimaryKey(roleId);
    128. return role;
    129. }
    130. /**
    131. *
    132. * @描述 编辑修改页面
    133. *
    134. * @date 2018/9/16 14:06
    135. */
    136. @RequestMapping("/edit/{id}")
    137. @RequiresPermissions("role:update")
    138. public String edit(@PathVariable("id") Integer id, Model model)
    139. {
    140. Role role = iRoleService.selectByPrimaryKey(id);
    141. model.addAttribute("Role", role);
    142. return prefix + "edit";
    143. }
    144. /**
    145. *
    146. * @描述 编辑修改权限页面
    147. *
    148. * @date 2018/9/16 14:06
    149. */
    150. @RequestMapping("/editPower/{id}")
    151. @RequiresPermissions("role:update")
    152. public String editPower(@PathVariable("id") Integer id, Model model)
    153. {
    154. Role role = iRoleService.selectByPrimaryKey(id);
    155. model.addAttribute("Role", role);
    156. return prefix + "editPower";
    157. }
    158. /**
    159. *
    160. * @描述 修改角色信息保存
    161. *
    162. * @date 2018/9/16 16:12
    163. */
    164. @RequestMapping("/editSave")
    165. @RequiresPermissions("role:update")
    166. @Operlog(modal = "角色管理",descr = "修改角色信息")
    167. @ResponseBody
    168. public AjaxResult save(Role role)
    169. {
    170. int i = 0;
    171. try
    172. {
    173. i = iRoleService.updateByPrimaryKeySelective(role);
    174. }
    175. catch (Exception e)
    176. {
    177. return error(e.getMessage());
    178. }
    179. return result(i);
    180. }
    181. /**
    182. *
    183. * @描述 修改角色权限信息保存
    184. *
    185. * @date 2018/9/16 16:12
    186. */
    187. @RequestMapping("/editPowerSave")
    188. @RequiresPermissions("role:update")
    189. @Operlog(modal = "角色管理",descr = "修改角色权限")
    190. @ResponseBody
    191. public AjaxResult editPowerSave(Role role, Integer[] ids)
    192. {
    193. int i = 0;
    194. try
    195. {
    196. if (StringUtils.isEmpty(ids))
    197. {
    198. ids = new Integer[0];
    199. }
    200. i = iRoleService.updateByPrimaryKeyPowerSelective(role, ids);
    201. }
    202. catch (Exception e)
    203. {
    204. return error(e.getMessage());
    205. }
    206. //清空缓存
    207. ShiroUtils.clearCachedAuthorizationInfo();
    208. //如果用户正在修改的角色id 是当前用户的角色id 则刷新 subject的User信息
    209. if (role.getRoleId().equals(getRoleId()))
    210. {
    211. ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
    212. }
    213. return result(i);
    214. }
    215. /**
    216. * 校验名称唯一
    217. */
    218. @PostMapping("/checkRoleNameUnique")
    219. @ResponseBody
    220. public String checkDeptNameUnique(Role role)
    221. {
    222. String uniqueFlag = "0";
    223. if (role != null)
    224. {
    225. uniqueFlag = iRoleService.checkRoleNameUnique(role);
    226. }
    227. return uniqueFlag;
    228. }
    229. }

    部门管理控制层:

    1. @Controller
    2. @RequestMapping("/dept")
    3. public class DeptController extends BaseController{
    4. private String prefix = "system/dept/";
    5. @Autowired
    6. IDeptService iDeptService;
    7. @Autowired
    8. IUserService iUserService;
    9. /**
    10. *
    11. * @描述 页面跳转到部门
    12. *
    13. * @date 2018/9/16 10:59
    14. */
    15. @RequestMapping("/tolist")
    16. @RequiresPermissions("dept:list")
    17. public String tolist()
    18. {
    19. return prefix + "dept";
    20. }
    21. /**
    22. *
    23. * @描述 ajax请求的所有部门
    24. *
    25. * @date 2018/9/16 10:48
    26. */
    27. @RequestMapping("/ajaxlist")
    28. @ResponseBody
    29. public List<Dept> list(Dept dept)
    30. {
    31. List<Dept> depts = iDeptService.selectDeptList(dept);
    32. return depts;
    33. }
    34. /**
    35. *
    36. * @描述 部门列表页
    37. *
    38. * @date 2018/9/16 10:52
    39. */
    40. @RequestMapping("/tableList")
    41. @ResponseBody
    42. public TableDataInfo listPag(Dept dept)
    43. {
    44. //开启分页
    45. startPage();
    46. List<Dept> depts = iDeptService.selectDeptList(dept);
    47. return getDataTable(depts);
    48. }
    49. /**
    50. *
    51. * @描述 新增页面
    52. *
    53. * @date 2018/9/16 11:37
    54. */
    55. @RequiresPermissions("dept:add")
    56. @RequestMapping("/toAdd")
    57. public String toAdd(Model model)
    58. {
    59. List<User> users = iUserService.selectByUser(new User());
    60. model.addAttribute("users", users);
    61. return prefix + "add";
    62. }
    63. /**
    64. *
    65. * @描述: 查询所有部门下的所有用户 用户归类 树状数据
    66. *
    67. * @date: 2018/9/27 11:25
    68. */
    69. @RequestMapping("/getDeptAndUserTreeData")
    70. @ResponseBody
    71. public List<Object> DeptAndUserTreeData()
    72. {
    73. List<Dept> depts = iDeptService.selectDeptAndUser();
    74. List<User> users=new ArrayList<>();
    75. LinkedList<Object> deptList = new LinkedList<>();
    76. for (Dept dept : depts)
    77. {
    78. Map<String, Object> deptMap = new HashMap();
    79. deptMap.put("name", dept.getDeptName());
    80. deptMap.put("id", null);
    81. users = dept.getUsers();
    82. LinkedList<Object> userlist = new LinkedList<>();
    83. for (User user : users)
    84. {
    85. Map<String, Object> userMap = new HashMap();
    86. userMap.put("name",user.getName());
    87. userMap.put("id",user.getUid());
    88. userMap.put("icon","/img/timg.jpg");
    89. userlist.add(userMap);
    90. }
    91. deptMap.put("children",userlist);
    92. deptList.add(deptMap);
    93. }
    94. return deptList;
    95. }
    96. /**
    97. *
    98. * @描述 批量删除
    99. *
    100. * @date 2018/9/16 11:53
    101. */
    102. @RequestMapping("/del")
    103. @RequiresPermissions("dept:del")
    104. @ResponseBody
    105. @Operlog(modal = "部门管理",descr = "删除部门")
    106. public AjaxResult del(String[] ids)
    107. {
    108. try
    109. {
    110. iDeptService.deleteByPrimaryKeys(ids);
    111. }
    112. catch (Exception e)
    113. {
    114. return error(e.getMessage());
    115. }
    116. return success();
    117. }
    118. /**
    119. *
    120. * @描述 执行保存操作
    121. *
    122. * @date 2018/9/16 11:54
    123. */
    124. @RequestMapping("/addSave")
    125. @Operlog(modal = "部门管理",descr = "添加部门")
    126. @RequiresPermissions("dept:add")
    127. @ResponseBody
    128. public AjaxResult addDept(Dept dept)
    129. {
    130. dept.setCreateTime(new Date());
    131. return result(iDeptService.insertSelective(dept));
    132. }
    133. /**
    134. *
    135. * @描述 编辑修改页面
    136. *
    137. * @date 2018/9/16 14:06
    138. */
    139. @RequestMapping("/edit/{id}")
    140. @RequiresPermissions("dept:update")
    141. public String edit(@PathVariable("id") String id, Model model)
    142. {
    143. Dept dept = iDeptService.selectByPrimaryKey(id);
    144. List<User> users = iUserService.selectByUser(new User());
    145. model.addAttribute("users", users);
    146. model.addAttribute("Dept", dept);
    147. return prefix + "edit";
    148. }
    149. /**
    150. *
    151. * @描述 修改保存
    152. *
    153. * @date 2018/9/16 16:12
    154. */
    155. @RequestMapping("/editSave")
    156. @RequiresPermissions("dept:update")
    157. @Operlog(modal = "部门管理",descr = "修改信息")
    158. @ResponseBody
    159. public AjaxResult save(Dept dept)
    160. {
    161. int i = 0;
    162. try
    163. {
    164. i = iDeptService.updateByPrimaryKeySelective(dept);
    165. }
    166. catch (Exception e)
    167. {
    168. return error(e.getMessage());
    169. }
    170. return result(i);
    171. }
    172. /**
    173. * 校验部门名称
    174. */
    175. @PostMapping("/checkDeptNameUnique")
    176. @ResponseBody
    177. public String checkDeptNameUnique(Dept dept)
    178. {
    179. String uniqueFlag = "0";
    180. if (dept != null)
    181. {
    182. uniqueFlag = iDeptService.checkDeptNameUnique(dept);
    183. }
    184. return uniqueFlag;
    185. }
    186. }

    源码获取:俺的博客首页 "资源" 里下载! 

  • 相关阅读:
    位图(bitmap)原理以及实现
    SSM - Springboot - MyBatis-Plus 全栈体系(二十一)
    开发语言工具编程系统化教程入门和初级专辑课程上线
    15c++呵呵老师【使用UMG的用户界面】
    【Selenium2+python】自动化unittest生成测试报告
    图解设计模式:身份认证场景的应用
    291_C++_发送json数据给对于的URL【JSON数据交互】
    Stable Diffusion|Ai赋能电商 Inpaint Anything
    2024有哪些免费的mac苹果电脑内存清理工具?
    SwiftUI 后台刷新多个 Section 导致 global index in collection view 与实际不匹配问题的解决
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/124965041