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

📄 fypzdwh_ypflwh.cs

📁 基于C/S的医疗卫生管理系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using Qeb.Control;
using Qeb.DBProxy;
using Qeb.Support;
using Qeb.Support.Common;

namespace Qeb.YK
{
    public partial class FYpZdWh_YpFlWh : Qeb.Control.FBase
    {
        //分类ID 0表示新增
        private string m_YpFlId = "";
        //上级分类ID
        private string m_SjFlId = "";
        //标准编码
        private string m_BzBm = "";

        public FYpZdWh_YpFlWh()
        {
            InitializeComponent();

            dwYpFl.LibraryList = PBL.YkPbl;
            dwYpFl.DataWindowObject = YkDataObjects.D_Yk_YpFlWh;
        }

        private void RetrieveYpFl()
        {
            DbProxyClient proxy = App.DbProxy;
            try
            {                
                proxy.Clear();
                proxy.AddRetrieveParam("p_ypflid", m_YpFlId);
                proxy.Retrieve(dwYpFl);
            }
            catch(Exception ex)
            {
                MessageBox.Show("检索药品分类发生异常:"+ex.Message,MsgTitle.Error);
                this.btnSave.Enabled = false;
            }


            //检查分类下是否已有药品
            try
            {
                string sql = "SELECT COUNT(YPID) FROM GY_YPMCK WHERE YPFLID='" + m_YpFlId + "' AND ZFBZ=0";
                proxy.Clear();
                string ret = proxy.ExecuteScalar(sql);
                if (int.Parse(ret)>0)
                {
                    dwYpFl.SetProperty("yplx.protect", "1");
                    dwYpFl.SetProperty("mjbz.protect", "1");
                    return;
                }
                

                sql = "SELECT COUNT(YPFLID) FROM GY_YPFL WHERE SJFLID='" + m_YpFlId + "' AND ZFBZ=0";
                proxy.Clear();
                ret = proxy.ExecuteScalar(sql);
                if (int.Parse(ret) > 0)
                {
                    dwYpFl.SetProperty("yplx.protect", "1");
                    dwYpFl.SetProperty("mjbz.protect", "1");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("检查药品分类下是否已有药品时发生异常:" + ex.Message, MsgTitle.Error);
                dwYpFl.SetProperty("yplx.protect", "1");
                dwYpFl.SetProperty("mjbz.protect", "1");
                this.btnSave.Enabled = false;
            }
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="ypFlid">分类ID</param>
        /// <param name="sjFlId">上级分类ID</param>
        internal void SetId(string ypFlid,string sjFlId,string bzBm)
        {
            m_YpFlId = ypFlid;
            m_SjFlId = sjFlId;
            m_BzBm = bzBm;

            if (ypFlid == null || ypFlid.Trim() == "")
            {
                throw new Exception("传参错误,药品分类ID不能为空");
            }

            if (m_YpFlId == "0")
            {
                this.Text = "药品分类维护 新增";
            }
            else
            {
                if (m_SjFlId == null || m_SjFlId.Trim() == "")
                    throw new Exception("传参错误,上级分类ID不能为空");

                this.Text = "药品分类维护 修改";
            }
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        private string m_ReturnYpFlId = "";
        internal string YpFlId
        {
            get { return m_ReturnYpFlId; }
        }

        private bool CheckYpFlXx()
        {
            if (!dwYpFl.AcceptText())
                return false;
            //药品分类名称
            if (dwYpFl.IsItemNull(1, "ypflmc") || dwYpFl.GetItemString(1, "ypflmc") == "")
            {
                MessageBox.Show("药品分类名称不能为空,请输入!", MsgTitle.Prompt);
                dwYpFl.Focus();
                dwYpFl.SetColumn("ypflmc");
                return false;
            }
            //药品类型
            if (dwYpFl.IsItemNull(1, "yplx") || dwYpFl.GetItemString(1, "yplx") == "")
            {
                MessageBox.Show("药品类型没有选择,请选择!", MsgTitle.Prompt);
                dwYpFl.Focus();
                dwYpFl.SetColumn("yplx");
                return false;
            }

            return true;
        }
        private void btnSave_Click(object sender, EventArgs e)
        {            
            if (!CheckYpFlXx())
                return;

            DbProxyClient proxy = App.DbProxy;
            if (m_YpFlId == "0")
            {
                //设置主键
                try
                {
                    string ypFlId = Sequence.GetXhByName("SEQ_GY_YPFL_YPFLID",4);
                    if (string.IsNullOrEmpty(ypFlId))
                    {
                        MessageBox.Show("取药品分类ID不成功,取到的值为空!",MsgTitle.Error);
                        return;
                    }
                    dwYpFl.SetItemString(1,"ypflid",ypFlId);
                    m_ReturnYpFlId = ypFlId;
                }
                catch(Exception ex)
                {
                    MessageBox.Show("取药品分类ID发生异常:"+ex.Message, MsgTitle.Error);
                    return;
                }
            }

            //保存
            try
            {
                proxy.Clear();
                proxy.AddDataWindow(dwYpFl);
                proxy.Update();
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show("保存药品分类发生异常:" + ex.Message, MsgTitle.Error);
            }
        }

        private void FYpZdWh_YpFlWh_Load(object sender, EventArgs e)
        {
            if (m_YpFlId == "0")
            {
                int row = dwYpFl.InsertRow(0);
                //上级分类ID
                dwYpFl.SetItemString(row, "sjflid", m_SjFlId);
                //标准编码
                dwYpFl.SetItemString(row, "bzbm", m_BzBm);
                //作废标志
                dwYpFl.SetItemDecimal(row, "zfbz", 0);
                //末级标志
                dwYpFl.SetItemDecimal(row, "mjbz", 0);
                //排序序号
                string temp = "";
                if (m_BzBm.Length >1)
                {
                    temp = m_BzBm.Substring(m_BzBm.Length-2,2);
                }
                if (NumberHelper.IsNumeric(temp))
                    dwYpFl.SetItemDecimal(row, "pxxh", int.Parse(temp));
                else
                    dwYpFl.SetItemDecimal(row, "pxxh", 0);
            }
            else
            {
               
                this.RetrieveYpFl();
            }

            //设置药品类型下拉框的项目
            string itemValue = YkGy.KfLx2DwDropDownItem(App.kfLx);
            dwYpFl.SetProperty("yplx.Values",itemValue);
        }

        private void dwYpFl_ItemFocusChanged(object sender, Sybase.DataWindow.ItemFocusChangedEventArgs e)
        {
            if (e.ColumnName == "ypflmc")
            {
                dwYpFl.SetIME(true);
            }
            else
            {
                dwYpFl.SetIME(false);
            }
                
        }

        private void dwYpFl_ItemError(object sender, Sybase.DataWindow.ItemErrorEventArgs e)
        {
            e.Action = Sybase.DataWindow.ItemErrorAction.RejectWithNoMessage;
        }        
    }
}

⌨️ 快捷键说明

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