|
@@ -25,6 +25,7 @@ import com.lantone.common.vo.AddRoleVO;
|
|
|
import com.lantone.common.vo.AddUserVO;
|
|
|
import com.lantone.common.vo.GetHospitalListInfoVO;
|
|
|
import com.lantone.common.vo.UpdateHospitalVO;
|
|
|
+import com.lantone.common.vo.UpdateUserVO;
|
|
|
import com.lantone.dblayermbg.entity.Dept;
|
|
|
import com.lantone.dblayermbg.entity.Hospital;
|
|
|
import com.lantone.dblayermbg.entity.HospitalUser;
|
|
@@ -181,7 +182,7 @@ public class HospitalManagementFacade {
|
|
|
addHospitalTreeVO.getHospitals().add(hospitalId);
|
|
|
addUserVO.setAddHospitalTreeVO(addHospitalTreeVO);
|
|
|
}
|
|
|
-
|
|
|
+ addUserVO.setPassword(null);
|
|
|
return userManagementFacade.addUser(addUserVO);
|
|
|
} else {
|
|
|
Asserts.fail("角色插入失败");
|
|
@@ -189,6 +190,51 @@ public class HospitalManagementFacade {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param hospitalId
|
|
|
+ * @param addHospitalVO
|
|
|
+ * @Description修改组织的用户
|
|
|
+ * @Return boolean
|
|
|
+ */
|
|
|
+ private boolean updateUser(Long hospitalId, AddHospitalVO addHospitalVO) {
|
|
|
+
|
|
|
+ //1.添加角色
|
|
|
+ AddRoleVO addRoleVO = new AddRoleVO();
|
|
|
+ addRoleVO.setName(addHospitalVO.getName() + "组织管理角色");
|
|
|
+ addRoleVO.setRemark("ManagementRole");
|
|
|
+ addRoleVO.setStatus("1");
|
|
|
+ Long insertHospitalId = 0l;
|
|
|
+ if ((HospitalTypeEnum.DEPT.getKey() + "").equals(addHospitalVO.getType())) {
|
|
|
+ insertHospitalId = addHospitalVO.getParentId();
|
|
|
+ } else {
|
|
|
+ insertHospitalId = hospitalId;
|
|
|
+ }
|
|
|
+ addRoleVO.setHospitalId(insertHospitalId);
|
|
|
+ addRoleVO.setSoftwares(addHospitalVO.getSoftwares());
|
|
|
+ if (roleManagementFacade.addRole(addRoleVO)) {
|
|
|
+ //2.获取角色id完善新增用户信息
|
|
|
+ Long roleId = roleFacade.list(new QueryWrapper<Role>()
|
|
|
+ .eq("name", addHospitalVO.getName() + "组织管理角色")
|
|
|
+ .eq("hospital_id", insertHospitalId)).get(0).getId();
|
|
|
+ //拼装添加用户信息
|
|
|
+ UpdateUserVO updateUserVO = new UpdateUserVO();
|
|
|
+ BeanUtils.copyProperties(addHospitalVO.getAddHospitalUserVO(), updateUserVO);
|
|
|
+ //用户与角色的关系
|
|
|
+ updateUserVO.setRoles(new ArrayList<>());
|
|
|
+ updateUserVO.getRoles().add(roleId);
|
|
|
+ updateUserVO.setName(addHospitalVO.getName() + "管理员");
|
|
|
+ //用户与组织的关系(医院、科室)
|
|
|
+ AddHospitalTreeVO addHospitalTreeVO = new AddHospitalTreeVO();
|
|
|
+ addHospitalTreeVO.setHospitals(new ArrayList<>());
|
|
|
+ addHospitalTreeVO.getHospitals().add(hospitalId);
|
|
|
+ updateUserVO.setAddHospitalTreeVO(addHospitalTreeVO);
|
|
|
+ return userManagementFacade.updateUser(updateUserVO);
|
|
|
+ } else {
|
|
|
+ Asserts.fail("角色插入失败");
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
/**
|
|
|
* @param hospitalId
|
|
|
* @Description删除组织
|
|
@@ -260,6 +306,7 @@ public class HospitalManagementFacade {
|
|
|
if (userIds.size() > 1) {
|
|
|
Asserts.fail("该组织的管理用户存在多个,请联系管理员~");
|
|
|
}
|
|
|
+ //这里的角色和用户都是真实删除的
|
|
|
//2.获取角色id
|
|
|
List<Long> roleIds = userRoleFacade.getBaseMapper().getUserRoleById(userIds.get(0));
|
|
|
if (ListUtil.isEmpty(roleIds)) {
|
|
@@ -268,16 +315,16 @@ public class HospitalManagementFacade {
|
|
|
//通过角色id删除原来角色相关管理关系
|
|
|
AtomicBoolean deleteFlag = new AtomicBoolean(false);
|
|
|
roleIds.stream().forEach(roleId -> {
|
|
|
- deleteFlag.set(roleManagementFacade.deleteRole(roleId));
|
|
|
+ deleteFlag.set(roleManagementFacade.delete(roleId));
|
|
|
});
|
|
|
- if (deleteFlag.get()) {
|
|
|
- //3.删除用户
|
|
|
- return userManagementFacade.deleteUser(userIds.get(0));
|
|
|
- } else {
|
|
|
- Asserts.fail("管理角色删除失败");
|
|
|
- }
|
|
|
+// if (deleteFlag.get()) {
|
|
|
+// //3.删除用户
|
|
|
+// return userManagementFacade.deleteUser(userIds.get(0));
|
|
|
+// } else {
|
|
|
+// Asserts.fail("管理角色删除失败");
|
|
|
+// }
|
|
|
|
|
|
- return false;
|
|
|
+ return deleteFlag.get();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -332,7 +379,7 @@ public class HospitalManagementFacade {
|
|
|
BeanUtils.copyProperties(updateHospitalVO, addHospitalVO);
|
|
|
addHospitalVO.setAddHospitalUserVO(updateHospitalVO.getAddHospitalUserVO());
|
|
|
addHospitalVO.setSoftwares(updateHospitalVO.getSoftwares());
|
|
|
- return saveUser(updateHospitalVO.getId(), addHospitalVO);
|
|
|
+ return updateUser(updateHospitalVO.getId(), addHospitalVO);
|
|
|
}
|
|
|
} else {
|
|
|
Asserts.fail("原组织管理用户信息清除失败,请联系管理员");
|