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;
namespace Estsh.Core.Repositories
{
/***************************************************************************************************
*
* 作者:任华松
* 创建时间:2013.07.08
* 描述:产品下线未发运查询DAL层
* 修改日志:
*
*
* *************************************************************************************************/
public class YYEDIQueryDal : BaseApp
{
public YYEDIQueryDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
this.TABLE_NAME = "";
this.PK_NAME = "";
}
///
/// 汇总
///
///
///
public DataTable GetYYEDIData(string aWhere, 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.magna_edi(nolock) AS a
left JOIN dbo.magne_edi_detail(nolock) AS b ON b.billId = a.billId
left join sys_part(nolock) c on c.part_no_3c=b.materialId
LEFT JOIN dbo.sys_model(nolock) d ON b.model_id=d.model_id"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"b.vin,b.materialId,b.csn,d.model_name,d.model_desc,b.remark,c.part_no,c. part_spec,a.billId,a.sequenceNo,
CASE a.plantId WHEN '3320' THEN '大江东客户' WHEN '3302' THEN '余姚领克' ELSE '其他' END AS plantId,
a.boxParts,a.boxPartsName,a.firstTime,a.expectedArrivalTime,a.supplierConfirmTime,a.estimatedArrivalTime , CASE b.edi_type WHEN '0' THEN 'EDI抓取' WHEN '10' THEN 'EDI新增' ELSE '其他' END AS edi_type
,b.is_production,b.is_shipping "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", " b.csn "));
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 and c.enabled='Y' " + 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(string typeName)
{
lock (_remotingProxy)
{
string quernSen = "";
if (string.IsNullOrEmpty(typeName))
{
quernSen = @" SELECT DISTINCT model_name as [value],model_name as [key] FROM dbo.sys_model WHERE enabled = 'Y' ";
}
else
{
quernSen = @" SELECT DISTINCT model_name as [value],model_name as [key] FROM dbo.sys_model a JOIN dbo.sys_model_type b ON a.model_type_id = b.type_id WHERE a.enabled = 'Y' AND b.type_name = '" + typeName + "' ";
}
DataTable dt = _remotingProxy.GetDataTable(quernSen);
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
///
///车型集合
///
/// 数据集
public ArrayList GetTypeName()
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select type_name as [value],type_name as [key] from sys_model_type where enabled='Y' ");
DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
}
}
}