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 TerminalEmpDefineDal : BaseApp { public TerminalEmpDefineDal(RemotingProxy remotingProxy) : base(remotingProxy) { } #region 成员方法 /// /// 获得菜单列表数据 /// public DataTable getList(string strWhere,string filedOrder) { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("select a.*,b.terminal_name,c.emp_no from dbo.sys_emp_matrix AS a LEFT JOIN dbo.sys_terminal AS b ON a.terminal_id=b.terminal_id LEFT JOIN dbo.sys_emp AS c ON a.emp_id=c.emp_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 Hashtable getTerminalEmpListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { 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)); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", @" dbo.sys_emp_matrix AS a LEFT JOIN dbo.sys_terminal AS b ON a.terminal_id=b.terminal_id LEFT JOIN dbo.sys_emp AS c ON a.emp_id=c.emp_id ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", " a.*,b.terminal_name,c.emp_name ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", OrderBy.Replace("a.ruid", ""))); 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; } } /// /// 根据分页条件获取分页数据列表(导出时使用) /// public DataTable getTerminalEmpExport(int PageSize, int PageIndex, string strWhere, string OrderBy) { 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)); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", @" dbo.sys_emp_matrix AS a LEFT JOIN dbo.sys_terminal AS b ON a.terminal_id=b.terminal_id LEFT JOIN dbo.sys_emp AS c ON a.emp_id=c.emp_id ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", " a.*,b.terminal_name,c.emp_name")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", OrderBy.Replace("a.ruid", ""))); 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); return dt; } } /// /// 插入菜单数据 /// /// /// public int saveTerminalEmp(Hashtable htParams) { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("INSERT INTO dbo.sys_emp_matrix( emp_id ,emp_no ,terminal_id,create_userid,create_ymd,create_hms) values"); SqlStringBuilder.Append("(@emp_id,@emp_no,@terminal_id,@create_userid,Convert(varchar(10),getdate(),23),Convert(varchar(10),getdate(),108))"); return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams); } } /// /// 更新菜单数据 /// /// /// public int updateTerminalEmp(Hashtable htParams) { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("UPDATE sys_emp_matrix SET "); SqlStringBuilder.Append("emp_id=@emp_id,emp_no=@emp_no,terminal_id=@terminal_id,update_userid=@update_userid,update_ymd=Convert(varchar(10),getdate(),23),update_hms=Convert(varchar(10),getdate(),108) "); SqlStringBuilder.Append("WHERE ruid=@ruid "); return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams); } } /// /// 删除菜单数据 /// /// /// public int deleteTerminalEmp(String ruid) { lock (_remotingProxy) { String delStr = "DELETE FROM dbo.sys_emp_matrix WHERE ruid = @ruid"; Hashtable htparams = new Hashtable(); htparams.Add("@ruid", ruid); return _remotingProxy.ExecuteNonQuery(delStr, htparams); } } /// /// 根据帐号名称查找对应编号 /// /// 客户产线描述 /// 客户产线编号 public int GetEmpno(string emp_no) { lock (_remotingProxy) { string SqlString = "SELECT emp_id FROM dbo.sys_emp WHERE emp_no=@emp_no"; Hashtable Params = new Hashtable(1); Params.Add("@emp_no", emp_no); object obj = _remotingProxy.GetScalar(SqlString, Params); return obj != null ? Convert.ToInt32(obj) : 0; } } /// /// 根据帐号名称查找对应编号 /// /// 客户产线描述 /// 客户产线编号 public int GetEmpId(string emp_no) { lock (_remotingProxy) { string SqlString = "SELECT emp_id FROM dbo.sys_emp WHERE emp_no=@emp_no"; Hashtable Params = new Hashtable(1); Params.Add("@emp_no", emp_no); object obj = _remotingProxy.GetScalar(SqlString, Params); return obj != null ? Convert.ToInt32(obj) : 0; } } public int GetTerminalName(string terminal_name) { lock (_remotingProxy) { string SqlString = "SELECT terminal_id FROM dbo.sys_terminal WHERE terminal_name=@terminal_name"; Hashtable Params = new Hashtable(1); Params.Add("@terminal_name", terminal_name); object obj = _remotingProxy.GetScalar(SqlString, Params); return obj != null ? Convert.ToInt32(obj) : 0; } } public bool GetEmpnoTerminalId(string terminal_name, string emp_no) { lock (_remotingProxy) { int emp_id = GetEmpno(emp_no); int terminal_id = GetTerminalName(terminal_name); string SqlString = "SELECT top 1 1 FROM dbo.sys_emp_matrix WHERE emp_id=@emp_id AND terminal_id=@terminal_id"; Hashtable Params = new Hashtable(2); Params.Add("@emp_id", emp_id); Params.Add("@terminal_id", terminal_id); return _remotingProxy.Exists(SqlString, Params); } } /// /// 导入EXCEL时插入数据 /// /// /// public bool InsertData(DataTable dt) { lock (_remotingProxy) { List SqlStrings = new List(dt.Rows.Count); List ModelCache = new List(dt.Rows.Count); List hs = new List(dt.Rows.Count); for (int i = 0; i < dt.Rows.Count; i++) { int emp_id = GetEmpno(dt.Rows[i][1].ToString()); int terminal_id = GetTerminalName(dt.Rows[i][0].ToString().Trim()); //// 跳过空行 //if (string.IsNullOrEmpty(emp_no.Trim())) //{ // continue; //} //// 跳过重复的行 //if (ModelCache.Contains(ruid)) //{ // continue; //} //else //{ // ModelCache.Add(dt.Rows[i][0].ToString()); //} StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("insert into sys_emp_matrix(emp_id,emp_no,terminal_id"); SqlStringBuilder.Append(" ) values( "); SqlStringBuilder.Append("@emp_id,@emp_no,@terminal_id) "); Hashtable values = new Hashtable(3); values.Add("@emp_id", emp_id); values.Add("@emp_no", dt.Rows[i][1].ToString()); values.Add("@terminal_id", terminal_id); SqlStrings.Add(SqlStringBuilder.ToString()); hs.Add(values); } return _remotingProxy.ExecuteSqlTransaction(SqlStrings, hs); } } /// /// 判断车型是否存在 /// /// /// public bool ExistsTerminalName(string terminal_name) { lock (_remotingProxy) { string SqlString = "SELECT top 1 1 FROM dbo.sys_terminal where terminal_name=@terminal_name "; Hashtable Params = new Hashtable(1); Params.Add("@terminal_name", terminal_name); //Params.Add("@terminal_id", terminal_id); return _remotingProxy.Exists(SqlString, Params); } } public bool ExistsEmpNo(string emp_no) { lock (_remotingProxy) { string SqlString = "SELECT top 1 1 FROM dbo.sys_emp where emp_no=@emp_no"; Hashtable Params = new Hashtable(1); Params.Add("@emp_no", emp_no); return _remotingProxy.Exists(SqlString, Params); } } #endregion 成员方法 } }