use of org.mx.comps.rbac.dal.entity.Department in project main by JohnPeng739.
the class TestDepartment method testEditDepartment.
public static void testEditDepartment(GeneralDictAccessor service, DepartmentManageService departService) {
DepartmentManageService.DepartInfo departInfo = DepartmentManageService.DepartInfo.valueOf("depart3", "depart3", "description");
Department depart3 = departService.saveDepartment(departInfo);
assertEquals(3, service.count(Department.class));
assertNotNull(depart3);
assertNotNull(depart3.getId());
depart3Id = depart3.getId();
departInfo = DepartmentManageService.DepartInfo.valueOf("depart3", "new name", "description", depart3.getId(), "", Arrays.asList(), false);
depart3 = departService.saveDepartment(departInfo);
assertEquals(2, service.count(Department.class));
assertEquals(3, service.count(Department.class, false));
assertNotNull(depart3);
depart3 = service.getById(depart3Id, Department.class);
assertNotNull(depart3);
assertEquals("new name", depart3.getName());
assertFalse(depart3.isValid());
departInfo = DepartmentManageService.DepartInfo.valueOf("depart3", "depart3", "description", depart3.getId(), "", Arrays.asList(), true);
departService.saveDepartment(departInfo);
assertEquals(3, service.count(Department.class));
assertEquals(3, service.count(Department.class, false));
}
use of org.mx.comps.rbac.dal.entity.Department in project main by JohnPeng739.
the class DepartmentManageServiceCommonImpl method saveDepartment.
/**
* {@inheritDoc}
*
* @see DepartmentManageService#saveDepartment(DepartInfo)
*/
@Override
public Department saveDepartment(DepartInfo departInfo) {
if (departInfo == null) {
throw new UserInterfaceSystemErrorException(UserInterfaceSystemErrorException.SystemErrors.SYSTEM_ILLEGAL_PARAM);
}
String id = departInfo.getId();
Department department;
if (!StringUtils.isBlank(id)) {
department = accessor.getById(id, Department.class);
if (department == null) {
throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.DEPARTMENT_NOT_FOUND);
}
} else {
department = EntityFactory.createEntity(Department.class);
}
department.setCode(departInfo.getCode());
department.setName(departInfo.getName());
department.setDesc(departInfo.getDesc());
if (StringUtils.isBlank(departInfo.getManagerId())) {
department.setManager(null);
} else {
User manager = accessor.getById(departInfo.getManagerId(), User.class);
if (manager == null) {
throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.USER_NOT_FOUND);
}
department.setManager(manager);
}
if (department.getEmployees() != null && !department.getEmployees().isEmpty()) {
department.getEmployees().clear();
}
if (departInfo.getEmployeeIds() != null) {
for (String employeeId : departInfo.getEmployeeIds()) {
User employee = accessor.getById(employeeId, User.class);
if (employee == null) {
throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.USER_NOT_FOUND);
}
department.getEmployees().add(employee);
}
}
department.setValid(departInfo.isValid());
department = this.save(department);
if (operateLogService != null) {
operateLogService.writeLog(String.format("保存部门[code=%s, name=%s]信息成功。", departInfo.getCode(), departInfo.getName()));
}
return department;
}
use of org.mx.comps.rbac.dal.entity.Department in project main by JohnPeng739.
the class DepartmentVO method transform.
public static List<DepartmentVO> transform(Collection<Department> departments) {
List<DepartmentVO> departmentVOS = new ArrayList<>();
if (departments != null && !departments.isEmpty()) {
for (Department department : departments) {
DepartmentVO departmentVO = DepartmentVO.transform(department, false);
departmentVOS.add(departmentVO);
}
}
return departmentVOS;
}
Aggregations