using System; using System.Collections.Generic; using System.Linq; using System.Text; using ApServerProvider; using System.Data; using System.Collections; using Estsh.Web.Util; using DbCommon; /*************************************************************************************************** * * 作者:何存根 * 创建时间:2014.06.17 * 描述:报表模块条码上下线查询DAL * * *************************************************************************************************/ namespace Estsh.DAL { public class OutPDLineQueryDal : BaseApp { public OutPDLineQueryDal(RemotingProxy remotingProxy) : base(remotingProxy) { } /// /// 产线 /// /// 数据集 public ArrayList GetPDLineName() { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("select pdline_id as [value],pdline_desc as [key] from sys_pdline where enabled='Y' "); DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString()); return DataTypeConvert.NewObject.DataTableToArrayList(dt); } } // 获取汇总表 public DataTable GetSummary(string whereStr, Pager pager, ref int totalCount) { 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.g_workorder a LEFT JOIN dbo.g_workorder_detail c ON a.ruid=c.workorder_id LEFT JOIN dbo.g_sn_status d ON c.ruid=d.wo_detail_id LEFT JOIN dbo.sys_part b ON d.part_id = b.part_id ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"b.part_no , b.part_spec ,COUNT(1) AS qty")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "b.part_no")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", "b.part_no,b.part_spec")); 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", 1)); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine("1=1" + whereStr); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", SqlStringBuilder.ToString())); Hashtable values = new Hashtable(2); 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()); totalCount = Convert.ToInt32(values["@TotalCount"]); return dt; } } // 获取明细表 public DataTable GetAll(string whereStr, Pager pager, ref int totalCount) { 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.g_workorder a LEFT JOIN dbo.g_workorder_detail c ON a.ruid=c.workorder_id LEFT JOIN dbo.g_sn_status d ON c.ruid=d.wo_detail_id LEFT JOIN dbo.sys_part b ON d.part_id = b.part_id LEFT JOIN dbo.sys_emp e ON d.update_userid=e.emp_id")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @" b.part_no , b.part_spec ,a.in_pdline_ymd ,a.in_pdline_hms,a.out_pdline_ymd ,a.out_pdline_hms,d.serial_number,e.emp_name")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", " b.part_no")); 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)); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine("1=1" + whereStr); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", SqlStringBuilder.ToString())); Hashtable values = new Hashtable(2); 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()); totalCount = Convert.ToInt32(values["@TotalCount"]); return dt; } } } }