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