/// <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; } }
/// <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); } } }
/// <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); } } }
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; } }
public Parameters this[ParameterCatalog catalog] { get { return((Parameters)htParameters[catalog]); } }
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(); } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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(); }
/// <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); } } }
/// <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); } } }
/// <summary> /// 从当前数据库读取现有参数 /// </summary> /// <param name="catalog"></param> /// <returns></returns> private List <Parameter> GetCurrentParameterList(ParameterCatalog catalog) { List <Parameter> lst = parameterCollection[catalog].ToList(); return(lst); }