人员卡片权限控制优化

chenxu0219
chenxu1234 2 months ago
parent a9292ed429
commit a48246613a

@ -41,6 +41,7 @@ import com.engine.portal.biz.nonstandardfunction.SysModuleInfoBiz;
import com.engine.hrm.util.face.ValidateFieldManager; import com.engine.hrm.util.face.ValidateFieldManager;
import com.engine.hrm.util.face.bean.CheckItemBean; import com.engine.hrm.util.face.bean.CheckItemBean;
import ln.LN; import ln.LN;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import weaver.hrm.definedfield.HrmFieldComInfo; import weaver.hrm.definedfield.HrmFieldComInfo;
import weaver.hrm.job.JobCallComInfo; import weaver.hrm.job.JobCallComInfo;
@ -3661,21 +3662,39 @@ public class HrmResourceBaseService extends BaseBean {
userManagerId = resourceComInfo.getManagerID(userid); userManagerId = resourceComInfo.getManagerID(userid);
userDeptId = resourceComInfo.getDepartmentID(userid); userDeptId = resourceComInfo.getDepartmentID(userid);
} }
String deptLeaderId = getDepartmentLeader(userDeptId); String allDeptLeaders = getDepartmentLeader(userDeptId);
bb.writeLog("userManagerId:"+userManagerId); bb.writeLog("userManagerId:"+userManagerId);
bb.writeLog("userDeptId:"+userDeptId); bb.writeLog("userDeptId:"+userDeptId);
bb.writeLog("deptLeaderId:"+deptLeaderId); bb.writeLog("allDeptLeaders:"+allDeptLeaders);
String leader_roleid = "30"; // String leader_roleid = "30";
List<String> leaderList = queryHrmRoleUserByRole(leader_roleid); // List<String> leaderList = queryHrmRoleUserByRole(leader_roleid);
String hr_roleid = "30"; // String hr_roleid = "29";
List<String> hrList = queryHrmRoleUserByRole(hr_roleid); // List<String> hrList = queryHrmRoleUserByRole(hr_roleid);
if(leaderList.contains(currentUserId) || hrList.contains(currentUserId)){
//判断是否是指定角色29、30
boolean hasAccess = false;
HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
List<String> roleIds = new ArrayList<>(Arrays.asList(hrmCommonService.getRoleIds(currentUserId).split(",")));
List<String> accessRoleIds = new ArrayList<>();
accessRoleIds.add("29");
accessRoleIds.add("30");
roleIds.retainAll(accessRoleIds);
hasAccess = CollectionUtils.isNotEmpty(roleIds);
new BaseBean().writeLog("currentUserId"+currentUserId+"roleIds"+roleIds+"hasAccess"+hasAccess);
if(hasAccess){
back = true; back = true;
}else if((","+deptLeaderId+",").contains(","+currentUserId+",")){ }else if((","+allDeptLeaders+",").contains(","+currentUserId+",")){
back = true; back = true;
}else if(String.valueOf(currentUserId).equals(userManagerId)){ }else if(String.valueOf(currentUserId).equals(userManagerId)){
back = true; back = true;
}else if(String.valueOf(currentUserId).equals(userid)){
//自己看自己可以看
back = true;
}else if(currentUserId == 1){
//系统管理员可以看所有
back = true;
}else{ }else{
back = false; back = false;
} }
@ -3731,16 +3750,22 @@ public class HrmResourceBaseService extends BaseBean {
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
bb.writeLog("getDepartmentLeader:deptid:"+deptid); bb.writeLog("getDepartmentLeader:deptid:"+deptid);
String bmfzr = ""; String bmfzrs = "";
try { try {
String sql = " select bmfzr from hrmdepartmentdefined where deptid = ?"; String sql =" with tem_table(dep_id,departmentname,supdepid,curlevel) as (\n" +
" select id, departmentname,supdepid, 1 as level from HrmDepartment where id=" + deptid+
" union all\n" +
" select a.id,a.departmentname,a.supdepid,b.curlevel+1 from Hrmdepartment a inner join tem_table b on (a.id = b.supdepid)\n" +
" )\n" +
" select bmfzr from hrmdepartmentdefined where deptid in (select dep_id from tem_table)";
rs.executeQuery(sql,new Object[]{deptid}); rs.executeQuery(sql,new Object[]{deptid});
if(rs.next()){ while(rs.next()){
bmfzr = Util.null2String(rs.getString("bmfzr")); String bmfzr = Util.null2String(rs.getString("bmfzr"));
bmfzrs += StringUtils.isBlank(bmfzrs) ? bmfzr :","+bmfzr ;
} }
}catch (Exception e){ }catch (Exception e){
bb.writeLog("e:"+e); bb.writeLog("e:"+e);
} }
return bmfzr; return bmfzrs;
} }
} }

Loading…
Cancel
Save