private void RefreshExecutePWOInfo(ProductionLineInfo line) { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { int errCode = 0; string errText = ""; LineKPI_BTS pwoBTS = new LineKPI_BTS(); IRAPFVSClient.Instance.ufn_GetInfo_LineKPI_BTS( stationUser.CommunityID, 134, line.T134LeafID, "", stationUser.SysLogID, ref pwoBTS, out errCode, out errText); WriteLog.Instance.Write( string.Format("({0}){1}", errCode, errText), strProcedureName); if (errCode != 0) { pwoBTS.BTSStatus = (int)UserControls.TrackBarStyle.tbsNone; } ucKPIBTS.Minimum = 0; ucKPIBTS.Maximum = pwoBTS.PlanQuantity.DoubleValue; ucKPIBTS.KPIName = pwoBTS.KPIName; ucKPIBTS.KPIValue = Convert.ToDouble(pwoBTS.KPIValue); ucKPIBTS.KPIProgress = Convert.ToDouble(pwoBTS.BTSProgress); ucKPIBTS.TrackBarStyle = (UserControls.TrackBarStyle)pwoBTS.BTSStatus; ucKPIBTS.ActualOutputQuantity = pwoBTS.ActualQuantity.DoubleValue; ucKPIBTS.Tag = pwoBTS; } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }
/// <summary> /// 获取当前工单执行的瞬时达成率 /// </summary> /// <param name="communityID">社区标识</param> /// <param name="resourceTreeID">产线或工作中心(134/211)</param> /// <param name="resourceLeafID">产线或工作中心叶标识</param> /// <param name="nowTime">当前时间(传入空串表示当前时间)</param> /// <param name="sysLogID">系统登录标识</param> /// <returns>LineKPI_BTS</returns> public IRAPJsonResult ufn_GetInfo_LineKPI_BTS( int communityID, int resourceTreeID, int resourceLeafID, string nowTime, long sysLogID, out int errCode, out string errText) { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { LineKPI_BTS data = new LineKPI_BTS(); #region 创建数据库调用参数组,并赋值 IList <IDataParameter> paramList = new List <IDataParameter>(); paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID)); paramList.Add(new IRAPProcParameter("@ResourceTreeID", DbType.Int32, resourceTreeID)); paramList.Add(new IRAPProcParameter("@ResourceLeafID", DbType.Int32, resourceLeafID)); paramList.Add(new IRAPProcParameter("@NowTime", DbType.String, nowTime)); paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID)); WriteLog.Instance.Write( string.Format( "调用函数 IRAPFVS..ufn_GetInfo_LineKPI_BTS," + "参数:CommunityID={0}|ResourceTreeID={1}|ResourceLeafID={2}|" + "NowTime={3}|SysLogID={4}", communityID, resourceTreeID, resourceTreeID, nowTime, sysLogID), strProcedureName); #endregion #region 执行数据库函数或存储过程 try { using (IRAPSQLConnection conn = new IRAPSQLConnection()) { string strSQL = "SELECT * " + "FROM IRAPFVS..ufn_GetInfo_LineKPI_BTS(" + "@CommunityID, @ResourceTreeID, @ResourceLeafID, " + "@NowTime, @SysLogID)"; IList <LineKPI_BTS> lstDatas = conn.CallTableFunc <LineKPI_BTS>(strSQL, paramList); if (lstDatas.Count > 0) { data = lstDatas[0].Clone(); errCode = 0; errText = "调用成功!"; } else { errCode = -99001; errText = "没有当前工单执行的瞬时达成率信息"; } WriteLog.Instance.Write(errText, strProcedureName); } } catch (Exception error) { errCode = 99000; errText = string.Format("调用 IRAPFVS..ufn_GetInfo_LineKPI_BTS 函数发生异常:{0}", error.Message); WriteLog.Instance.Write(errText, strProcedureName); WriteLog.Instance.Write(error.StackTrace, strProcedureName); } #endregion return(Json(data)); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }
private void RefreshOpenPWOs( int communityID, int resourceTreeID, int leafID, long sysLogID, ref string pwoNo) { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { int errCode = 0; string errText = ""; List <OpenPWO> pwos = new List <OpenPWO>(); pwoNo = ""; IRAPMESClient.Instance.ufn_GetList_OpenPWOsOfALine( communityID, resourceTreeID, leafID, sysLogID, ref pwos, out errCode, out errText); WriteLog.Instance.Write( string.Format("({0}){1}", errCode, errText), strProcedureName); if (errCode == 0) { List <OpenPWO> openPWOs = new List <OpenPWO>(); int i = 0; foreach (OpenPWO pwo in pwos) { if (i > 1) { break; } if (i == 0 && pwo.PWOStatus == 5) { if (kpi.Tag is LineKPI_BTS) { LineKPI_BTS kpiData = (LineKPI_BTS)kpi.Tag; OpenPWO openPWO = pwo.Clone(); openPWO.ActualQuantity = kpiData.ActualQuantity.DoubleValue; openPWO.ActualStartTime = kpiData.ActualStartTime; openPWO.BTSStatus = kpiData.BTSStatus; pwoNo = kpiData.PWONo; openPWOs.Add(openPWO); i++; } } else { pwo.BTSStatus = -1; openPWOs.Add(pwo.Clone()); i += 2; } } grdOpenPWOs.DataSource = openPWOs; grdvOpenPWOs.BestFitColumns(); } else { grdOpenPWOs.DataSource = null; } } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); WriteLog.Instance.Write(error.StackTrace, strProcedureName); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }