Example #1
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <returns>成功返回1 失败返回-1</returns>
        private int Init()
        {
            Neusoft.HISFC.BizLogic.Manager.Constant consManager = new Neusoft.HISFC.BizLogic.Manager.Constant();
            //限制药品类别
            ArrayList al = consManager.GetList("RestrainedType");

            if (al == null)
            {
                al = new ArrayList();
            }

            foreach (Neusoft.FrameWork.Models.NeuObject info in al)
            {
                this.hsRestrainedQualityHelper.Add(info.ID, null);
            }

            Neusoft.HISFC.BizLogic.Manager.PowerLevelManager powerLevelManager = new Neusoft.HISFC.BizLogic.Manager.PowerLevelManager();

            Neusoft.HISFC.Models.Admin.PowerLevelClass3 privClass3 = powerLevelManager.LoadLevel3ByPrimaryKey(this.phaOutManager.Class2Priv.ID, this.phaOutManager.PrivType.ID);
            if (privClass3 != null)
            {
                privJoinClass3 = powerLevelManager.LoadLevel3ByPrimaryKey("0310", privClass3.Class3JoinCode);
            }

            return(1);
        }
        /// <summary>
        /// 选择人员事件
        /// </summary>
        /// <param name="neuObj">人员信息</param>
        private void form_SelectedItem(Neusoft.FrameWork.Models.NeuObject neuObj)
        {
            //取返回数据的编码和名称
            this.lblCode.Text   = neuObj.ID;
            this.comboName.Text = neuObj.Name;
            Neusoft.HISFC.Models.Base.Employee objPer = this.psMgr.GetPersonByID(neuObj.ID);
            if (objPer == null)
            {
                MessageBox.Show("查询人员信息失败");
                return;
            }

            this.setInfo(objPer);

            #region 默认选中多科室
            foreach (ListViewItem lvi in this.lvPrivList.Items)
            {
                Neusoft.HISFC.Models.Admin.PowerLevelClass3 class3 = lvi.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass3;
                if (class3.Class3Code == "01" && class3.Class2Code == "0000")
                {
                    lvi.Checked = true;
                }
            }
            #endregion
            this.txtMark.Focus();
        }
        /// <summary>
        /// 显示三级权限
        /// </summary>
        public void ShowClass3()
        {
            //{42AB2AC3-EAC6-4b7d-9102-4997B2E9AAAA} 增加二级权限报错
            if (this.operClass2Priv == null || string.IsNullOrEmpty(this.operClass2Priv.Class2Code))
            {
                this.fpClass3_Sheet1.RowCount = 0;

                return;
            }

            //取三级权限
            ArrayList al = class3Manager.LoadLevel3ByLevel2(this.operClass2Priv.Class2Code);

            if (al == null)
            {
                MessageBox.Show(Language.Msg(class2Manager.Err));
                return;
            }

            string[] class3JoinCollection = this.ShowClass3JoinPriv();

            if (class3JoinCollection != null)
            {
                //创建ComboBoxCellType,填充系统类型列
                FarPoint.Win.Spread.CellType.ComboBoxCellType combo = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
                //将ComboBoxCellType付给三级权限的对应列
                combo.Items = class3JoinCollection;
                this.fpClass3_Sheet1.Columns[5].CellType = combo;
            }
            else
            {
                //创建ComboBoxCellType,填充系统类型列
                FarPoint.Win.Spread.CellType.ComboBoxCellType combo = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
                //将ComboBoxCellType付给三级权限的对应列
                combo.Items = new string[1];
                this.fpClass3_Sheet1.Columns[5].CellType = combo;
            }

            //显示三级权限
            this.fpClass3_Sheet1.RowCount = al.Count;

            for (int i = 0; i < al.Count; i++)
            {
                Neusoft.HISFC.Models.Admin.PowerLevelClass3 info = al[i] as Neusoft.HISFC.Models.Admin.PowerLevelClass3;
                this.fpClass3_Sheet1.Cells[i, 0].Text = info.ID;
                this.fpClass3_Sheet1.Cells[i, 1].Text = info.Name;
                this.fpClass3_Sheet1.Cells[i, 2].Text = info.Class3MeaningCode;
                this.fpClass3_Sheet1.Cells[i, 3].Text = info.Class3MeaningName;

                this.fpClass3_Sheet1.Cells[i, 4].Text = info.Class3JoinCode;
                if (this.hsClass3JoinCode.ContainsKey(info.Class3JoinCode))
                {
                    this.fpClass3_Sheet1.Cells[i, 5].Text = this.hsClass3JoinCode[info.Class3JoinCode] as string;
                }

                this.fpClass3_Sheet1.Cells[i, 6].Text = info.Memo;
                this.fpClass3_Sheet1.Rows[i].Tag      = info;
            }
        }
Example #4
0
        private void tvOper_AfterSelect(object sender, TreeViewEventArgs e)
        {
            //取节点名称
            if (e.Node.Tag != null)
            {
                this.operPriv = e.Node.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass3;

                this.SetToolButton();

                this.ShowData();
            }
        }
Example #5
0
        private void tvOper_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            //取节点名称
            if (e.Node.Tag != null)
            {
                this.operPriv = e.Node.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass3;

                if (e.Node.Parent != null)
                {
                    this.operPriv.PowerLevelClass2 = e.Node.Parent.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass2;
                }
                //				this.SetToolButton();

                this.ShowData();
            }
        }
Example #6
0
        /// <summary>
        /// 权限类别初始化
        /// </summary>
        protected void InitPrivOper()
        {
            this.tvOper.ImageList = this.tvOper.groupImageList;

            this.tvOper.Nodes.Clear();

            Neusoft.HISFC.Models.Admin.PowerLevelClass3 privClass3;             //查询权限
            foreach (string tempStr in this.PList)
            {
                #region 加载通用类型

                privClass3 = new Neusoft.HISFC.Models.Admin.PowerLevelClass3();

                privClass3.ID   = tempStr.Substring(tempStr.IndexOf("|") + 1);      //查询类别
                privClass3.Name = tempStr.Substring(0, tempStr.IndexOf("|"));       //查询名称
                privClass3.Memo = "AAAA";                                           //权限信息

                TreeNode parentNode = new TreeNode();
                parentNode.Text = privClass3.Name;

                parentNode.ImageIndex         = 0;
                parentNode.SelectedImageIndex = 1;

                parentNode.Tag = privClass3;

                this.tvOper.Nodes.Add(parentNode);

                if (privClass3.ID == "In")           //获取入库权限类型
                {
                    #region 添加入库三级权限

                    List <Neusoft.FrameWork.Models.NeuObject> alInPriv = this.powerDetailManager.QueryUserPrivCollection(this.privOper.ID, "0310", this.operDept.ID);
                    if (alInPriv == null)
                    {
                        MessageBox.Show(Language.Msg("读取操作员入库权限集合时出错!\n" + this.powerDetailManager.Err));
                        return;
                    }

                    foreach (Neusoft.FrameWork.Models.NeuObject inInfo in alInPriv)
                    {
                        if (this.operDept.Memo == "PI")
                        {
                            if (inInfo.ID == "M1" || inInfo.ID == "M2" || inInfo.ID == "Z1" || inInfo.ID == "Z2")
                            {
                                continue;
                            }
                        }

                        privClass3 = new Neusoft.HISFC.Models.Admin.PowerLevelClass3();

                        privClass3.ID   = "In";
                        privClass3.Name = inInfo.Name;
                        privClass3.Memo = inInfo.ID;

                        TreeNode privNode = new TreeNode();
                        privNode.Text = privClass3.Name;                //三级权限名称

                        privNode.ImageIndex         = 2;
                        privNode.SelectedImageIndex = 4;

                        privNode.Tag = privClass3;                              //三级权限编码

                        parentNode.Nodes.Add(privNode);
                    }

                    #endregion
                }

                if (privClass3.ID == "Out")         //获取出库权限类型
                {
                    #region 添加出库三级权限

                    List <Neusoft.FrameWork.Models.NeuObject> alOutPriv = this.powerDetailManager.QueryUserPrivCollection(this.privOper.ID, "0320", this.operDept.ID);
                    if (alOutPriv == null)
                    {
                        MessageBox.Show(Language.Msg("读取操作员出库权限集合时出错!\n" + this.powerDetailManager.Err));
                        return;
                    }

                    foreach (Neusoft.FrameWork.Models.NeuObject outInfo in alOutPriv)
                    {
                        privClass3 = new Neusoft.HISFC.Models.Admin.PowerLevelClass3();

                        privClass3.ID   = "Out";
                        privClass3.Name = outInfo.Name;
                        privClass3.Memo = outInfo.ID;

                        TreeNode privNode = new TreeNode();
                        privNode.Text = privClass3.Name;                //三级权限名称

                        privNode.ImageIndex         = 2;
                        privNode.SelectedImageIndex = 4;

                        privNode.Tag = privClass3;                              //三级权限编码

                        parentNode.Nodes.Add(privNode);
                    }

                    #endregion
                }

                #endregion
            }

            if (this.operDept.Memo == "PI")
            {
                #region 加载药库通用类型

                foreach (string tempStr in this.PIList)
                {
                    privClass3 = new Neusoft.HISFC.Models.Admin.PowerLevelClass3();

                    privClass3.ID   = tempStr.Substring(tempStr.IndexOf("|") + 1);      //查询类别
                    privClass3.Name = tempStr.Substring(0, tempStr.IndexOf("|"));       //查询名称

                    switch (privClass3.Name)
                    {
                    case "住院":
                        privClass3.Memo = "Z";
                        break;

                    case "门诊":
                        privClass3.Memo = "M";
                        break;

                    default:
                        privClass3.Memo = "AAAA";
                        break;
                    }

                    TreeNode node = new TreeNode();
                    node.Text = privClass3.Name;

                    node.ImageIndex         = 0;
                    node.SelectedImageIndex = 1;

                    node.Tag = privClass3;

                    this.tvOper.Nodes.Add(node);
                }

                #endregion
            }

            if (this.tvOper.Nodes.Count > 0)
            {
                this.tvOper.SelectedNode = this.tvOper.Nodes[0];
            }
        }
        /// <summary>
        /// 保存三级权限
        /// </summary>
        public void SaveClass3()
        {
            int  parm;
            bool isUpdate = false;

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

            //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            //t.BeginTransaction();

            class3Manager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            //先删除数据
            parm = class3Manager.Delete(this.operClass2Priv.Class2Code);
            if (parm == -1)
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                MessageBox.Show(Language.Msg(class3Manager.Err), "错误提示");
                return;
            }

            //如果处理到有效的数据则更新标志
            if (parm > 0)
            {
                isUpdate = true;
            }

            Neusoft.HISFC.Models.Admin.PowerLevelClass3 info;
            //插入数据
            for (int i = 0; i < this.fpClass3_Sheet1.Rows.Count; i++)
            {
                info = new Neusoft.HISFC.Models.Admin.PowerLevelClass3();

                info.Class3Code        = this.fpClass3_Sheet1.Cells[i, 0].Text;   //三级权限编码
                info.Class3Name        = this.fpClass3_Sheet1.Cells[i, 1].Text;   //三级权限名称
                info.Class3MeaningCode = this.fpClass3_Sheet1.Cells[i, 2].Text;   //系统权限编码
                info.Class3MeaningName = this.fpClass3_Sheet1.Cells[i, 3].Text;   //系统权限名称

                if (info.Class3Code == "" || info.Class3Name == "")
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                    MessageBox.Show(Language.Msg("三级权限编码和名称不能为空"), "提示");
                    return;
                }

                if (info.Class3MeaningCode == "" || info.Class3MeaningName == "")
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                    MessageBox.Show(Language.Msg("请选择系统权限"), "提示");
                    return;
                }

                info.Class3JoinCode = this.fpClass3_Sheet1.Cells[i, 4].Text; //关联权限名称

                info.Memo       = this.fpClass3_Sheet1.Cells[i, 6].Text;     //备注
                info.Class2Code = this.operClass2Priv.Class2Code;            //二级权限编码
                parm            = class3Manager.InsertPowerLevelClass3(info);
                if (parm != 1)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                    if (this.class3Manager.DBErrCode == 1)
                    {
                        MessageBox.Show(Language.Msg("编码为【" + info.Class3Code + "】的三级权限已经存在,不能重复添加."));
                    }
                    else
                    {
                        MessageBox.Show(Language.Msg(this.class3Manager.Err), "错误提示");
                    }

                    return;
                }
            }

            //如果处理到有效的数据则更新标志
            if (this.fpClass3_Sheet1.Rows.Count > 0)
            {
                isUpdate = true;
            }

            if (isUpdate)
            {
                Neusoft.FrameWork.Management.PublicTrans.Commit();;
                MessageBox.Show(Language.Msg("保存成功"), "提示");
            }
            else
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();;
            }
        }
        /// <summary>
        /// 保存
        /// </summary>
        private void Save()
        {
            this.lblCode.Text   = this.txtPersonCode.Text;
            this.comboName.Text = this.txtPersonName.Text;
            if (ValidateState())
            {
                Neusoft.HISFC.Models.Base.Employee objEmployee = this.getPerson();

                if (objEmployee == null)
                {
                    MessageBox.Show("获取人员信息失败!");
                    return;
                }
                this.userPowerDetail.GrantFlag = true;
                this.userPowerDetail.Memo      = this.txtMark.Text;   //备注
                this.userPowerDetail.User.ID   = this.lblCode.Text;   //人员编码
                this.userPowerDetail.User.Name = this.comboName.Text; //人员名称

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

                //Neusoft.FrameWork.Management.Transaction trans = new Neusoft.FrameWork.Management.Transaction(this.userMgr.Connection);
                //trans.BeginTransaction();
                this.userMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //人员权限分配明细管理类-设置当前事务
                this.psMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);   //人员管理类-设置当前事务
                try
                {
                    #region 人员信息维护
                    if (this.psMgr.Update(objEmployee) <= 0)
                    {
                        MessageBox.Show(this.psMgr.Err);

                        if (this.psMgr.Insert(objEmployee) <= 0)
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                            MessageBox.Show("保存人员信息失败!" + this.psMgr.Err);
                            return;
                        }
                    }
                    #endregion

                    //删除用户在此处的权限
                    if (this.userMgr.Delete(this.userPowerDetail.User.ID, this.userPowerDetail.Class1Code, this.userPowerDetail.Dept.ID) == -1)
                    {
                        Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                        MessageBox.Show(this.userMgr.Err);
                        return;
                    }
                    foreach (ListViewItem lvi in this.lvPrivList.CheckedItems)
                    {
                        Neusoft.HISFC.Models.Admin.PowerLevelClass3 level3 = lvi.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass3;
                        this.userPowerDetail.Class2Code = level3.Class2Code;
                        this.userPowerDetail.PowerLevelClass.Class3Code = level3.Class3Code;
                        //插入用户权限列表
                        if (this.userMgr.InsertUserPowerDetail(this.userPowerDetail) != 1)
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                            MessageBox.Show("数据保存失败!" + this.userMgr.Err);
                            return;
                        }
                    }
                }
                catch (Exception e)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();;
                    MessageBox.Show("数据保存失败!" + e.Message, "提示");
                    return;
                }
                Neusoft.FrameWork.Management.PublicTrans.Commit();
                MessageBox.Show("数据保存成功!");
                this.FindForm().DialogResult = DialogResult.OK;
            }
        }