using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ApServerProvider;
using System.Collections;
using Estsh.Web.Util;
using System.Data;
using DbCommon;
namespace Estsh.Core.Repositories
{
public class ProcessOutputQueryDal:BaseApp
{
public ProcessOutputQueryDal(RemotingProxy proxy)
: base(proxy)
{
}
///
/// 获取生产线信息
///
///
public ArrayList GetPdlineName()
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(" select pdline_name as [value],pdline_name as [key] from sys_pdline where enabled ='Y' ");
return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(SqlStringBuilder.ToString()));
}
}
///
/// 获取制程信息
///
///
public ArrayList GetProcessName()
{
lock (_remotingProxy)
{
string sqlString = "SELECT process_id as [value],process_name as [key] from sys_process where enabled ='Y' ";
return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(sqlString));
}
}
///
/// 获取班次信息
///
///
public ArrayList GetShiftName()
{
lock (_remotingProxy)
{
string sqlString = "SELECT shift_id as [value], shift_name as [key] from sys_shift where enabled = 'Y' ";
return DataTypeConvert.NewObject.DataTableToArrayList(_remotingProxy.GetDataTable(sqlString));
}
}
///
/// 获取零件号
///
///
public DataTable GetPartInfo(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.sys_part "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"part_id,part_no,part_spec "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", @" part_no"));
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(" enabled = 'Y' and part_type=2 ");
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 DataTable GetAll(string where, 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.g_sn_count a
LEFT JOIN dbo.sys_part b ON a.model_id = b.part_id AND b.part_type=2
LEFT JOIN dbo.sys_pdline c ON a.pdline_id = c.pdline_id
LEFT JOIN dbo.sys_process e ON a.process_id = e.process_id
LEFT JOIN dbo.sys_shift f ON a.shift_id = f.shift_id "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", @"c.pdline_name , b.part_no,a.create_ymd, a.work_date,
convert(nvarchar(20),a.work_hour)+':00:00~' +convert(nvarchar(20),a.work_hour)+':59:59' work_hour
,SUM(a.output_qty) AS output_qty , e.process_name , f.shift_name "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@orderColumn", @"c.pdline_name ,a.create_ymd,a.work_date,a.work_hour,f.shift_name,e.process_name "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", @"a.workorder_no, b.part_no,a.create_ymd,a.work_date ,a.work_hour,c.pdline_name,e.process_name,f.shift_name"));
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", 1));
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(" 1=1 " + where);
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;
}
}
}
}