ソースを参照

【功能完善】+【反馈:2024080245 】+【[权限设置:默认分配岗位下属权限],校验下属是否有查看权限,若自己及下属都没有查看权限时,自己录入的单据也不能查看】

DINGYL 1 週間 前
コミット
ac342a120b
1 ファイル変更14 行追加13 行削除
  1. 14 13
      src/com/uas/erp/core/interceptor/SeeAllInterceptor.java

+ 14 - 13
src/com/uas/erp/core/interceptor/SeeAllInterceptor.java

@@ -40,14 +40,22 @@ public class SeeAllInterceptor extends HandlerInterceptorAdapter {
 					boolean checkDefaultHrJobPowerExists = powerDao.checkDefaultHrJobPowerExists();
 					if (checkDefaultHrJobPowerExists) {
 						//反馈2024080245 【权限设置:默认分配岗位下属权限】 校验下属是否有查看权限  没有权限时 自己录入的单据也不能查看
-						/*bool =checkJobEmployeePower( caller,  employee);
-						System.out.println("checkJobEmployeePower:"+bool);
+						bool =checkJobEmployeePower( caller,  employee);
 						if (bool) {
 							req.setAttribute("_jobemployee", true);
 						}else{
-							BaseUtil.showError("ERR_POWER_025:您没有执行查看列表的权限!");
-						}*/
-						req.setAttribute("_jobemployee", true);
+							bool = checkJobPower(caller,PositionPower.SELF_LIST, employee);// 岗位权限表--self
+							if (!bool) {
+								bool = powerDao.getSelfPowerByType(caller,PersonalPower.SELF_LIST, employee);// 个人权限表--self
+								if (!bool) {
+									BaseUtil.showError("ERR_POWER_025:您没有执行查看列表的权限!");
+								} else {
+									req.setAttribute("_self", true);
+								}
+							} else {
+								req.setAttribute("_self", true);
+							}
+						}
 					} else {
 						bool = checkJobEmployeePower(caller,PersonalPower.JOBEMPLOYEE_LIST, employee);
 						if (bool) {
@@ -77,26 +85,19 @@ public class SeeAllInterceptor extends HandlerInterceptorAdapter {
 
 	private boolean checkJobPower(String caller, String powerType, Employee employee) {
 		String sob = employee.getEm_master();
-		System.out.println("powerType:"+powerType);
 		// 默认岗位设置
 		boolean bool = powerDao.getPowerByType(caller, powerType, sob, employee.getEm_defaulthsid());
-		System.out.println("caller:"+caller);
-		System.out.println("employee.getEm_defaulthsid():"+employee.getEm_defaulthsid());
-		System.out.println("bool1:"+bool);
 		if (!bool && employee.getEmpsJobs() != null) {
 			// 按员工岗位关系取查找权限
 			for (EmpsJobs empsJob : employee.getEmpsJobs()) {
-				System.out.println("empsJob.getJob_id():"+empsJob.getJob_id());
 				bool = powerDao.getPowerByType(caller, powerType, sob, empsJob.getJob_id());
-
-				System.out.println("bool2:"+bool);
 				if (bool)
 					break;
 			}
 		}
 		return bool;
 	}
-	private boolean checkJobEmployeePower(String caller, Employee employee) {
+	private boolean checkJobEmployeePower(String caller, Employee employee) {//新增的方法
 		String sob = employee.getEm_master();
 		Integer jobId = employee.getEm_defaulthsid();
 		boolean jobEmployeeExists = powerDao.checkJobEmployeeExists(jobId);