/// <summary> /// 根据科室分类代码,取此分类下的科室列表 /// </summary> /// <returns></returns> public ArrayList LoadDepartmentStat(string statCode) { string sql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.LoadDepartmentStat", ref sql) == -1) { return(null); } try { sql = string.Format(sql, statCode); } catch (Exception ex) { this.Err = ex.Message; return(null); } if (this.ExecQuery(sql) == -1) { return(null); } ArrayList list = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.DepartmentStat info = PrepareData(); list.Add(info); } this.Reader.Close(); return(list); }
/// <summary> /// 根据父级节点和父级科室,在树型控件中插入一个新的子节点 /// </summary> /// <param name="node">父级节点</param> /// <param name="dept">父级科室</param> public void AddDepartment(TreeNode node, Neusoft.HISFC.Models.Base.DepartmentStat dept) { //将添加的节点显示在TreeView中 TreeNode deptNode = new TreeNode(dept.DeptName); deptNode.Text = dept.DeptName; if (dept.NodeKind == 0) { deptNode.ImageIndex = 1; //分类 } else { deptNode.ImageIndex = 2; //科室 } deptNode.SelectedImageIndex = deptNode.ImageIndex; deptNode.Tag = dept; node.Nodes.Add(deptNode); //将此科室付与其父级科室的Childs属性。 Neusoft.HISFC.Models.Base.DepartmentStat parentDept = node.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; if (parentDept != null) { parentDept.Childs.Add(dept); } }
/// <summary> /// 根据父级节点和父级科室,在树型控件中递归显示其子节点 /// </summary> /// <param name="statNode">父级节点位置</param> /// <param name="stat">父级科室</param> private void AddStatNode(TreeNode statNode, Neusoft.HISFC.Models.Base.DepartmentStat stat) { if (stat.Childs.Count > 0) { //将所有儿子节点显示在树型控件中 foreach (Neusoft.HISFC.Models.Base.DepartmentStat child in stat.Childs) { //{31FD985A-A165-4812-8CBE-CA2E2C7B9A7B} 更新科室名称 if (this.deptNameDictionary.ContainsKey(child.DeptCode)) { child.DeptName = this.deptNameDictionary[child.DeptCode]; } TreeNode node = new TreeNode(child.DeptName); node.Text = child.DeptName; node.ToolTipText = child.DeptName; if (child.NodeKind == 0) { node.ImageIndex = 1; //分类 } else { node.ImageIndex = 2; //科室 } node.SelectedImageIndex = node.ImageIndex; node.Tag = child; statNode.Nodes.Add(node); //插入完本节点后,继续找其子节点 AddStatNode(node, child); } } }
/// <summary> /// 取科室分类数据,保存在实体中 /// </summary> /// <returns></returns> private Neusoft.HISFC.Models.Base.DepartmentStat PrepareData() { Neusoft.HISFC.Models.Base.DepartmentStat info = new Neusoft.HISFC.Models.Base.DepartmentStat(); try { info.PkID = this.Reader[0].ToString(); info.StatCode = this.Reader[1].ToString(); info.PardepCode = this.Reader[2].ToString(); info.PardepName = this.Reader[3].ToString(); info.DeptCode = this.Reader[4].ToString(); info.DeptName = this.Reader[5].ToString(); info.SpellCode = this.Reader[6].ToString(); info.WBCode = this.Reader[7].ToString(); info.NodeKind = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[8]); info.GradeCode = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[9]); info.SortId = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[10]); info.ValidState = (EnumValidState)Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[11]); info.ExtFlag = FrameWork.Function.NConvert.ToBoolean(this.Reader[12].ToString()); info.Ext1Flag = FrameWork.Function.NConvert.ToBoolean(this.Reader[13].ToString()); info.Memo = this.Reader[14].ToString(); } catch (Exception e) { this.ErrCode = e.Message; this.Err = e.Message; return(null); } return(info); }
/// <summary> /// 取科室分类中全部科室列表 /// </summary> /// <returns></returns> public ArrayList LoadAll() { string sql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.LoadAll", ref sql) == -1) { return(null); } if (this.ExecQuery(sql) == -1) { return(null); } ArrayList list = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.DepartmentStat info = PrepareData(); list.Add(info); } this.Reader.Close(); return(list); }
/// <summary> /// 要插入的子节点插入在父级节点下 /// </summary> /// <param name="parentNode">父级节点</param> /// <param name="node">要插入的节点</param> public void AddDepartment(TreeNode parentNode, TreeNode node) { //在父级节点中插入子节点 parentNode.Nodes.Add(node); //将父级节点转换成科室。 Neusoft.HISFC.Models.Base.DepartmentStat parentDept = parentNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; if (parentDept != null) { Neusoft.HISFC.Models.Base.DepartmentStat dept = node.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; parentDept.Childs.Add(dept); } //选中当前节点 this.SelectedNode = node; }
/// <summary> /// 根据统计分类编码,儿子科室编码提取其父级节点科室信息。 /// </summary> /// <param name="statCode">统计分类编码</param> /// <param name="deptCode">科室编码(儿子科室)</param> /// <returns></returns> public ArrayList LoadByChildren(string statCode, string deptCode) { string sql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.LoadAll", ref sql) == -1) { return(null); } string sqlWhere = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.LoadByChildren", ref sqlWhere) == -1) { return(null); } try { sql = string.Format(sql + " " + sqlWhere, statCode, deptCode); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = " " + ex.Message; this.WriteErr(); return(null); } //执行sql语句 if (this.ExecQuery(sql) == -1) { return(null); } ArrayList list = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.DepartmentStat info = PrepareData(); if (info == null) { this.Reader.Close(); return(null); } list.Add(info); } this.Reader.Close(); return(list); }
/// <summary> /// /// </summary> /// <param name="statCode"></param> /// <param name="endNode"></param> /// <returns></returns> public ArrayList LoadByNodeKind(string statCode, bool endNode) { int nodeKind = 1; if (endNode) { nodeKind = 1; } else { nodeKind = 0; } string sql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.LoadByStatNodeKind", ref sql) == -1) { return(null); } try { sql = string.Format(sql, statCode, nodeKind); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = " " + ex.Message; this.WriteErr(); return(null); } if (this.ExecQuery(sql) == -1) { return(null); } ArrayList list = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.DepartmentStat info = PrepareData(); list.Add(info); } this.Reader.Close(); return(list); }
/// <summary> /// 更新科室分类表中的一条记录 /// </summary> /// <param name="info"></param> /// <returns></returns> public int UpdateDepartmentStat(Neusoft.HISFC.Models.Base.DepartmentStat info) { //取SQL语句 string strSql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.UpdateDepartmentStat", ref strSql) == -1) { return(-1); } //替换参数 try { strSql = string.Format(strSql, info.PkID, info.StatCode, //统计大类 info.PardepCode, //父级科室编码 info.PardepName, //父级科室名称 info.DeptCode, //科室编码 info.DeptName, //科室名称 info.SpellCode, //拼音码 info.WBCode, //五笔码 info.NodeKind, //节点类型 info.GradeCode, //节点等级 info.SortId, //排序 ((int)info.ValidState).ToString(), //是否有效 FrameWork.Function.NConvert.ToInt32(info.ExtFlag), //扩展标记 FrameWork.Function.NConvert.ToInt32(info.Ext1Flag), //扩展标记 info.Memo, //备注 this.Operator.ID); //操作人 } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = ex.Message; return(-1); } try { return(this.ExecNoQuery(strSql)); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = ex.Message; return(-1); } }
/// <summary> /// /// </summary> /// <param name="stat"></param> /// <param name="state"></param> /// <param name="deptStats"></param> private void RecursionDept(Neusoft.HISFC.Models.Base.DepartmentStat stat, Array state, ArrayList deptStats) { //if(stat.NodeKind == 1) return; int index = 0; foreach (Neusoft.HISFC.Models.Base.DepartmentStat info in deptStats) { if ((int)state.GetValue(index) == 0) { if (stat.DeptCode == info.PardepCode && stat.StatCode == info.StatCode) { stat.Childs.Add(info); state.SetValue(1, index); //state[index] = 1; RecursionDept(info, state, deptStats); } } ++index; } }
/// <summary> /// 根据操作员编码提取操作员可以登录的科室信息。{36DEFA19-3650-443f-A173-E2A355FA00C2} /// </summary> /// <param name="operCode"></param> /// <returns></returns> public ArrayList GetMultiDeptNewForNurser(string operCode) { string sql = ""; if (this.Sql.GetSql("Manager.DepartmentStatManager.GetMultiDeptNewForNuser", ref sql) == -1) { return(null); } try { sql = string.Format(sql, operCode); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = " " + ex.Message; this.WriteErr(); return(null); } //执行sql语句 if (this.ExecQuery(sql) == -1) { return(null); } ArrayList list = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.DepartmentStat info = PrepareData(); if (info == null) { this.Reader.Close(); return(null); } list.Add(info); } this.Reader.Close(); return(list); }
/// <summary> /// 根据传入的科室实体,找出其所属分类 /// </summary> /// <param name="stat"></param> /// <returns></returns> private TreeNode SearchParentNode(Neusoft.HISFC.Models.Base.DepartmentStat stat) { //在一级节点中找科室的所属分类 foreach (TreeNode node in this.Nodes) { if (node.Tag.ToString() == stat.StatCode) { return(node); } } //如果在一级节点中找不到科室的所属分类,则增加一个统计分类 TreeNode statnode = new TreeNode(stat.StatCode); statnode.Tag = stat.StatCode; statnode.Text = stat.StatCode; statnode.ToolTipText = stat.StatCode; this.Nodes.Add(statnode); return(statnode); }
/// <summary> /// 删除传入的节点 /// </summary> /// <param name="node">待删除的节点</param> public void DelDepartment(TreeNode node) { try { //将此科室从其父级科室的Childs属性中删除。 Neusoft.HISFC.Models.Base.DepartmentStat parentDept = node.Parent.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; //将节点删除 node.Remove(); if (parentDept != null) { //取本级科室信息 Neusoft.HISFC.Models.Base.DepartmentStat dept = node.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; parentDept.Childs.Remove(dept); } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } }