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; namespace Estsh.Core.Repositories { /*********************************************************** * 工站管制信息管理 * * NOAH * ************************************************************/ public class TerminalControlDefineDal : BaseApp { public TerminalControlDefineDal(RemotingProxy remotingProxy) : base(remotingProxy) { } #region 成员方法 /// /// 获得菜单列表数据 /// public DataTable getList(string strWhere,string filedOrder) { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT b.terminal_name ,c.view_board_name ,a.* FROM dbo.sys_terminal_control a LEFT JOIN dbo.sys_terminal b ON a.terminal_id = b.terminal_id LEFT JOIN dbo.g_view_board c ON a.view_board_id = c.view_board_id "); if (!strWhere.Trim().Equals("")) { strSql.Append(" where " + strWhere); } if (filedOrder != null && !filedOrder.Trim().Equals("")) { strSql.Append(" order by " + filedOrder); } return this._remotingProxy.GetDataTable(strSql.ToString()); } } /// /// 获取分页数据列表 /// public DataTable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { lock (_remotingProxy) { if (strWhere.Trim() != "") { strWhere = strWhere.Remove(0, 6);//因为存储过程中已经有where,这里需要把之前加入的where去掉,这里截除前六个字符 } if (OrderBy.Trim() != "") { OrderBy = " " + OrderBy; //排序 } Hashtable Params = new Hashtable(6); Params.Add("@TotalCount", 100); Params.Add("@TotalPage", 100); Params.Add("@GroupColumn", ""); Params.Add("@Table", "dbo.sys_terminal_control a LEFT JOIN dbo.sys_terminal b ON a.terminal_id = b.terminal_id LEFT JOIN dbo.g_view_board c ON a.view_board_id = c.view_board_id"); Params.Add("@Column", "b.terminal_name ,c.view_board_name ,a.*"); Params.Add("@PageSize", PageSize); Params.Add("@CurrentPage", PageIndex); Params.Add("@Condition", strWhere); Params.Add("@OrderColumn", OrderBy); Params.Add("@Group", 0); String strProcedure = "EXEC Com_Pagination @TotalCount, @TotalPage, @Table, @Column,@OrderColumn,@GroupColumn,@PageSize, @CurrentPage,@Group,@Condition"; return _remotingProxy.GetDataTable(strProcedure, Params); } } /// /// 获取分页记录总数 /// public int getCountWhere(string strWhere) { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(*) as Total FROM dbo.sys_terminal_control a LEFT JOIN dbo.sys_terminal b ON a.terminal_id = b.terminal_id LEFT JOIN dbo.g_view_board c ON a.view_board_id = c.view_board_id"); if (strWhere.Trim() != "") { strSql.Append(" " + strWhere); } int i = 0; DataTable dt = _remotingProxy.GetDataTable(strSql.ToString()); if (dt.Rows.Count > 0) { if (dt.Rows[0]["Total"].ToString() != "") { i = int.Parse(dt.Rows[0]["Total"].ToString()); } } return i; } } /// /// 插入菜单数据 /// /// /// public int saveTerminalControl(Hashtable htParams) { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("INSERT INTO dbo.sys_terminal_control(terminal_id,unlock_pwd,station_name,station_ip,view_board_id,enabled,view_part_location,create_userid,create_ymd,create_hms) values"); SqlStringBuilder.Append("(@terminal_id,@unlock_pwd,@station_name,@station_ip,@view_board_id,@enabled,@view_part_location,@create_userid,Convert(varchar(10),getdate(),23),Convert(varchar(10),getdate(),108))"); return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams); } } /// /// 更新菜单数据 /// /// /// public int updateTerminalControl(Hashtable htParams) { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("UPDATE sys_terminal_control SET view_part_location=@view_part_location, "); SqlStringBuilder.Append("terminal_id=@terminal_id,unlock_pwd=@unlock_pwd,station_name=@station_name,station_ip=@station_ip,view_board_id=@view_board_id,enabled=@enabled,update_userid=@update_userid,update_ymd=Convert(varchar(10),getdate(),23),update_hms=Convert(varchar(10),getdate(),108) "); SqlStringBuilder.Append("WHERE terminal_id=@terminal_id_bak "); return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams); } } /// /// 删除菜单数据 /// /// /// public int deleteTerminalControl(String terminal_id ) { lock (_remotingProxy) { String delStr = "DELETE FROM sys_terminal_control WHERE terminal_id = @terminal_id"; Hashtable htparams = new Hashtable(); htparams.Add("@terminal_id", terminal_id); return _remotingProxy.ExecuteNonQuery(delStr, htparams); } } #endregion 成员方法 /// /// 获取 站点 信息 /// BY NOAH /// /// public DataTable getTerminalName() { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT DISTINCT terminal_id as [value],terminal_name as [key] from sys_terminal WHERE terminal_id IN (SELECT terminal_id FROM dbo.sys_terminal EXCEPT SELECT terminal_id FROM dbo.sys_terminal_control) and enabled = 'Y'"); return _remotingProxy.GetDataTable(strSql.ToString()); } } /// /// 获取 看板 信息 /// BY NOAH /// /// public DataTable getBoardName() { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT DISTINCT view_board_id as [value],view_board_name as [key] from g_view_board WHERE enabled = 'Y'"); return _remotingProxy.GetDataTable(strSql.ToString()); } } /// /// 判断用户输入的零件号是否存在 /// BY NOAH /// /// /// public String isExsitPart_no(String part_no) { lock (_remotingProxy) { string part_id = null; string SqlString = "select top 1 part_id from sys_part where enabled='Y' and part_no=@part_no"; Hashtable Params = new Hashtable(1); Params.Add("@part_no", part_no); DataTable dt = _remotingProxy.GetDataTable(SqlString, Params); if (dt.Rows.Count < 1) { return part_id; } else { part_id = dt.Rows[0][0].ToString(); return part_id; } } } /// /// 获取汇总信息 /// /// 查询条件 /// public DataTable GetSumMessage(string aWhere, ref Pager pager) { lock (_remotingProxy) { Hashtable result = new Hashtable(); List parameters = new List(); parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100)); parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100)); StringBuilder table = new StringBuilder(); table.Append(" dbo.sys_terminal_control a LEFT JOIN dbo.sys_terminal b ON a.terminal_id = b.terminal_id "); table.Append(" LEFT JOIN dbo.g_view_board c ON a.view_board_id = c.view_board_id "); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", table.ToString())); StringBuilder column = new StringBuilder(); column.Append(" a.terminal_id,"); column.Append(" b.terminal_name,"); column.Append(" a.unlock_pwd ,"); column.Append(" a.station_name,"); column.Append(" a.station_ip,"); column.Append(" c.view_board_name ,"); column.Append(" a.view_part_location, "); column.Append(" a.enabled,"); column.Append(" a.create_ymd "); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", column.ToString())); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "a.create_ymd")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", "")); parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize)); parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo)); parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0)); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", aWhere)); Hashtable values = new Hashtable(2); DataTable dt = null; dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values); //ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt); //result.Add("dataList", dataList); //result.Add("totalCount", values["@TotalCount"].ToString()); pager.totalRows = Convert.ToInt32(values["@TotalCount"]); return dt; } } } }