📄 mainfrm.cpp
字号:
bool TfrmMain::SwitchLang(int nLang)
{
if (0 == nLang)
{}
else if (1 == nLang)
{}
else
{}
MessageBox(Handle, "中文英文切换功能,暂时没有做!", "语言切换", MB_OK | MB_ICONINFORMATION);
//if change the language succuss, then return true;;;haha
return true;
}
bool TfrmMain::DeleteEmployee(int nEmployeeId)
{
if (dmMain->qryClientInfo->RecordCount < 1)
{
return false;
}
AnsiString strConfirm;
strConfirm.sprintf("真的需要删除%s的资料吗?", \
dmMain->qryClientInfo->FieldByName("Name")->AsString);
if (IDNO == Msg(Handle, strConfirm.c_str(), "询问", MB_YESNO | MB_ICONQUESTION))
{
return false;
}
dmMain->DeleteEmployee(nEmployeeId);
return true;
}
void __fastcall TfrmMain::btnAllBillClick(TObject *Sender)
{
dmMain->OpenClientInfo("");
m_bSearch = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAddEmployeeClick(TObject *Sender)
{
AddEmployeeInf();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miDeleEmployeeClick(TObject *Sender)
{
DeleteEmployee(dmMain->qryClientInfo->FieldByName("Id")->Value);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miModiEmployeeClick(TObject *Sender)
{
ModiEmployeeInf();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAddMedicalClick(TObject *Sender)
{
if (dmMain->qryClientInfo->RecordCount < 1)
return;
TfrmMedical * pDlg = new TfrmMedical(this);
pDlg->Caption = "添加";
int nEmployeeId = dmMain->qryClientInfo->FieldByName("Id")->Value;
TADOQuery * qryEx = dmMain->qrySQLPlus;
if (pDlg->ShowModal() != mrOk)
{
delete pDlg;
return;
}
AnsiString strDrug = pDlg->chkDrug->Checked ? "1" : "0"; //1
AnsiString strInjection = pDlg->chkInjection->Checked ? "1" : "0"; //2
AnsiString strPregnancy = pDlg->chkPregnancy->Checked ? "1" : "0"; //3
AnsiString strEkg = pDlg->chkEkg->Checked ? "1" : "0"; //4
AnsiString strSplint = pDlg->chkSplint->Checked ? "1" : "0"; //5
AnsiString strWound = pDlg->chkWound->Checked ? "1" : "0"; //6
AnsiString strOxygen = pDlg->chkOxygen->Checked ? "1" : "0"; //7
AnsiString strVaccination = pDlg->chkVaccination->Checked ? "1" : "0"; //8
AnsiString strSickLeave = pDlg->chkSickLeave->Checked ? "1" : "0"; //9
AnsiString strReferral = pDlg->chkReferral->Checked ? "1" : "0"; //10
//Write the Main Talbe
qryEx->Close();
qryEx->SQL->Clear();
AnsiString strFmt = "insert into Medical (MedicalDate,Complaint,CheckUp,"
"CheckResult,IsDrug,IsInjection,IsOxygen,IsPregnancy,IsEkg,"
"IsSplint,IsVaccination,IsWound,IsReferral,IsSickLeave,"
"Remark,HealthEdu,OptId,EmployeeId) values ('%s','%s',"
"'%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,'%s','%s',%s,%d)";
AnsiString strExec;
strExec.sprintf(strFmt.c_str(),
DateToStr(pDlg->dtpMedicalDate->Date),
pDlg->mmoComplaint->Text.c_str(),
pDlg->mmoCheckUp->Text.c_str(),
pDlg->mmoCheckResult->Text.c_str(),
strDrug,
strInjection,
strOxygen,
strPregnancy,
strEkg,
strSplint,
strVaccination,
strWound,
strReferral,
strSickLeave,
pDlg->mmoRemark->Text.c_str(),
pDlg->mmoHealthEdu->Text.c_str(),
gLogonInf.m_strOptId.c_str(),
nEmployeeId);
qryEx->SQL->Add(strExec);
//ShowMessage(qryEx->SQL->Text);
qryEx->ExecSQL();
//get just insert record no
qryEx->Close();
qryEx->SQL->Clear();
qryEx->SQL->Add("Select @@IDENTITY as MaxId");
qryEx->Open();
AnsiString strMedicalId = qryEx->FieldByName("MaxId")->AsString;
qryEx->Close();
qryEx->SQL->Clear();
if (pDlg->chkDrug->Checked)
{
for (int i = 0; i < pDlg->lvDrug->Items->Count; ++i)
{
AnsiString strFmt = "insert into Drug "
"(MedicalId,[Mode],[Name],[Unit],"
"[Price],[Number],OptId) values"
" (%s,'%s','%s','%s',%s,%s,%s)";
AnsiString strExec;
strExec.sprintf(strFmt.c_str(),
strMedicalId,
pDlg->lvDrug->Items->Item[i]->Caption,
pDlg->lvDrug->Items->Item[i]->SubItems->Strings[0],
pDlg->lvDrug->Items->Item[i]->SubItems->Strings[2],
pDlg->lvDrug->Items->Item[i]->SubItems->Strings[3],
pDlg->lvDrug->Items->Item[i]->SubItems->Strings[1],
gLogonInf.m_strOptId.c_str());
qryEx->SQL->Clear();
#ifdef _DEBUG
ShowMessage(strExec);
#endif
qryEx->SQL->Add(strExec);
qryEx->ExecSQL();
}
}
if (pDlg->chkInjection->Checked)
{
for (int i = 0; i < pDlg->lvInjection->Items->Count; ++i)
{
AnsiString strFmt = "insert into Injection "
"(MedicalId,Mode,[Name],[Unit],"
"[Price],[Number],OptId) values"
" (%s,'%s','%s','%s',%s,%s,%s)";
AnsiString strExec;
strExec.sprintf(strFmt.c_str(),
strMedicalId,
pDlg->lvInjection->Items->Item[i]->Caption,
pDlg->lvInjection->Items->Item[i]->SubItems->Strings[0],
pDlg->lvInjection->Items->Item[i]->SubItems->Strings[2],
pDlg->lvInjection->Items->Item[i]->SubItems->Strings[3],
pDlg->lvInjection->Items->Item[i]->SubItems->Strings[1],
gLogonInf.m_strOptId.c_str());
qryEx->SQL->Clear();
#ifdef _DEBUG
ShowMessage(strExec);
#endif
qryEx->SQL->Add(strExec);
qryEx->ExecSQL();
}
}
if (pDlg->chkOxygen->Checked)
{
AnsiString strFmt = "insert into Oxygen (MedicalId,StartDate,"
"StartTime,EndDate,EndTime,StreamSize,OptId) "
" values (%s,'%s','%s','%s','%s','%s',%s)";
AnsiString strExec;
strExec.sprintf(strFmt.c_str(),
strMedicalId,
DateToStr(pDlg->dtpOxygenStartDate->Date),
TimeToStr(pDlg->dtpOxygenStartTime->Date),
DateToStr(pDlg->dtpOxygenEndDate->Date),
TimeToStr(pDlg->dtpOxygenEndTime->Date),
pDlg->edtStreamSize->Text.c_str(),
gLogonInf.m_strOptId.c_str());
qryEx->SQL->Clear();
#ifdef _DEBUG
ShowMessage(strExec);
#endif
qryEx->SQL->Add(strExec);
qryEx->ExecSQL();
}
if (pDlg->chkVaccination->Checked)
{
AnsiString strFmt = "insert into Vaccination "
"(MedicalId,[Name],[Unit],"
"[Price],[Number],OptId) values"
" (%s,'%s','%s',%s,%s,%s)";
AnsiString strExec;
if (pDlg->edtVaccinationNum->Text == "")
{
pDlg->edtVaccinationNum->Text = "0";
}
if (pDlg->edtVaccinationPrice->Text == "")
{
pDlg->edtVaccinationPrice->Text = "0";
}
strExec.sprintf(strFmt.c_str(),
strMedicalId,
pDlg->cboVaccinationDrug->Text.c_str(),
pDlg->cboVaccinationUnit->Text.c_str(),
pDlg->edtVaccinationPrice->Text.c_str(),
pDlg->edtVaccinationNum->Text.c_str(),
gLogonInf.m_strOptId.c_str());
qryEx->SQL->Clear();
#ifdef _DEBUG
ShowMessage(strExec);
#endif
qryEx->SQL->Add(strExec);
qryEx->ExecSQL();
}
if (pDlg->chkSickLeave->Checked)
{
AnsiString strFmt = "insert into SickLeave "
"(MedicalId,DayNum,OptId) values"
" (%s,%s,%s)";
AnsiString strExec;
if (pDlg->edtSickLeaveNum->Text == "")
{
pDlg->edtSickLeaveNum->Text = "0";
}
strExec.sprintf(strFmt.c_str(),
strMedicalId,
pDlg->edtSickLeaveNum->Text.c_str(),
gLogonInf.m_strOptId.c_str());
qryEx->SQL->Clear();
#ifdef _DEBUG
ShowMessage(strExec);
#endif
qryEx->SQL->Add(strExec);
qryEx->ExecSQL();
}
//ShowMessage(qryEx->SQL->Text);
//if (qryEx->SQL->Text != "")
//{
///qryEx->ExecSQL();
//}
delete pDlg;
dmMain->qryMedical->Close();
dmMain->qryMedical->Open();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAddExamClick(TObject *Sender)
{
TfrmExam * pDlg = new TfrmExam(this);
pDlg->Caption = "新建";
pDlg->dtpExamDate->Date = Now();
pDlg->dtpExamTime->Time = Now();
TADOQuery * qryEx = dmMain->qrySQLPlus;
int nEmployeeId = dmMain->qryClientInfo->FieldByName("Id")->Value;
if (pDlg->ShowModal() == mrOk)
{
qryEx->Close();
qryEx->SQL->Clear();
qryEx->Prepared = true;
qryEx->SQL->Add("insert into Exam "
"(EmployeeId,ExamKind,ExamDate,ExamTime,ExamResult,ExamOpinon,ExamRemark, OptId)"
" values ("
+ IntToStr(nEmployeeId) + ","
+ IntToStr(pDlg->rdoExamKind->ItemIndex) + ",'"
+ DateToStr(pDlg->dtpExamDate->Date) + "','"
+ TimeToStr(pDlg->dtpExamTime->Time) + "',"
+ IntToStr(pDlg->rdoExamResult->ItemIndex) + ",'"
+ pDlg->mmoOpinon->Text + "','"
+ pDlg->mmoRemark->Text + "',"
+ gLogonInf.m_strOptId + ")");
qryEx->ExecSQL();
qryEx->Prepared = false;
dmMain->qryExam->Close();
dmMain->qryExam->Open();
}
delete pDlg;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miDeleExamClick(TObject *Sender)
{
if (dmMain->qryExam->RecordCount < 1)
{
return;
}
AnsiString strConfirm;
strConfirm.sprintf("真的删除%s的体检记录吗?", dmMain->qryClientInfo->FieldByName("Name")->AsString);
if (IDNO == Msg(Handle, strConfirm.c_str(), "询问", MB_YESNO | MB_ICONQUESTION))
{
return;
}
AnsiString strDelId = dmMain->qryExam->FieldByName("Id")->AsString;
dmMain->qrySQLPlus->Close();
dmMain->qrySQLPlus->SQL->Clear();
dmMain->qrySQLPlus->SQL->Add("delete from Exam where id=" + strDelId);
dmMain->qrySQLPlus->ExecSQL();
dmMain->qryExam->Close();
dmMain->qryExam->Open();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miModiExamClick(TObject *Sender)
{
if (dmMain->qryExam->RecordCount < 1)
{
return;
}
TfrmExam * pDlg = new TfrmExam(this);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -