// WorkEntryDlg.cpp : implementation file // #include "stdafx.h" #include "hrm.h" #include "WorkEntryDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CWorkEntryDlg dialog CWorkEntryDlg::CWorkEntryDlg(CWnd* pParent /*=NULL*/) : CDialog(CWorkEntryDlg::IDD, pParent) { //{{AFX_DATA_INIT(CWorkEntryDlg) m_1depart = _T(""); m_2depart = _T(""); m_addr = _T(""); m_eman = _T(""); m_ephone = _T(""); m_gradute = _T(""); m_id = _T(""); m_mail = _T(""); m_major = _T(""); m_name = _T(""); m_natual = _T("汉族"); m_phone = _T(""); m_position = _T(""); m_female = 0; m_marriage = 0; m_household = _T(""); //}}AFX_DATA_INIT m_cid = GetWorkerID(); m_btime = m_etime = m_gtime = CTime::GetCurrentTime(); } void CWorkEntryDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CWorkEntryDlg) DDX_Control(pDX, IDC_XL, m_xl); DDX_Text(pDX, IDC_WCID, m_cid); DDX_Text(pDX, IDC_1DEPARTMENT, m_1depart); DDX_Text(pDX, IDC_2DEPARTMENT, m_2depart); DDX_Text(pDX, IDC_ADDRES, m_addr); DDX_Text(pDX, IDC_EMAN, m_eman); DDX_Text(pDX, IDC_EPHONE, m_ephone); DDX_Text(pDX, IDC_GRADUTE, m_gradute); DDX_Text(pDX, IDC_ID, m_id); DDX_Text(pDX, IDC_MAIL, m_mail); DDX_Text(pDX, IDC_MAJOR, m_major); DDX_Text(pDX, IDC_NAME, m_name); DDX_Text(pDX, IDC_NATUAL, m_natual); DDX_Text(pDX, IDC_PHONE, m_phone); DDX_Text(pDX, IDC_POSITION, m_position); DDX_DateTimeCtrl(pDX, IDC_BTIME, m_btime); DDX_DateTimeCtrl(pDX, IDC_EDATE, m_etime); DDX_DateTimeCtrl(pDX, IDC_GDATE, m_gtime); DDX_Radio(pDX, IDC_FEMALE, m_female); DDX_Radio(pDX, IDC_MARRIAGE, m_marriage); DDX_Text(pDX, IDC_household, m_household); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CWorkEntryDlg, CDialog) //{{AFX_MSG_MAP(CWorkEntryDlg) ON_BN_CLICKED(ID_ADD, OnAdd) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CWorkEntryDlg message handlers CString CWorkEntryDlg::GetWorkerID() { CTime time = CTime::GetCurrentTime(); CString sql,temp,ID; sql.Format("select * from hrworker where wEntrantTime = '%s'",time.Format("%Y-%m-%d")); m_dataBase.OpenEx("DSN=HRM",0); m_workerSet.m_pDatabase = &m_dataBase; m_workerSet.Open(AFX_DB_USE_DEFAULT_TYPE,sql); if(!m_workerSet.IsBOF()) m_workerSet.MoveFirst(); if(!m_workerSet.IsEOF()) { ID = temp = "0"; while(!m_workerSet.IsEOF()) { ID = m_workerSet.m_wCID; m_workerSet.MoveNext(); if(ID.Compare(temp) > 0) { temp = ID; } } temp.TrimLeft(); temp.TrimRight(); ID.Format("%s%04d",time.Format("%y%m%d"),atoi(temp.Right(4))+1); } else { ID.Format("%s0001",time.Format("%y%m%d")); } m_workerSet.Close(); m_dataBase.Close(); return ID; } BOOL CWorkEntryDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here GetDlgItem(IDC_WCID)->EnableWindow(false); m_xl.DeleteTempMap(); m_xl.InsertString(0,"高中以下学历"); m_xl.InsertString(1,"高中"); m_xl.InsertString(2,"专科"); m_xl.InsertString(3,"本科"); m_xl.InsertString(4,"本科 + 学士学位"); m_xl.InsertString(5,"研究生"); m_xl.InsertString(6,"博士"); m_xl.SetCurSel(2); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CWorkEntryDlg::OnAdd() { // TODO: Add your control notification handler code here UpdateData(true); CString sex,marriage,degree,btime,gtime,etime; if(m_female == 0) { sex = "男"; } else { sex = "女"; } if(m_marriage == 0) { marriage = "未婚"; } else { marriage = "已婚"; } switch(m_xl.GetCurSel()) { case 0: degree="高中以下"; break; case 1: degree="高中"; break; case 2: degree="专科"; break; case 3: degree="本科"; break; case 4: degree="本科+学士学位"; break; case 5: degree="研究生"; break; case 6: degree="博士"; break; } btime = m_btime.Format("%Y-%m-%d"); gtime = m_gtime.Format("%Y-%m-%d"); etime = m_etime.Format("%Y-%m-%d"); CString index[21] ={"wCID","wName","w1Department","w2Department","wSex","wPosition",\ "wMail","wID", "wBorn", "wNational", "wHouseholdAdd", "wBMarriaged", "wGraduate",\ "wMajor", "wDegree", "wGraduateTime", "wEntrantTime","wPhone", "wEmergencyMan", \ "wEmergencyCall", "wAddress"}; CString temp1 = ""; for(int i = 0; i< 20; i++) { temp1 += index[i] + ","; } temp1 += index[20]; m_dataBase.OpenEx("DSN=HRM",0); CString sql; sql.Format("insert into hrworker(%s) Values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',\ '%s','%s','%s','%s','%s','%s')",temp1, m_cid,m_name,m_1depart,m_2depart,sex,m_position,m_mail,m_id,btime,m_natual,m_household,marriage, m_gradute,m_major,degree,gtime,etime,m_phone,m_eman,m_ephone,m_addr); m_dataBase.ExecuteSQL(sql); m_dataBase.Close(); m_cid = GetWorkerID(); UpdateData(false); }