87 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
 | |
| /// <summary>
 | |
| ///INTERFACE IMPLIMENT FOR TABLE t_RoleAuthority
 | |
| ///By wm with codesmith. 
 | |
| ///on 04/18/2017
 | |
| /// </summary>
 | |
| 
 | |
| using System;
 | |
| using System.Data.SqlClient; 
 | |
| namespace DeiNiu.wms.Data.Model
 | |
| {
 | |
|     [Serializable]  class RoleAuthority_Imp : RoleAuthority_base_Imp
 | |
|     { 
 | |
|         protected override void CmdPrepare(SqlCommand sqlCmd)
 | |
|         { 
 | |
|             base.CmdPrepare(sqlCmd);
 | |
|             RoleAuthority obj = ( RoleAuthority)modelObj;
 | |
|             switch (_cust_op_flag)
 | |
|             {
 | |
|                 case 100:  //根据权限取所有有用该权限的角色
 | |
|                     _strSql = "SELECT ROLE.* FROM T_ROLE ROLE INNER JOIN T_ROLEAUTHORITY AU ON ROLE.ID =AU.RA_ROLE   WHERE AU.ra_authority = @AUTH AND AU.DR=1 AND ROLE.DR=1";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@AUTH", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 200:  //取角色的人员列表
 | |
|                     /*  _strSql = "SELECT EM.ID, EM.EM_NAME,DEP.DEP_NAME  FROM t_RoleEmp RE  INNER JOIN T_EMPLOYEE EM ON RE.re_employee =EM.ID INNER JOIN T_DEPARTMENT DEP ON DEP.ID=EM.EM_DEPT"  
 | |
|                                  + " WHERE RE.RE_ROLE  = @ROLE AND RE.DR=1 AND EM.DR=1 AND DEP.DR=1"; */
 | |
|                     _strSql = "SELECT DISTINCT EM.ID, EM.EM_NAME,DEP.DEP_NAME  FROM t_RoleEmp RE  INNER JOIN T_EMPLOYEE EM ON RE.re_employee =EM.ID "
 | |
|                           + " INNER JOIN T_DEPTEMP DE ON DE.DE_EMPLOYEE = EM.ID INNER JOIN T_DEPARTMENT DEP ON DEP.ID = DE.DE_DEPT "
 | |
|                            + " WHERE RE.RE_ROLE  = @ROLE AND RE.DR=1 AND EM.DR=1 AND DEP.DR=1 AND DE.DR=1";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@ROLE", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 300:  //取有某权限的人员列表
 | |
|                     /* _strSql = "SELECT EM.ID, EM.EM_NAME,DEP.DEP_NAME FROM t_RoleEmp RE INNER JOIN T_EMPLOYEE EM ON RE.re_employee =EM.ID INNER JOIN T_ROLEAUTHORITY AU ON   RE.RE_ROLE = AU.RA_ROLE "
 | |
|                               +"INNER JOIN T_DEPARTMENT DEP ON DEP.ID=EM.EM_DEPT "
 | |
|                                 +" WHERE AU.RA_AUTHORITY   = @AUTH AND RE.DR=1 AND EM.DR=1 AND AU.DR=1 AND DEP.DR=1"; */
 | |
| 
 | |
|                     _strSql = "SELECT DISTINCT EM.ID, EM.EM_NAME,DEP.DEP_NAME FROM t_RoleEmp RE INNER JOIN T_EMPLOYEE EM ON RE.re_employee =EM.ID INNER JOIN T_ROLEAUTHORITY AU ON   RE.RE_ROLE = AU.RA_ROLE "
 | |
|                          + " INNER JOIN T_DEPTEMP DE ON DE.DE_EMPLOYEE = EM.ID INNER JOIN T_DEPARTMENT DEP ON DEP.ID = DE.DE_DEPT "
 | |
|                              + " WHERE AU.RA_AUTHORITY   = @AUTH AND RE.DR=1 AND EM.DR=1 AND AU.DR=1 AND DEP.DR=1 AND DE.DR=1";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@AUTH", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 400:  //取某人的角色列表
 | |
|                     _strSql = "SELECT distinct ROLE.* FROM T_ROLE ROLE INNER JOIN t_RoleEmp RE ON ROLE.ID =RE.RE_ROLE   WHERE  RE.RE_EMPLOYEE  = @EMID AND RE.DR=1 AND ROLE.DR=1";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@EMID", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 500:  //取某人的权限列表
 | |
|                     _strSql = "SELECT DISTINCT AU.* FROM t_RoleEmp RE INNER JOIN T_ROLEAUTHORITY RA ON RE.RE_ROLE =RA.RA_ROLE INNER JOIN T_AUTHORITY AU  ON AU.ID = RA.RA_AUTHORITY WHERE 1=1 "
 | |
|                              ;
 | |
|                     if (obj.CmdParameters[1].ToString() != "-1")
 | |
|                     {
 | |
|                         _strSql += " AND RE.WAREHOUSE =@WAREHOUSE ";
 | |
|                         sqlCmd.Parameters.AddWithValue("@WAREHOUSE", obj.CmdParameters[1]);
 | |
|                     }
 | |
|                         _strSql+=  " AND (AU.AUTH_PUBLIC=1 OR RE.RE_EMPLOYEE = @EMID) AND AU.DR=1 AND RE.DR=1 AND RA.DR=1 ORDER BY  AU.AUTH_ORDER";
 | |
| 
 | |
|                            sqlCmd.CommandText = _strSql;
 | |
| 
 | |
|                     sqlCmd.Parameters.AddWithValue("@EMID", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 600:  //删除角色对应的权限
 | |
|                     _strSql = "UPDATE T_ROLEAUTHORITY SET DR=0 WHERE RA_ROLE=@ROLE AND DR=1 ";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@ROLE", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|                 case 800:  //公共权限
 | |
|                     _strSql = "SELECT * FROM T_AUTHORITY WHERE AUTH_PUBLIC=1 AND DR=1 ";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     break;
 | |
|                 case 900:  //公共权限非公共信息
 | |
|                     _strSql = "SELECT * FROM T_AUTHORITY WHERE AUTH_PUBLIC=1 AND DR=1 and auth_publicinformation=0 ";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     break;
 | |
|                 case 1000:  //取某人的审核角色列表
 | |
|                     _strSql = "SELECT ROLE.* FROM T_ROLE ROLE INNER JOIN t_RoleEmp RE ON ROLE.ID =RE.RE_ROLE   WHERE  RE.RE_EMPLOYEE  = @EMID AND RE.DR=1 AND ROLE.DR=1 AND ROLE.role_4Approve=1";
 | |
|                     sqlCmd.CommandText = _strSql;
 | |
|                     sqlCmd.Parameters.AddWithValue("@EMID", obj.CmdParameters[0]);
 | |
|                     break;
 | |
|     
 | |
|                  
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } |