/** * 更新或者插入新的部门. * * @param request * @return 操作结果 */ @RequestMapping("/saveDepartment") @ResponseBody @ControllerLogAnnotation(description = "查询用户") public String saveDepartment(HttpServletRequest request) { Department department = new Department(); String result; String grade = request.getParameter("grade").trim(); String depaId = request.getParameter("depa_id"); String depaNo = request.getParameter("depaNo").trim(); String depaName = request.getParameter("depaName").trim(); String depaDescription = request.getParameter("depaDescription").trim(); // 级别Id int gradId = Integer.parseInt(grade.split("%")[0]); // 级别编号 int gradNo = Integer.parseInt(grade.split("%")[1]); int depDepaId; department.setDepaNo(depaNo); department.setDepaName(depaName); department.setDepaDescription(depaDescription); department.setGradId(gradId); if (gradNo > 1) { String parentIdStr = request.getParameter("" + (gradNo - 1)); // 判断是否存在父部门 if (StringUtils.isNotBlank(parentIdStr)) { depDepaId = Integer.parseInt(parentIdStr.trim()); department.setDepDepaId(depDepaId); } else { result = "父部门不为空"; return result; } } else { Department topDepartment = adminDepartmentService.getTopDepartment(); if (topDepartment != null) { // 判断是否已经存在顶级部门 if (StringUtils.isNotBlank(depaId)) { if (Integer.parseInt(depaId) != topDepartment.getDepaId().intValue()) { // 判断是否是新建顶级部门 result = "不能存在多个顶级部门"; return result; } } } } if (StringUtils.isNotBlank(depaId)) { // 更新操作 try { department.setDepaId(Integer.parseInt(depaId.trim())); adminDepartmentService.updateDepartment(department); return "success"; } catch (Exception e) { return "部门编号重复"; } } else { // 插入操作 try { adminDepartmentService.addDepartment(department); return "success"; } catch (Exception e) { return "部门编号重复"; } } }