www.pudn.com > student_system.rar > XjDjjcDlg.cpp


// XjDjjcDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "student.h" 
#include "XjDjjcDlg.h" 
#include "studentview.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CXjDjjcDlg dialog 
 
 
CXjDjjcDlg::CXjDjjcDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CXjDjjcDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CXjDjjcDlg) 
	m_IsBj = FALSE; 
	m_IsJb = FALSE; 
	m_IsQt = FALSE; 
	m_IsXh = FALSE; 
	m_IsXm = FALSE; 
	m_IsZy = FALSE; 
	m_Bj = _T(""); 
	m_Jb = _T(""); 
	m_Qt = _T(""); 
	m_Xh = _T(""); 
	m_Xm = _T(""); 
	m_Zy = _T(""); 
	m_Qt_G = _T(""); 
	m_JC_Rq = 0; 
	m_JC_Lx = _T(""); 
	m_JC_Ly = _T(""); 
	m_JC_Mc = _T(""); 
	m_Sid = _T(""); 
	m_Sxm = _T(""); 
	//}}AFX_DATA_INIT 
	IsInit = false; 
} 
 
 
void CXjDjjcDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CXjDjjcDlg) 
	DDX_Control(pDX, IDC_COMBO_JCLX, m_JC_Lx_Con); 
	DDX_Control(pDX, IDC_LIST_JC, m_JcList); 
	DDX_Control(pDX, IDC_LIST_STU, m_StuList); 
	DDX_Control(pDX, IDC_COMBO_QT, m_Qt_G_Con); 
	DDX_Control(pDX, IDC_COMBO_ZY, m_Zy_Con); 
	DDX_Control(pDX, IDC_EDIT_BJ, m_Bj_Con); 
	DDX_Control(pDX, IDC_EDIT_JB, m_Jb_Con); 
	DDX_Control(pDX, IDC_EDIT_QT, m_Qt_Con); 
	DDX_Control(pDX, IDC_EDIT_XH, m_Xh_Con); 
	DDX_Control(pDX, IDC_EDIT_XM, m_Xm_Con); 
	DDX_Check(pDX, IDC_CHECK_BJ, m_IsBj); 
	DDX_Check(pDX, IDC_CHECK_JB, m_IsJb); 
	DDX_Check(pDX, IDC_CHECK_QT, m_IsQt); 
	DDX_Check(pDX, IDC_CHECK_XH, m_IsXh); 
	DDX_Check(pDX, IDC_CHECK_XM, m_IsXm); 
	DDX_Check(pDX, IDC_CHECK_ZY, m_IsZy); 
	DDX_Text(pDX, IDC_EDIT_BJ, m_Bj); 
	DDX_Text(pDX, IDC_EDIT_JB, m_Jb); 
	DDX_Text(pDX, IDC_EDIT_QT, m_Qt); 
	DDX_Text(pDX, IDC_EDIT_XH, m_Xh); 
	DDX_Text(pDX, IDC_EDIT_XM, m_Xm); 
	DDX_CBString(pDX, IDC_COMBO_ZY, m_Zy); 
	DDX_CBString(pDX, IDC_COMBO_QT, m_Qt_G); 
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_JCRQ, m_JC_Rq); 
	DDX_CBString(pDX, IDC_COMBO_JCLX, m_JC_Lx); 
	DDX_Text(pDX, IDC_EDIT_JCLY, m_JC_Ly); 
	DDX_Text(pDX, IDC_EDIT_JCMC, m_JC_Mc); 
	DDX_Text(pDX, IDC_EDIT_SID, m_Sid); 
	DDX_Text(pDX, IDC_EDIT_SXM, m_Sxm); 
	//}}AFX_DATA_MAP 
	if(!IsInit) 
	{ 
	CRect rect1,rect2; 
	this->GetClientRect(&rect1); 
	this->m_parent->GetClientRect(&rect2); 
	int x= (rect2.Width()-STATIC_MYWIN_LEFT-rect1.Width())/2 +STATIC_MYWIN_LEFT; 
	int y= (rect2.Height()-STATIC_MYWIN_TOP-rect1.Height())/2 +STATIC_MYWIN_TOP; 
	if(xMoveWindow(x,y,rect1.Width(),rect1.Height()); 
 
 
	m_Bj_Con.EnableWindow(false); 
	m_Jb_Con.EnableWindow(false); 
	m_Qt_G_Con.EnableWindow(false); 
	m_Qt_Con.EnableWindow(false); 
	m_Xh_Con.EnableWindow(false); 
	m_Xm_Con.EnableWindow(false); 
	m_Zy_Con.EnableWindow(false); 
	 
	m_parent->m_recSet->Open("SELECT * FROM ZyTable"); 
	CString zname; 
	while(!m_parent->m_recSet->IsEOF()) 
	{ 
		m_parent->m_recSet->GetFieldValue("Z_Name",zname); 
		m_Zy_Con.AddString(zname); 
		m_parent->m_recSet->MoveNext(); 
	} 
	m_parent->m_recSet->Close(); 
	m_Zy_Con.SetCurSel(0); 
	m_Qt_G_Con.SetCurSel(0); 
	m_JC_Lx_Con.SetCurSel(0); 
	// 
	LV_COLUMN lvc; 
	 
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/; 
	 
	lvc.iSubItem = 0; 
	lvc.pszText = (char *)"学号"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(0,&lvc); 
	 
	lvc.iSubItem = 1; 
	lvc.pszText = (char *)"姓名"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(1,&lvc); 
	 
	lvc.iSubItem = 2; 
	lvc.pszText = (char *)"性别"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(2,&lvc); 
 
	lvc.iSubItem = 3; 
	lvc.pszText = (char *)"级别"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(3,&lvc); 
 
	lvc.iSubItem = 4; 
	lvc.pszText = (char *)"班级"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(4,&lvc); 
 
	lvc.iSubItem = 5; 
	lvc.pszText = (char *)"专业"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(5,&lvc); 
 
	lvc.iSubItem = 0; 
	lvc.pszText = (char *)"奖惩ID"; 
	lvc.cx = 100; 
	m_JcList.InsertColumn(0,&lvc); 
 
	lvc.iSubItem = 1; 
	lvc.pszText = (char *)"奖惩名称"; 
	lvc.cx = 100; 
	m_JcList.InsertColumn(1,&lvc); 
 
	lvc.iSubItem = 2; 
	lvc.pszText = (char *)"奖惩类型"; 
	lvc.cx = 100; 
	m_JcList.InsertColumn(2,&lvc); 
 
	lvc.iSubItem = 3; 
	lvc.pszText = (char *)"奖惩日期"; 
	lvc.cx = 100; 
	m_JcList.InsertColumn(3,&lvc); 
 
	lvc.iSubItem = 4; 
	lvc.pszText = (char *)"奖惩理由"; 
	lvc.cx = 100; 
	m_JcList.InsertColumn(4,&lvc); 
	// 
	IsInit = true; 
	} 
} 
 
 
BEGIN_MESSAGE_MAP(CXjDjjcDlg, CDialog) 
	//{{AFX_MSG_MAP(CXjDjjcDlg) 
	ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose) 
	ON_BN_CLICKED(IDC_BU_S, OnBuS) 
	ON_BN_CLICKED(IDC_CHECK_BJ, OnCheckBj) 
	ON_BN_CLICKED(IDC_CHECK_JB, OnCheckJb) 
	ON_BN_CLICKED(IDC_CHECK_QT, OnCheckQt) 
	ON_BN_CLICKED(IDC_CHECK_XH, OnCheckXh) 
	ON_BN_CLICKED(IDC_CHECK_XM, OnCheckXm) 
	ON_BN_CLICKED(IDC_CHECK_ZY, OnCheckZy) 
	ON_NOTIFY(NM_CLICK, IDC_LIST_STU, OnClickListStu) 
	ON_NOTIFY(NM_CLICK, IDC_LIST_JC, OnClickListJc) 
	ON_BN_CLICKED(IDC_BU_DEL, OnBuDel) 
	ON_BN_CLICKED(IDC_BU_ADD, OnBuAdd) 
	ON_BN_CLICKED(IDC_BU_SAVE, OnBuSave) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CXjDjjcDlg message handlers 
 
void CXjDjjcDlg::OnBuClose()  
{ 
	// TODO: Add your control notification handler code here 
	this->m_parent->m_Dlg_XjDjjc = NULL; 
 
	LVFINDINFO info; 
	info.psz = "登记奖惩"; 
	info.flags = LVFI_STRING; 
	this->m_parent->m_listCtrlGN.DeleteItem(this->m_parent->m_listCtrlGN.FindItem(&info))	; 
 
	this->DestroyWindow(); 
} 
 
void CXjDjjcDlg::OnBuS()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(!(m_IsBj || m_IsJb || m_IsQt || m_IsXh || m_IsXm || m_IsZy)) 
	{ 
		MessageBox("请选择查询条件"); 
		return; 
	} 
	sql = "SELECT * FROM student,ZyTable WHERE student.Z_ID = ZyTable.Z_ID"; 
	if(m_IsBj) 
	{ 
		sql+=" AND S_Bj='"+m_Bj+"'"; 
	} 
	if(m_IsJb) 
	{ 
		sql+=" AND S_Jb='"+m_Jb+"'"; 
	} 
	if(m_IsQt) 
	{ 
		CString temp; 
		if(m_Qt_G.Compare("性别")==0) 
		{ 
			temp = "S_Xb"; 
		} 
		else if(m_Qt_G.Compare("学籍状态")==0) 
		{ 
			temp = "S_Zt"; 
		} 
		else if(m_Qt_G.Compare("民族")==0) 
		{ 
			temp = "S_Mz"; 
		} 
		else if(m_Qt_G.Compare("政治面貌")==0) 
		{ 
			temp = "S_Zzmm"; 
		} 
		else if(m_Qt_G.Compare("住宿情况")==0) 
		{ 
			temp = "S_Zsqk"; 
		} 
		else if(m_Qt_G.Compare("全部") == 0) 
		{ 
			temp = "'"+m_Qt+"'"; 
		} 
		else 
		{ 
			temp = m_Qt_G; 
		} 
		sql+=" AND "+temp+"='"+m_Qt+"'"; 
	} 
	if(m_IsXh) 
	{ 
		sql+=" AND S_ID='"+m_Xh+"'"; 
	} 
	if(m_IsXm) 
	{ 
		sql+=" AND S_Name='"+m_Xm+"'"; 
	} 
	if(m_IsZy) 
	{ 
		sql+=" AND Z_Name='"+m_Zy+"'"; 
	} 
	 
	m_parent->m_recSet->Open(sql.GetBuffer(200)); 
	if(!m_parent->m_recSet->IsEOF()) 
	{ 
		m_StuList.DeleteAllItems(); 
		CString temp; 
		COleDateTime dateTemp; 
		int i=0; 
		LV_ITEM lvitem; 
		lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; 
		lvitem.state = 0;       
		lvitem.stateMask = 0;  
		char temp1[50]; 
		 
		while(!m_parent->m_recSet->IsEOF()) 
		{ 
			 
			 
			lvitem.iItem = i; 
			lvitem.iSubItem = 0; 
			lvitem.pszText =itoa(i, temp1, 10);  
			m_StuList.InsertItem(&lvitem); 
			 
			m_parent->m_recSet->GetFieldValue("S_ID",temp); 
			m_StuList.SetItemText(i,0,temp); 
			m_parent->m_recSet->GetFieldValue("S_Name",temp); 
			m_StuList.SetItemText(i,1,temp); 
			m_parent->m_recSet->GetFieldValue("S_Xb",temp); 
			m_StuList.SetItemText(i,2,temp); 
			m_parent->m_recSet->GetFieldValue("S_Jb",temp); 
			m_StuList.SetItemText(i,3,temp); 
			m_parent->m_recSet->GetFieldValue("S_Bj",temp); 
			m_StuList.SetItemText(i,4,temp); 
			m_parent->m_recSet->GetFieldValue("Z_Name",temp); 
			m_StuList.SetItemText(i,5,temp); 
			 
			i++; 
			m_parent->m_recSet->MoveNext(); 
		} 
	} 
	else 
	{ 
		MessageBox("未找到此人"); 
	} 
	m_parent->m_recSet->Close(); 
} 
 
void CXjDjjcDlg::OnCheckBj()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsBj) 
	{ 
		m_Bj_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Bj_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnCheckJb()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsJb) 
	{ 
		m_Jb_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Jb_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnCheckQt()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsQt) 
	{ 
		m_Qt_Con.EnableWindow(true); 
		m_Qt_G_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Qt_Con.EnableWindow(false); 
		m_Qt_G_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnCheckXh()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsXh) 
	{ 
		m_Xh_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Xh_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnCheckXm()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsXm) 
	{ 
		m_Xm_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Xm_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnCheckZy()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsZy) 
	{ 
		m_Zy_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Zy_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnClickListStu(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_StuList.GetSelectionMark(); 
	if(index<0) 
	{ 
		return; 
	} 
	CString SID =m_StuList.GetItemText(index,0); 
	RefreshJC(SID); 
 
	this->UpdateData(true); 
	m_Sid = m_StuList.GetItemText(index,0); 
	m_Sxm = m_StuList.GetItemText(index,1); 
	this->UpdateData(false); 
	*pResult = 0; 
} 
 
void CXjDjjcDlg::OnClickListJc(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_JcList.GetSelectionMark(); 
	if(index <0) 
	{ 
		return; 
	} 
	this->UpdateData(true); 
	m_JC_Lx = m_JcList.GetItemText(index,2); 
	m_JC_Ly = m_JcList.GetItemText(index,4); 
	m_JC_Mc = m_JcList.GetItemText(index,1); 
	COleDateTime dateTemp; 
	dateTemp.ParseDateTime(m_JcList.GetItemText(index,3)); 
	CTime t(dateTemp.GetYear(),dateTemp.GetMonth(),dateTemp.GetDay()); 
	m_JC_Rq = t; 
	this->UpdateData(false); 
	*pResult = 0; 
} 
 
void CXjDjjcDlg::OnBuDel()  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_JcList.GetSelectionMark(); 
	if(index <0) 
	{ 
		MessageBox("请选择要删除的行"); 
		return; 
	} 
	this->UpdateData(true); 
	CString JCID= m_JcList.GetItemText(index,0); 
	CString sqlt; 
	sqlt.Format("DELETE FROM JcTable WHERE JC_ID=%s",JCID); 
	m_parent->m_conn->Execute(sqlt); 
	m_JcList.DeleteItem(index); 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnBuAdd()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	m_Sid.TrimLeft(); 
	m_Sid.TrimRight(); 
	if(m_Sid == "") 
	{ 
		MessageBox("请选择学生"); 
		return; 
	} 
 
	CString sqlt; 
	sqlt.Format("INSERT INTO JcTable(S_ID,JC_Date,JC_Mc,JC_Yy,JC_Lx) VALUES('%s',DATE(),'%s','%s','%s')"\ 
		,m_Sid,m_JC_Mc,m_JC_Ly,m_JC_Lx); 
	m_parent->m_conn->Execute(sqlt); 
 
	RefreshJC(m_Sid); 
	 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::OnBuSave()  
{ 
	// TODO: Add your control notification handler code here 
	int index = m_JcList.GetSelectionMark(); 
	if(index<0) 
	{ 
		MessageBox("请选择要修改行"); 
		return; 
	} 
	this->UpdateData(true); 
	m_Sid.TrimLeft(); 
	m_Sid.TrimRight(); 
	if(m_Sid == "") 
	{ 
		MessageBox("请选择学生"); 
		return; 
	} 
	 
	CString sqlt; 
	sqlt.Format("UPDATE JcTable SET JC_Lx='%s',JC_Mc='%s',JC_Yy='%s' WHERE JC_ID=%s"\ 
		,m_JC_Lx,m_JC_Mc,m_JC_Ly,m_JcList.GetItemText(index,0)); 
	m_parent->m_conn->Execute(sqlt); 
	RefreshJC(m_Sid); 
	this->UpdateData(false); 
} 
 
void CXjDjjcDlg::RefreshJC(CString SID) 
{ 
	m_JcList.DeleteAllItems(); 
	CString sqlt; 
	sqlt.Format("SELECT * FROM JcTable WHERE S_ID='%s'",SID); 
	m_parent->m_recSet->Open(sqlt.GetBuffer(100)); 
	 
	if(!m_parent->m_recSet->IsEOF()) 
	{ 
		CString temp; 
		COleDateTime dateTemp; 
		int i=0; 
		LV_ITEM lvitem; 
		lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; 
		lvitem.state = 0;       
		lvitem.stateMask = 0;  
		char temp1[50]; 
		 
		while(!m_parent->m_recSet->IsEOF()) 
		{ 
			lvitem.iItem = i; 
			lvitem.iSubItem = 0; 
			lvitem.pszText =itoa(i, temp1, 10);  
			m_JcList.InsertItem(&lvitem); 
			 
			m_parent->m_recSet->GetFieldValue("JC_ID",temp); 
			m_JcList.SetItemText(i,0,temp); 
			m_parent->m_recSet->GetFieldValue("JC_Mc",temp); 
			m_JcList.SetItemText(i,1,temp); 
			m_parent->m_recSet->GetFieldValue("JC_Lx",temp); 
			m_JcList.SetItemText(i,2,temp); 
			m_parent->m_recSet->GetFieldValue("JC_Date",dateTemp); 
			m_JcList.SetItemText(i,3,dateTemp.Format("%Y/%m/%d")); 
			m_parent->m_recSet->GetFieldValue("JC_Yy",temp); 
			m_JcList.SetItemText(i,4,temp); 
			 
			 
			i++; 
			m_parent->m_recSet->MoveNext(); 
		} 
	} 
	m_parent->m_recSet->Close(); 
}