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;
}
}
}
}