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; | |||
|  |      | |||
|  |                   | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |