using System; using System.Collections.Generic; using System.Linq; using System.Text; using Estsh.Web.Util; using ApServerProvider; using System.Collections; using System.Data; using DbCommon; /*************************************************************************************************** * * 作者:王勇 * {yyyy}{MM}{dd}{HH}{mm}{ss}{No} * *************************************************************************************************/ namespace Estsh.Core.Repositories { /// /// 处理菜单模块的业务数据 /// public class XTShipDefineDal : BaseApp { public XTShipDefineDal(RemotingProxy remotingProxy) : base(remotingProxy) { } #region 成员方法 public DataTable XTShipDefineListByPage(string aWhere, Pager pager, ref int totalCount) { lock (_remotingProxy) { Hashtable ht = new Hashtable(); List parameters = new List(); int flag = aWhere.IndexOf("'2'"); if (flag < 0) { 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_edi(NOLOCK) AS b LEFT JOIN dbo.g_edi_ship_detail(NOLOCK) AS a ON b.ruid = a.ruid LEFT JOIN dbo.sys_model(NOLOCK) AS c ON c.model_id = b.model_id LEFT JOIN dbo.g_edi_print_detail(NOLOCK) AS f ON b.ruid BETWEEN f.start_no AND f.end_no LEFT JOIN dbo.g_sn_status(NOLOCK) g ON a.serial_number=g.csn LEFT JOIN sys_part(NOLOCK) p ON g.part_id=p.part_id AND p.part_type=1")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @" f.order_no, b.PNRSTRING, b.VIN , b.create_ymd , b.create_hms , CASE a.status WHEN 1 THEN '正常发运' WHEN 3 then '解锁' ELSE '其他' END AS [status], a.serial_number , c.model_name , p.part_no,p.part_spec,a.create_ymd AS ship_create_ymd , a.create_hms AS ship_create_hms ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", " a.create_ymd,a.create_hms 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)); } else { 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_edi_ship_detail(NOLOCK) AS a LEFT JOIN dbo.g_sn_status(NOLOCK) AS g ON g.csn = a.serial_number LEFT JOIN dbo.sys_model(NOLOCK) AS c ON c.model_id = g.model_id LEFT JOIN sys_part(NOLOCK) p ON g.part_id=p.part_id AND p.part_type=1")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @" '' AS order_no, '' AS PNRSTRING, '' AS vin, c.model_name,p.part_no,p.part_spec, CASE a.status WHEN '2' THEN '非计划出库' ELSE '其他' END AS [status],a.serial_number ,'' AS create_ymd, '' AS create_hms, a.create_ymd AS ship_create_ymd ,a.create_hms AS ship_create_hms ")); parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", " a.create_ymd,a.create_hms 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("1=1 " + aWhere); 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 ArrayList GetModelName() { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" SELECT a.model_id AS [value] ,a.model_name AS [key] FROM sys_model AS a"); return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(SqlStringBuilder.ToString())); } } #endregion 成员方法 } }