protected override bool ActionGenuine(out string errorInfo)
        {
            string      itemName = GetInitParamValue(PN_ItemName) as string;
            bool        initVal  = Convert.ToBoolean(GetInitParamValue(PN_InitValue));
            IJFDataPool sysPool  = JFHubCenter.Instance.DataPool;

            if (sysPool.ContainItem(PN_ItemName))
            {
                if (sysPool.GetItemType(itemName) == typeof(bool))
                {
                    errorInfo = "Sucess";
                    return(true);
                }
                else
                {
                    errorInfo = "系统数据池已存在数据项:\"" + itemName + "\",类型:" + sysPool.GetItemType(itemName).Name;
                    return(false);
                }
            }
            if (!sysPool.RegistItem(PN_ItemName, typeof(bool), initVal))
            {
                errorInfo = "注册bool数据项失败!";
                return(false);
            }

            errorInfo = "Success";
            return(true);
        }
Example #2
0
 /// <summary>
 /// 设置数据池对象
 /// </summary>
 /// <param name="dataPool"></param>
 public void SetDataPool(IJFDataPool dataPool)
 {
     _dataPool = dataPool;
     if (_isFormLoaded)
     {
         timerFlush.Enabled = false;
         AdjustPoolItem();
     }
 }
Example #3
0
        private void btSetDataPool_Click(object sender, EventArgs e)
        {
            IJFDataPool dp = JFHubCenter.Instance.DataPool;

            dp.RegistItem("F-ListInt", typeof(List <int>));
            dp.RegistItem("List<string>", typeof(List <string>));
            dp.RegistItem("ArrayString", typeof(string[]));

            dp.RegistList("Collect-string", typeof(string));
            dp.EnqueList("C-Collect-bool", true);
            dp.EnqueList("C-Collect-bool", false);
            dp.RegistList("D-Collect-string", typeof(string));


            ucDataPoolEdit1.SetDataPool(JFHubCenter.Instance.DataPool);
        }
Example #4
0
        public bool SetCurrRecipeID(string recipeID, out string errorInfo)
        {
            if (string.IsNullOrEmpty(recipeID))
            {
                errorInfo = "产品ID为null/空字串";
                return(false);
            }
            if (!CheckRecipeMgr(out errorInfo))
            {
                return(false);
            }

            JFDLAFRecipeManager rm = JFHubCenter.Instance.RecipeManager as JFDLAFRecipeManager;

            string[] allRecipeIDs = rm.AllRecipeIDsInCategoty(SCN_CategotyProd);
            if (null == allRecipeIDs || !allRecipeIDs.Contains(recipeID))
            {
                errorInfo = "产品ID:\"" + recipeID + "\"在配方管理器中不存在";
                return(false);
            }
            if (WorkStatus == JFWorkStatus.Running || WorkStatus == JFWorkStatus.Interactiving || WorkStatus == JFWorkStatus.Pausing)
            {
                errorInfo = "正在运行,不能修改产品ID";
                return(false);
            }

            IJFDataPool dp   = JFHubCenter.Instance.DataPool;
            bool        isOK = dp.SetItemValue(SDN_CurrRecipeID, recipeID);

            if (!isOK)
            {
                errorInfo = "写入数据池失败";
            }
            else
            {
                //将当前产品信息写入SystemCfg
                JFXCfg sysCfg = JFHubCenter.Instance.SystemCfg;
                if (sysCfg.ContainsItem(SCN_CurrentRecipeID))
                {
                    sysCfg.SetItemValue(SCN_CurrentRecipeID, recipeID); //将当前产品ID 加到配置项中
                    sysCfg.Save();
                }
                errorInfo = "Success";
            }
            return(isOK);
        }
Example #5
0
        protected override bool ActionGenuine(out string errorInfo)
        {
            if (null == _owner)
            {
                errorInfo = "Owner MethodFlow is unset/null";
                return(false);
            }

            if (_station == null)
            {
                errorInfo = "工站未设置";
                return(false);
            }
            IJFDataPool stationDataPool = _station.DataPool;
            object      srcItem         = GetMethodInputValue(IN_LocItem);
            string      stationItemName = GetInitParamValue(PN_StationItemName) as string;
            Type        srcItemType     = typeof(object);

            if (srcItem != null)
            {
                srcItemType = srcItem.GetType();
            }
            if (!stationDataPool.ContainItem(stationItemName))
            {
                if (!stationDataPool.RegistItem(stationItemName, srcItemType, srcItem))
                {
                    errorInfo = "向工站数据池写入/注册 数据项失败 stationItemName = \"" + stationItemName + "\", Type=" + srcItemType + ",Value=" + srcItem.ToString();
                    return(false);
                }
            }
            else
            {
                if (!stationDataPool.SetItemValue(stationItemName, srcItem))
                {
                    errorInfo = "向工站数据池写入 数据项失败 stationItemName = \"" + stationItemName + "\", Type=" + srcItemType + ",Value=" + srcItem.ToString();
                    return(false);
                }
            }
            errorInfo = "Success";
            return(true);
        }
        protected override bool ActionGenuine(out string errorInfo)
        {
            if (null == _owner)
            {
                errorInfo = "Method's owner Flow is null"; //异常
                return(false);
            }
            string locItemName = GetInitParamValue(PN_LocPoolItemName) as string;

            if (!_owner.DataPool.ContainsKey(locItemName))
            {
                errorInfo = "动作流数据池中未包含数据项项名:\"" + locItemName + "\"";
                return(false);
            }

            string sysItemName = GetInitParamValue(PN_SysPoolItemName) as string;

            object      locVal      = _owner.DataPool[locItemName];
            IJFDataPool sysDataPool = JFHubCenter.Instance.DataPool;

            if (!sysDataPool.ContainItem(sysItemName))//注册并写入新值
            {
                if (!sysDataPool.RegistItem(sysItemName, _owner.TypePool[locItemName], locVal))
                {
                    errorInfo = string.Format("向系统数据池写入/注册 失败,SysItemName = {0},Type = {1},Value = {2}", sysItemName, _owner.TypePool[locItemName].Name, locVal.ToString());
                    return(false);
                }
            }
            else //覆盖写入
            {
                if (!sysDataPool.SetItemValue(sysItemName, locVal))
                {
                    errorInfo = string.Format("向系统数据池写入 失败,SysItemName = {0},本地类型 = {1}, 系统类型:{2},Value = {3}", sysItemName, _owner.TypePool[locItemName].Name, sysDataPool.GetItemType(sysItemName).Name, locVal.ToString());
                    return(false);
                }
            }


            errorInfo = "Success";
            return(true);
        }
 public override JFParamDescribe GetInitParamDescribe(string name)
 {
     if (name == PN_SysPoolItemName)
     {
         IJFDataPool   sysDataPool   = JFHubCenter.Instance.DataPool;
         List <string> boolItemNames = new List <string>();
         string[]      allItemNames  = sysDataPool.AllItemKeys;
         if (null != allItemNames)
         {
             foreach (string itName in allItemNames)
             {
                 if (sysDataPool.GetItemType(itName) == typeof(bool))
                 {
                     boolItemNames.Add(itName);
                 }
             }
         }
         return(JFParamDescribe.Create(PN_SysPoolItemName, typeof(string), JFValueLimit.Options, boolItemNames.ToArray()));
     }
     return(base.GetInitParamDescribe(name));
 }
Example #8
0
        public bool SetCurrLotID(string lotID, out string errorInfo)
        {
            if (string.IsNullOrEmpty(lotID))
            {
                errorInfo = "LotID为null/空字串";
                return(false);
            }


            if (WorkStatus == JFWorkStatus.Running || WorkStatus == JFWorkStatus.Interactiving || WorkStatus == JFWorkStatus.Pausing)
            {
                errorInfo = "正在运行,不能修改LotID";
                return(false);
            }

            IJFDataPool dp   = JFHubCenter.Instance.DataPool;
            bool        isOK = dp.SetItemValue(SDN_CurrLotID, lotID);

            if (!isOK)
            {
                errorInfo = "LotID写入数据池失败";
            }
            else
            {
                //将当前产品信息写入SystemCfg
                JFXCfg sysCfg = JFHubCenter.Instance.SystemCfg;
                if (sysCfg.ContainsItem(SCN_CurrentLotID))
                {
                    sysCfg.SetItemValue(SCN_CurrentLotID, lotID); //将当前LotID 保存到配置项中
                    sysCfg.Save();
                }



                errorInfo = "Success";
            }
            return(isOK);
        }
Example #9
0
        protected override bool ActionGenuine(out string errorInfo)
        {
            string      itemName    = GetInitParamValue(PN_SysPoolItemName) as string;
            IJFDataPool sysDataPool = JFHubCenter.Instance.DataPool;

            if (!sysDataPool.ContainItem(itemName))
            {
                errorInfo = "系统数据池不包含数据项名:" + itemName;
                return(false);
            }

            object val;

            if (!sysDataPool.GetItemValue(itemName, out val))
            {
                errorInfo = "获取系统数据项失败:名称:\"" + itemName + "\"";
                return(false);
            }

            SetOutputParamValue(ON_CurrVal, val);
            errorInfo = "Success";
            return(true);
        }
Example #10
0
 public void SetDataPool(IJFDataPool dp)
 {
     ucDataPoolEdit1.SetDataPool(dp);
 }