using System; using System.Collections.Generic; using System.Linq; using System.Text; using ApServerProvider; using System.Data; using System.Collections; using DbCommon; using Estsh.Web.Util; namespace Estsh.Core.Repositories { public class ProdQueueQueryDal : BaseApp { private RemotingProxy remotingProxy; public ProdQueueQueryDal(RemotingProxy remotingProxy) : base(remotingProxy) { } /// /// 获取页面上要显示的的数据 /// /// public DataTable GetAll(ref Pager pager) { lock (_remotingProxy) { Hashtable ht = 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", @"g_sn_status a LEFT JOIN g_workorder_detail b ON a.wo_detail_id = b.ruid LEFT JOIN g_workorder c ON b.workorder_id = c.ruid LEFT JOIN sys_part d ON a.part_id = d.part_id LEFT JOIN sys_part e ON c.part_id = e.part_id LEFT JOIN sys_model f ON a.model_id = f.model_id ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"a.serial_number, a.ruid, SUBSTRING(a.serial_number, LEN(a.serial_number) - 3, 4) AS seq, SUBSTRING(a.create_hms, 1, 5) AS create_time, f.model_name, f.model_type, d.part_no, f.model_alias, CASE WHEN c.type = 'N' THEN '自动下单' WHEN c.type = 'E' THEN '手工插单' END type ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", @" a.ruid DESC")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", @"")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@PageSize", pager.pageSize)); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@CurrentPage", pager.pageNo)); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Group", 0)); StringBuilder SqlStringBuilder = new StringBuilder(1024); //SqlStringBuilder.Append(" a.enabled = 'Y' "); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", SqlStringBuilder.ToString())); Hashtable values = new Hashtable(2); DataTable dt = new DataTable(); dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values); pager.totalRows = Convert.ToInt32(values["@TotalCount"]); return dt; } } /// /// 获取分页记录总数 /// public int getCountWhere() { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" SELECT count(*) as Total "); SqlStringBuilder.Append(" FROM g_sn_status a "); SqlStringBuilder.Append(" LEFT JOIN g_workorder_detail b ON a.wo_detail_id = b.ruid "); SqlStringBuilder.Append(" LEFT JOIN g_workorder c ON b.workorder_id = c.ruid "); SqlStringBuilder.Append(" LEFT JOIN sys_part d ON a.part_id = d.part_id "); SqlStringBuilder.Append(" LEFT JOIN sys_part e ON c.part_id = e.part_id "); SqlStringBuilder.Append(" LEFT JOIN sys_model f ON a.model_id = f.model_id "); SqlStringBuilder.Append(" WHERE a.process_id = 0 "); int i = 0; DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString()); if (dt.Rows.Count > 0) { if (dt.Rows[0]["Total"].ToString() != "") { i = int.Parse(dt.Rows[0]["Total"].ToString()); } } return i; } } } }