|
|
|
@ -41,6 +41,7 @@ import com.engine.portal.biz.nonstandardfunction.SysModuleInfoBiz;
|
|
|
|
|
import com.engine.hrm.util.face.ValidateFieldManager;
|
|
|
|
|
import com.engine.hrm.util.face.bean.CheckItemBean;
|
|
|
|
|
import ln.LN;
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import weaver.hrm.definedfield.HrmFieldComInfo;
|
|
|
|
|
import weaver.hrm.job.JobCallComInfo;
|
|
|
|
@ -3661,21 +3662,39 @@ public class HrmResourceBaseService extends BaseBean {
|
|
|
|
|
userManagerId = resourceComInfo.getManagerID(userid);
|
|
|
|
|
userDeptId = resourceComInfo.getDepartmentID(userid);
|
|
|
|
|
}
|
|
|
|
|
String deptLeaderId = getDepartmentLeader(userDeptId);
|
|
|
|
|
String allDeptLeaders = getDepartmentLeader(userDeptId);
|
|
|
|
|
bb.writeLog("userManagerId:"+userManagerId);
|
|
|
|
|
bb.writeLog("userDeptId:"+userDeptId);
|
|
|
|
|
bb.writeLog("deptLeaderId:"+deptLeaderId);
|
|
|
|
|
|
|
|
|
|
String leader_roleid = "30";
|
|
|
|
|
List<String> leaderList = queryHrmRoleUserByRole(leader_roleid);
|
|
|
|
|
String hr_roleid = "30";
|
|
|
|
|
List<String> hrList = queryHrmRoleUserByRole(hr_roleid);
|
|
|
|
|
if(leaderList.contains(currentUserId) || hrList.contains(currentUserId)){
|
|
|
|
|
bb.writeLog("allDeptLeaders:"+allDeptLeaders);
|
|
|
|
|
|
|
|
|
|
// String leader_roleid = "30";
|
|
|
|
|
// List<String> leaderList = queryHrmRoleUserByRole(leader_roleid);
|
|
|
|
|
// String hr_roleid = "29";
|
|
|
|
|
// List<String> hrList = queryHrmRoleUserByRole(hr_roleid);
|
|
|
|
|
|
|
|
|
|
//判断是否是指定角色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;
|
|
|
|
|
}else if((","+deptLeaderId+",").contains(","+currentUserId+",")){
|
|
|
|
|
}else if((","+allDeptLeaders+",").contains(","+currentUserId+",")){
|
|
|
|
|
back = true;
|
|
|
|
|
}else if(String.valueOf(currentUserId).equals(userManagerId)){
|
|
|
|
|
back = true;
|
|
|
|
|
}else if(String.valueOf(currentUserId).equals(userid)){
|
|
|
|
|
//自己看自己可以看
|
|
|
|
|
back = true;
|
|
|
|
|
}else if(currentUserId == 1){
|
|
|
|
|
//系统管理员可以看所有
|
|
|
|
|
back = true;
|
|
|
|
|
}else{
|
|
|
|
|
back = false;
|
|
|
|
|
}
|
|
|
|
@ -3731,16 +3750,22 @@ public class HrmResourceBaseService extends BaseBean {
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
|
|
|
bb.writeLog("getDepartmentLeader:deptid:"+deptid);
|
|
|
|
|
String bmfzr = "";
|
|
|
|
|
String bmfzrs = "";
|
|
|
|
|
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});
|
|
|
|
|
if(rs.next()){
|
|
|
|
|
bmfzr = Util.null2String(rs.getString("bmfzr"));
|
|
|
|
|
while(rs.next()){
|
|
|
|
|
String bmfzr = Util.null2String(rs.getString("bmfzr"));
|
|
|
|
|
bmfzrs += StringUtils.isBlank(bmfzrs) ? bmfzr :","+bmfzr ;
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
bb.writeLog("e:"+e);
|
|
|
|
|
}
|
|
|
|
|
return bmfzr;
|
|
|
|
|
return bmfzrs;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|