예제 #1
0
        /// <summary>
        /// 更新指定的参数
        /// </summary>
        /// <param name="catalog"></param>
        private void _updateConfig(ParameterCatalog catalog)
        {
            switch (catalog)
            {
            case ParameterCatalog.门诊经管:
                UpdateMZJGConfig();
                break;

            case ParameterCatalog.门诊医生站:
                UpdateMZYSConfig();
                break;

            case ParameterCatalog.住院护士站:
                UpdateZYHSConfig();
                break;

            case ParameterCatalog.住院经管:
                UpdateZYJGConfig();
                break;

            case ParameterCatalog.住院医生站:
                UpdateZYYSConfig();
                break;

            case ParameterCatalog.药品管理:
                UpdateYPGLConfig();
                break;
            }
        }
예제 #2
0
        /// <summary>
        /// 加载参数模板
        /// </summary>
        private void LoadParameterTemplate()
        {
            string      xmlText = Properties.Resources.Parameters;
            XmlDocument xd      = new XmlDocument();

            xd.LoadXml(xmlText);
            htStandardParameters = new Hashtable();
            foreach (object obj in Enum.GetValues(typeof(ParameterCatalog)))
            {
                ParameterCatalog catalog = (ParameterCatalog)obj;

                XmlNodeList xnl = xd.GetElementsByTagName(catalog.ToString());
                if (xnl.Count == 0)
                {
                    throw new Exception("Xml file error!");
                }

                if (catalog != ParameterCatalog.药品管理)
                {
                    List <Parameter> lstParameter = GetStandardParameterList(xnl[0]);
                    htStandardParameters.Add(catalog, lstParameter);
                }
                else
                {
                    List <Parameter> lstParameter = new List <Parameter>();

                    foreach (XmlNode nd in xnl[0].ChildNodes)
                    {
                        List <Parameter> lstTemp = GetStandardParameterList(nd);
                        lstParameter.AddRange(lstTemp);
                    }
                    htStandardParameters.Add(catalog, lstParameter);
                }
            }
        }
예제 #3
0
        /// <summary>
        /// 用标准参数对比现有参数并增加没有的参数
        /// </summary>
        /// <param name="catalog"></param>
        private void CheckParameters(ParameterCatalog catalog)
        {
            List <Parameter> lstStdParameter = (List <Parameter>)htStandardParameters[catalog];
            List <Parameter> lstCurParameter = GetCurrentParameterList(catalog);

            if (catalog != ParameterCatalog.药品管理)
            {
                DoChecking(catalog, lstStdParameter, lstCurParameter);
            }
            else
            {
                //药房参数需要特殊处理
                //1、比较公共部分
                List <Parameter> lstStdParameter_Common = lstStdParameter.FindAll(delegate(Parameter p)
                {
                    return(p.DeptId == 0 ? true : false);
                });
                DoChecking(catalog, lstStdParameter_Common, lstCurParameter);
                //2、比较各个药剂科
                List <Parameter> lstStdParameter_Speci = lstStdParameter.FindAll(delegate(Parameter p)
                {
                    return(p.DeptId == -1 ? true : false); //得到标志模板关于具体科室的参数
                });
                DataTable dtDrugroom = BaseDataReader.GetDrugRoomList();
                foreach (DataRow dr in dtDrugroom.Rows)
                {
                    int deptId = Convert.ToInt32(dr["DEPTID"]);
                    List <Parameter> lstDrugRoomParameter = lstCurParameter.FindAll(delegate(Parameter p)
                    {
                        return(p.DeptId == deptId ? true : false); //取出每个科室的参数
                    });
                    DoChecking(catalog, lstStdParameter_Speci, lstDrugRoomParameter, deptId);
                }
            }
        }
예제 #4
0
        public static void Reload(ParameterCatalog catalog)
        {
            switch (catalog)
            {
            case ParameterCatalog.门诊经管:
                _mzjgparameters = null;
                break;

            case ParameterCatalog.住院经管:
                _zyjgparameters = null;
                break;

            case ParameterCatalog.门诊医生站:
                _mzdocjgparameters = null;
                break;

            case ParameterCatalog.住院医生站:
                _zydocparameters = null;
                break;

            case ParameterCatalog.住院护士站:
                _zynurseparameters = null;
                break;

            case ParameterCatalog.药品管理:
                _ypjgparameters = null;
                break;
            }
        }
예제 #5
0
 public Parameters this[ParameterCatalog catalog]
 {
     get
     {
         return((Parameters)htParameters[catalog]);
     }
 }
예제 #6
0
        private void tvwModels_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Tag != null)
            {
                UserControl      uc      = null;
                ParameterCatalog catalog = CurrentSelectCatalog;
                switch (catalog)
                {
                case ParameterCatalog.门诊经管:
                    uc = new UC_MZJG();
                    ((UC_MZJG)uc).AllowEditDocPresRange = parameterController.AllowEditDocPresItems;
                    break;

                case ParameterCatalog.住院经管:
                    uc = new UC_ZYJG();
                    break;

                case ParameterCatalog.门诊医生站:
                    uc = new UC_MZYS();
                    break;

                case ParameterCatalog.住院医生站:
                    uc = new UC_ZYYS();
                    break;

                case ParameterCatalog.住院护士站:
                    uc = new UC_ZYHS();
                    break;

                case ParameterCatalog.药品管理:
                    uc = new UC_YPGL();
                    break;
                }
                try
                {
                    ((IParameter)uc).Parameters = parameterController.ParameterCollect[catalog];
                    plUI.Controls.Clear();
                    plUI.Controls.Add(uc);
                    uc.Dock = DockStyle.Fill;
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                plUI.Controls.Clear();
            }
        }
예제 #7
0
 /// <summary>
 /// 更新指定的分类参数
 /// </summary>
 /// <param name="catalog"></param>
 public void UpdateConfig(ParameterCatalog catalog)
 {
     try
     {
         oleDb.BeginTransaction();
         _updateConfig(catalog);
         oleDb.CommitTransaction();
     }
     catch (Exception err)
     {
         oleDb.RollbackTransaction();
         throw err;
     }
 }
예제 #8
0
 /// <summary>
 /// 初始化指定模块的参数
 /// </summary>
 /// <param name="catalog"></param>
 public void Initialize(ParameterCatalog catalog)
 {
     oleDb.BeginTransaction();
     try
     {
         CheckParameters(catalog);
         oleDb.CommitTransaction();
     }
     catch (Exception err)
     {
         oleDb.RollbackTransaction();
         throw err;
     }
 }
예제 #9
0
        /// <summary>
        /// 增加参数
        /// </summary>
        private void AddParameter(Parameter p, ParameterCatalog catalog)
        {
            switch (catalog)
            {
            case ParameterCatalog.门诊经管:
                BindEntity <Model.MZ_CONFIG> .CreateInstanceDAL(oleDb).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                           new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                           new bool[] { true, true, true, true, false });

                break;

            case ParameterCatalog.住院护士站:
                BindEntity <Model.ZY_NURSE_CONFIG> .CreateInstanceDAL(oleDb).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                                 new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                                 new bool[] { true, true, true, true, false });

                break;

            case ParameterCatalog.住院经管:
                BindEntity <Model.ZY_CONFIG> .CreateInstanceDAL(oleDb, Tables.ZY_CONFIG).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                                             new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                                             new bool[] { true, true, true, true, false });

                break;

            case ParameterCatalog.住院医生站:
                BindEntity <Model.ZY_DOC_CONFIG> .CreateInstanceDAL(oleDb).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                               new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                               new bool[] { true, true, true, true, false });

                break;

            case ParameterCatalog.门诊医生站:
                BindEntity <Model.MZ_DOC_CONFIG> .CreateInstanceDAL(oleDb).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                               new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                               new bool[] { true, true, true, true, false });

                break;

            case ParameterCatalog.药品管理:
                BindEntity <Model.YP_CONFIG> .CreateInstanceDAL(oleDb).Add(new string[] { "code", "name", "value", "bz", "deptid" },
                                                                           new string[] { p.Code, FormatString(p.Name), FormatString(p.Value.ToString()), FormatString(p.Notes), p.DeptId.ToString() },
                                                                           new bool[] { true, true, true, true, false });

                break;
            }
        }
예제 #10
0
        /// <summary>
        /// 创建功能分类树
        /// </summary>
        private void CreateCatalogTree()
        {
            TreeNode ndRoot = new TreeNode("功能分类目录", 0, 0);

            tvwModels.Nodes.Add(ndRoot);
            foreach (object obj in Enum.GetValues(typeof(ParameterCatalog)))
            {
                TreeNode         catalogNode = new TreeNode();
                ParameterCatalog catalog     = (ParameterCatalog)obj;
                catalogNode.Text               = catalog.ToString();
                catalogNode.ImageIndex         = 1;
                catalogNode.SelectedImageIndex = 2;
                catalogNode.Tag = catalog;
                catalogNode.Expand();
                ndRoot.Nodes.Add(catalogNode);
            }
            tvwModels.ExpandAll();
        }
예제 #11
0
 /// <summary>
 /// 用标准参数对比现有参数并增加没有的参数
 /// </summary>
 /// <param name="catalog">分类</param>
 /// <param name="lstStdParameter">标准参数</param>
 /// <param name="lstCurParameter">现有参数</param>
 private void DoChecking(ParameterCatalog catalog, List <Parameter> lstStdParameter, List <Parameter> lstCurParameter)
 {
     foreach (Parameter stdParameter in lstStdParameter)
     {
         Parameter curParameter = lstCurParameter.Find(delegate(Parameter p)
         {
             if (p.Code == stdParameter.Code)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         });
         if (curParameter == null)
         {
             AddParameter(stdParameter, catalog);
         }
     }
 }
예제 #12
0
 /// <summary>
 /// 用标准参数对比现有参数并增加没有的参数
 /// </summary>
 /// <param name="catalog">分类</param>
 /// <param name="lstStdParameter">标准参数</param>
 /// <param name="lstCurParameter">现有参数</param>
 /// <param name="DeptId">科室ID</param>
 private void DoChecking(ParameterCatalog catalog, List <Parameter> lstStdParameter, List <Parameter> lstCurParameter, int DeptId)
 {
     foreach (Parameter stdParameter in lstStdParameter)
     {
         Parameter curParameter = lstCurParameter.Find(delegate(Parameter p)
         {
             if (p.Code == stdParameter.Code)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         });
         if (curParameter == null)
         {
             Parameter newParameter = (Parameter)stdParameter.Clone();
             newParameter.DeptId = DeptId;
             AddParameter(newParameter, catalog);
         }
     }
 }
예제 #13
0
        /// <summary>
        /// 从当前数据库读取现有参数
        /// </summary>
        /// <param name="catalog"></param>
        /// <returns></returns>
        private List <Parameter> GetCurrentParameterList(ParameterCatalog catalog)
        {
            List <Parameter> lst = parameterCollection[catalog].ToList();

            return(lst);
        }