⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fypzdwh.cs

📁 基于C/S的医疗卫生管理系统
💻 CS
📖 第 1 页 / 共 5 页
字号:

        //删除药品名称
        private void MenuDelYpMc_Click(object sender, EventArgs e)
        {
            DelYpMc();
        }

        private void MenuAddYpBm_Click(object sender, EventArgs e)
        {
            AddYpBm();
        }

        private void MenuModifyYpBm_Click(object sender, EventArgs e)
        {
            ModifyYpBm();
        }

        private void MenuDelYpBm_Click(object sender, EventArgs e)
        {
            DelYpBm();
        }

        private void MenuAddYpGg_Click(object sender, EventArgs e)
        {
            AddYpGg();
        }

        private void MenuModifyYpGg_Click(object sender, EventArgs e)
        {
            ModifyYpGg();
        }

        private void MenuDelYpGg_Click(object sender, EventArgs e)
        {
            DelYpGg();
        }

        private void MenuAddYpJg_Click(object sender, EventArgs e)
        {
            AddYpJg();
        }

        private void MenuModifyYpJg_Click(object sender, EventArgs e)
        {
            ModifyYpJg();
        }

        private void MenuDelYpJg_Click(object sender, EventArgs e)
        {
            DelYpJg();
        }

        #endregion

        #region 删除药品分类
        private void DelYpFl()
        {
            TreeNode node = tvYpFl.SelectedNode;
            if (node == null)
                return;

            try
            {
                if (node.Nodes.Count > 0)
                {
                    MessageBox.Show("该分类下还有分类,请先删除子分类!", MsgTitle.Warning);
                    return;
                }

                DialogResult dResult = MessageBox.Show("您确定要删除分类【" + node.Text+ "】吗?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dResult == DialogResult.No)
                    return;

                string ypFlId = node.Tag.ToString();

                //检查分类是否可删
                OracleCommand cmd = new OracleCommand();
                cmd.CommandText = "PKG_GY_YPZD.Prc_TestDeleteYpFl";
                cmd.CommandType = CommandType.StoredProcedure;

                OracleParameter p_YpFlId = new OracleParameter();
                p_YpFlId.ParameterName = ":p_ypflid";
                p_YpFlId.Value = ypFlId;
                p_YpFlId.DbType = DbType.String;
                p_YpFlId.Direction = ParameterDirection.Input;

                OracleParameter p_AppCode = new OracleParameter();
                p_AppCode.ParameterName = ":p_appcode";
                p_AppCode.DbType = DbType.Int32;
                p_AppCode.Direction = ParameterDirection.Output;

                OracleParameter p_OutBuffer = new OracleParameter();
                p_OutBuffer.ParameterName = ":p_outbuffer";
                p_OutBuffer.DbType = DbType.String;
                p_OutBuffer.Size = 600;
                p_OutBuffer.Direction = ParameterDirection.Output;

                cmd.Parameters.Add(p_YpFlId);
                cmd.Parameters.Add(p_AppCode);
                cmd.Parameters.Add(p_OutBuffer);

                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.AddDbCommand(cmd);
                proxy.Update();
                                
                if (p_AppCode.Value == null || p_AppCode.Value.ToString() != "1")
                {
                    //不可删除
                    MessageBox.Show(p_OutBuffer.Value.ToString());
                    return;
                }

                //删除分类
                cmd.Parameters.Clear();
                cmd.CommandText = "PKG_GY_YPZD.Prc_DeleteYpFl";
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(p_YpFlId);

                proxy.Clear();
                proxy.AddDbCommand(cmd);
                proxy.Update();


                if (node.Parent != null)
                    node.Parent.Nodes.Remove(node);
                else
                    tvYpFl.Nodes.Remove(node);

                int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
                if (row > 0)
                    m_DsYpFl.DeleteRow(row);

            }
            catch (Exception ex)
            {
                MessageBox.Show("删除分类发生异常:" + ex.Message, MsgTitle.Error);
            }

        }
        #endregion

        #region 取上级分类ID
        private string GetSjFlId(TreeNode node)
        {
            if (node.Level == 0 || node.Level == 1)
                return "0";
            else
                return node.Parent.Tag.ToString();
        }
        #endregion

        #region 修改药品分类
        private void ModifyYpFl()
        {
            TreeNode node = tvYpFl.SelectedNode;
            if (node == null || node.Level == 0)
            {
                return;
            }

            string ypFlId = node.Tag.ToString();
            string sjFlId = GetSjFlId(node);

            FYpZdWh_YpFlWh fFlWh = new FYpZdWh_YpFlWh();
            try
            {
                string bzBm = ""; //修改时不需要传入标准编码
                fFlWh.SetId(ypFlId, sjFlId, bzBm);
                DialogResult dResult = fFlWh.ShowDialog(this);
                if (dResult == DialogResult.OK)
                {
                    #region 更新树 DS
                    try
                    {
                        if (m_DsTemp_YpFl == null)
                        {
                            m_DsTemp_YpFl = new QDataStore();
                            m_DsTemp_YpFl.LibraryList = m_DsYpFl.LibraryList;
                            m_DsTemp_YpFl.DataWindowObject = m_DsYpFl.DataWindowObject;
                        }
                        DbProxyClient proxy = App.DbProxy;
                        proxy.Clear();
                        proxy.AddRetrieveParam("p_kflx", App.kfLx);
                        proxy.AddRetrieveParam("p_ypflid", ypFlId);
                        proxy.Retrieve(m_DsTemp_YpFl);

                        string flMc = "";
                        if (!m_DsTemp_YpFl.IsItemNull(1, "ypflmc"))
                            flMc = m_DsTemp_YpFl.GetItemString(1, "ypflmc");

                        //更新节点名称
                        node.Text = flMc;

                        //移除原来的记录
                        int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
                        if (row > 0)
                            m_DsYpFl.DeleteRow(row);

                        //将最新的记录移到DS
                        m_DsTemp_YpFl.RowsMove(1, 1, Sybase.DataWindow.DataBuffer.Primary, m_DsYpFl, 1, Sybase.DataWindow.DataBuffer.Primary);

                    }
                    catch (Exception ex)
                    {
                        this.btnAddYpFl.Enabled = false;
                        MessageBox.Show("增加药品分类成功,刷新界面发生异常,请退出重试!\r\n" + ex.Message);
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("调用药品分类维护窗口发生异常:" + ex.Message, MsgTitle.Error);
            }
            finally
            {
                fFlWh.Dispose();
                tvYpFl.Focus();
            }


        }
        #endregion

        #region 药品分类树事件
        private void tvYpFl_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                TreeNode node = tvYpFl.GetNodeAt(e.Location);
                if (node == null || node.Level == 0)
                {
                    return;
                }
                else
                {
                    this.tvYpFl.SelectedNode = node;

                    if (node.Nodes.Count > 0)
                        MenuDelYpFl.Enabled = false;
                    else
                        MenuDelYpFl.Enabled = true;

                    MenuYpFl.Show(tvYpFl, e.Location);
                }
            }
        }

        private void tvYpFl_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            if (e.Node.Level == 0 || e.Node.Tag == null)
            {
                dwYpMc.Reset();
            }
            else
            {
                string ypFlId = e.Node.Tag.ToString();
                int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
                if (row > 0)
                {
                    if (m_DsYpFl.IsItemNull(row, "mjbz") || m_DsYpFl.GetItemDecimal(row, "mjbz") != 1)
                    {
                        dwYpMc.Reset();
                        return;
                    }
                    else
                    {
                        this.RetrieveYpMc(ypFlId);
                    }
                }
                else
                {
                    MessageBox.Show("没有找到该分类的信息!", MsgTitle.Error);
                }
            }
        }
        #endregion

        #region 药品价格DataWindow事件
        private void dwYpJg_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                QContextMenuStrip contextMenu = new QContextMenuStrip();
                contextMenu.Items.Add(MenuAddYpJg);
                contextMenu.Items.Add(MenuModifyYpJg);
                contextMenu.Items.Add(MenuDelYpJg);

                ObjectAtPointer obj = dwYpJg.ObjectUnderMouse;
                if (obj.RowNumber > 0)
                {
                    dwYpJg.SetRow(obj.RowNumber);

                    MenuModifyYpJg.Enabled = true;
                    MenuDelYpJg.Enabled = true;
                }
                else
                {
                    MenuModifyYpJg.Enabled = false;
                    MenuDelYpJg.Enabled = false;
                    
                }
                if (dwYpGg.RowCount == 0)
                    MenuAddYpJg.Enabled = false;
                else
                    MenuAddYpJg.Enabled = true;


                contextMenu.Show(dwYpJg, e.Location);
            }
        }
        #endregion

        private void qButton1_Click(object sender, EventArgs e)
        {
            OracleCommand command = new OracleCommand();
            command.CommandText = "PKG_YK.AddYpGg";
            command.CommandType = CommandType.StoredProcedure;

            OracleParameter p_YpGgId = new OracleParameter();
            p_YpGgId.ParameterName = ":p_ypggid";
            p_YpGgId.DbType = DbType.String;
            p_YpGgId.Value = "aa";
            command.Parameters.Add(p_YpGgId);

            OracleParameter p_AppCode = new OracleParameter();
            p_AppCode.ParameterName = ":p_AppCode";
            p_AppCode.DbType = DbType.Int32;
            p_AppCode.Direction = ParameterDirection.Output;
            command.Parameters.Add(p_AppCode);


            OracleParameter p_OutBuffer = new OracleParameter();
            p_OutBuffer.ParameterName = ":p_OutBuffer";
            p_OutBuffer.Size = 2000;
            p_OutBuffer.DbType = DbType.String;
            p_OutBuffer.Direction = ParameterDirection.Output;
            command.Parameters.Add(p_OutBuffer);

            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.AddDbCommand(command, new VerifyInfo(VerifyModeEnum.OutputPara, ":p_AppCode", LogicSymbolEnum.Equal, 1));
                proxy.Update();
                MessageBox.Show(p_AppCode.Value.ToString() + " " + p_OutBuffer.Value.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, MsgTitle.Error);
                return;
            }
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -