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 { /// /// 这两项根据Name 的索引映射出code的值 /// 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) { } /// /// 获得产线 /// /// 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; } } /// /// 获得所有总成类型 /// /// 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; } } /// /// 获得时间类型 /// /// 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; } } /// /// 获得状态类型 /// /// 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; } } /// /// 获得停机最小时长列表 /// /// 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; } } /// /// 获得班别 /// /// 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; } } /// /// 获得部门信息 /// /// 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; } } /// /// 获得停线信息 /// /// 产线名 /// /// /// /// /// /// /// /// /// 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 spParas = new List(); 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; } } /// /// /// /// /// /// /// /// /// /// public bool UpdatdStandbyInfo(int ruid, string reason, string deptName, string action, string status) { lock (_remotingProxy) { Hashtable htRes = new Hashtable(); List spParas = new List(); 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; } } } }