Exemple #1
0
        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);
            }
        }
Exemple #2
0
        /// <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);
            }
        }
Exemple #3
0
        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);
            }
        }