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 成员方法
}
}