您的位置:首页 > 其它

承志医院管理系统项目解析 门诊医生工作站—辅助检查项目(六)

2015-06-02 14:59 155 查看

1.33辅助检查

在需要做辅助检查的时候,选择病人,然后选择相关信息的辅助检查项目,如图(1)、(2)所示::



图(1)



图(2)

从界面上可以看到我们这里用到的控件有

控件名称
说明
日期控件(DateTimePicker)

控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。

下拉框(ComboBox)

文本(TextBox)

按钮(Button)

表格(DataGridView)

保存辅助检查功能实现:

第一步:数据库

1、表与关系



表1:辅助检查表(SS_HelpCheckList)

列名
数据类型
说明
HelpCheckID
int - Identity
辅助检查ID
MenZhenRegisterID
int
门诊登记ID
CheckProject
char (50)
检查项目
OpenBillsDate
datetime
开单日期
OpenDoctorID
int
开单医生ID
SendCheckOfficeID
int
送检科室ID
ExecuteOfficeID
int
执行科室ID
Office
char (30)
科室
UltrasoundNumber
char (30)
超声号
DiseaseArea
int
病区
BedNumber
nchar (30)
床号
InHospitalNumber
nchar (30)
住院号
BingLiSummary
nchar (100)
病历摘要
ClinicalDiagnosis
nchar (100)
临床诊断
CheckPurpose
nchar (100)
检查目的
CheckBeiZhu
nchar (100)
检查备注
chargeNo
bit
收费否
Money
decimal (18, 2)
金额
2:“添加”按钮显示窗体,绑定相关的数据,如图(3)、(4)



图(3)



图(4)

#region  单击添加按钮绑定数据,窗体出现
int Switch;//声明一个变量
private void btnInsert_fu_Click(object sender, EventArgs e)
{
Switch=0;//为0则保存
if (txtName.Text == "")//如果没有选择病人则提示你选择病人
{
MessageBox.Show("还没有选择病人呢?");
return;
}
panel9.Visible = true;//如果选到了病人就显示增加辅助检查项目窗体
txtCheckProject.Text = "";//初始化为空
txtUltrasoundNumber.Text = "";//初始化为空
txtBedNumber.Text = "";//初始化为空
txtInHospitalNumber.Text = "";//初始化为空
txtBingLiSummary.Text = "";//初始化为空
txtClinicalDiagnosis.Text = "";//初始化为空
txtCheckPurpose.Text = "";//初始化为空
txtCheckBeiZhu.Text = "";//初始化为空

//绑定下拉框
cboDiseaseArea.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboBingQu().Tables[0];
cboDiseaseArea.DisplayMember = "IllnessAreaName";
cboDiseaseArea.ValueMember = "IllnessAreaID";

//绑定下拉框
cboExecuteOfficeID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboKeShi().Tables[0];
cboExecuteOfficeID.DisplayMember = "OfficeName";
cboExecuteOfficeID.ValueMember = "OfficeID";

//绑定下拉框
cboSendCheckOfficeID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboKeShi().Tables[0];
cboSendCheckOfficeID.DisplayMember = "OfficeName";
cboSendCheckOfficeID.ValueMember = "OfficeID";

//绑定下拉框
cboOpenDoctorID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboYiShi().Tables[0];
cboOpenDoctorID.DisplayMember = "DoctorName";
cboOpenDoctorID.ValueMember = "DoctorID";

}
#endregion




3:获取住院号(单击图(1)中的放大镜)

第一步:数据库

1、表与关系



用到的字段就是查询有没有住院号

2:查询住院号

第一步:数据库的存储过程

if(@Type='Frm_MenZhenYiShengGongZuoZhan_ChaMenZhu')
begin
SELECT     ZY_InHospitalRegisterList.MenZhenNumber, ZY_InHospitalRegisterList.InHospitalNumber, ZY_InHospitalRegisterList.RegisterInhospitalID
FROM         ZY_InHospitalRegisterList INNER JOIN
MZ_MenZhenRegisterList ON ZY_InHospitalRegisterList.MenZhenRegisterID = MZ_MenZhenRegisterList.MenZhenRegisterID
end


第二步:逻辑层(BLL)代码

[OperationContract]
public DataSet Frm_MenZhenYiShengGongZuoZhan_ChaMenZhu()
{
SqlParameter[] mySqlParameters = {
new SqlParameter ("@Type",SqlDbType .Char),

};
mySqlParameters[0].Value = "Frm_MenZhenYiShengGongZuoZhan_ChaMenZhu";

DataTable dt = myDALMethod.QueryDataTable("门诊登记_Frm_MenZhenYiShengGongZuoZhan", mySqlParameters);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}


第三步:界面层(UIL)代码,查询有没有住院号“该病人还没有登记住院呢?暂时没有住院号”,如图(5)



图(5)

#region 如果该病人住过院获取住院号,没有就提示
private void btnCheck_Click(object sender, EventArgs e)
{
try
{

DataTable DT = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_ChaMenZhu().Tables[0];//获取住院病人登记信息
string strMenZhenNumber = DT.Rows[0]["MenZhenNumber"].ToString().Trim();//获取住院病人门诊号
string strMenZhenNumber2 = lblIDNumber.Text;

if (strMenZhenNumber2 == strMenZhenNumber || strMenZhenNumber != "")  //如果有就显示
{
dgvChuXunZhuYuanHao.Visible = true;
dgvChuXunZhuYuanHao.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_ChaXunMenZhenBingRenZhuYuanHao(PublicStatic.intMenZhenGuaHaoID).Tables[0];

}
if (dgvChuXunZhuYuanHao.Rows.Count==0) //根据病人信息判断有没有数据,如果没有提示该病人还没有住院
{
dgvChuXunZhuYuanHao.Visible = false;
MessageBox.Show("该病人还没有登记住院呢?暂时没有住院号");
txtInHospitalNumber.Text = "";
return;
}
}
catch { }
}
#endregion




3:保存辅助检查项目,如果Switch=0,则是保存功能,否则是修改功能,同一个保存按钮,如图(6)



图(6)

第一步:数据库的存储过程

if(@Type='Frm_MenZhenYiShengGongZuoZhan_InsertHelpCheck')
begin
insert     SS_HelpCheckList(MenZhenRegisterID, CheckProject, OpenBillsDate, OpenDoctorID,
SendCheckOfficeID, ExecuteOfficeID, Office, UltrasoundNumber,
DiseaseArea, BedNumber, InHospitalNumber, BingLiSummary,
ClinicalDiagnosis, CheckPurpose, CheckBeiZhu,chargeNo,Money)
values   (@MenZhenRegisterID, @CheckProject, @OpenBillsDate, @OpenDoctorID,
@SendCheckOfficeID, @ExecuteOfficeID, @Office, @UltrasoundNumber,
@DiseaseArea, @BedNumber, @InHospitalNumber, @BingLiSummary,
@ClinicalDiagnosis, @CheckPurpose, @CheckBeiZhu,0,@Money)
end


第二步:逻辑层(BLL)代码

[OperationContract]
public int Frm_MenZhenYiShengGongZuoZhan_InsertHelpCheck(int intMenZhenRegisterID, string strCheckProject, DateTime dtmOpenBillsDate,
int intOpenDoctorID, int intSendCheckOfficeID, int intExecuteOfficeID, string strOffice, string strUltrasoundNumber,
int intDiseaseArea, string strBedNumber, string strInHospitalNumber, string strBingLiSummary, string strClinicalDiagnosis,
string strCheckPurpose, string strCheckBeiZhu, decimal decMoney)
{

SqlParameter[] mySqlParameters = {
new SqlParameter ("@Type",SqlDbType .Char),
new SqlParameter ("@MenZhenRegisterID",SqlDbType.Int),
new SqlParameter ("@CheckProject",SqlDbType.Char),
new SqlParameter ("@OpenBillsDate",SqlDbType.DateTime),
new SqlParameter ("@OpenDoctorID",SqlDbType.Int),
new SqlParameter ("@SendCheckOfficeID",SqlDbType.Int),
new SqlParameter ("@ExecuteOfficeID",SqlDbType.Int),
new SqlParameter ("@Office",SqlDbType.Char),
new SqlParameter ("@UltrasoundNumber",SqlDbType.Char),
new SqlParameter ("@DiseaseArea",SqlDbType.Int),
new SqlParameter ("@BedNumber",SqlDbType.Char),
new SqlParameter ("@InHospitalNumber",SqlDbType.Char),
new SqlParameter ("@BingLiSummary",SqlDbType.Char),
new SqlParameter ("@ClinicalDiagnosis",SqlDbType.Char),
new SqlParameter ("@CheckPurpose",SqlDbType.Char),
new SqlParameter ("@CheckBeiZhu",SqlDbType.Char),
new SqlParameter ("@Money",SqlDbType.Decimal),
};

mySqlParameters[0].Value = "Frm_MenZhenYiShengGongZuoZhan_InsertHelpCheck";
mySqlParameters[1].Value = intMenZhenRegisterID;
mySqlParameters[2].Value = strCheckProject;
mySqlParameters[3].Value = dtmOpenBillsDate;
mySqlParameters[4].Value = intOpenDoctorID;
mySqlParameters[5].Value = intSendCheckOfficeID;
mySqlParameters[6].Value = intExecuteOfficeID;
mySqlParameters[7].Value = strOffice;
mySqlParameters[8].Value = strUltrasoundNumber;
mySqlParameters[9].Value = intDiseaseArea;
mySqlParameters[10].Value = strBedNumber;
mySqlParameters[11].Value = strInHospitalNumber;
mySqlParameters[12].Value = strBingLiSummary;
mySqlParameters[13].Value = strClinicalDiagnosis;
mySqlParameters[14].Value = strCheckPurpose;
mySqlParameters[15].Value = strCheckBeiZhu;
mySqlParameters[16].Value = decMoney;
int i = myDALMethod.UpdateData("门诊登记_Frm_MenZhenYiShengGongZuoZhan", mySqlParameters);
return i;
}


第三步:界面层(UIL)代码,保存辅助检查

if (panel9.Visible == false)//如果窗体不显示,则提示没有数据可以保存
{
MessageBox.Show("没有数据可以保存!");
return;
}
if (Switch == 0)//如果开关为零则保存
{
if (txtCheckProject.Text == "")//没有填写的文本框则提示你填写
{
MessageBox.Show("还没有添加检查项目呢?");
txtCheckProject.Focus();

return;
}
if (txtBingLiSummary.Text == "")
{
MessageBox.Show("还没有添加病历摘要呢?");
txtBingLiSummary.Focus();
return;
}

int intMenZhenRegisterID = PublicStatic.intMenZhenGuaHaoID;//获取病人ID
string strCheckProject = txtCheckProject.Text;//赋值给检查项目
DateTime dtmOpenBillsDate = dtpOpenBillsDate.Value;//赋值给申请日期
int intOpenDoctorID = Convert.ToInt32(cboOpenDoctorID.SelectedValue); //赋值给参数
int intSendCheckOfficeID = Convert.ToInt32(cboSendCheckOfficeID.SelectedValue); //赋值给参数
int intExecuteOfficeID = Convert.ToInt32(cboExecuteOfficeID.SelectedValue); //赋值给参数
string strOffice = lblOffice.Text; //赋值给参数
string strUltrasoundNumber = txtUltrasoundNumber.Text; //赋值给参数
int intDiseaseArea = Convert.ToInt32(cboDiseaseArea.SelectedValue); //赋值给参数
string strBedNumber = txtBedNumber.Text; //赋值给参数
string strInHospitalNumber = txtInHospitalNumber.Text; //赋值给参数
string strBingLiSummary = txtBingLiSummary.Text; //赋值给参数
string strClinicalDiagnosis = txtClinicalDiagnosis.Text; //赋值给参数
string strCheckPurpose = txtCheckPurpose.Text; //赋值给参数
string strCheckBeiZhu = txtCheckBeiZhu.Text; //赋值给参数
decimal decMoney = Convert.ToDecimal(txtMoney.Text); //赋值给参数

if (Convert.ToBoolean(MessageBox.Show("确认要为病人”" + lblName.Text + "“添加“" + strCheckProject + "”这条辅助检查项目?",
"提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes))
//如果执行Yes,则执行下面代码
{
int i = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_InsertHelpCheck(intMenZhenRegisterID, strCheckProject,
dtmOpenBillsDate, intOpenDoctorID, intSendCheckOfficeID, intExecuteOfficeID, strOffice, strUltrasoundNumber,
intDiseaseArea, strBedNumber, strInHospitalNumber, strBingLiSummary, strClinicalDiagnosis,
strCheckPurpose, strCheckBeiZhu, decMoney);
if (i > 0)
{
MessageBox.Show("添加成功!!");//保存成功刷新
Frm_MenZhenYiShengGongZuoZhan_Load(null, null);
panel9.Visible = false;//隐藏窗体
}
}
}




4:如果新增的数据需要修改,则选择相关的信息绑定数据

#region 修改检查项目,绑定数据
private void btnUpdate_Click(object sender, EventArgs e)
{
try
{
if (dgvNotPayMoneyHelpCheck.Rows.Count==0)//如果未收费检查项目窗体没有数据,则提示
{
MessageBox.Show("没有数据可修改");
return;
}
Switch = 1;//如果开关为1,则修改
panel9.Visible = true;//显示窗体

//绑定下拉框
cboDiseaseArea.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboBingQu().Tables[0];
cboDiseaseArea.DisplayMember = "IllnessAreaName";
cboDiseaseArea.ValueMember = "IllnessAreaID";

//绑定下拉框
cboExecuteOfficeID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboKeShi().Tables[0];
cboExecuteOfficeID.DisplayMember = "OfficeName";
cboExecuteOfficeID.ValueMember = "OfficeID";

//绑定下拉框
cboSendCheckOfficeID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboKeShi().Tables[0];
cboSendCheckOfficeID.DisplayMember = "OfficeName";
cboSendCheckOfficeID.ValueMember = "OfficeID";

//绑定下拉框
cboOpenDoctorID.DataSource = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_cboYiShi().Tables[0];
cboOpenDoctorID.DisplayMember = "DoctorName";
cboOpenDoctorID.ValueMember = "DoctorID";

//绑定数据,用于修改
txtCheckProject.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["CheckProject"].Value.ToString().Trim();
dtpOpenBillsDate.Value = Convert.ToDateTime(dgvNotPayMoneyHelpCheck.CurrentRow.Cells["OpenBillsDate"].Value);
cboOpenDoctorID.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["DoctorName"].Value.ToString().Trim();
cboSendCheckOfficeID.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["SendCheckjOffice"].Value.ToString().Trim();
cboExecuteOfficeID.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["ExecuteOffice"].Value.ToString().Trim();
lblOffice.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["Office"].Value.ToString().Trim();
txtUltrasoundNumber.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["UltrasoundNumber"].Value.ToString().Trim();
cboDiseaseArea.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["DiseaseArea"].Value.ToString().Trim();
txtBedNumber.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["BedNumber"].Value.ToString().Trim();
txtInHospitalNumber.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["InHospitalNumber2"].Value.ToString().Trim();
txtBingLiSummary.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["BingLiSummary"].Value.ToString().Trim();
txtClinicalDiagnosis.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["ClinicalDiagnosis"].Value.ToString().Trim();
txtCheckPurpose.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["CheckPurpose"].Value.ToString().Trim();
txtCheckBeiZhu.Text = dgvNotPayMoneyHelpCheck.CurrentRow.Cells["CheckBeiZhu"].Value.ToString().Trim();

}
catch { }
}
#endregion




5:修改辅助检查项目

第一步:数据库的存储过程

if(@Type='Frm_MenZhenYiShengGongZuoZhan_UpdateHelpCheck')
begin
update         SS_HelpCheckList
set   MenZhenRegisterID=@MenZhenRegisterID,  CheckProject=@CheckProject, OpenBillsDate=@OpenBillsDate,
OpenDoctorID=@OpenDoctorID, SendCheckOfficeID=@SendCheckOfficeID,
ExecuteOfficeID=@ExecuteOfficeID, Office=@Office, UltrasoundNumber=@UltrasoundNumber
, DiseaseArea=@DiseaseArea, BedNumber=@BedNumber, InHospitalNumber=@InHospitalNumber
, BingLiSummary=@BingLiSummary, ClinicalDiagnosis=@ClinicalDiagnosis,
CheckPurpose=@CheckPurpose, CheckBeiZhu=@CheckBeiZhu,Money=@Money
where SS_HelpCheckList.HelpCheckID=@HelpCheckID
end


第二步:逻辑层(BLL)代码

[OperationContract]
public int Frm_MenZhenYiShengGongZuoZhan_UpdateHelpCheck(int intMenZhenRegisterID, string strCheckProject, DateTime dtmOpenBillsDate,
int intOpenDoctorID, int intSendCheckOfficeID, int intExecuteOfficeID, string strOffice, string strUltrasoundNumber,
int intDiseaseArea, string strBedNumber, string strInHospitalNumber, string strBingLiSummary, string strClinicalDiagnosis,
string strCheckPurpose, string strCheckBeiZhu,decimal decMoney, int intHelpCheckID)
{

SqlParameter[] mySqlParameters = {
new SqlParameter ("@Type",SqlDbType .Char),
new SqlParameter ("@MenZhenRegisterID",SqlDbType.Int),
new SqlParameter ("@CheckProject",SqlDbType.Char),
new SqlParameter ("@OpenBillsDate",SqlDbType.DateTime),
new SqlParameter ("@OpenDoctorID",SqlDbType.Int),
new SqlParameter ("@SendCheckOfficeID",SqlDbType.Int),
new SqlParameter ("@ExecuteOfficeID",SqlDbType.Int),
new SqlParameter ("@Office",SqlDbType.Char),
new SqlParameter ("@UltrasoundNumber",SqlDbType.Char),
new SqlParameter ("@DiseaseArea",SqlDbType.Int),
new SqlParameter ("@BedNumber",SqlDbType.Char),
new SqlParameter ("@InHospitalNumber",SqlDbType.Char),
new SqlParameter ("@BingLiSummary",SqlDbType.Char),
new SqlParameter ("@ClinicalDiagnosis",SqlDbType.Char),
new SqlParameter ("@CheckPurpose",SqlDbType.Char),
new SqlParameter ("@CheckBeiZhu",SqlDbType.Char),
new SqlParameter ("@Money",SqlDbType.Decimal),
new SqlParameter ("@HelpCheckID",SqlDbType.Int),
};

mySqlParameters[0].Value = "Frm_MenZhenYiShengGongZuoZhan_UpdateHelpCheck";
mySqlParameters[1].Value = intMenZhenRegisterID;
mySqlParameters[2].Value = strCheckProject;
mySqlParameters[3].Value = dtmOpenBillsDate;
mySqlParameters[4].Value = intOpenDoctorID;
mySqlParameters[5].Value = intSendCheckOfficeID;
mySqlParameters[6].Value = intExecuteOfficeID;
mySqlParameters[7].Value = strOffice;
mySqlParameters[8].Value = strUltrasoundNumber;
mySqlParameters[9].Value = intDiseaseArea;
mySqlParameters[10].Value = strBedNumber;
mySqlParameters[11].Value = strInHospitalNumber;
mySqlParameters[12].Value = strBingLiSummary;
mySqlParameters[13].Value = strClinicalDiagnosis;
mySqlParameters[14].Value = strCheckPurpose;
mySqlParameters[15].Value = strCheckBeiZhu;
mySqlParameters[16].Value = decMoney;
mySqlParameters[17].Value = intHelpCheckID;
int i = myDALMethod.UpdateData("门诊登记_Frm_MenZhenYiShengGongZuoZhan", mySqlParameters);
return i;

}


第三步:界面层(UIL)代码,修改辅助检查项目,如图(7)



图(7)
<pre class="csharp" name="code"><pre class="csharp" name="code">                     if (Switch == 1)//如果开关为1则修改
{
if (txtMoney.Text == "")
{
MessageBox.Show("请填写价格!");
return;
}
//赋值给参数
int intMenZhenRegisterID = PublicStatic.intMenZhenGuaHaoID;
string strCheckProject = txtCheckProject.Text; //赋值给参数
DateTime dtmOpenBillsDate = dtpOpenBillsDate.Value; //赋值给参数
int intOpenDoctorID = Convert.ToInt32(cboOpenDoctorID.SelectedValue); //赋值给参数
int intSendCheckOfficeID = Convert.ToInt32(cboSendCheckOfficeID.SelectedValue); //赋值给参数
int intExecuteOfficeID = Convert.ToInt32(cboExecuteOfficeID.SelectedValue); //赋值给参数
string strOffice = lblOffice.Text; //赋值给参数
string strUltrasoundNumber = txtUltrasoundNumber.Text; //赋值给参数
int intDiseaseArea = Convert.ToInt32(cboDiseaseArea.SelectedValue); //赋值给参数
string strBedNumber = txtBedNumber.Text; //赋值给参数
string strInHospitalNumber = txtInHospitalNumber.Text; //赋值给参数
string strBingLiSummary = txtBingLiSummary.Text; //赋值给参数
string strClinicalDiagnosis = txtClinicalDiagnosis.Text; //赋值给参数
string strCheckPurpose = txtCheckPurpose.Text; //赋值给参数
string strCheckBeiZhu = txtCheckBeiZhu.Text; //赋值给参数
decimal decMoney = Convert.ToDecimal(txtMoney.Text); //赋值给参数
if (Convert.ToBoolean(MessageBox.Show("确认修改?", "提示!",
MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes))

{
int i = myFrm_MenZhenYiShengGongZuoZhanClient.Frm_MenZhenYiShengGongZuoZhan_UpdateHelpCheck(intMenZhenRegisterID, strCheckProject,
dtmOpenBillsDate, intOpenDoctorID, intSendCheckOfficeID, intExecuteOfficeID, strOffice, strUltrasoundNumber,
intDiseaseArea, strBedNumber, strInHospitalNumber, strBingLiSummary, strClinicalDiagnosis,
strCheckPurpose, strCheckBeiZhu, decMoney, PublicStatic.intHelpCheckID);
if (i > 0)
{
MessageBox.Show("修改成功!!!");
Frm_MenZhenYiShengGongZuoZhan_Load(null, null);//刷新
}

}
}



仅供参考,禁止用于商业用途
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: