|
|
using System;
|
|
|
using System.Data;
|
|
|
using System.Text;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data.SqlClient;
|
|
|
using ApServerProvider;
|
|
|
using DbCommon;
|
|
|
using System.Collections;
|
|
|
using Estsh.Web.Util;
|
|
|
|
|
|
/***************************************************************************************************
|
|
|
*
|
|
|
* 作者:贾文涛
|
|
|
* 创建时间:2013.03.19
|
|
|
* 描述:菜单模块数据库访问类
|
|
|
* 修改日志:
|
|
|
* 1、2013.03.27 贾文涛 变更后台的菜单表,同步变更获取菜单数据的一些方法
|
|
|
*
|
|
|
* *************************************************************************************************/
|
|
|
namespace Estsh.Core.Repositories
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 处理菜单模块的业务数据
|
|
|
/// </summary>
|
|
|
public class NoticeDal : BaseApp
|
|
|
{
|
|
|
public NoticeDal(RemotingProxy remotingProxy)
|
|
|
: base(remotingProxy)
|
|
|
{
|
|
|
}
|
|
|
#region 成员方法
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据传入条件获得菜单列表数据
|
|
|
/// </summary>
|
|
|
public DataTable getList(string CONTENT_NO)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT * FROM dbo.TT_SPM_CONTENT WHERE CONTENT_NO=@CONTENT_NO ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@CONTENT_NO", CONTENT_NO);
|
|
|
return this._remotingProxy.GetDataTable(strSql.ToString(), htParams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public DataTable getListByUser(int empId)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_Notice m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.Notice_id = rp.fun_name AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id AND m.enabled = 'Y' ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
return this._remotingProxy.GetDataTable(SqlStringBuilder.ToString(), htParams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取首页菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public Hashtable getHomeNoticeListByUser(int empId, string NoticeId)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_Notice m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.Notice_id = rp.fun_name ");
|
|
|
SqlStringBuilder.Append(" AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id ");
|
|
|
SqlStringBuilder.Append(" AND m.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND m.parent_id = 0 ");
|
|
|
SqlStringBuilder.Append(" AND m.Notice_id <> 0 ");
|
|
|
SqlStringBuilder.Append(" AND m.Notice_id = @Notice_id ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
htParams.Add("@Notice_id", NoticeId);
|
|
|
DataTable dt = this._remotingProxy.GetDataTable(SqlStringBuilder.ToString(), htParams);
|
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
|
result.Add("dataList", dataList);
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取Main页主菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public DataTable getMainNoticeListByUser(int empId, string NoticeId)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_Notice m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.Notice_id = rp.fun_name ");
|
|
|
SqlStringBuilder.Append(" AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id ");
|
|
|
SqlStringBuilder.Append(" AND m.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND m.parent_id = @Notice_id ");
|
|
|
SqlStringBuilder.Append("ORDER BY m.sort_num ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
htParams.Add("@Notice_id", NoticeId == null || NoticeId.Trim().Equals("") ? "-1" : NoticeId);
|
|
|
return this._remotingProxy.GetDataTable(SqlStringBuilder.ToString(), htParams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据分页条件获取分页数据列表
|
|
|
/// </summary>
|
|
|
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
|
|
|
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
|
|
|
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", " dbo.TT_SPM_CONTENT AS a LEFT JOIN dbo.sys_emp AS b ON a.PUBLISHER=b.emp_id "));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", " CONTENT_NO ,PLANT ,ASSEMBLY_LINE ,WORKSHOP ,PLANT_ZONE ,(CASE CONTENT_TYPE WHEN '1' THEN '公告' WHEN '2' THEN '通知' ELSE '' END) AS CONTENT_TYPE ,CONTENT_STATUS ,CLOSE_DATE ,START_EFFECTIVE_DATE ,CONVERT(varchar,EXPIRE_DATE,120) AS EXPIRE_DATE ,SUBJECT ,BODY ,DEPT_CODE , DEPT_NMAE ,SUPPLIER_NUM ,SUPPLIER_GROUP_ID , CUSTOM_NO ,PLANNER_CODE ,CONVERT(varchar,PUBLISH_TIME,120) AS PUBLISH_TIME ,b.emp_name AS PUBLISHER ,COMMENTS ,CREATE_USER ,CREATE_DATE ,UPDATE_USER ,UPDATE_DATE "));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", " CREATE_DATE DESC "));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", PageSize));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", PageIndex));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere));
|
|
|
|
|
|
Hashtable values = new Hashtable(2);
|
|
|
|
|
|
DataTable dt = new DataTable();
|
|
|
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
|
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
|
result.Add("dataList", dataList);
|
|
|
result.Add("totalCount", values["@TotalCount"].ToString());
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取下拉框菜单数据
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public DataTable getSelectNotice()
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
strSql.Append("select Notice_id as [value],name as [key] from dbo.sys_web_Notice where parent_id < 100 AND enabled = 'Y' ");
|
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 插入菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="htParams"></param>
|
|
|
/// <returns></returns>
|
|
|
public int saveNotice(Hashtable htParams)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("INSERT INTO TT_SPM_CONTENT (SUBJECT ");
|
|
|
SqlStringBuilder.Append(" , EXPIRE_DATE ");
|
|
|
SqlStringBuilder.Append(" , CONTENT_TYPE ");
|
|
|
SqlStringBuilder.Append(" , BODY ");
|
|
|
SqlStringBuilder.Append(" , PUBLISHER");
|
|
|
SqlStringBuilder.Append(" ,CREATE_USER ");
|
|
|
SqlStringBuilder.Append(" ,PUBLISH_TIME) ");
|
|
|
SqlStringBuilder.Append(" VALUES( @SUBJECT ");
|
|
|
SqlStringBuilder.Append(" , @EXPIRE_DATE ");
|
|
|
SqlStringBuilder.Append(" , @CONTENT_TYPE ");
|
|
|
SqlStringBuilder.Append(" , @BODY ");
|
|
|
SqlStringBuilder.Append(" , @create_userid ");
|
|
|
SqlStringBuilder.Append(" , @create_userid ");
|
|
|
SqlStringBuilder.Append(" , CONVERT(DATETIME,GETDATE(),120)) ");
|
|
|
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="htParams"></param>
|
|
|
/// <returns></returns>
|
|
|
public int updateNotice(Hashtable htParams)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("update sys_web_Notice ");
|
|
|
SqlStringBuilder.Append("SET name=@name ");
|
|
|
SqlStringBuilder.Append(" , description=@description ");
|
|
|
SqlStringBuilder.Append(" , url=@url ");
|
|
|
SqlStringBuilder.Append(" , parent_id=@parent_id ");
|
|
|
SqlStringBuilder.Append(" , icon_url=@icon_url ");
|
|
|
SqlStringBuilder.Append(" , icon_close_url=@icon_close_url ");
|
|
|
SqlStringBuilder.Append(" , icon_open_url=@icon_open_url ");
|
|
|
SqlStringBuilder.Append(" , icon_skin=@icon_skin ");
|
|
|
SqlStringBuilder.Append(" , enabled=@enabled ");
|
|
|
SqlStringBuilder.Append(" , sort_num=@sort_num ");
|
|
|
SqlStringBuilder.Append(" ,update_userid=@update_userid ");
|
|
|
SqlStringBuilder.Append(" ,create_ymd=CONVERT(VARCHAR(10),GETDATE(),23) ");
|
|
|
SqlStringBuilder.Append(" ,create_hms=CONVERT(VARCHAR(10),GETDATE(),108) ");
|
|
|
SqlStringBuilder.Append("WHERE Notice_id=@Notice_id ");
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 删除菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="ruid"></param>
|
|
|
/// <returns></returns>
|
|
|
public int deleteNotice(String CONTENT_NO)
|
|
|
{
|
|
|
lock (_remotingProxy)
|
|
|
{
|
|
|
Hashtable htparams = new Hashtable();
|
|
|
|
|
|
String delStr = "DELETE dbo.TT_SPM_CONTENT WHERE CONTENT_NO=@CONTENT_NO";
|
|
|
|
|
|
htparams.Add("@CONTENT_NO", CONTENT_NO);
|
|
|
|
|
|
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion 成员方法
|
|
|
}
|
|
|
}
|