private void addNodes(ArrayList al) { for (int i = 0; i < al.Count; i++) { Neusoft.HISFC.Models.Base.Group info = al[i] as Neusoft.HISFC.Models.Base.Group; TreeNode myRoot = null; myRoot = this.GetDeptNodeByTag(info.Dept.ID); if (info.Kind == Neusoft.HISFC.Models.Base.GroupKinds.Dept)//科室属性 { if (myRoot != null) { TreeNode node = new TreeNode(info.Name); node.ImageIndex = 10; node.SelectedImageIndex = 11; node.Tag = info; myRoot.Nodes[0].Nodes.Add(node); } } else { if (myRoot != null) { myRoot = this.GetDocNodeByDeptNode(myRoot, info.Doctor.ID); if (myRoot != null) { TreeNode node = new TreeNode(info.Name); node.Tag = info; node.ImageIndex = 10; node.SelectedImageIndex = 11; myRoot.Nodes.Add(node); } } } } }
/// <summary> /// 插入或更新组套文件夹 /// </summary> /// <param name="groupFolder"></param> /// <returns></returns> public int SetNewFolder(Neusoft.HISFC.Models.Base.Group groupFolder) { //如果为空--获得 if (groupFolder.ID == "") { groupFolder.ID = this.GetNewFolderID(); if (groupFolder.ID == "") { return(-1); } } //先更新 int iRet = this.updateFolder(groupFolder); if (iRet < 0)//出错 { return(-1); } else if (iRet == 0)//没有更新到 { //插入 int iReturn = this.insertFolder(groupFolder); if (iReturn < 0)//出错 { return(-1); } return(iReturn); } //返回 return(iRet); }
/// <summary> /// 删除文件夹,同时更新其所属组套为没有文件夹 /// </summary> /// <param name="groupFolder"></param> /// <returns></returns> public int deleteFolder(Neusoft.HISFC.Models.Base.Group groupFolder) { string strSql = ""; string strSql1 = ""; if (this.Sql.GetSql("Manager.Group.deleteFolder", ref strSql) == -1) { return(-1); } if (this.Sql.GetSql("Manager.Group.updateFolderIDNull", ref strSql1) == -1) { return(-1); } strSql = System.String.Format(strSql, groupFolder.ID); if (this.ExecNoQuery(strSql) < 0) { return(-1); } strSql1 = System.String.Format(strSql1, groupFolder.ID); if (this.ExecNoQuery(strSql1) < 0) { return(-1); } return(1); }
/// <summary> /// 删除组套明细 /// </summary> /// <param name="info"></param> /// <returns></returns> public int DeleteGroupOrder(Neusoft.HISFC.Models.Base.Group info) { string strSql = ""; //接口说明 //返回 //0 成功,-1失败 // if (this.Sql.GetSql("Manager.Group.DeleteOrder", ref strSql) == -1) { return(-1); } //更新信息不成功再插入新信息 //传入参数 //0 ID try { strSql = string.Format(strSql, info.ID); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = "接口错误!" + ex.Message; this.WriteErr(); return(-1); } return(this.ExecNoQuery(strSql)); }
protected override void OnDoubleClick(EventArgs e) { object o = this.SelectedNode.Tag; if (o != null) { if (o.GetType() == typeof(Neusoft.HISFC.Models.Base.Group)) { Neusoft.HISFC.Models.Base.Group info = o as Neusoft.HISFC.Models.Base.Group; if (info.UserCode != "F") { Forms.frmSelectGroup fSelect = new Neusoft.HISFC.Components.Common.Forms.frmSelectGroup(info); fSelect.InpatientType = this.inpatientType; if (fSelect.ShowDialog() == DialogResult.OK) { try { if (SelectOrder != null) { SelectOrder(fSelect.Orders); } } catch { } } } } } }
/// <summary> /// 初始化 /// </summary> protected virtual void Init(Neusoft.HISFC.Models.Base.Group groupInfo) { ArrayList myalItems = groupManager.GetAllItem(groupInfo); if (myalItems == null) { return; } this.InpatientType = groupInfo.UserType; Classes.Function.ShowOrder(this.spread1_Sheet1, myalItems, 1, this.inpatientType); this.spread1_Sheet1.Columns.Add(0, 1); this.spread1_Sheet1.Columns[0].Label = "选择"; this.spread1_Sheet1.Columns[0].CellType = new FarPoint.Win.Spread.CellType.CheckBoxCellType(); this.spread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode; this.spread1_Sheet1.GrayAreaBackColor = System.Drawing.Color.White; for (int i = 1; i < this.spread1_Sheet1.ColumnCount; i++) { this.spread1_Sheet1.Columns[i].Locked = true; } this.spread1_Sheet1.Columns[0].Locked = false; //默认全部选中 for (int i = 0; i < this.spread1_Sheet1.RowCount; i++) { this.spread1_Sheet1.SetValue(i, 0, true, false); Neusoft.HISFC.Models.Order.Order order = this.spread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Order.Order; if (order != null && order.ExtendFlag2 == "N") { this.spread1_Sheet1.Rows[i].BackColor = Color.Gray;//停用的项目 this.spread1_Sheet1.SetValue(i, 0, false, false); } } }
/// <summary> /// 获得项目 /// </summary> /// <returns></returns> public ArrayList GetAllItem(Neusoft.HISFC.Models.Base.Group group) { string sql = ""; #region 接口说明 //0 组套内单项流水号, //1 项目代码, 2 医嘱类型,3 服药频次, 4 服药方法 5 每次服用剂量 //6 剂量单位,自备药使用,7 开立数量,8 开立单位,自备项目使用,9 草药付数(周期) //10 组合流水号,11 主药标记,12 检查部位检体,13 执行科室,14 医嘱开始时间,15 医嘱结束时间 //16 医嘱备注,17 药品组合医嘱备注 #endregion if (this.Sql.GetSql("Manager.Group.Order.Item", ref sql) == -1) { return(null); } try { sql = string.Format(sql, group.ID); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = "付值出错!" + ex.Message; this.WriteErr(); return(null); } if (group.UserType == Neusoft.HISFC.Models.Base.ServiceTypes.I) { return(this.myGetItem(sql)); } else { return(this.myGetItemOutPat(sql)); } }
/// <summary> /// 更新一条组 /// </summary> /// <param name="info"></param> /// <returns></returns> public int UpdateGroup(Neusoft.HISFC.Models.Base.Group info) { string strUpdate = "", strInsert = ""; if (this.Sql.GetSql("Manager.Group.Update", ref strUpdate) == -1) { return(-1); } if (this.Sql.GetSql("Manager.Group.Insert", ref strInsert) == -1) { return(-1); } try { #region 接口说明 //<!--0 : 组套ID 1 : 是否医嘱组套 0 否 1 是 2 : 组套名称 //3: 组套拼音码 4 : 组套助记码 5 : 1门诊/2住院 //6 : 组套类型,1.医师组套;2.科室组套 7 : 科室代码 8 : 组套医师 //9 : 是否共享,1是,0否 10 : 组套备注 11 : 操作员 //--> #endregion //strUpdate = string.Format(strUpdate,info.ID, // '1', // info.Name, // info.SpellCode, // info.UserCode, // info.UserType.GetHashCode().ToString(), // info.Kind.GetHashCode().ToString(), // info.Dept.ID, // info.Doctor.ID, // Neusoft.FrameWork.Function.NConvert.ToInt32(info.IsShared).ToString(), // info.Memo,this.Operator.ID); //strInsert = string.Format(strInsert,info.ID,'1', // info.Name,info.SpellCode,info.UserCode,info.UserType.GetHashCode().ToString(), // info.Kind.GetHashCode().ToString(),info.Dept.ID,info.Doctor.ID,Neusoft.FrameWork.Function.NConvert.ToInt32(info.IsShared).ToString(), // info.Memo,this.Operator.ID); } catch (Exception ex) { this.Err = ex.Message; this.ErrCode = ex.Message; return(-1); } //先更新 if (this.ExecNoQuery(strUpdate, GetParam(info)) <= 0) { //插入 if (this.ExecNoQuery(strInsert, GetParam(info)) <= 0) { return(-1); } } return(0); }
void AddItem_Click(object sender, EventArgs e) { TreeNode node = new TreeNode(); node.ImageIndex = 2; node.SelectedImageIndex = 3; Neusoft.HISFC.Models.Base.Group group = new Neusoft.HISFC.Models.Base.Group(); group.ID = this.groupManager.GetNewFolderID(); group.Name = "新建文件夹"; group.UserType = this.inpatientType; if (this.SelectedNode == this.Nodes[0].Nodes[0]) { group.Kind = Neusoft.HISFC.Models.Base.GroupKinds.Dept; group.Dept.ID = (this.groupManager.Operator as Neusoft.HISFC.Models.Base.Employee).Dept.ID; group.Doctor = this.groupManager.Operator; group.ParentID = "ROOT"; //{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 } else if (this.SelectedNode == this.Nodes[0].Nodes[1]) { group.Kind = Neusoft.HISFC.Models.Base.GroupKinds.Doctor; group.Dept.ID = (this.groupManager.Operator as Neusoft.HISFC.Models.Base.Employee).Dept.ID; group.Doctor = this.groupManager.Operator; group.ParentID = "ROOT"; //{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 } else if (this.SelectedNode == this.Nodes[0].Nodes[2]) { group.Kind = Neusoft.HISFC.Models.Base.GroupKinds.All; group.Dept.ID = "ALL"; group.Doctor = this.groupManager.Operator; group.ParentID = "ROOT"; //{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 } else {//{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 Neusoft.HISFC.Models.Base.Group groupSelected = this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group; group.Kind = groupSelected.Kind; group.Dept = groupSelected.Dept; group.Doctor = this.groupManager.Operator; group.ParentID = groupSelected.ID; } group.UserCode = "F"; if (this.groupManager.SetNewFolder(group) < 0) { MessageBox.Show("增加文件夹失败!"); return; } node.Text = group.Name; node.Tag = group; this.SelectedNode.Nodes.Add(node); }
protected ArrayList myGetGroup(string sql) { if (this.ExecQuery(sql) == -1) { return(null); } ArrayList al = new ArrayList(); // if(this.Reader.ra == false) return al; #region 接口说明 //0 : 组套ID 1 : 组套名称 2 : 组套拼音码 //3 : 组套助记码 4 : 1门诊/2住院 5 : 组套类型,1.医师组套;2.科室组套 //6 : 科室代码 7 : 组套医师 8 : 是否共享,1是,0否 //9 : 组套备注 #endregion while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.Group info = new Neusoft.HISFC.Models.Base.Group(); try { info.ID = this.Reader[0].ToString(); info.Name = this.Reader[1].ToString(); try { info.SpellCode = this.Reader[2].ToString(); info.WBCode = this.Reader[3].ToString(); } catch {} try { info.UserType = (Neusoft.HISFC.Models.Base.ServiceTypes)Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[4].ToString()); } catch {} try { info.Kind = (Neusoft.HISFC.Models.Base.GroupKinds)Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[5].ToString()); } catch {} info.Dept.ID = this.Reader[6].ToString(); info.Doctor.ID = this.Reader[7].ToString(); info.IsShared = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[8].ToString()); info.Memo = this.Reader[9].ToString(); } catch {} al.Add(info); } this.Reader.Close(); return(al); }
/// <summary> /// 获取参数列表 /// </summary> /// <param name="info"></param> /// <returns></returns> private string[] GetParam(Neusoft.HISFC.Models.Base.Group info) { string[] str = new string[] { info.ID, "1", info.Name, info.SpellCode, info.UserCode, info.UserType.GetHashCode().ToString(), info.Kind.GetHashCode().ToString(), info.Dept.ID, info.Doctor.ID, Neusoft.FrameWork.Function.NConvert.ToInt32(info.IsShared).ToString(), info.Memo, this.Operator.ID }; return(str); }
void tvDoctorGroup1_SelectOrder(ArrayList alOrders) { object o = this.tvDoctorGroup1.SelectedNode.Tag; if (o != null) { if (o.GetType() == typeof(Neusoft.HISFC.Models.Base.Group)) { Neusoft.HISFC.Models.Base.Group info = o as Neusoft.HISFC.Models.Base.Group; this.label1.Text = info.Name; this.cmbGroupName.Items.Clear(); this.cmbGroupName.Items.Add(info); this.cmbGroupName.SelectedIndex = 0; //this.cmbGroupName.Text = info.Name; myalItems = manager.GetAllItem(info); Classes.Function.ShowOrder(this.fpSpread1_Sheet1, myalItems, 1, this.inpatientType); } } }
/// <summary> /// 插入一个目录 /// </summary> /// <param name="groupFolder"></param> /// <returns></returns> private int insertFolder(Neusoft.HISFC.Models.Base.Group groupFolder) { string strSql = ""; if (this.Sql.GetSql("Manager.Group.InsertFolder", ref strSql) == -1) { return(-1); } /* 编码,名称,拼音码,五笔码, * 组套类别,组套类型, * 组套科室,组套医生,组套共享 * 组套备注,操作员 * */ strSql = System.String.Format(strSql, groupFolder.ID, groupFolder.Name, groupFolder.SpellCode, groupFolder.WBCode, groupFolder.UserType.GetHashCode().ToString(), groupFolder.Kind.GetHashCode().ToString(), groupFolder.Dept.ID, groupFolder.Doctor.ID, Neusoft.FrameWork.Function.NConvert.ToInt32(groupFolder.IsShared), groupFolder.Memo, this.Operator.ID, groupFolder.ParentID); return(this.ExecNoQuery(strSql)); }
//{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} /// <summary> /// 获得所有一级目录 /// </summary> /// <param name="type"></param> /// <param name="deptCode"></param> /// <param name="docCode"></param> /// <returns></returns> public ArrayList GetAllFirstLVFolder(Neusoft.HISFC.Models.Base.ServiceTypes type, string deptCode, string docCode) { string strSql = ""; if (this.Sql.GetSql("Manager.Group.GetAllFirstLVFolder", ref strSql) == -1) { return(null); } strSql = System.String.Format(strSql, type.GetHashCode().ToString(), deptCode, docCode); //出错 if (this.ExecQuery(strSql) < 0) { return(null); } ArrayList al = new ArrayList(); while (this.Reader.Read()) { Neusoft.HISFC.Models.Base.Group group = new Neusoft.HISFC.Models.Base.Group(); group.ID = this.Reader[0].ToString(); //编码 group.Name = this.Reader[1].ToString(); //名称 group.UserType = (Neusoft.HISFC.Models.Base.ServiceTypes)Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[2].ToString()); group.Dept.ID = this.Reader[3].ToString(); //科室代码 group.Doctor.ID = this.Reader[4].ToString(); //医生代码 group.Kind = (Neusoft.HISFC.Models.Base.GroupKinds)Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[5].ToString()); //类型 group.SpellCode = this.Reader[6].ToString(); group.WBCode = this.Reader[7].ToString(); group.IsShared = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[8].ToString()); group.Memo = this.Reader[9].ToString(); //备注 group.UserCode = "F"; //代表是文件夹 group.ParentID = this.Reader[10].ToString(); //上级文件夹编码 al.Add(group); } this.Reader.Close(); return(al); }
/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void deleteItem_Click(object sender, EventArgs e) { try { Neusoft.HISFC.Models.Base.Group info = this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group; if (info.UserCode == "F")//文件夹 { if (MessageBox.Show("是否删除文件夹" + info.Name, "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { if (this.groupManager.deleteFolder(info) < 0) { MessageBox.Show(this.groupManager.Err); } this.RefrshGroup(); } } else { if (MessageBox.Show("是否删除组套" + info.Name, "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { if (!(this.groupManager.Operator as Neusoft.HISFC.Models.Base.Employee).IsManager && info.Kind == Neusoft.HISFC.Models.Base.GroupKinds.All) { MessageBox.Show("您不是管理员,没有权限删除组套", "提示"); return; } if (this.groupManager.DeleteGroup(info) == -1) { MessageBox.Show(this.groupManager.Err); } this.RefrshGroup(); } } } catch { } }
private void tvDoctorGroup_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { TreeNode temp = new TreeNode(); //得到要移动的节点 TreeNode moveNode = (TreeNode)e.Data.GetData(temp.GetType()); //转换坐标为控件treeview的坐标 Point position = new Point(0, 0); position.X = e.X; position.Y = e.Y; position = this.PointToClient(position); //得到移动的目的地的节点 TreeNode aimNode = this.GetNodeAt(position); if (aimNode == null)//超出区域 返回 { return; } // if(aimNode.Parent != moveNode.Parent) //不是同一级别 返回 // { // if(aimNode.Parent.Parent!= moveNode.Parent.Parent) // { // return; // } // } if (moveNode.Tag as Neusoft.HISFC.Models.Base.Group == null) //是组套父节点 返回 { return; } if ((moveNode.Tag as Neusoft.HISFC.Models.Base.Group).UserCode == "F")//是文件夹节点 返回 { return; } if (aimNode.Tag as Neusoft.HISFC.Models.Base.Group == null)//目标节点 是父节点 { return; } if ((aimNode.Tag as Neusoft.HISFC.Models.Base.Group).UserCode != "F")//目标节点不是文件夹 { return; } Neusoft.HISFC.Models.Base.Group g1 = moveNode.Tag as Neusoft.HISFC.Models.Base.Group; Neusoft.HISFC.Models.Base.Group g2 = aimNode.Tag as Neusoft.HISFC.Models.Base.Group; if (g1.Kind != g2.Kind)//科室和个人之间不允许拖 { return; } if (IsDragEnable(aimNode, moveNode) == true) { if (aimNode != moveNode) { Neusoft.HISFC.Models.Base.Group temGroup = aimNode.Tag as Neusoft.HISFC.Models.Base.Group; Neusoft.HISFC.Models.Base.Group tempGroup = moveNode.Tag as Neusoft.HISFC.Models.Base.Group; if (temGroup == null || tempGroup == null) { return; } try { if (this.groupManager.UpdateGroupFolderID(tempGroup.ID, temGroup.ID) < 0) { MessageBox.Show("拖动组套到文件夹失败·"); return; } } catch (Exception ex) { MessageBox.Show("拖动组套到文件夹失败·" + ex.Message); return; } this.Nodes.Remove(moveNode); aimNode.Nodes.Add(moveNode); } } }
//{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 protected override void OnAfterSelect(TreeViewEventArgs e) { object o = this.SelectedNode.Tag; if (o != null) { if (o.GetType() == typeof(Neusoft.HISFC.Models.Base.Group)) { this.SelectedNode.Nodes.Clear(); Neusoft.HISFC.Models.Base.Group info = o as Neusoft.HISFC.Models.Base.Group; if (info.UserCode == "F") { #region add by xuewj 2010-9-18 单击时递归加载树节点 {A0ED03E4-547C-49cb-8F9C-F91FF17E968C} this.LoadSubNodes(info, this.SelectedNode); this.SelectedNode.Expand(); //#region 加载此文件夹下面的咚咚 //ArrayList alFolder = this.groupManager.GetAllFolderByFolderID(info.ID); //if (alFolder == null) //{ // return; //} //try //{ // TreeNode node; // Neusoft.HISFC.Models.Base.Group myGroup; // for (int i = 0; i < alFolder.Count; i++) // { // myGroup = alFolder[i] as Neusoft.HISFC.Models.Base.Group; // if (info == null) // { // continue; // } // node = new TreeNode(myGroup.Name); // node.ImageIndex = 2; // node.SelectedImageIndex = 3; // node.Tag = myGroup; // switch (myGroup.Kind) // { // case Neusoft.HISFC.Models.Base.GroupKinds.Dept: //科室组套 // this.SelectedNode.Nodes.Add(node); // break; // case Neusoft.HISFC.Models.Base.GroupKinds.Doctor: //个人组套 // this.SelectedNode.Nodes.Add(node); // break; // case Neusoft.HISFC.Models.Base.GroupKinds.All: //全院组套 // this.SelectedNode.Nodes.Add(node); // break; // } // } // ArrayList alGroup = this.groupManager.GetGroupByFolderID(info.ID); // if (alGroup != null && alGroup.Count > 0) // { // for (int j = 0; j < alGroup.Count; j++) // { // Neusoft.HISFC.Models.Base.Group group = alGroup[j] as Neusoft.HISFC.Models.Base.Group; // if (group == null) // { // continue; // } // TreeNode temNode = new TreeNode(group.Name); // temNode.ImageIndex = 10; // temNode.SelectedImageIndex = 11; // temNode.Tag = group; // this.SelectedNode.Nodes.Add(temNode); // } // } //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message); // return; //} //this.SelectedNode.Expand(); //#endregion #endregion } } } base.OnAfterSelect(e); }
protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e) { if (e.Label == null) { this.LabelEdit = false; return; } #region 更改组套名称权限控制 --2007-11-21 zhangqi Neusoft.HISFC.Models.Base.Group group = this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group; //只有管理员能修改全院和科室组套名称 if (!(this.groupManager.Operator as Neusoft.HISFC.Models.Base.Employee).IsManager && group.Kind == Neusoft.HISFC.Models.Base.GroupKinds.All) { MessageBox.Show("只有管理员才能修改全院组套名称!"); return; } else { DialogResult r = MessageBox.Show("节点名称已经修改,是否保存?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (r == DialogResult.Cancel) { this.LabelEdit = false; //{3E29ADED-FB2D-4243-B525-BBDD79D85C2B} this.SelectedNode.Text = this.labelName; this.RefrshGroup(); return; } if ((this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group).UserCode == "F") { Neusoft.HISFC.Models.Base.Group tem = this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group; tem.Name = e.Label; if (this.groupManager.updateFolder(tem) <= 0) { MessageBox.Show("文件夹名称更新失败·", "提示"); } else { MessageBox.Show("文件夹名称更新成功!", "提示"); } } else { string GroupId = (this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group).ID; if (groupManager.UpdateGroupName(GroupId, e.Label) > 0) { MessageBox.Show("组套名称更新成功", "提示"); } else { MessageBox.Show("更新失败", "提示"); } } } #endregion this.LabelEdit = false; }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); this.SelectedNode = this.GetNodeAt(e.X, e.Y); if (this.SelectedNode == null || this.SelectedNode.Tag == null) { this.LabelEdit = false; } else { this.LabelEdit = true; } if (this.SelectedNode == this.Nodes[0]) { return; } try { if (e.Button == MouseButtons.Right) { if (this.SelectedNode.Tag == null) { // this.treeView1.ContextMenu = null; ContextMenu m = new ContextMenu(); MenuItem AddItem = new MenuItem("增加文件夹"); AddItem.Click += new EventHandler(AddItem_Click); m.MenuItems.Add(AddItem); MenuItem deleteItem = new MenuItem("删除"); deleteItem.Click += new EventHandler(deleteItem_Click); m.MenuItems.Add(deleteItem); this.ContextMenu = m; this.ContextMenu.Show(this, new Point(e.X, e.Y)); } else { if (this.SelectedNode.Tag.GetType() == typeof(Neusoft.HISFC.Models.Base.Group)) { if ((this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group).Kind == Neusoft.HISFC.Models.Base.GroupKinds.All && !(this.groupManager.Operator as Neusoft.HISFC.Models.Base.Employee).IsManager) { //ContextMenu m = new ContextMenu(); //MenuItem selectItem = new MenuItem("选择"); //selectItem.Click += new EventHandler(selectItem_Click); //m.MenuItems.Add(selectItem); //this.ContextMenu = m; //this.ContextMenu.Show(this, new Point(e.X, e.Y)); } else { //{C2922531-DEE7-43a0-AB7A-CDD7C58691BD} 多级组套 yangw 20100916 Neusoft.HISFC.Models.Base.Group groupTmp = this.SelectedNode.Tag as Neusoft.HISFC.Models.Base.Group; if (groupTmp.UserCode == "F") { if (this.SelectedNode.Nodes.Count > 0) { ContextMenu m = new ContextMenu(); MenuItem AddItem = new MenuItem("增加文件夹"); AddItem.Click += new EventHandler(AddItem_Click); m.MenuItems.Add(AddItem); this.ContextMenu = m; this.ContextMenu.Show(this, new Point(e.X, e.Y)); } else { ContextMenu m = new ContextMenu(); MenuItem AddItem = new MenuItem("增加文件夹"); AddItem.Click += new EventHandler(AddItem_Click); m.MenuItems.Add(AddItem); MenuItem deleteItem = new MenuItem("删除"); deleteItem.Click += new EventHandler(deleteItem_Click); m.MenuItems.Add(deleteItem); this.ContextMenu = m; this.ContextMenu.Show(this, new Point(e.X, e.Y)); } } else { ContextMenu m = new ContextMenu(); MenuItem deleteItem = new MenuItem("删除"); deleteItem.Click += new EventHandler(deleteItem_Click); m.MenuItems.Add(deleteItem); this.ContextMenu = m; this.ContextMenu.Show(this, new Point(e.X, e.Y)); } //ContextMenu m = new ContextMenu(); ////MenuItem selectItem = new MenuItem("选择"); ////selectItem.Click += new EventHandler(selectItem_Click); ////m.MenuItems.Add(selectItem); //MenuItem deleteItem = new MenuItem("删除"); //deleteItem.Click += new EventHandler(deleteItem_Click); //m.MenuItems.Add(deleteItem); //this.ContextMenu = m; //this.ContextMenu.Show(this, new Point(e.X, e.Y)); } } else { this.ContextMenu = null; } } } } catch { } }
/// <summary> /// 更新一条组项目 /// </summary> /// <param name="info"></param> /// <returns></returns> public int UpdateGroupItem(Neusoft.HISFC.Models.Base.Group info, Neusoft.HISFC.Models.Order.Inpatient.Order order) { string strUpdate = "", strInsert = ""; if (this.Sql.GetSql("Manager.GroupItem.Update", ref strUpdate) == -1) { return(-1); } if (this.Sql.GetSql("Manager.GroupItem.Insert", ref strInsert) == -1) { return(-1); } try { #region 接口说明 //<!-- //0 : 组套流水号 1 : 组套内单项流水号 2 : 每次服用剂量 //3 : 剂量单位,自备药使用 4 : 开立数量 5 : 开立单位,自备项目使用 //6 : 草药付数(周期) 7 : 组合流水号 8 : 主药标记 //9 : 检查部位检体 10 : 执行科室 11 : 医嘱开始时间 //12 : 医嘱结束时间 13 : 医嘱备注 14 : 药品组合医嘱备注 //15 : 操作员 16 : 操作时间 17 : 项目代码 //18 : 医嘱类型 19 : 服药频次 20 : 服药方法 //21: 时间间隔 22 classcode 24 extcode //--> #endregion //====扩展编码用于存放药品的扣库科室======== //{B9661764-2E06-462a-A9D9-05A3009D1F23} string stockDept = string.Empty; if (order.Item.ItemType == Neusoft.HISFC.Models.Base.EnumItemType.Drug) { stockDept = order.StockDept.ID; } strUpdate = string.Format(strUpdate, info.ID, order.ID, order.DoseOnce.ToString(), order.DoseUnit, order.Qty.ToString(), order.Unit, order.HerbalQty.ToString(), order.Combo.ID, Neusoft.FrameWork.Function.NConvert.ToInt32(order.Combo.IsMainDrug).ToString(), order.CheckPartRecord, order.ExeDept.ID, order.BeginTime.ToString(), order.EndTime.ToString(), order.Memo, order.Combo.Memo, this.Operator.ID, this.GetSysDateTime(), order.Item.ID, order.OrderType.ID, order.Frequency.ID, order.Usage.ID, order.Item.Name, order.User03, order.Item.SysClass.ID, stockDept, ""); strInsert = string.Format(strInsert, info.ID, order.ID, order.DoseOnce.ToString(), order.DoseUnit, order.Qty.ToString(), order.Unit, order.HerbalQty.ToString(), order.Combo.ID, Neusoft.FrameWork.Function.NConvert.ToInt32(order.Combo.IsMainDrug).ToString(), order.CheckPartRecord, order.ExeDept.ID, order.BeginTime.ToString(), order.EndTime.ToString(), order.Memo, order.Combo.Memo, this.Operator.ID, this.GetSysDateTime(), order.Item.ID, order.OrderType.ID, order.Frequency.ID, order.Usage.ID, order.Item.Name, order.User03, order.Item.SysClass.ID, stockDept, ""); } catch (Exception ex) { this.Err = ex.Message; this.ErrCode = ex.Message; return(-1); } //先更新 if (this.ExecNoQuery(strUpdate) <= 0) { //插入 if (this.ExecNoQuery(strInsert) <= 0) { return(-1); } } return(0); }
protected void RefreshGroupMe() { this.Nodes.Clear(); TreeNode rootNode = new TreeNode("组套"); rootNode.ImageIndex = 0; rootNode.SelectedImageIndex = 1; rootNode.Tag = null; this.Nodes.Add(rootNode); #region 添加科室节点、个人节点 Neusoft.HISFC.Models.Base.Employee person = (Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator; //添加科室组套节点 TreeNode deptNode = new TreeNode("科室组套"); deptNode.ImageIndex = 4; deptNode.SelectedImageIndex = 5; deptNode.Tag = null; rootNode.Nodes.Add(deptNode); //添加个人组套节点 TreeNode perNode = new TreeNode("个人组套"); perNode.ImageIndex = 4; perNode.SelectedImageIndex = 5; perNode.Tag = null; rootNode.Nodes.Add(perNode); //添加全院组套节点 TreeNode allNode = new TreeNode("全院组套"); allNode.ImageIndex = 4; allNode.SelectedImageIndex = 5; allNode.Tag = null; rootNode.Nodes.Add(allNode); #endregion #region "获得组套 获取当前科室的科室组套 当前操作员的个人组套 全院组套" ArrayList alFolder = this.groupManager.GetAllFirstLVFolder(InpatientType, person.Dept.ID, person.ID); if (alFolder == null) { return; } ArrayList al = this.groupManager.GetDeptOrderGroup(InpatientType, person.Dept.ID, person.ID); if (al == null) { return; } #endregion try { TreeNode node; Neusoft.HISFC.Models.Base.Group info; for (int i = 0; i < alFolder.Count; i++) { info = alFolder[i] as Neusoft.HISFC.Models.Base.Group; if (info == null) { continue; } node = new TreeNode(info.Name); node.ImageIndex = 2; node.SelectedImageIndex = 3; node.Tag = info; if (info.ParentID == "ROOT") { switch (info.Kind) { case Neusoft.HISFC.Models.Base.GroupKinds.Dept: //科室组套 this.Nodes[0].Nodes[0].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.Doctor: //个人组套 this.Nodes[0].Nodes[1].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.All: //全院组套 this.Nodes[0].Nodes[2].Nodes.Add(node); break; } } else { switch (info.Kind) { case Neusoft.HISFC.Models.Base.GroupKinds.Dept: //科室组套 //this.Nodes[0].Nodes[0].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.Doctor: //个人组套 //this.Nodes[0].Nodes[1].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.All: //全院组套 //this.Nodes[0].Nodes[2].Nodes.Add(node); break; } } ArrayList alGroup = this.groupManager.GetGroupByFolderID(info.ID); if (alGroup == null || alGroup.Count <= 0) { continue; } for (int j = 0; j < alGroup.Count; j++) { Neusoft.HISFC.Models.Base.Group group = alGroup[j] as Neusoft.HISFC.Models.Base.Group; if (group == null) { continue; } TreeNode temNode = new TreeNode(group.Name); temNode.ImageIndex = 10; temNode.SelectedImageIndex = 11; temNode.Tag = group; node.Nodes.Add(temNode); } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } try { TreeNode node; Neusoft.HISFC.Models.Base.Group info; for (int i = 0; i < al.Count; i++) { info = al[i] as Neusoft.HISFC.Models.Base.Group; if (info == null) { continue; } node = new TreeNode(info.Name); node.ImageIndex = 10; node.SelectedImageIndex = 11; node.Tag = info; switch (info.Kind) { case Neusoft.HISFC.Models.Base.GroupKinds.Dept: //科室组套 this.Nodes[0].Nodes[0].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.Doctor: //个人组套 this.Nodes[0].Nodes[1].Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.All: //全院组套 this.Nodes[0].Nodes[2].Nodes.Add(node); break; } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } this.Nodes[0].Expand(); //this.Nodes[0].Nodes[0].Expand(); //this.Nodes[0].Nodes[1].Expand(); //this.Nodes[0].Nodes[2].Expand(); }
/// <summary> /// 递归加载树节点 /// </summary> /// <param name="info">当前节点对应的组套实体</param> /// <param name="activeNode">当前节点</param> private void LoadSubNodes(Neusoft.HISFC.Models.Base.Group info, TreeNode activeNode) { ArrayList alFolder = this.groupManager.GetAllFolderByFolderID(info.ID); if (alFolder == null) { return; } try { TreeNode node; Neusoft.HISFC.Models.Base.Group myGroup; for (int i = 0; i < alFolder.Count; i++) { myGroup = alFolder[i] as Neusoft.HISFC.Models.Base.Group; if (myGroup == null) { continue; } node = new TreeNode(myGroup.Name); node.ImageIndex = 2; node.SelectedImageIndex = 3; node.Tag = myGroup; switch (myGroup.Kind) { case Neusoft.HISFC.Models.Base.GroupKinds.Dept: //科室组套 activeNode.Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.Doctor: //个人组套 activeNode.Nodes.Add(node); break; case Neusoft.HISFC.Models.Base.GroupKinds.All: //全院组套 activeNode.Nodes.Add(node); break; } if (myGroup.UserCode == "F") { this.LoadSubNodes(myGroup, node); } } ArrayList alGroup = this.groupManager.GetGroupByFolderID(info.ID); if (alGroup != null && alGroup.Count > 0) { for (int j = 0; j < alGroup.Count; j++) { Neusoft.HISFC.Models.Base.Group group = alGroup[j] as Neusoft.HISFC.Models.Base.Group; if (group == null) { continue; } TreeNode temNode = new TreeNode(group.Name); temNode.ImageIndex = 10; temNode.SelectedImageIndex = 11; temNode.Tag = group; activeNode.Nodes.Add(temNode); } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } //activeNode.Expand(); }
public void Save() { #region 判断是否为修改原组套 Neusoft.HISFC.Models.Base.Group group; Neusoft.HISFC.Models.Base.Employee empl = ((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).Clone(); Neusoft.HISFC.Models.Base.Group groupSelected = this.cmbGroupName.SelectedItem as Neusoft.HISFC.Models.Base.Group; if (groupSelected == null || groupSelected.ID == "") { groupSelected = new Neusoft.HISFC.Models.Base.Group(); } if (this.rdo2.Checked) { for (int i = 0; i < this.alGroupAll.Count; i++) { group = alGroupAll[i] as Neusoft.HISFC.Models.Base.Group; if (groupSelected.ID == group.ID) { this.CurrentGroup = group; this.IsAdd = true; break; } if (this.cmbGroupName.Text == group.Name && group.Dept.ID == empl.Dept.ID && group.Kind == Neusoft.HISFC.Models.Base.GroupKinds.Dept) { this.CurrentGroup = group; this.IsAdd = true; break; } } } else { if (this.rdo1.Checked) { for (int i = 0; i < this.alGroupAll.Count; i++) { group = alGroupAll[i] as Neusoft.HISFC.Models.Base.Group; if (groupSelected.ID == group.ID) { this.CurrentGroup = group; this.IsAdd = true; break; } if (this.cmbGroupName.Text == group.Name && group.Doctor.ID == empl.ID && group.Kind == Neusoft.HISFC.Models.Base.GroupKinds.Doctor) { this.CurrentGroup = group; this.IsAdd = true; break; } } } else { for (int i = 0; i < this.alGroupAll.Count; i++) { group = this.alGroupAll[i] as Neusoft.HISFC.Models.Base.Group; if (groupSelected.ID == group.ID) { this.CurrentGroup = group; this.IsAdd = true; break; } if (this.cmbGroupName.Text == group.Name && group.Kind == Neusoft.HISFC.Models.Base.GroupKinds.All) { this.CurrentGroup = group; this.IsAdd = true; break; } } } } #endregion if (this.CurrentGroup == null)//新的 { CurrentGroup = new Neusoft.HISFC.Models.Base.Group(); CurrentGroup.ID = manager.GetNewGroupID(); if (this.cmbGroupName.Text.Trim() == "") { MessageBox.Show("请输入组套名称!"); CurrentGroup = null; return; } if (Neusoft.FrameWork.Public.String.ValidMaxLengh(this.cmbGroupName.Text.Trim(), 30) == false) { MessageBox.Show("组套名称超长!", "提示"); CurrentGroup = null; return; } CurrentGroup.Name = this.cmbGroupName.Text; //CurrentGroup.UserType = Neusoft.HISFC.Models.Base.ServiceTypes.I;//住院 CurrentGroup.UserType = this.inpatientType; Neusoft.HISFC.Models.Base.Employee ee = ((Neusoft.HISFC.Models.Base.Employee)manager.Operator).Clone(); CurrentGroup.Dept.ID = ee.Dept.ID; if (this.rdo2.Checked) //科室 { CurrentGroup.Kind = Neusoft.HISFC.Models.Base.GroupKinds.Dept; CurrentGroup.Doctor.ID = ""; } else { if (this.rdo1.Checked) //个人 { CurrentGroup.Kind = Neusoft.HISFC.Models.Base.GroupKinds.Doctor; CurrentGroup.Doctor.ID = manager.Operator.ID; } else //全院组套 { CurrentGroup.Kind = Neusoft.HISFC.Models.Base.GroupKinds.All; } } } if (this.IsAdd == true && this.chkAdd.Checked == false) { DialogResult r = MessageBox.Show("是否要覆盖掉原来的组套,\n*不追加会丢失掉原来的数据!", "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (r == DialogResult.No) { return; } } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(manager.Connection); //t.BeginTransaction(); manager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); if (this.chkAdd.Checked == false) { if (manager.DeleteGroup(CurrentGroup) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("保存组套失败" + manager.Err); return; } if (manager.DeleteGroupOrder(CurrentGroup) < 0)//删除明细 { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("保存组套失败" + manager.Err); return; } } if (manager.UpdateGroup(CurrentGroup) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("保存组套失败" + manager.Err); return; } if (this.chkAdd.Checked == false) { if (manager.DeleteGroupOrder(CurrentGroup) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("保存组套失败" + manager.Err); return; } } try { for (int i = 0; i < this.fpSpread1_Sheet1.Rows.Count; i++) { if (this.inpatientType == Neusoft.HISFC.Models.Base.ServiceTypes.I) { Neusoft.HISFC.Models.Order.Inpatient.Order order = (this.fpSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Order.Inpatient.Order).Clone(); //判断对开立时间的修改是否正确 order.BeginTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.fpSpread1_Sheet1.Cells[i, 13].Text); if (order.BeginTime == DateTime.MinValue) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(order.Item.Name + "医嘱开始时间设置错误 请重新设置"); return; } if (order.Item.SysClass.ID.ToString() == "UL" && order.Sample.Name != "") { order.CheckPartRecord = order.Sample.Name; } if (manager.UpdateGroupItem(CurrentGroup, order) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(manager.Err); return; } } else { Neusoft.HISFC.Models.Order.OutPatient.Order order = (this.fpSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Order.OutPatient.Order).Clone(); //判断对开立时间的修改是否正确 order.BeginTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.fpSpread1_Sheet1.Cells[i, 13].Text); if (order.BeginTime == DateTime.MinValue) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(order.Item.Name + "医嘱开始时间设置错误 请重新设置"); return; } if (order.Item.SysClass.ID.ToString() == "UL" && order.Sample.Name != "") { order.CheckPartRecord = order.Sample.Name; } if (manager.UpdateGroupItem(CurrentGroup, order) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(manager.Err); return; } } } } catch (Exception ex) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(ex.Message); } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show("保存成功!"); this.tvDoctorGroup1.RefrshGroup(); this.Close(); }
public frmSelectGroup(Neusoft.HISFC.Models.Base.Group groupInfo) { InitializeComponent(); this.Init(groupInfo); }