113 lines
4.1 KiB
C#
113 lines
4.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using WMS.Model.SystemManage;
|
|
using System.Data;
|
|
using WMS.IData;using Oracle.ManagedDataAccess.Client;
|
|
using WMS.IData.ISystemManage;
|
|
|
|
|
|
namespace WMS.SqlServerData.SystemManageData
|
|
{
|
|
public class RoleMessageData : IRoleMessage
|
|
{
|
|
/// <summary>
|
|
/// 通过Role Name获得消息类型权限消息
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetRoleMessageData(RoleMessageModel model)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(@"select t.vc_char_value MESSAGE_TYPE, t.vc_dictionary_name TYPE_NAME,1 SELECTED from T_SYS_DICTIONARY_TAB t
|
|
left join T_BASE_RoleMessage m on t.vc_char_value = m.mess_type
|
|
where vc_dictionary_type='Message_type' and t.vc_char_value in(select distinct mess_type from T_BASE_ROLEMESSAGE where role_id='" + model.ROLE_ID +@"')
|
|
union
|
|
select t.vc_char_value MESSAGE_TYPE, t.vc_dictionary_name TYPE_NAME,0 SELECTED from T_SYS_DICTIONARY_TAB t
|
|
left join T_BASE_RoleMessage m on t.vc_char_value = m.mess_type
|
|
where vc_dictionary_type='Message_type' and t.vc_char_value not in(select distinct mess_type from T_BASE_ROLEMESSAGE where role_id='" + model.ROLE_ID + "')");
|
|
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|
|
|
}
|
|
|
|
public void AddRoleMessageData(RoleMessageModel model)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
strSql.Append("insert into T_BASE_RoleMessage(");
|
|
strSql.Append("ROLE_ID,MESS_TYPE)");
|
|
strSql.Append(" values (");
|
|
strSql.Append(":ROLE_ID,:MESS_TYPE)");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":ROLE_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":MESS_TYPE",OracleDbType.Varchar2)};
|
|
parameters[0].Value = model.ROLE_ID;
|
|
parameters[1].Value = model.MESSAGE_TYPE;
|
|
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
}
|
|
|
|
|
|
public void UpdateRoleMessageData(RoleMessageModel model)
|
|
{
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("update T_BASE_RoleMessage set ");
|
|
strSql.Append("MESS_TYPE=:MESS_TYPE");
|
|
strSql.Append(" where ROLE_ID=:ROLE_ID");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":MESS_TYPE",OracleDbType.Varchar2),
|
|
new OracleParameter(":ROLE_ID",OracleDbType.Varchar2)};
|
|
parameters[0].Value = model.MESSAGE_TYPE;
|
|
parameters[1].Value = model.ROLE_ID;
|
|
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
}
|
|
|
|
public void DeleteRoleMessageData(string model)
|
|
{
|
|
//该表无主键信息,请自定义主键/条件字段
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("delete from T_BASE_RoleMessage ");
|
|
strSql.Append(" where ROLE_ID=:ROLE_ID");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":ROLE_ID",OracleDbType.Varchar2),
|
|
};
|
|
parameters[0].Value = model;
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 根据当前登录人获得角色 查看消息表中角色对应的消息类型
|
|
/// </summary>
|
|
/// <param name="role_id"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetMessageByRole(string user_id)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(@" select * from t_Base_Message where mess_type in ( select distinct MEss_type
|
|
from T_BASE_ROLEMESSAGE
|
|
where role_id in
|
|
((select Role_id
|
|
from T_BASE_ROLE
|
|
where user_id = '" + user_id +@"'
|
|
and role_id in
|
|
(select distinct Role_id from t_Base_Rolemessage))))");
|
|
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|