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