You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

459 lines
28 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using DbCommon;
using System.Data;
using ApServerProvider;
using Estsh.Web.Util;
using System.Text;
namespace Estsh.Core.Repositories
{
public class ReworkReportDal : BaseApp
{
public ReworkReportDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
/// <summary>
/// 项目类型
/// </summary>
/// <param name="subWhere"></param>
/// <returns></returns>
public DataTable GetModelTypeList()
{
lock (_remotingProxy)
{
return _remotingProxy.GetDataTable(" SELECT type_id as [value], type_name as [key] FROM dbo.sys_model_type WHERE enabled = 'Y' ORDER BY type_name ");
}
}
/// <summary>
///
/// </summary>
/// <param name="pager"></param>
/// <param name="serialNumber"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
/// <param name="typeName"></param>
/// <param name="currStatus"></param>
/// <returns></returns>
public DataTable GetBarCode(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate, string cmbTypeName, string cmbCurrStatus)
{
lock (_remotingProxy)
{
StringBuilder colStr = new StringBuilder();
//colStr.Append(" a.serial_number, c.part_no, c.part_spec, ");
//colStr.Append(" CASE a.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type, ");
//colStr.Append(" a.update_ymd+' '+a.update_hms as repairDate,");
//colStr.Append(" CASE a.current_status WHEN 1 THEN '不良品' WHEN 0 THEN '良品' WHEN -1 THEN '报废品' ELSE '未知' END AS current_status,");
//colStr.Append(" e.type_name,a.create_ymd + ' ' + a.create_hms as defect_ctime,CONVERT(VARCHAR(20), a.out_pdline_time, 120) as out_pdline_time ");
colStr.Append(" * ");
//StringBuilder tableName = new StringBuilder();
//tableName.Append(" g_sn_status a");
//tableName.Append(" INNER JOIN dbo.g_sn_defect b ON a.serial_number = b.serial_number");
//tableName.Append(" LEFT JOIN sys_part c ON a.part_id = c.part_id ");
//tableName.Append(" LEFT JOIN dbo.sys_model d ON d.model_id = a.model_id ");
//tableName.Append(" LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id");
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(" ( SELECT DISTINCT b.serial_number, c.part_no, c.part_spec, ");
SqlStringBuilder.Append(" CASE b.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type, ");
SqlStringBuilder.Append(" CASE b.current_status WHEN 1 THEN '不良品' WHEN 0 THEN '良品' WHEN -1 THEN '报废品' ELSE '未知' END AS current_status, e.type_name ");
SqlStringBuilder.Append(" from g_sn_defect a ");
SqlStringBuilder.Append(" INNER JOIN dbo.g_sn_status b ON a.serial_number = b.serial_number ");
SqlStringBuilder.Append(" LEFT JOIN sys_part c ON b.part_id = c.part_id ");
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_model d ON d.model_id = b.model_id ");
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id ");
//StringBuilder whereStr = new StringBuilder();
SqlStringBuilder.Append(string.Format(" where ( CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms) >= '{0}' ", startDate));
SqlStringBuilder.Append(string.Format(" AND CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms) <= '{0}' ) ", endDate));
if (string.IsNullOrEmpty(cmbTypeName) == false)
{
SqlStringBuilder.Append(string.Format(" AND d.model_type_id = {0}", cmbTypeName));
}
if (string.IsNullOrEmpty(cmbCurrStatus) == false && cmbCurrStatus != "1000")
{
if (cmbCurrStatus != "-2")
{
SqlStringBuilder.Append(string.Format(" AND b.current_status = {0} ", cmbCurrStatus));
}
else
{
SqlStringBuilder.Append(string.Format(" AND b.current_status not in ('-1','0','1') ", cmbCurrStatus));
}
}
if (string.IsNullOrEmpty(txtSerialNumber.Trim()) == false)
{
SqlStringBuilder.Append(string.Format(" AND a.serial_number='{0}' ", txtSerialNumber));
}
SqlStringBuilder.Append(string.Format(" ) AS aa "));
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", SqlStringBuilder.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", colStr.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", " serial_number "));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", " 1=1 "));
Hashtable values = new Hashtable(2);
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
//totalCount = Convert.ToInt32(values["@TotalCount"]);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 维修明细
/// </summary>
/// <param name="serialNumber">条码</param>
/// <returns></returns>
public DataTable GetRepairDetials(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("a.serial_number,d.part_no,d.part_spec,h.enum_desc,b.defect_desc,e.terminal_name, ");
strColumn.Append("CASE a.enabled WHEN 'Y' THEN '未维修' WHEN 'N' THEN '已维修' ELSE '其他' END AS enabled, ");
strColumn.Append("g.emp_name AS update_name,f.emp_name,a.update_ymd,a.update_hms,a.create_ymd,a.create_hms ");
StringBuilder strTable = new StringBuilder();
strTable.Append(" g_sn_defect a ");
strTable.Append(" LEFT JOIN dbo.sys_defect b ON a.defect_id=b.defect_id ");
strTable.Append(" LEFT JOIN dbo.g_sn_status c ON a.serial_number=c.serial_number ");
strTable.Append(" LEFT JOIN sys_part d ON c.part_id=d.part_id ");
strTable.Append(" LEFT JOIN dbo.sys_enum h ON d.part_location=h.enum_value AND h.enum_type='sys_part_location'");
strTable.Append(" LEFT JOIN dbo.sys_terminal e ON a.terminal_id=e.terminal_id ");
strTable.Append(" LEFT JOIN sys_emp f ON a.create_userid=f.emp_id ");
strTable.Append(" LEFT JOIN dbo.sys_emp g ON a.update_userid=g.emp_id ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append("1=1");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and a.serial_number='{0}'", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
}
string strOrder = " a.create_ymd,a.create_hms ";
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 关键零件更换
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
public DataTable GetKeyPart(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("a.serial_number,b.part_no,b.part_spec,a.kpsn,d.terminal_name, a.create_ymd, a.create_hms,c.emp_name");
StringBuilder strTable = new StringBuilder();
strTable.Append(" g_sn_keyparts a ");
strTable.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
strTable.Append(" LEFT JOIN sys_emp c ON a.create_userid=c.emp_id ");
strTable.Append(" LEFT JOIN dbo.sys_terminal d ON a.terminal_id=d.terminal_id ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append("1=1 and d.terminal_id IN (100044,100055,100069)");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and a.serial_number = '{0}'", txtSerialNumber);
strWhere.AppendFormat(" OR a.kpsn ='{0}'", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
}
string strOrder = " a.serial_number ";
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 非关键零件
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
public DataTable GetNotKeyPart(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("a.serial_number,b.part_no,b.part_spec,a.qty, a.create_ymd,a.create_hms,c.emp_name,a.remark");
StringBuilder strTable = new StringBuilder();
strTable.Append(" g_sn_repair_replace_parts a ");
strTable.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
strTable.Append(" LEFT JOIN sys_emp c ON a.replace_emp_id=c.emp_id ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append("1=1");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and a.serial_number='{0}'", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.AppendFormat(" and a.create_ymd BETWEEN '{0}' and '{1}' ", startDate, endDate);
}
StringBuilder strOrder = new StringBuilder();
strOrder.Append("a.serial_number");
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
//StringBuilder SqlBuilder = new StringBuilder();
//SqlBuilder.Append(" SELECT a.serial_number,b.part_no,b.part_spec,a.qty, a.create_ymd,a.create_hms,c.emp_name,a.remark ");
//SqlBuilder.Append(" FROM g_sn_repair_replace_parts a ");
//SqlBuilder.Append(" LEFT JOIN sys_part b on a.item_part_id=b.part_id ");
//SqlBuilder.Append(" LEFT JOIN sys_emp c ON a.replace_emp_id=c.emp_id ");
//SqlBuilder.Append(string.Format(" WHERE a.serial_number='{0}'", serialNumber));
//SqlBuilder.Append(" order by a.serial_number ");
//return _remotingProxy.GetDataTable(SqlBuilder.ToString());
}
}
/// <summary>
/// 关键数据
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
public DataTable GetKeyData(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("a.serial_number,c.part_no,c.part_spec,a.keydata_desc,a.keydata_value,a.keydata_angle ,a.create_ymd,a.create_hms");
StringBuilder strTable = new StringBuilder();
strTable.Append(" g_sn_keydata a ");
strTable.Append(" LEFT JOIN dbo.g_sn_status d ON a.serial_number=d.serial_number ");
strTable.Append(" LEFT JOIN sys_part c ON d.part_id =c.part_id ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append(" 1=1");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and a.serial_number='{0}' ", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
}
StringBuilder strOrder = new StringBuilder();
strOrder.Append("a.serial_number");
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 电功能检测
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
public DataTable GetCheck(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("条码,设备名称,检测项目名称,下限值,[上限值/模块信息] AS 上限值,测试值,[测试结果OK/NG] AS 测试结果,测试完成日期时间 ");
StringBuilder strTable = new StringBuilder();
strTable.Append(" i_djc_testdata a ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append(" 1=1");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and 条码 ='{0}' ", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.Append(" and 条码 IN ");
strWhere.AppendFormat(" (SELECT serial_number FROM g_sn_defect WHERE (CONVERT(DATETIME, create_ymd + ' ' + create_hms)) BETWEEN '{0}' and '{1}') ", startDate, endDate);
}
StringBuilder strOrder = new StringBuilder();
strOrder.Append("条码");
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 关键零件
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
public DataTable GetKeyParts(ref Pager pager, string txtSerialNumber, DateTime startDate, DateTime endDate)
{
lock (_remotingProxy)
{
StringBuilder strColumn = new StringBuilder();
strColumn.Append("a.serial_number, b.part_no,b.part_spec,a.kpsn, a.create_ymd,a.create_hms");
StringBuilder strTable = new StringBuilder();
strTable.Append(" g_sn_keyparts a ");
strTable.Append(" LEFT JOIN sys_part b ON a.item_part_id=b.part_id ");
StringBuilder strWhere = new StringBuilder();
strWhere.Append(" 1=1");
if (string.IsNullOrEmpty(txtSerialNumber) == false)
{
strWhere.AppendFormat(" and a.serial_number = '{0}'", txtSerialNumber);
strWhere.AppendFormat(" OR a.kpsn ='{0}'", txtSerialNumber);
}
if (startDate != DateTime.MinValue && startDate != DateTime.MaxValue)
{
strWhere.AppendFormat(" and (CONVERT(DATETIME, a.create_ymd + ' ' + a.create_hms)) BETWEEN '{0}' and '{1}' ", startDate, endDate);
}
StringBuilder strOrder = new StringBuilder();
strOrder.Append("a.serial_number");
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
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", strTable.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", strColumn.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", strOrder.ToString()));
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));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere.ToString()));
Hashtable values = new Hashtable();
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
}
}