diff --git a/nursing-unit-api/src/main/java/com/nu/modules/employess/EmployessApi.java b/nursing-unit-api/src/main/java/com/nu/modules/employess/EmployessApi.java index 75570c18..d8243292 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/employess/EmployessApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/employess/EmployessApi.java @@ -37,7 +37,7 @@ public class EmployessApi { if (StringUtils.isBlank(employessId)){ return Result.error("参数错误"); } - List> result = employeesInfoApi.getPermissionList(employessId); + List> result = employeesInfoApi.getPermissionList(employessId); return Result.ok(result); } diff --git a/nursing-unit-employee/nu-employee-api/nu-employee-local-api/src/main/java/com/nu/modules/IEmployeesInfoApi.java b/nursing-unit-employee/nu-employee-api/nu-employee-local-api/src/main/java/com/nu/modules/IEmployeesInfoApi.java index 3b38248e..bb080f49 100644 --- a/nursing-unit-employee/nu-employee-api/nu-employee-local-api/src/main/java/com/nu/modules/IEmployeesInfoApi.java +++ b/nursing-unit-employee/nu-employee-api/nu-employee-local-api/src/main/java/com/nu/modules/IEmployeesInfoApi.java @@ -4,5 +4,5 @@ import java.util.List; import java.util.Map; public interface IEmployeesInfoApi { - List> getPermissionList(String employessId); + List> getPermissionList(String employessId); } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesInfo/service/impl/BizEmployeesInfoServiceImpl.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesInfo/service/impl/BizEmployeesInfoServiceImpl.java index dbfb698b..f31f50b2 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesInfo/service/impl/BizEmployeesInfoServiceImpl.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesInfo/service/impl/BizEmployeesInfoServiceImpl.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 员工信息 @@ -32,15 +33,40 @@ public class BizEmployeesInfoServiceImpl extends ServiceImpl> getPermissionList(String employessId) { - List> mapList = new ArrayList<>(); + public List> getPermissionList(String employessId) { List permissionList = nuAppEmployessPermissionService.listByEmployessId(employessId); + List> originalData = new ArrayList<>(); for(NuAppEmployessPermission par:permissionList){ Map map = new HashMap<>(); + map.put("nuId", par.getNuId()); map.put("menuName", par.getMenuName()); map.put("menuCode", par.getMenuCode()); - mapList.add(map); + originalData.add(map); } + List> mapList = new ArrayList<>(); + mapList = convertSimple(originalData); return mapList; } + + public static List> convertSimple(List> data) { + Map>> grouped = new HashMap<>(); + + for (Map item : data) { + Map menuItem = new HashMap<>(); + menuItem.put("menuCode", item.get("menuCode")); + menuItem.put("menuName", item.get("menuName")); + + grouped.computeIfAbsent(item.get("nuId"), k -> new ArrayList<>()) + .add(menuItem); + } + + return grouped.entrySet().stream() + .map(entry -> { + Map result = new HashMap<>(); + result.put("nuId", entry.getKey()); + result.put("dataList", entry.getValue()); + return result; + }) + .collect(Collectors.toList()); + } } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/controller/NuAppEmployessPermissionController.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/controller/NuAppEmployessPermissionController.java index 6a8bc6a7..cc81e15a 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/controller/NuAppEmployessPermissionController.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/controller/NuAppEmployessPermissionController.java @@ -8,6 +8,7 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.nu.modules.appConfig.entity.NuAppPermission; @@ -271,7 +272,7 @@ public class NuAppEmployessPermissionController extends JeecgController saveRolePermissionList(@RequestBody JSONArray jsonList) { + long start = System.currentTimeMillis(); + Result result = new Result<>(); + try { + for (int i = 0; i < jsonList.size(); i++) { + JSONObject obj = jsonList.getJSONObject(i); + + // 获取字段值 + JSONArray active = obj.getJSONArray("permissionId"); + if(active!=null && active.size()>0){ + String permissionIds = ""; + String roleId = obj.getString("roleId"); + String nuId = obj.getString("nuId"); + String lastPermissionIds = obj.getString("lastpermissionIds"); + for (int j = 0; j < active.size(); j++){ + permissionIds = permissionIds+active.getString(j)+","; + } + this.nuAppEmployessPermissionService.saveRolePermission(roleId, permissionIds,lastPermissionIds, nuId); + + } + +// System.out.println("第 " + i + " 个对象:"); +// System.out.println(" name: " + name); +// System.out.println(" age: " + age); +// System.out.println(" active: " + active); + + // 遍历对象的所有字段 +// for (String key : obj.keySet()) { +// Object value = obj.get(key); +// System.out.println(" " + key + ": " + value); +// } + } +// for (JSONObject json : jsonList){ +// String roleId = json.getString("roleId"); +// String permissionIds = json.getString("permissionIds"); +// String lastPermissionIds = json.getString("lastpermissionIds"); +// this.nuAppEmployessPermissionService.saveRolePermission(roleId, permissionIds, lastPermissionIds); +// //update-begin---author:wangshuai ---date:20220316 for:[VUEN-234]用户管理角色授权添加敏感日志------------ +// LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// baseCommonService.addLog("修改角色ID: "+roleId+" 的权限配置,操作人: " +loginUser.getUsername() ,CommonConstant.LOG_TYPE_2, 2); +// //update-end---author:wangshuai ---date:20220316 for:[VUEN-234]用户管理角色授权添加敏感日志------------ +// result.success("保存成功!"); +// log.info("======角色授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒"); +// } + + + } catch (Exception e) { + result.error500("授权失败!"); + log.error(e.getMessage(), e); + } + return result; + } } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/entity/NuAppEmployessPermission.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/entity/NuAppEmployessPermission.java index ebe337ca..96694284 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/entity/NuAppEmployessPermission.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/entity/NuAppEmployessPermission.java @@ -69,8 +69,9 @@ public class NuAppEmployessPermission implements Serializable { private String menuCode; - public NuAppEmployessPermission(String roleId, String permissionId) { + public NuAppEmployessPermission(String roleId, String permissionId,String nuId) { this.roleId = roleId; this.permissionId = permissionId; + this.nuId = nuId; } } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/INuAppEmployessPermissionService.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/INuAppEmployessPermissionService.java index 7e6a45ff..9d27bf2d 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/INuAppEmployessPermissionService.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/INuAppEmployessPermissionService.java @@ -14,7 +14,7 @@ import java.util.List; */ public interface INuAppEmployessPermissionService extends IService { - void saveRolePermission(String roleId, String permissionIds, String lastPermissionIds); + void saveRolePermission(String roleId, String permissionIds, String lastPermissionIds,String nuId); List listByEmployessId(String employessId); } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/impl/NuAppEmployessPermissionServiceImpl.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/impl/NuAppEmployessPermissionServiceImpl.java index ccd7290d..4552d3ee 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/impl/NuAppEmployessPermissionServiceImpl.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employessPermission/service/impl/NuAppEmployessPermissionServiceImpl.java @@ -25,7 +25,7 @@ import java.util.*; public class NuAppEmployessPermissionServiceImpl extends ServiceImpl implements INuAppEmployessPermissionService { @Override - public void saveRolePermission(String roleId, String permissionIds, String lastPermissionIds) { + public void saveRolePermission(String roleId, String permissionIds,String lastPermissionIds, String nuId) { String ip = ""; try { //获取request @@ -35,26 +35,41 @@ public class NuAppEmployessPermissionServiceImpl extends ServiceImpl add = getDiff(lastPermissionIds,permissionIds); - if(add!=null && add.size()>0) { + this.remove(new QueryWrapper().lambda().eq(NuAppEmployessPermission::getRoleId, roleId).eq(NuAppEmployessPermission::getNuId, nuId)); + + if (oConvertUtils.isNotEmpty(permissionIds)){ List list = new ArrayList(); - for (String p : add) { - if(oConvertUtils.isNotEmpty(p)) { - NuAppEmployessPermission rolepms = new NuAppEmployessPermission(roleId, p); - rolepms.setOperateDate(new Date()); - rolepms.setOperateIp(ip); - list.add(rolepms); - } + for (String permissionId : permissionIds.split(",")){ + NuAppEmployessPermission rolepms = new NuAppEmployessPermission(roleId, permissionId,nuId); + rolepms.setOperateDate(new Date()); + rolepms.setOperateIp(ip); + list.add(rolepms); } this.saveBatch(list); } - List delete = getDiff(permissionIds,lastPermissionIds); - if(delete!=null && delete.size()>0) { - for (String permissionId : delete) { - this.remove(new QueryWrapper().lambda().eq(NuAppEmployessPermission::getRoleId, roleId).eq(NuAppEmployessPermission::getPermissionId, permissionId)); - } - } + + +// List add = getDiff(lastPermissionIds,permissionIds,nuId); +// if(add!=null && add.size()>0) { +// List list = new ArrayList(); +// for (String p : add) { +// if(oConvertUtils.isNotEmpty(p)) { +// NuAppEmployessPermission rolepms = new NuAppEmployessPermission(roleId, p); +// rolepms.setOperateDate(new Date()); +// rolepms.setOperateIp(ip); +// list.add(rolepms); +// } +// } +// this.saveBatch(list); +// } +// +// List delete = getDiff(permissionIds,lastPermissionIds,nuId); +// if(delete!=null && delete.size()>0) { +// for (String permissionId : delete) { +// this.remove(new QueryWrapper().lambda().eq(NuAppEmployessPermission::getRoleId, roleId).eq(NuAppEmployessPermission::getPermissionId, permissionId).eq(NuAppEmployessPermission::getNuId, nuId)); +// } +// } } @Override @@ -68,13 +83,16 @@ public class NuAppEmployessPermissionServiceImpl extends ServiceImpl getDiff(String main,String diff){ + private List getDiff(String main,String diff,String nuId){ if(oConvertUtils.isEmpty(diff)) { return null; } if(oConvertUtils.isEmpty(main)) { return Arrays.asList(diff.split(",")); } + if(oConvertUtils.isEmpty(nuId)) { + return null; + } String[] mainArr = main.split(","); String[] diffArr = diff.split(","); diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/controller/NuBaseInfoController.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/controller/NuBaseInfoController.java index 752f1072..e57b8fa1 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/controller/NuBaseInfoController.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/controller/NuBaseInfoController.java @@ -69,7 +69,7 @@ public class NuBaseInfoController extends JeecgController> qyList(NuBaseInfo nuBaseInfo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "15") Integer pageSize, + @RequestParam(name = "pageSize", defaultValue = "100") Integer pageSize, HttpServletRequest req) { Map customeRuleMap = new HashMap<>(); QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBaseInfo, req.getParameterMap(), customeRuleMap); @@ -80,6 +80,21 @@ public class NuBaseInfoController extends JeecgController> qyPemissionList(NuBaseInfo nuBaseInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "100") Integer pageSize, + HttpServletRequest req) { + Map customeRuleMap = new HashMap<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBaseInfo, req.getParameterMap(), customeRuleMap); + queryWrapper.like(StringUtils.isNotBlank(nuBaseInfo.getNuNameParams()),"a.nu_name",nuBaseInfo.getNuNameParams()); +// queryWrapper.isNotNull("b.id"); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuBaseInfoService.qyPemissionList(page, queryWrapper, nuBaseInfo.getEmployessId()); + return Result.OK(pageList); + } + /** * 护理单元-入住信息分页列表查询 * diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java index 355b49ee..8af3ded6 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java @@ -179,5 +179,11 @@ public class NuBaseInfo implements Serializable { //单元对应外挂 @TableField(exist = false) private List permissionList; + //单元对应外挂 + @TableField(exist = false) + private String permissionIds; + //护理员id + @TableField(exist = false) + private String employessId; } diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/NuBaseInfoMapper.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/NuBaseInfoMapper.java index 7db7488b..1d3dbc53 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/NuBaseInfoMapper.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/NuBaseInfoMapper.java @@ -30,4 +30,6 @@ public interface NuBaseInfoMapper extends BaseMapper { int updateWarningByNuId(NuBaseInfoEntity nuBaseInfoApiDto); List queryNuAndCameraInfo(@Param("dto") NuBaseInfoEntity dto); + + List getPermissionList(@Param("employessId") String employessId); } diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/xml/NuBaseInfoMapper.xml b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/xml/NuBaseInfoMapper.xml index 86379d3e..6e327348 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/xml/NuBaseInfoMapper.xml +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/mapper/xml/NuBaseInfoMapper.xml @@ -74,4 +74,9 @@ order by nuInfo.nu_id asc + + + diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/INuBaseInfoService.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/INuBaseInfoService.java index 57f5c59e..bf84f92a 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/INuBaseInfoService.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/INuBaseInfoService.java @@ -23,4 +23,6 @@ public interface INuBaseInfoService extends IService { void batchInsert(List syncList); IPage qyList(Page page, QueryWrapper queryWrapper); + + IPage qyPemissionList(Page page, QueryWrapper queryWrapper,String employessId); } diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java index b4db3e5b..7d782037 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java @@ -60,6 +60,7 @@ public class NuBaseInfoServiceImpl extends ServiceImpl qyPemissionList(Page page, QueryWrapper queryWrapper,String employessId) { + IPage listPage = baseMapper.qyList(page, queryWrapper); + + List perList = baseMapper.getPermissionList(employessId); + + listPage.getRecords().forEach(nuBaseInfo -> { + perList.forEach(per -> { + if (per.getNuId().equals(nuBaseInfo.getNuId())) { + nuBaseInfo.setPermissionIds(per.getPermissionIds()); + } + }); + }); + + return listPage; + } + @Override public void save(NuBaseInfoEntity dto) { NuBaseInfo nuBaseInfo = new NuBaseInfo();