实现窗体挂号管理功能代码(四)
4、查询历史记录代码
查询历史记录界面截图:
3.1.1(图24)
一、查询历史记录界面的多条件查询和根据不同挂号状态生成不同颜色功能代码
(1)、数据库存储过程
<strong>--查询挂号历史</strong>
IF(@Type='FRM_GuaHaoGuanLi_Select_Load_ChaXunGuaHaoLiShi')
BEGIN
SELECTLTRIM(RTRIM(PW_RegisterTable.RegisterID))ASRegisterID,
LTRIM(RTRIM(PW_RegisterTable.RegisterNumber))ASRegisterNumber,
LTRIM(RTRIM(BT_PatientTable.PatientCardNumber))ASPatientCardNumber,
LTRIM(RTRIM(BT_PatientTable.PatientName))ASPatientName,PW_RegisterTable.RegisterTime,
LTRIM(RTRIM(PW_RegisterTable.Doctor_StaffID))ASDoctor_StaffID,
LTRIM(RTRIM(BT_StaffTable.StaffName))ASStaffName,
LTRIM(RTRIM(PW_RegisterTable.TechnicalOfficesID))ASTechnicalOfficesID,
LTRIM(RTRIM(BT_TechnicalOfficesTable.TechnicalOfficesName))ASTechnicalOfficesName,
LTRIM(RTRIM(PW_RegisterTable.RegisterSum))ASRegisterSum,
LTRIM(RTRIM(PW_RegisterTable.AS_RegisterStatusID))ASAS_RegisterStatusID,
LTRIM(RTRIM(BT_AttributeDetailsTable.AttributeDetailsName))ASRegisterStatus,
LTRIM(RTRIM(BT_PatientTable.AS_SexID))ASAS_SexID,
LTRIM(RTRIM(BT_AttributeDetailsTable_1.AttributeDetailsName))ASSex,
LTRIM(RTRIM(BT_PatientTable.AS_MaritalStatusID))ASAS_MaritalStatusID,
LTRIM(RTRIM(BT_AttributeDetailsTable_2.AttributeDetailsName))ASMaritalStatus,
LTRIM(RTRIM(BT_PatientTable.Profession))ASProfession,
LTRIM(RTRIM(BT_PatientTable.Age))ASAge,
LTRIM(RTRIM(BT_PatientTable.AS_InsuredTypeID))ASAS_InsuredTypeID,
LTRIM(RTRIM(BT_AttributeDetailsTable_3.AttributeDetailsName))ASInsuredType,
LTRIM(RTRIM(BT_PatientTable.MemberTypeID))ASMemberTypeID,
LTRIM(RTRIM(BT_MemberCategoryTable.MemberCategoryName))ASMemberCategoryName,
LTRIM(RTRIM(BT_PatientTable.ContactTelephone))ASContactTelephone,
LTRIM(RTRIM(BT_PatientTable.ContactAddress))ASContactAddress,
LTRIM(RTRIM(BT_PatientTable.PersonalTaboo))ASPersonalTaboo,
LTRIM(RTRIM(BT_PatientTable.DrugAllergyHistory))ASDrugAllergyHistory,
LTRIM(RTRIM(PW_RegisterTable.RegisterRemarks))ASRegisterRemarks,
LTRIM(RTRIM(BT_PatientTable.PatientID))ASPatientID,
LTRIM(RTRIM(BT_StaffTable_1.StaffName))ASRegisterOperator,
LTRIM(RTRIM(BT_ClassesTable.ClassesName))ASClassesName,
LTRIM(RTRIM(BT_PatientTable.MedicareCardNumber))ASMedicareCardNumber,
LTRIM(RTRIM(BT_PatientTable.PatientCategoryID))ASPatientCategoryID,
LTRIM(RTRIM(BT_PatientTable.Birthday))ASBirthday,
LTRIM(RTRIM(PW_RegisterTable.AS_SettleAccountsWayID))ASAS_SettleAccountsWayID,
LTRIM(RTRIM(BT_RegisterCategoryTable.RegisterCategoryName))ASRegisterCategoryName,
PW_RegisterTable.RegisterOperator_StaffID,
PW_RegisterTable.ClassesID,
PW_RegisterTable.RegisterCategoryID
FROMPW_RegisterTableINNERJOIN
BT_PatientTableONPW_RegisterTable.PatientID=BT_PatientTable.PatientIDINNERJOIN
BT_StaffTableONPW_RegisterTable.Doctor_StaffID=BT_StaffTable.StaffIDINNERJOIN
BT_TechnicalOfficesTableONPW_RegisterTable.TechnicalOfficesID=BT_TechnicalOfficesTable.TechnicalOfficesIDINNERJOIN
BT_AttributeDetailsTableONPW_RegisterTable.AS_RegisterStatusID=BT_AttributeDetailsTable.AttributeDetailsIDINNERJOIN
BT_AttributeDetailsTableASBT_AttributeDetailsTable_1ONBT_PatientTable.AS_SexID=
BT_AttributeDetailsTable_1.AttributeDetailsIDINNERJOIN
BT_AttributeDetailsTableASBT_AttributeDetailsTable_2ONBT_PatientTable.AS_MaritalStatusID=
BT_AttributeDetailsTable_2.AttributeDetailsIDINNERJOIN
BT_AttributeDetailsTableASBT_AttributeDetailsTable_3ONBT_PatientTable.AS_InsuredTypeID=
BT_AttributeDetailsTable_3.AttributeDetailsIDINNERJOIN
BT_MemberCategoryTableONBT_PatientTable.MemberTypeID=BT_MemberCategoryTable.MemberCategoryIDINNERJOIN
BT_StaffTableASBT_StaffTable_1ONPW_RegisterTable.RegisterOperator_StaffID=BT_StaffTable_1.StaffIDINNERJOIN
BT_ClassesTableONPW_RegisterTable.ClassesID=BT_ClassesTable.ClassesIDINNERJOIN
BT_RegisterCategoryTableONPW_RegisterTable.RegisterCategoryID=BT_RegisterCategoryTable.RegisterCategoryID
END
(2)、逻辑层代码:
[OperationContract]
#region 查询挂号历史
publicDataSet FRM_GuaHaoGuanLi_Select_Load_ChaXunGuaHaoLiShi()
{
SqlParameter[] SQLCMDpas ={
newSqlParameter ("@Type",SqlDbType.Char),
};
SQLCMDpas[0].Value = "FRM_GuaHaoGuanLi_Select_Load_ChaXunGuaHaoLiShi";
DataTable myDataTable = myDALMethod.QueryDataTable("GuaHaoShouFei_FRM_GuaHaoGuanLi_Select", SQLCMDpas);
DataSet myDataSet = newDataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
(3)、界面层代码:
#region 多条件查询
privatevoid btnDemand_Click(object sender, EventArgs e)
{
string strSelect = "";//声明一个字符串变量,作为查询的过滤条件。
if (chkRegisterNumber.Checked) //当挂号编号的复选框被打上勾。
{
strSelect = "RegisterNumber like'%" + txtRegisterNumber.Text + "%'";//挂号编号被当作查询的过滤条件。
}
if (chkPatientName.Checked) //当病人名称的复选框被打上勾。
{
if (strSelect !="") //当过滤条件不为空。
{
strSelect = strSelect + "and PatientName like '%" + txtPatientName.Text + "%'"; //过滤条件会增加一个病人名称,变成多条件查询。
}
else//当过滤条件为空。
{
strSelect = " PatientName like '%" + txtPatientName.Text + "%'";//过滤条件只是病人名称。 }
}
if (chkHandleStaff.Checked) //当操作人员的复选框被打上勾。
{
if (strSelect != "")
{
strSelect = strSelect + "and RegisterOperator_StaffID =" + cboHandleStaff.SelectedValue; //过滤条件会增加操作人员,变成多条件查询。
}
else
{
strSelect = "RegisterOperator_StaffID =" + cboHandleStaff.SelectedValue;
}
}
if (chkContactTelephone.Checked) //当联系电话的复选框被打上勾。
{
if (strSelect != "")
{
strSelect = strSelect + "and ContactTelephone like '%" + txtContactTelephone.Text + "%'";//过滤条件会增加联系电话,变成多条件查询。
}
else
{
strSelect = "ContactTelephone like '%" + txtContactTelephone.Text + "%'";
}
}
if (chkOffice.Checked ) //当科室名称的复选框被打上勾。
{
if(strSelect !="")
{
strSelect = strSelect + "and TechnicalOfficesID =" + cboOffice . SelectedValue; //过滤条件会增加科室名称,变成多条件查询。
}
else
{
strSelect = "TechnicalOfficesID = " + cboOffice.SelectedValue;
}
}
if (chkStatus.Checked ) //当挂号状态的复选框被打上勾。
{
if (strSelect != "")
{
strSelect = strSelect + "and AS_RegisterStatusID=" + cboStatus.SelectedValue; //过滤条件会增加挂号状态,变成多条件查询。
}
else
{