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.

299 lines
12 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 PDLineStandbyQueryDal : BaseApp
{
/// <summary>
/// 这两项根据Name 的索引映射出code的值
/// </summary>
private string[] seatTypeNames = new string[] { "ALL", "前排", "后坐垫", "后靠背" };
private string[] seatTypeCodes = new string[] { "ALL", "FRONTROW", "BACKSEAT", "BACKREST" };
private string[] standbyTimeTypeNames = new string[] { "时", "分", "秒" };
private int[] standbyTimeTypeCodes = new int[] { 3600, 60, 1 };
//只显示用,具体依据控件的.Text为准 //没有必要从数据库中查询,查询影响反应速度
public string[] statusNames = new string[] { "ALL", "OPEN", "PROGRESS", "CLOSE" };
//private string[] pdLineNames = new string[] { "ALL", "NH#1", "1" };
//public string[] deptNames = new string[] { "ALL", "质量部门", "工程部", "生产部门", "物料部门", "IT" };
//private string[] shiftNames = new string[] { "ALL", "日班", "中班" };
private int[] timeLowLimit = new int[] { 0, 5, 10, 15, 20 };
public PDLineStandbyQueryDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
/// <summary>
/// 获得产线
/// </summary>
/// <returns></returns>
public Hashtable GetPdLine()
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
string sqlStr = " select pdline_name as [value],pdline_name as [key] from sys_pdline";
DataTable dt = _remotingProxy.GetDataTable(sqlStr);
if (dt != null)
{
ArrayList data = DataTypeConvert.NewObject.DataTableToArrayList(dt);
result.Add("data", data);
}
return result;
}
}
/// <summary>
/// 获得所有总成类型
/// </summary>
/// <returns></returns>
public Hashtable GetSeatType()
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
ArrayList data = new ArrayList();
for (int i = 0; i < seatTypeNames.Length; i++)
{
Hashtable item = new Hashtable();
item.Add("value", seatTypeCodes[i]);
item.Add("key", seatTypeNames[i]);
data.Add(item);
}
result.Add("data", data);
return result;
}
}
/// <summary>
/// 获得时间类型
/// </summary>
/// <returns></returns>
public Hashtable GetStandbyTimeType()
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
ArrayList data = new ArrayList();
for (int i = 0; i < standbyTimeTypeNames.Length; i++)
{
Hashtable item = new Hashtable();
item.Add("value", standbyTimeTypeCodes[i]);
item.Add("key", standbyTimeTypeNames[i]);
data.Add(item);
}
result.Add("data", data);
return result;
}
}
/// <summary>
/// 获得状态类型
/// </summary>
/// <returns></returns>
public Hashtable GetStatusType()
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
ArrayList data = new ArrayList();
for (int i = 0; i < statusNames.Length; i++)
{
Hashtable item = new Hashtable();
item.Add("value", statusNames[i]);
item.Add("key", statusNames[i]);
data.Add(item);
}
result.Add("data", data);
return result;
}
}
/// <summary>
/// 获得停机最小时长列表
/// </summary>
/// <returns></returns>
public Hashtable GetTimeLowLimit()
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
ArrayList data = new ArrayList();
for (int i = 0; i < timeLowLimit.Length; i++)
{
Hashtable item = new Hashtable();
item.Add("key", timeLowLimit[i]);
item.Add("value", timeLowLimit[i]);
data.Add(item);
}
result.Add("data", data);
return result;
}
}
/// <summary>
/// 获得班别
/// </summary>
/// <returns></returns>
public Hashtable GetShiftData()
{
lock (_remotingProxy)
{
string sqlStr = "select shift_id as [value], shift_name as[key] from sys_shift";
Hashtable result = new Hashtable();
try
{
DataTable dt = _remotingProxy.GetDataTable(sqlStr);
if (dt != null)
{
ArrayList data = DataTypeConvert.NewObject.DataTableToArrayList(dt);
result.Add("data", data);
}
}
catch
{
return null;
}
return result;
}
}
/// <summary>
/// 获得部门信息
/// </summary>
/// <returns></returns>
public Hashtable GetDeptInfo()
{
lock (_remotingProxy)
{
string sqlStr = "select dept_name as [value] ,dept_name as [key] from sys_dept";
Hashtable result = new Hashtable();
try
{
DataTable dt = _remotingProxy.GetDataTable(sqlStr);
if (dt != null)
{
ArrayList data = DataTypeConvert.NewObject.DataTableToArrayList(dt);
result.Add("data", data);
}
}
catch
{
return null;
}
return result;
}
}
/// <summary>
/// 获得停线信息
/// </summary>
/// <param name="pdLineId">产线名</param>
/// <param name="seatType"></param>
/// <param name="shiftId"></param>
/// <param name="status"></param>
/// <param name="deptId"></param>
/// <param name="standbyLowLimit"></param>
/// <param name="standbyTimeType"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public DataTable GetStandbyInfo(ref Pager page,string pdLineId, string seatType, string shiftId, string status, string deptId, string standbyLowLimit, string standbyTimeType, string startTime, string endTime)
{
lock (_remotingProxy)
{
Hashtable htRes = new Hashtable();
List<StoreProcedureParameter> spParas = new List<StoreProcedureParameter>();
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@pdLineName", pdLineId));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@seatType", seatType));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@shiftName", shiftId));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@sStatus", status));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@deptName", deptId));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@standbyTimeLowLimit", standbyLowLimit));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@standbyTimeType", standbyTimeType));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@standbyType", "EX"));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@startTime", startTime));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@endTime", endTime));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Output, "@retCode", 10));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Output, "@retMsg", 512));
DataTable tmpDT = null;
try
{
tmpDT = _remotingProxy.ExecuteSotreProcedure("spQueryStandbyInfo", spParas, ref htRes);
}
catch
{
return null;
}
return DataTableHelper.GetTablePage(ref page, tmpDT);
//Hashtable result = null;
//if (htRes["@retCode"].ToString().ToUpper() == "PASSED" && tmpDT != null)
//{
// result=new Hashtable();
// result.Add("data", DataTypeConvert.NewObject.DataTableToArrayList(tmpDT));
//}
//return tmpDT;
}
}
/// <summary>
///
/// </summary>
/// <param name="ruid"></param>
/// <param name="reason"></param>
/// <param name="deptName"></param>
/// <param name="action"></param>
/// <param name="status"></param>
/// <param name="userID"></param>
/// <returns></returns>
public bool UpdatdStandbyInfo(int ruid, string reason, string deptName, string action, string status)
{
lock (_remotingProxy)
{
Hashtable htRes = new Hashtable();
List<StoreProcedureParameter> spParas = new List<StoreProcedureParameter>();
spParas.Add(new StoreProcedureParameter(DbType.Int64, ParameterDirection.Input, "@ruid", ruid));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@reason", reason));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@deptName", deptName));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@action", action));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@status", status));
spParas.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@userID", this._remotingProxy.UserID));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Output, "@retCode", 10));
spParas.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Output, "@retMsg", 512));
DataTable tmpDT = null;
try
{
tmpDT = _remotingProxy.ExecuteSotreProcedure("spUpdateStandbyInfo", spParas, ref htRes);
}
catch (System.Exception ex)
{
return false;
}
if (!htRes.Contains("@retCode"))
{
return false;
}
if (htRes["@retCode"].ToString().ToUpper() == "PASSED")
return true;
else
return false;
}
}
}
}