Esempio n. 1
0
        protected override void OnLoad(EventArgs e)
        {
            person = Neusoft.FrameWork.Management.Connection.Operator as Neusoft.HISFC.Models.Base.Employee;
            if (person.PermissionGroup == null)
            {
                return;
            }
            this.lvGroup.Items.Clear();
            foreach (Neusoft.FrameWork.Models.NeuObject obj in person.PermissionGroup)
            {
                if (obj.Name.Trim() != "")
                {
                    ListViewItem item = new ListViewItem(obj.Name, 0);
                    item.Text       = obj.Name;
                    item.ImageIndex = 0;
                    item.Tag        = obj;
                    this.lvGroup.Items.Add(item);
                }
            }

            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager manager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            //System.Collections.ArrayList alDepts = manager.GetMultiDept(person.ID);
            System.Collections.ArrayList alDepts = manager.GetMultiDeptNew(person.ID);
            this.cmbDept.AddItems(alDepts);
            this.cmbDept.Tag = person.Dept.ID;
            this.lvGroup.Items[0].Selected = true;
            if (person.PermissionGroup.Count <= 1 && alDepts.Count <= 1)
            {
                isEnterToLogin = true;
            }
            base.OnLoad(e);

            this.SetCurrentGroup(person.CurrentGroup, person.Dept);
        }
        /// <summary>
        /// 取全部科室列表
        /// </summary>
        public void BeforeLoad(string statCode)
        {
            try
            {
                Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager statMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
                //创建科室分类等级树,返回一级节点列表
                ArrayList depts = statMgr.LoadLevelViewDepartemt(statCode);
                foreach (Neusoft.HISFC.Models.Base.DepartmentStat info in depts)
                {
                    hashTable.Add(info.PkID, info);
                }

                //{31FD985A-A165-4812-8CBE-CA2E2C7B9A7B}  加载科室编码、名称对照字典
                Neusoft.HISFC.BizLogic.Manager.Department deptManager = new Neusoft.HISFC.BizLogic.Manager.Department();
                ArrayList alDept = deptManager.GetDeptAllUserStopDisuse();
                if (alDept != null)
                {
                    this.deptNameDictionary = new Dictionary <string, string>();
                    foreach (Neusoft.HISFC.Models.Base.Department info in alDept)
                    {
                        this.deptNameDictionary.Add(info.ID, info.Name);
                    }
                }

                //在TreeView总显示科室信息
                AddView(statCode);
            }
            catch { }
        }
        private int QueryTermalDept()
        {
            //Neusoft.HISFC.BizProcess.Integrate.Manager managerInt = new Neusoft.HISFC.BizProcess.Integrate.Manager();
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager dsmManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();

            alTermalDept = dsmManager.LoadDepartmentStatAndByNodeKind("98", "1");

            //this.alTermalDept = managerInt.GetConstantList("Termin");

            return(1);
        }
        /// <summary>
        /// 取科室分类最大编码
        /// </summary>
        private int GetMaxCode()
        {
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            string deptCode = deptManager.GetMaxCode(this.departmentStat.StatCode);

            if (deptCode == "-1")
            {
                MessageBox.Show(deptManager.Err);
                return(-1);
            }

            this.txtDeptCode.Text = deptCode;
            return(1);
        }
        public void Init()
        {
            this.ImageList = this.deptImageList;
            this.Nodes.Clear();

            #region 显示各个权限科室

            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptMagr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            Neusoft.HISFC.BizLogic.Manager.Department            depts    = new Neusoft.HISFC.BizLogic.Manager.Department();
            ArrayList deptList = new ArrayList();

            TreeNode root = new TreeNode();
            root.Text       = "所有科室";
            root.Tag        = "ALL";
            root.ImageIndex = 1;
            this.Nodes.Add(root);
            TreeNode node;


            if (this.isAllDept == false)
            {
                deptList = deptMagr.GetMultiDeptNew(deptMagr.Operator.ID);
                foreach (Neusoft.HISFC.Models.Base.DepartmentStat dept in deptList)
                {
                    node            = new TreeNode();
                    node.Text       = dept.Name;
                    node.Tag        = dept.ID;
                    node.ImageIndex = 0;
                    root.Nodes.Add(node);
                }
            }
            else
            {
                deptList = depts.GetInHosDepartment();
                foreach (Neusoft.HISFC.Models.Base.Department dept in deptList)
                {
                    node            = new TreeNode();
                    node.Text       = dept.Name;
                    node.Tag        = dept.ID;
                    node.ImageIndex = 0;
                    root.Nodes.Add(node);
                }
            }

            root.ExpandAll();

            #endregion
        }
Esempio n. 6
0
        /// <summary>
        /// 数据初始化
        /// </summary>
        private void Init()
        {
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            this.alChooseDept = deptStatManager.LoadChildrenUnionDept(this.statCode, "AAAA");
            if (this.alChooseDept == null)
            {
                MessageBox.Show(Language.Msg("取科室列表错误:" + deptStatManager.Err));
                return;
            }

            Neusoft.HISFC.BizProcess.Integrate.Manager managerIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Manager();
            this.deptTypeHelper             = new Neusoft.FrameWork.Public.ObjectHelper();
            this.deptTypeHelper.ArrayObject = this.alChooseDept;
            //{CFC740A1-77C6-4722-A6BF-DCDC94171838} by nxy
            this.SetColumnFormat();
        }
        /// <summary>
        /// 获取病案科室结构
        /// </summary>
        protected ArrayList QueryDeptStat()
        {
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager myDeptManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            //ArrayList al = myDeptManager.LoadDepartmentStat("72");
            ArrayList al = myDeptManager.LoadDepartmentStatAndByNodeKind("72", "1");

            //Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager myDepartmentStatManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            //ArrayList al = myDepartmentStatManager.LoadDepartmentStatAndByNodeKind("72", "0");

            if (al == null)
            {
                MessageBox.Show("获取病案科室结构失败");
                return(null);
            }

            return(al);
        }
        /// <summary>
        /// 加载多科室
        /// </summary>
        private void AddDeptDetial(string EmployeCode)
        {
            if (EmployeCode == "")
            {
                this.neuSpread1_Sheet1.RowCount = 0;
            }
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();

            //根据人员编码提取操作员可以登陆的科室信息
            ArrayList list = deMgr.GetMultiDept(EmployeCode);

            foreach (Neusoft.HISFC.Models.Base.DepartmentStat info in list)
            {
                this.neuSpread1_Sheet1.Rows.Add(0, 1);
                this.neuSpread1_Sheet1.Cells[0, 0].Text = info.DeptName;
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 获取科室结构信息
        /// </summary>
        /// <returns></returns>
        private int ShowDeptStat()
        {
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            ArrayList alDeptStat = deptStatManager.LoadDepartmentStat("03");

            if (alDeptStat == null)
            {
                MessageBox.Show(Language.Msg("获取科室节点信息失败"));
                return(-1);
            }

            foreach (Neusoft.HISFC.Models.Base.DepartmentStat deptStat in alDeptStat)
            {
                if (this.hsphaDept.ContainsKey(deptStat.DeptCode))
                {
                    continue;
                }

                if (deptStat.DeptCode.Substring(0, 1) == "S")
                {
                    continue;
                }

                Neusoft.HISFC.Models.Pharmacy.DeptConstant deptConstant = new Neusoft.HISFC.Models.Pharmacy.DeptConstant();

                deptConstant.ID   = deptStat.DeptCode;
                deptConstant.Name = deptStat.DeptName;

                int iCount = this.neuSpread1_Sheet1.Rows.Count;

                this.neuSpread1_Sheet1.Rows.Add(iCount, 1);

                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColDeptID].Value   = deptConstant.ID;               //部门编码
                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColDeptName].Value = deptConstant.Name;             //部门名称

                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColIsStore].Value  = false;
                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColIsBatch].Value  = false;  //是否按批号管理
                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColUnitFlag].Value = "最小单位"; //库存管理默认单位:0最小单位,1包装单位
                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColIsArk].Value    = false;  //药柜管理标志 是否药柜管理

                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColInListNO].Value  = "";    //药柜管理标志 是否药柜管理
                this.neuSpread1_Sheet1.Cells[iCount, (int)ColumnSet.ColOutListNO].Value = "";    //药柜管理标志 是否药柜管理
            }
            return(1);
        }
Esempio n. 10
0
        /// <summary>
        /// 科室结构信息显示
        /// </summary>
        public void ShowDeptStruct()
        {
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            ArrayList alDeptStat = deptStatManager.LoadDepartmentStat("05");

            if (alDeptStat == null)
            {
                MessageBox.Show(Language.Msg("获取科室节点信息失败"));
                return;
            }

            ArrayList al = new ArrayList();

            foreach (Neusoft.HISFC.Models.Base.DepartmentStat deptStat in alDeptStat)
            {
                if (this.hsphaDept.ContainsKey(deptStat.DeptCode))
                {
                    continue;
                }

                if (deptStat.DeptCode.Substring(0, 1) == "S")
                {
                    continue;
                }

                Neusoft.HISFC.Models.Material.MaterialStorage storage = new Neusoft.HISFC.Models.Material.MaterialStorage();

                storage.ID        = deptStat.DeptCode;
                storage.Name      = this.deptHelper.GetName(deptStat.DeptCode);
                storage.Name      = storage.Name;
                storage.ID        = deptStat.DeptCode;
                storage.SpellCode = deptStat.SpellCode;
                storage.WBCode    = deptStat.WBCode;

                al.Add(storage);
            }

            this.AddDataToTable(al, true);
        }
Esempio n. 11
0
        /// <summary>
        /// 保存
        /// </summary>
        private void Save()
        {
            //判断输入有效性
            if (!ValidateValue())
            {
                return;
            }

            //取控件中的科室数据信息
            if (this.departmentStat == null)
            {
                this.departmentStat = new Neusoft.HISFC.Models.Base.DepartmentStat();
            }

            //如果是科室分类,则取科室分类的最大编码。
            if (this.chbClass.Checked)
            {
                this.departmentStat.NodeKind = 0;

                //如果是新增科室分类,则取
                if (this.departmentStat.DeptCode == "")
                {
                    this.GetMaxCode();
                }
            }
            else
            {
                this.departmentStat.NodeKind = 1;
            }

            Neusoft.HISFC.Models.Base.Department deptment = new Neusoft.HISFC.Models.Base.Department();

            //在增加科室时判断该科室是否已经存在

            if (!this.DoEvent(this.txtDeptCode.Text.Trim()))
            {
                MessageBox.Show("该科室在本科室结构中已存在,请重新选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            #region 科室基本信息
            if (!this.chbClass.Checked)                                  //不是科室分类
            {
                deptment.ID        = this.txtDeptCode.Text.Trim();       //科室编码
                deptment.Name      = this.comboDeptName.Text.Trim();     //科室名称
                deptment.SpellCode = this.txtSpellCode.Text.Trim();      //拼音码
                deptment.WBCode    = this.txtWbCode.Text.Trim();         //五笔码
                deptment.UserCode  = this.txtUserCode.Text.Trim();       //自定义码
                deptment.ShortName = this.txtDeptSimpleName.Text.Trim(); //科室简称

                //如果英文名称不为空
                if (this.txtDeptEnglish.Text != "")
                {
                    deptment.EnglishName = this.txtDeptEnglish.Text.Trim();//科室英文名称
                }

                if (this.comboDeptType.SelectedIndex != -1)
                {
                    deptment.DeptType.ID = this.comboDeptType.Tag;//科室类型ID
                }
                //停用
                if (this.chbStop.Checked)
                {
                    deptment.ValidState = Neusoft.HISFC.Models.Base.EnumValidState.Valid;//有效性状态
                }
                else
                {
                    deptment.ValidState = Neusoft.HISFC.Models.Base.EnumValidState.Invalid;
                }
                //排序ID
                if (txtSortID.Text != "")
                {
                    deptment.SortID = Neusoft.FrameWork.Function.NConvert.ToInt32(txtSortID.Text.Trim()); //排序ID
                }
                deptment.SpecialFlag = this.comboDeptPro.SelectedIndex.ToString();                        //特殊科室标识
                deptment.IsRegDept   = this.chbReg.Checked;                                               //是否挂号科室
                deptment.IsStatDept  = this.chbTat.Checked;                                               //是否统计科室
                deptment.Memo        = this.txtMark.Text.Trim();                                          //备注

                #region  是否已经存在编码相同但名称不同的科室
                Neusoft.HISFC.Models.Base.Department depttempt = deptMgr.GetDeptmentById(deptment.ID);
                if (depttempt == null)
                {
                    MessageBox.Show("该科室编码没有与之相对应的科室" + deptMgr.Err);
                    return;
                }
                if ((depttempt.ID == deptment.ID) && (depttempt.Name != deptment.Name))
                {
                    if (MessageBox.Show("已经存在编码为" + depttempt.ID + "的记录" + depttempt.Name + "是否要替换为:" + deptment.Name + "吗", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No)
                    {
                        return;
                    }
                }
            }
            #endregion

            //将控件中的数据保存到实体中
            this.departmentStat.DeptCode   = this.txtDeptCode.Text.Trim();                                            //科室编码
            this.departmentStat.DeptName   = this.comboDeptName.Text.Trim();                                          //科室名称
            this.departmentStat.SpellCode  = this.txtSpellCode.Text.Trim();                                           //拼音码
            this.departmentStat.WBCode     = this.txtWbCode.Text.Trim();                                              //五笔码
            this.departmentStat.ValidState = Neusoft.HISFC.Models.Base.EnumValidState.Valid;                          //有效标志。0 在用。1停用
            this.departmentStat.SortId     = Neusoft.FrameWork.Function.NConvert.ToInt32(this.txtSortID.Text.Trim()); //排序号
            this.departmentStat.Memo       = this.txtMark.Text.Trim();                                                //备注

            //保存时,如果没有拼音码或者五笔码,则自动生成
            if (this.txtSpellCode.Text.Trim() == "" || this.txtWbCode.Text.Trim() == "")
            {
                CreateSpell();    //产生拼音码和五笔码
            }
            //定义科室分类表管理类

            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatManager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            ////定义事务
            //Neusoft.FrameWork.Management.Transaction trans = new Neusoft.FrameWork.Management.Transaction(deptStatManager.Connection);
            //trans.BeginTransaction();

            ////管理类设置当前事务
            //deptStatManager.SetTrans(trans.Trans);

            deptMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
            try
            {
                //Do科室分类表,先保存,如果不存在则插入一条记录
                int parm = deptStatManager.UpdateDepartmentStat(this.departmentStat);

                if (parm == 0)
                {
                    parm = deptStatManager.InsertDepartmentStat(this.departmentStat);
                }

                if (parm != 1)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show("数据保存失败:" + deptStatManager.Err);
                    return;
                }
                #region 基础数据维护
                if (!this.chbClass.Checked)
                {
                    if (deptMgr.Insert(deptment) == -1)
                    {
                        if (deptMgr.DBErrCode == 1)
                        {
                            if (deptMgr.Update(deptment) == -1 || deptMgr.Update(deptment) == 0)
                            {
                                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                                MessageBox.Show("保存科室信息失败" + deptMgr.Err);
                                return;
                            }
                        }
                        else
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();
                            MessageBox.Show("保存科室信息失败" + deptMgr.Err);
                            return;
                        }
                    }
                }
                #endregion
            }
            catch (Exception a)
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                MessageBox.Show(a.Message);
                return;
            }
            Neusoft.FrameWork.Management.PublicTrans.Commit();
            this.FindForm().DialogResult = DialogResult.OK;



            #endregion
        }
Esempio n. 12
0
        private void tvDepartmentLevelTree1_DragDrop(object sender, DragEventArgs e)
        {
            /*该程序段变量注释!
             * dragNode为【拖动】节点
             * objectNode为【目标】节点
             * */
            try
            {
                //获得进行"Drag"操作中【拖动】的节点
                TreeNode     dragNode = null;
                ListViewItem item     = null;

                //是在内部拖动
                dragNode = e.Data.GetData("System.Windows.Forms.TreeNode") as TreeNode;

                //是从ListView拖动
                if (dragNode == null)
                {
                    item     = e.Data.GetData("System.Windows.Forms.ListViewItem") as ListViewItem;
                    dragNode = (item.Tag) as TreeNode;
                }
                if (dragNode != null)
                {
                    //根据窗口位置转换成TreeView位置
                    Point position = this.tvDepartmentLevelTree1.PointToClient(new Point(e.X, e.Y));
                    //根据TreeView位置取当前【目标】节点
                    TreeNode objectNode = this.tvDepartmentLevelTree1.GetNodeAt(position);

                    //在目标组件中加入拖入的项目
                    if (objectNode != null)
                    {
                        //如果拖动后的位置跟拖动前的位置没变,则提示不能拖动
                        if (dragNode.Parent == objectNode)
                        {
                            MessageBox.Show("无法移动科室:源科室与目标科室相同!", "提示");
                            return;
                        }

                        //如果目标节点是拖动节点的子节点,则不允许拖动
                        if (objectNode.FullPath.IndexOf(dragNode.FullPath) > 0)
                        {
                            MessageBox.Show("无法移动科室:不能将科室移动到其下级科室中!", "提示");
                            return;
                        }

                        //更改拖动科室的父级科室编码和名称
                        Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptMgr    = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
                        Neusoft.HISFC.Models.Base.DepartmentStat             parentDept = objectNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat;
                        Neusoft.HISFC.Models.Base.DepartmentStat             dept       = dragNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat;

                        //目标节点的统计大类编码,用于比较拖动的科室是否在同一个统计大类中
                        string statCode = "";

                        //如果目标节点是统计大类(一级节点),则将大类付与拖动科室的父级
                        if (parentDept == null)
                        {
                            //取目标节点统计大类的编码
                            statCode = objectNode.Tag.ToString();

                            //只能在同一大类下进行拖动
                            if (statCode != dept.StatCode)
                            {
                                MessageBox.Show("无法移动科室:不能将科室移动到另一个科室分类中。", "提示");
                                return;
                            }
                            if (MessageBox.Show("确定要把科室" + dept.DeptName + "转到" + objectNode.Text + "下吗?", "科室转移提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
                            {
                                dept.PardepCode = "AAAA";
                                dept.PardepName = objectNode.Text;
                            }
                        }
                        else
                        {
                            //取目标节点的统计大类编码
                            statCode = parentDept.StatCode;

                            //只能在同一大类下进行拖动
                            if (statCode != dept.StatCode)
                            {
                                MessageBox.Show("无法移动科室:不能将科室移动到另一个科室分类中。", "提示");
                                return;
                            }

                            if (MessageBox.Show("确定要把科室“" + dept.DeptName + "”转到“" + parentDept.DeptName + "”下吗?", "科室转移提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                            {
                                return;
                            }

                            //如果目标节点是科室,则将科室信息付与拖动科室的父级
                            dept.PardepCode = parentDept.DeptCode;
                            dept.PardepName = parentDept.DeptName;
                        }

                        if (deptMgr.UpdateDepartmentStat(dept) != 1)
                        {
                            MessageBox.Show("更新科室信息时出错:" + deptMgr.Err);
                            return;
                        }
                        //删除拖动的节点以前的位置
                        this.tvDepartmentLevelTree1.DelDepartment(dragNode);
                        //在新的位置插入拖动的节点
                        this.tvDepartmentLevelTree1.AddDepartment(objectNode, dragNode);
                    }
                }
            }
            catch
            {
            }
        }
Esempio n. 13
0
        /// <summary>
        /// 设置菜单和工具栏中的项目是否可用
        /// </summary>
        private void SetEnable()
        {
            //取当前TreeView中选中的节点
            Neusoft.HISFC.Models.Base.DepartmentStat departmentStat = this.tvDepartmentLevelTree1.SelectedNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat;

            //如果当前的TreeView选中的节点不是统计大类(一级节点),则根据属性判断是否可以增加人,否则不允许增加人员
            if (departmentStat != null)
            {
                Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();

                #region 根据大类权限数量来判断是否可以增加人员(路志鹏、2007-6-15)
                int resultValue = deptStatMgr.DepartMentClassCount(departmentStat.StatCode);
                if (resultValue <= 0)
                {
                    this.menuItemAddUser.Enabled = false;
                }
                else
                {
                    this.menuItemAddUser.Enabled = true;
                }
                #endregion
            }
            else
            {
                this.menuItemAddUser.Enabled = false;
            }

            //如果当前的ListView中选中了项目,则属性菜单项可用,否则不可用
            if (this.neuListView1.SelectedItems.Count > 0 && this.neuListView1.Focused)
            {
                //当ListView中选中项目时,允许查看其属性
                this.menuItemProperty.Enabled = true;
                this.toolBarService.SetToolButtonEnabled("属性", true);

                //如果当前的ListView中选中了科室,则删除菜单项可用,否则不可用。人员不能在此处删除。
                Neusoft.HISFC.Models.Admin.UserPowerDetail userPower = this.neuListView1.SelectedItems[0].Tag as Neusoft.HISFC.Models.Admin.UserPowerDetail;
                if (userPower == null)
                {
                    this.menuItemDelete.Enabled = true;
                    this.toolBarService.SetToolButtonEnabled("删除", true);
                }
                else
                {
                    this.menuItemDelete.Enabled = false;
                    this.toolBarService.SetToolButtonEnabled("删除", false);
                }
            }
            else
            {
                //当ListView中没有选中项目时,如果TreeView中选中了项目则允许查看TreeView中节点的属性
                if (this.tvDepartmentLevelTree1.SelectedNode != null && this.tvDepartmentLevelTree1.SelectedNode.Parent != null)
                {
                    this.menuItemProperty.Enabled = true;
                    this.toolBarService.SetToolButtonEnabled("属性", true);
                }
                else
                {
                    this.menuItemProperty.Enabled = false;
                    this.toolBarService.SetToolButtonEnabled("属性", false);
                }
                this.menuItemDelete.Enabled = false;
                this.toolBarService.SetToolButtonEnabled("删除", false);
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 删除当前ListView中选中的科室
        /// </summary>
        public void DelDepartment()
        {
            //取得当前ListView中要修改的科室数据信息
            TreeNode node = this.neuListView1.SelectedItems[0].Tag as TreeNode;

            //只能删除科室数据
            if (node == null)
            {
                return;
            }

            //取要删除的科室信息
            Neusoft.HISFC.Models.Base.DepartmentStat dept = node.Tag as Neusoft.HISFC.Models.Base.DepartmentStat;
            if (dept != null)
            {
                if (dept.Childs.Count > 0)
                {
                    MessageBox.Show("此科室有下级科室,不允许删除。\n请先删除下级科室。", "删除无法进行", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //取此科室下级人员信息,如果存在人员则不允许删除。
                Neusoft.HISFC.BizLogic.Manager.UserPowerDetailManager userMgr = new Neusoft.HISFC.BizLogic.Manager.UserPowerDetailManager();
                ArrayList al = userMgr.LoadUser(dept.StatCode, dept.DeptCode);
                if (al == null)
                {
                    MessageBox.Show("取人员信息时出错:" + userMgr.Err);
                    return;
                }

                if (al.Count > 0)
                {
                    MessageBox.Show("此科室有下级人员,不允许删除。\n请先删除下级人员。", "删除无法进行", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (MessageBox.Show("确定要把科室“" + dept.DeptName + "”删除吗?", "确认科室删除", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }

                //定义管理类,删除科室

                Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

                Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
                //Neusoft.FrameWork.Management.Transaction trans = new Neusoft.FrameWork.Management.Transaction(deptStatMgr.Connection);
                //trans.BeginTransaction();
                //deptStatMgr.SetTrans(trans.Trans);
                try
                {
                    //删除一个科室数据
                    int parm = deptStatMgr.Delete(dept.StatCode, dept.DeptCode);
                    if (parm != 1)
                    {
                        Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                        MessageBox.Show("数据保存失败:" + deptStatMgr.Err);
                        return;
                    }
                }
                catch (Exception e)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                    MessageBox.Show("数据保存失败!" + e.Message, "提示");
                    return;
                }
                Neusoft.FrameWork.Management.PublicTrans.Commit();
                //MessageBox.Show("数据保存失败!" + e.Message,"提示");
            }

            //在TreeView中移除被删掉的节点
            this.tvDepartmentLevelTree1.DelDepartment(node);

            //显示当前TreeView中选中节点的下级内容
            this.ShowList();
        }
Esempio n. 15
0
        /// <summary>
        /// 科室列表数据加载
        /// </summary>
        /// <returns>数据加载成功返回1 加载存在错误返回-1</returns>
        protected virtual int InitDept()
        {
            Neusoft.HISFC.BizLogic.Manager.Department deptManagment = new Neusoft.HISFC.BizLogic.Manager.Department();
            ArrayList deptList = deptManagment.GetDeptmentAll();

            if (deptList == null)
            {
                System.Windows.Forms.MessageBox.Show("获取科室数据发生错误" + deptManagment.Err);
                return(1);
            }

            System.Collections.Hashtable hsDeptList = new Hashtable();

            pList  = new List <Neusoft.HISFC.Models.Base.Department>();
            piList = new List <Neusoft.HISFC.Models.Base.Department>();

            #region  照科室类型加载

            foreach (Neusoft.HISFC.Models.Base.Department dept in deptList)
            {
                hsDeptList.Add(dept.ID, dept);

                if (dept.DeptType.ID.ToString() == Neusoft.HISFC.Models.Base.EnumDepartmentType.P.ToString())
                {
                    pList.Add(dept);
                    continue;
                }
                if (dept.DeptType.ID.ToString() == Neusoft.HISFC.Models.Base.EnumDepartmentType.PI.ToString())
                {
                    piList.Add(dept);
                    continue;
                }
            }

            #endregion

            //使用科室结构树显示时,代码继续执行。否则返回
            if (!this.isUseDeptStruct)
            {
                return(0);
            }


            #region  照科室结构加载

            pList.Clear();
            piList.Clear();

            //创建科室分类等级树,返回一级节点列表
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager statMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();
            ArrayList deptStruct = statMgr.LoadLevelViewDepartemt("03");
            if (deptStruct == null)
            {
                System.Windows.Forms.MessageBox.Show("获取科室结构数据发生错误" + deptManagment.Err);
                return(1);
            }
            foreach (Neusoft.HISFC.Models.Base.DepartmentStat info in deptStruct)
            {
                if (info.DeptCode == this.piStatCode)       //加载大类药库
                {
                    foreach (Neusoft.HISFC.Models.Base.DepartmentStat piInfo in info.Childs)
                    {
                        if (hsDeptList.ContainsKey(piInfo.DeptCode))
                        {
                            piList.Add(hsDeptList[piInfo.ID] as Neusoft.HISFC.Models.Base.Department);
                        }
                    }
                }
                if (info.DeptCode == this.pStatCode)        //加载大类药房
                {
                    foreach (Neusoft.HISFC.Models.Base.DepartmentStat pInfo in info.Childs)
                    {
                        if (hsDeptList.ContainsKey(pInfo.DeptCode))
                        {
                            pList.Add(hsDeptList[pInfo.ID] as Neusoft.HISFC.Models.Base.Department);
                        }
                    }
                }
            }

            #endregion

            return(1);
        }
Esempio n. 16
0
        private void Init(User user)
        {
            this.nTreeView1.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(nTreeView1_NodeMouseDoubleClick);

            foreach (Role _role in _roles)
            {
                TreeNode _node = new TreeNode(_role.Name);
                _node.ImageIndex = 0;
                _node.Tag = _role;
                this.nTreeView1.Nodes.Add(_node);
            }
            this.nTreeView1.ExpandAll();

            //初始化科室信息,只通过人员信息判断其能登录的科室。
            Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager manager = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager();





            //System.Collections.ArrayList alDepts = manager.GetMultiDeptNew(currentUser.PersonId);

            System.Collections.ArrayList alDepts = null;

            //{36DEFA19-3650-443f-A173-E2A355FA00C2}
            Neusoft.HISFC.BizLogic.Manager.Person p = new Neusoft.HISFC.BizLogic.Manager.Person();
            Neusoft.HISFC.Models.Base.Employee empl = p.GetPersonByID(user.PersonId);
            ////{A4ED7668-8B4C-441f-9A0D-7029EA040B14}
            //if (empl.EmployeeType.ID.ToString() == "N")
            //{
            //    alDepts = manager.GetMultiDeptNewForNurser(currentUser.PersonId);
            //}
            //else
            //{
            //    alDepts = manager.GetMultiDeptNew(currentUser.PersonId);
            //}
            
                alDepts = manager.GetMultiDeptNew(currentUser.PersonId);
            

            //如果是管理员,默认科室信息。
            if (currentUser.Id == "admin")
            {
                Neusoft.FrameWork.Models.NeuObject obj = new Neusoft.FrameWork.Models.NeuObject();
                obj.ID = "admin";
                obj.Name = "admin";
                ArrayList list = new ArrayList();
                list.Add(obj);
                this.cmbDept.AddItems(list);
            }
            else
            {
                this.cmbDept.AddItems(alDepts);
            }
            if (alDepts != null)
            {
                this.cmbDept.SelectedIndex = 0;
            }

            //#region 默认上次登录信息
            ////{9DF35C63-1468-4fa5-BBEA-5D00197C0994} yangw 20100831
            //Neusoft.HISFC.BizLogic.Manager.UserManager userMgr = new Neusoft.HISFC.BizLogic.Manager.UserManager();
            //Neusoft.FrameWork.Models.NeuObject lastLoginInfo = userMgr.GetLastLoginInfo(currentUser.operId, 10);
            //if (lastLoginInfo != null)
            //{
            //    //登录科室
            //    foreach (Neusoft.FrameWork.Models.NeuObject o in cmbDept.alItems)
            //    {
            //        if (o.ID == lastLoginInfo.ID)
            //        {
            //            cmbDept.Tag = lastLoginInfo.ID;
            //            break;
            //        }
            //    }

            //    //登录模块
            //    foreach (TreeNode n in nTreeView1.Nodes)
            //    {
            //        if (n.Text == lastLoginInfo.Name)
            //        {
            //            nTreeView1.SelectedNode = n;
            //            break;
            //        }
            //    }
            //}
            //#endregion
        }