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

📄 ucdictylzwh.cs

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

using Sybase.DataWindow;

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

namespace Qeb.GY
{
    public partial class UCDictYlzWh : Qeb.GY.UCDictBase
    {
        public UCDictYlzWh()
        {
            InitializeComponent();
        }

        private void UCDictYlzWh_Load(object sender, EventArgs e)
        {
            this.LookUpPromptText = "请输入医疗组ID或医疗组名称";
            //初始化数据窗口
            this.dwYlzXx.LibraryList = PBL.GyPbl;
            this.dwYlzXx.DataWindowObject = GyDataObjects.D_Gy_YlzXxWh;
            this.dwYlzXx.InitUI();
            try
            {
                dwYlzXx.SetProperty("DataWindow.ReadOnly", "Yes");
            }
            catch (Exception ex)
            {
                MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
            }
            try
            {
                DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.Retrieve(dwBq);
                dwYlzXx.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
            }
            this.RetrieveData();

        }

        #region 根据医疗组ID、名称查找记录
        public override void FindInDw(string value)
        {
            if (value == null)
                value = "";

            int findRow = dwYlzXx.FindRow("YlzId='" + value + "' or YlzMc='" + value + "'", 1, dwYlzXx.RowCount);
            if (findRow > 0)
            {
                dwYlzXx.ScrollToRow(findRow);
                dwYlzXx.SetRow(findRow);
            }

        }
        #endregion

        private void RetrieveData()
        {
            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.Retrieve(this.dwYlzXx);
            }
            catch (Exception ex)
            {
                MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
            }
            finally
            {
                this.m_IsModified = false;
                btnSave.Enabled = false;
            }
            try
            {
                DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.Retrieve(dwBq);
            }
            catch (Exception ex)
            {
                MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
            }
            dwYlzXx.Refresh();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            int rowIndex = dwYlzXx.InsertRow(0);
            dwYlzXx.SetRow(rowIndex);
            dwYlzXx.ScrollToRow(rowIndex);
            dwYlzXx.Focus();
            dwYlzXx.SetColumn("ylzid");
            try
            {
                DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.Retrieve(dwBq);
                dwYlzXx.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
            }
        }

        private void btnStop_Click(object sender, EventArgs e)
        {
            if ( dwYlzXx.CurrentRow > 0)
            {
                DbProxyClient proxy = App.DbProxy;
                //停用的记录如果是新增的,直接删除
                RowStatus status = dwYlzXx.GetRowStatus(dwYlzXx.CurrentRow, DataBuffer.Primary);
                if (status == RowStatus.New || status == RowStatus.NewAndModified)
                {
                    dwYlzXx.DeleteRow(dwYlzXx.CurrentRow);
                    return;
                }

                //医疗组ID
                string YlzId = "";
                if (!dwYlzXx.IsItemNull(dwYlzXx.CurrentRow, "ylzid"))
                {
                    YlzId = dwYlzXx.GetItemString(dwYlzXx.CurrentRow, "ylzid");
                }

                //医疗组名称
                string YlzMc = "";
                if (!dwYlzXx.IsItemNull(dwYlzXx.CurrentRow, "ylzmc"))
                {
                    YlzMc = dwYlzXx.GetItemString(dwYlzXx.CurrentRow, "ylzmc");
                }

                //检查是否有职工属于该医疗组
                string sql = "SELECT COUNT(*) FROM GY_YLZCY WHERE YLZID='" + YlzId + "'";
                proxy.Clear();
                string ret = proxy.ExecuteScalar(sql);
                if (!string.IsNullOrEmpty(ret) && int.Parse(ret) > 0)
                {
                    DialogResult result = MessageBox.Show(this, "该医疗组有职工,不能删除只能停用,您确定要停用吗?", MsgTitle.Prompt, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (result == DialogResult.OK)
                    {
                        dwYlzXx.SetItemDecimal(dwYlzXx.CurrentRow, "Zfbz", 1);
                        this.m_IsModified = true;
                        this.btnSave.Enabled = true;
                    }
                }
                else
                {
                    dwYlzXx.DeleteRow(dwYlzXx.CurrentRow);
                    this.m_IsModified = true;
                    this.btnSave.Enabled = true;
                }
            }
            else
            {
                MessageBox.Show("请选择需要删除的医疗组再单击删除按钮!", MsgTitle.Prompt);
            }
        }

        private void btnModify_Click(object sender, EventArgs e)
        {
            try
            {
                dwYlzXx.SetProperty("DataWindow.ReadOnly", "No");
            }
            catch (Exception ex)
            {
                MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
                return;
            }

            this.btnAdd.Enabled = true;
            this.btnStop.Enabled = true;
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (!dwYlzXx.AcceptText())
                return;
            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.AddDataWindow(this.dwYlzXx);
                proxy.Update();
                MessageBox.Show("信息保存成功!");
                this.m_IsModified = false;
                btnSave.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("保存医疗组信息发生异常:" + ex.Message, MsgTitle.Error);
            }
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            if (this.m_IsModified)
            {
                DialogResult result = MessageBox.Show(this, "数据已修改,是否需要保存?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    return;
                }
            }

            this.RetrieveData();
        }

        private void btnPrint_Click(object sender, EventArgs e)
        {

        }

        private void btnExport_Click(object sender, EventArgs e)
        {

        }

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

        private void dwYlzXx_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
        {
            switch (e.ColumnName)
            {
                case "ylzid":
                    if (e.Data == null || e.Data == "")
                    {
                        MessageBox.Show("医疗组ID不允许为空,请输入!");
                        e.Action = ItemChangedAction.Reject;
                    }
                    break;
                case "ylzmc":
                    if (e.Data == null || e.Data == "")
                    {
                        MessageBox.Show("医疗组名称不允许为空,请输入!");
                        e.Action = ItemChangedAction.Reject;
                    }
                    break;
                case "ylzfl":
                    if (e.Data == null || e.Data == "")
                    {
                        MessageBox.Show("医疗组所属分类不允许为空,请输入!");
                        e.Action = ItemChangedAction.Reject;
                    }
                    break;
                case "ksmc":
                    if (e.Data == null || e.Data.Trim() == "")
                    {
                        dwYlzXx.SetItemNull(e.RowNumber, "ylzid");
                        return;
                    }

                    FSelect fSelect2 = null;
                    try
                    {
                        fSelect2 = new FSelect();
                        fSelect2.SetTitle("科室信息");
                        string sql = "SELECT * FROM GY_KSXX WHERE ZFBZ=0 AND YQID='1' AND (KSID LIKE '" + e.Data + "%' OR " + App.mrSrm + " LIKE '" + e.Data + "%')";
                        fSelect2.SetDataSource(sql, true);
                        fSelect2.AddShowColumn("KSID", "科室ID", 200);
                        fSelect2.AddShowColumn("KSMC", "科室名称", 400);
                        fSelect2.AddMultiReturnColumn("KSID,KSMC");

                        DialogResult dResult = fSelect2.ShowDialog(this);
                        if (dResult == DialogResult.OK)
                        {
                            string[] retValue = fSelect2.ReturnValue;

                            //科室ID
                            dwYlzXx.SetItemString(e.RowNumber, "ssksid", retValue[0]);
                            dwYlzXx.SetItemString(e.RowNumber, "ksmc", retValue[1]);
                            e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                        }
                        else
                        {
                            e.Action = ItemChangedAction.Reject;
                            dwYlzXx.SetItemNull(e.RowNumber, "ssksid");
                            dwYlzXx.SetItemNull(e.RowNumber, "ksmc");
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("取科室信息发生异常:" + ex.Message, MsgTitle.Error);
                        e.Action = ItemChangedAction.Reject;
                        dwYlzXx.SetItemNull(e.RowNumber, "ssksid");
                        dwYlzXx.SetItemNull(e.RowNumber, "ksmc");
                    }
                    finally
                    {
                        if (fSelect2 != null)
                            fSelect2.Dispose();
                    }

                    break;
            }
            this.m_IsModified = true;
            this.btnSave.Enabled = true;
        }

        private void dwYlzXx_EditChanged(object sender, Sybase.DataWindow.EditChangedEventArgs e)
        {
            if (!this.m_IsModified)
            {
                this.m_IsModified = true;
                this.btnSave.Enabled = true;
            }
        }

        private void dwYlzXx_Click(object sender, EventArgs e)
        {

        }

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

        private void dwYlzXx_ItemFocusChanged(object sender, ItemFocusChangedEventArgs e)
        {
            if (!dwYlzXx.CurrentEdit.Empty)
                dwYlzXx.CurrentEdit.SelectText(0, 60);
        }
    }
}

⌨️ 快捷键说明

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