using System; using System.Collections.Generic; using System.Linq; using System.Text; using ApServerProvider; using System.Collections; using Estsh.Web.Util; using System.Data; using DbCommon; namespace Estsh.Core.Repositories { public class ProcessOutputQueryDal:BaseApp { public ProcessOutputQueryDal(RemotingProxy proxy) : base(proxy) { } /// /// 获取生产线信息 /// /// public ArrayList GetPdlineName() { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" select pdline_name as [value],pdline_name as [key] from sys_pdline where enabled ='Y' "); return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(SqlStringBuilder.ToString())); } } /// /// 获取制程信息 /// /// public ArrayList GetProcessName() { lock (_remotingProxy) { string sqlString = "SELECT process_id as [value],process_name as [key] from sys_process where enabled ='Y' "; return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(sqlString)); } } /// /// 获取班次信息 /// /// public ArrayList GetShiftName() { lock (_remotingProxy) { string sqlString = "SELECT shift_id as [value], shift_name as [key] from sys_shift where enabled = 'Y' "; return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(sqlString)); } } /// /// 获取零件号 /// /// public DataTable GetPartInfo(Pager pager, ref int totalCount) { 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", @"dbo.sys_part ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"part_id,part_no,part_spec ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", @" part_no")); 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(" enabled = 'Y' and part_type=2 "); 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); //ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt); //ht.Add("dataList", dataList); //ht.Add("totalCount", values["@TotalCount"].ToString()); totalCount = Convert.ToInt32(values["@TotalCount"]); return dt; } } public DataTable GetAll(string where, Pager pager, ref int totalCount) { 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", @"dbo.g_sn_count a LEFT JOIN dbo.sys_part b ON a.model_id = b.part_id AND b.part_type=2 LEFT JOIN dbo.sys_pdline c ON a.pdline_id = c.pdline_id LEFT JOIN dbo.sys_process e ON a.process_id = e.process_id LEFT JOIN dbo.sys_shift f ON a.shift_id = f.shift_id ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"c.pdline_name , b.part_no,a.create_ymd, a.work_date, convert(nvarchar(20),a.work_hour)+':00:00~' +convert(nvarchar(20),a.work_hour)+':59:59' work_hour ,SUM(a.output_qty) AS output_qty , e.process_name , f.shift_name ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", @"c.pdline_name ,a.create_ymd,a.work_date,a.work_hour,f.shift_name,e.process_name ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", @"a.workorder_no, b.part_no,a.create_ymd,a.work_date ,a.work_hour,c.pdline_name,e.process_name,f.shift_name")); 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", 1)); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" 1=1 " + where); 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); //ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt); //ht.Add("dataList", dataList); //ht.Add("totalCount", values["@TotalCount"].ToString()); totalCount = Convert.ToInt32(values["@TotalCount"]); return dt; } } } }