// SalarySet3.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "SalarySet3.h" #include "MyMdi.H" #include "InputWork.h" #include "InputWork2.h" #include "InputWork3.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // SalarySet3 IDC_EDITmoney2 IMPLEMENT_DYNCREATE(SalarySet3, MyFormView) SalarySet3::SalarySet3() : MyFormView(SalarySet3::IDD) { //{{AFX_DATA_INIT(SalarySet3) m_year = atoi(g_date.Mid(0, 4)); m_month = atoi(g_date.Mid(5, 2)); m_day = atoi(g_date.Mid(8, 2)); m_bInit = 0; m_radio1 = 2; //}}AFX_DATA_INIT } SalarySet3::~SalarySet3() { } void SalarySet3::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(SalarySet3) DDX_Control(pDX, IDC_LIST7, m_List4); DDX_Control(pDX, IDC_LIST4, m_List3); DDX_Control(pDX, IDC_LIST3, m_List2); DDX_Control(pDX, IDC_SPIN3, m_spinday); DDX_Control(pDX, IDC_SPIN2, m_spinmonth); DDX_Control(pDX, IDC_SPIN1, m_spinyear); DDX_Control(pDX, IDC_LIST2, m_List1); DDX_Control(pDX, IDC_STATIC1, m_static1); DDX_Text(pDX, IDC_EDITyear, m_year); DDV_MinMaxUInt(pDX, m_year, 1900, 3000); DDX_Text(pDX, IDC_EDITmonth, m_month); DDV_MinMaxUInt(pDX, m_month, 1, 12); DDX_Text(pDX, IDC_EDITday, m_day); DDV_MinMaxUInt(pDX, m_day, 1, 31); DDX_Radio(pDX, IDC_RADIO3, m_radio1); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(SalarySet3, MyFormView) //{{AFX_MSG_MAP(SalarySet3) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_EN_CHANGE(IDC_EDITyear, OnChangeEDITyear) ON_EN_CHANGE(IDC_EDITmonth, OnChangeEDITmonth) ON_EN_CHANGE(IDC_EDITday, OnChangeEDITday) ON_BN_CLICKED(IDC_RADIO3, OnRadio3) ON_BN_CLICKED(IDC_RADIO4, OnRadio4) ON_BN_CLICKED(IDC_RADIO5, OnRadio5) ON_BN_CLICKED(IDC_RADIO6, OnRadio6) ON_BN_CLICKED(IDC_RADIO7, OnRadio7) ON_BN_CLICKED(IDC_RADIO8, OnRadio8) ON_BN_CLICKED(IDC_RADIO9, OnRadio9) ON_BN_CLICKED(IDC_RADIO10, OnRadio10) ON_BN_CLICKED(IDC_RADIO11, OnRadio11) ON_BN_CLICKED(IDC_RADIO12, OnRadio12) ON_BN_CLICKED(IDC_RADIO13, OnRadio13) ON_BN_CLICKED(IDC_BUTprint, OnBUTprint) ON_BN_CLICKED(IDC_BUTprint2, OnBUTprint2) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // SalarySet3 diagnostics #ifdef _DEBUG void SalarySet3::AssertValid() const { MyFormView::AssertValid(); } void SalarySet3::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // SalarySet3 message handlers void SalarySet3::OnInitialUpdate() { MyFormView::OnInitialUpdate(); m_List1.ShowWindow(SW_HIDE); m_List2.ShowWindow(SW_HIDE); m_List3.ShowWindow(SW_SHOW); m_List4.ShowWindow(SW_HIDE); // TODO: Add your specialized code here and/or call the base class CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); // Here we create the outbar control using the splitter as its parent // and setting its id to the first pane. CRect rc2; GetWindowRect(rc2); ::MoveWindow(m_hWnd, g_rc.left, g_rc.top, g_rc.Width(), g_rc.Height(), TRUE); EnumChildWindows(m_hWnd, (WNDENUMPROC)EnumChildProc, 0); GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(17)); GetDlgItem(IDC_BUTprint2)->EnableWindow(IsHasRights2new(17)); m_static1.SetFont(&g_titlefont); #ifdef CHILD_VERSION GetDlgItem(IDC_RADIO4)->SetWindowText("����ʦ"); #endif #ifdef CHILD_VERSION m_List1.SetHeadings("������,100;�ҳ�����,100;��������,100;��Ӱʦ,100;����,100;�·�����(�⾰),100;�·�����(�ھ�),100;������Ƭ,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�ֻ�,100;�̶��绰,100"); m_List2.SetHeadings("������,100;�ҳ�����,100;��������,100;��ױʦ,100;����,100;�·�����(�⾰),100;�·�����(�ھ�),100;������Ƭ,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�ֻ�,100;�̶��绰,100"); m_List3.SetHeadings("������,100;�ҳ�����,100;��������,100;����ʦ,100;����,100;�������,100;����,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�ֻ�,100;�̶��绰,100"); m_List4.SetHeadings("������,100;�ҳ�����,100;��������,100;����,100;��ϵ����,100;��ϵ�۸�,100;�ֻ�,100;�̶��绰,100"); #else m_List1.SetHeadings("������,100;�б�����,100;Ů������,100;��Ӱʦ,100;����,100;�·�����(�⾰),100;�·�����(�ھ�),100;������Ƭ,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�б��绰,100;Ů���绰,100" ); m_List2.SetHeadings("������,100;�б�����,100;Ů������,100;��ױʦ,100;����,100;�·�����(�⾰),100;�·�����(�ھ�),100;������Ƭ,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�б��绰,100;Ů���绰,100" ); m_List3.SetHeadings("������,100;�б�����,100;Ů������,100;����ʦ,100;����,100;�������,100;����,100;��ϵ����,100;��ϵ�۸�,100;¼������,100;¼����,100;�б��绰,100;Ů���绰,100" ); m_List4.SetHeadings("������,100;�б�����,100;Ů������,100;����,100;��ϵ����,100;��ϵ�۸�,100;�б��绰,100;Ů���绰,100" ); #endif m_List1.LoadColumnInfo(174); m_List2.LoadColumnInfo(175); m_List3.LoadColumnInfo(176); m_List4.LoadColumnInfo(177); m_spinyear.SetRange(1900, 3000); m_spinmonth.SetRange(1, 12); m_spinday.SetRange(1, 31); m_bInit = 1; DateChange(); } void SalarySet3::FillGrid() { int ii = 0; if (m_radio1 == 0) { m_List1.DeleteAllItems2(); m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1); int count = 0; for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++) { m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); } m_List1.m_arLabels.SetSize(count, 1); ii = count; m_List1.m_LabelCount = ii; m_List1.SetItemCountEx(ii); } else if (m_radio1 == 1) { m_List2.DeleteAllItems2(); m_List2.m_arLabels.SetSize(m_List2array.GetSize(), 1); int count = 0; for (ii = 0; ii < m_List2.m_arLabels.GetSize(); ii++) { m_List2.m_arLabels.ElementAt(count++).Copy(m_List2array.ElementAt(ii)); } m_List2.m_arLabels.SetSize(count, 1); ii = count; m_List2.m_LabelCount = ii; m_List2.SetItemCountEx(ii); } else if (m_radio1 == 2) { m_List3.DeleteAllItems2(); m_List3.m_arLabels.SetSize(m_List3array.GetSize(), 1); int count = 0; for (ii = 0; ii < m_List3.m_arLabels.GetSize(); ii++) { m_List3.m_arLabels.ElementAt(count++).Copy(m_List3array.ElementAt(ii)); } m_List3.m_arLabels.SetSize(count, 1); ii = count; m_List3.m_LabelCount = ii; m_List3.SetItemCountEx(ii); } else if (m_radio1 == 3) { m_List4.DeleteAllItems2(); m_List4.m_arLabels.SetSize(m_List4array.GetSize(), 1); int count = 0; for (ii = 0; ii < m_List4.m_arLabels.GetSize(); ii++) { m_List4.m_arLabels.ElementAt(count++).Copy(m_List4array.ElementAt(ii)); } m_List4.m_arLabels.SetSize(count, 1); ii = count; m_List4.m_LabelCount = ii; m_List4.SetItemCountEx(ii); } CString str; str.Format("����:%d", ii); SetDlgItemText(IDC_STATIC2, str); } void SalarySet3::OnBUTclose() { GetParent()->SendMessage(WM_CLOSE); } void SalarySet3::OnChangeEDITyear() { DateChange(); } void SalarySet3::OnChangeEDITmonth() { DateChange(); } void SalarySet3::OnChangeEDITday() { DateChange(); } void SalarySet3::DateChange() { if (m_bInit == 0)return; m_spinyear.EnableWindow(0); m_spinmonth.EnableWindow(0); m_spinday.EnableWindow(0); UpdateData(); int i; int g_nYearposTemp = g_nYearpos; BOOL bThisYear = 0; BOOL bLastYear = 0; #if JEFF_TEST_ON // 2015��ʼ���ÿ�������; if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize()) { g_nYearpos = -1; bThisYear = 1; } else if (m_year <= 2013 && g_hisyeararray.GetSize()) { g_nYearpos = GetYearPos(m_year); bLastYear = 1; } #else if (m_year == atoi(g_date.Left(4)) && g_hisyeararray.GetSize()) bThisYear = 1; else if (m_year <= atoi(g_date.Left(4)) - 1 && g_hisyeararray.GetSize()) bLastYear = 1; g_nYearpos = GetYearPos(m_year); #endif CString sql, strdate, strdate2; strdate.Format("%04d-%02d-%02d", m_year, m_month, m_day); CRect rc; m_static1.GetWindowRect(rc); ScreenToClient(rc); InvalidateRect(rc); COleDateTime dtDay(m_year, m_month, m_day, 0, 0, 0); int nDayWeek = dtDay.GetDayOfWeek() - 1; //�õ����ڼ���1=Sunday, 2=Monday, CString DayOfWeek[7] = { "������", "����һ", "���ڶ�", "������", "������", "������", "������" }; CString sdate; if (nDayWeek >= 0 && nDayWeek <= 6) sdate = DayOfWeek[nDayWeek]; else sdate = "��Ч����"; CString dindanfilter = strdate; dindanfilter.Replace("-", ""); dindanfilter = ";id like '" + dindanfilter + "%'"; //m_static1.SetWindowText (strdate+"("+sdate+")Ա������"); m_static1.SetWindowText(strdate + "(" + sdate + ")�Ƽ����"); sql.Format("datetime='" + strdate + "' and type='����ʦ'"); sql += dindanfilter; g_sendhead.bsql = 0; g_sendhead.code[0] = 144; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0) { g_nYearpos = g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); return; } DataToArray(&m_List3array); if (bThisYear) { g_nYearpos = 0;//ȥ�� g_sendhead.bsql = 0; g_sendhead.code[0] = 144; g_sendhead.tabcount = 1; CString sql, strdate, strdate2; strdate.Format("%04d-%02d-%02d", m_year, m_month, m_day); sql.Format("datetime='" + strdate + "' and type='����ʦ'"); sql += dindanfilter; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0) { g_nYearpos = g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); return; } CArray<CStringArray, CStringArray>LastYearm_List3array; DataToArray(&LastYearm_List3array); int oldsize = m_List3array.GetSize(); int newsize = LastYearm_List3array.GetSize(); m_List3array.SetSize(oldsize + LastYearm_List3array.GetSize()); for (i = oldsize; i < oldsize + LastYearm_List3array.GetSize(); i++) { m_List3array.ElementAt(i).Copy(LastYearm_List3array.ElementAt(i - oldsize)); } } else if (bLastYear) { g_nYearpos = -1;//���� g_sendhead.bsql = 0; g_sendhead.code[0] = 144; g_sendhead.tabcount = 1; CString sql, strdate, strdate2; strdate.Format("%04d-%02d-%02d", m_year, m_month, m_day); sql.Format("datetime='" + strdate + "' and type='����ʦ'"); sql += dindanfilter; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0) { g_nYearpos = g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); return; } CArray<CStringArray, CStringArray>LastYearm_List3array; DataToArray(&LastYearm_List3array); int oldsize = m_List3array.GetSize(); int newsize = LastYearm_List3array.GetSize(); m_List3array.SetSize(oldsize + LastYearm_List3array.GetSize()); for (i = oldsize; i < oldsize + LastYearm_List3array.GetSize(); i++) { m_List3array.ElementAt(i).Copy(LastYearm_List3array.ElementAt(i - oldsize)); } } g_nYearpos = g_nYearposTemp; if (IsHasRights2new(31) == 0) { #ifdef LKAY_VERSION for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (8, "***"); m_List1array.ElementAt (i).SetAt (9, "***"); m_List1array.ElementAt (i).SetAt (12, "***"); m_List1array.ElementAt (i).SetAt (13, "***"); } for( i=0; i< m_List2array.GetSize (); i++) { m_List2array.ElementAt (i).SetAt (8, "***"); m_List2array.ElementAt (i).SetAt (9, "***"); m_List2array.ElementAt (i).SetAt (12, "***"); m_List2array.ElementAt (i).SetAt (13, "***"); } for( i=0; i< m_List3array.GetSize (); i++) { m_List3array.ElementAt (i).SetAt (7, "***"); m_List3array.ElementAt (i).SetAt (8, "***"); m_List3array.ElementAt (i).SetAt (11, "***"); m_List3array.ElementAt (i).SetAt (12, "***"); } for( i=0; i< m_List4array.GetSize (); i++) { m_List4array.ElementAt (i).SetAt (4, "***"); m_List4array.ElementAt (i).SetAt (5, "***"); m_List4array.ElementAt (i).SetAt (6, "***"); m_List4array.ElementAt (i).SetAt (7, "***"); } #else for (int i = 0; i < m_List1array.GetSize(); i++) { m_List1array.ElementAt(i).SetAt(12, "***"); m_List1array.ElementAt(i).SetAt(13, "***"); } for (i = 0; i < m_List2array.GetSize(); i++) { m_List2array.ElementAt(i).SetAt(12, "***"); m_List2array.ElementAt(i).SetAt(13, "***"); } for (i = 0; i < m_List3array.GetSize(); i++) { m_List3array.ElementAt(i).SetAt(11, "***"); m_List3array.ElementAt(i).SetAt(12, "***"); } for (i = 0; i < m_List4array.GetSize(); i++) { m_List4array.ElementAt(i).SetAt(6, "***"); m_List4array.ElementAt(i).SetAt(7, "***"); } #endif } FillGrid(); m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); } void SalarySet3::KindChange() { } void SalarySet3::OnRadio3() { UpdateData(); m_List1.ShowWindow(SW_SHOW); m_List2.ShowWindow(SW_HIDE); m_List3.ShowWindow(SW_HIDE); m_List4.ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(17)); GetDlgItem(IDC_BUTprint2)->EnableWindow(IsHasRights2new(17)); FillGrid(); } void SalarySet3::OnRadio4() { UpdateData(); m_List2.ShowWindow(SW_SHOW); m_List1.ShowWindow(SW_HIDE); m_List3.ShowWindow(SW_HIDE); m_List4.ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(17)); GetDlgItem(IDC_BUTprint2)->EnableWindow(IsHasRights2new(17)); FillGrid(); } void SalarySet3::OnRadio5() { UpdateData(); m_List3.ShowWindow(SW_SHOW); m_List2.ShowWindow(SW_HIDE); m_List1.ShowWindow(SW_HIDE); m_List4.ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(17)); GetDlgItem(IDC_BUTprint2)->EnableWindow(IsHasRights2new(17)); FillGrid(); } void SalarySet3::OnRadio6() { UpdateData(); m_List4.ShowWindow(SW_SHOW); m_List2.ShowWindow(SW_HIDE); m_List3.ShowWindow(SW_HIDE); m_List1.ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTprint)->EnableWindow(0); GetDlgItem(IDC_BUTprint2)->EnableWindow(0); FillGrid(); } void SalarySet3::OnRadio9() { UpdateData(); KindChange(); } void SalarySet3::OnRadio7() { UpdateData(); KindChange(); } void SalarySet3::OnRadio8() { UpdateData(); KindChange(); } void SalarySet3::OnRadio10() { UpdateData(); KindChange(); } void SalarySet3::OnRadio11() { UpdateData(); KindChange(); } void SalarySet3::OnRadio12() { UpdateData(); KindChange(); } void SalarySet3::OnRadio13() { UpdateData(); KindChange(); } void SalarySet3::OnBUTprint() { // TODO: Add your control notification handler code here if (m_radio1 == 3)return; if (m_radio1 == 0) { InputWork dlg; dlg.DoModal(); } else if (m_radio1 == 1) { InputWork dlg; dlg.m_mode = 1; dlg.DoModal(); } else if (m_radio1 == 2) { InputWork3 dlg; dlg.DoModal(); } DateChange(); } void SalarySet3::OnBUTprint2() // ɾ����ť; { // TODO: Add your control notification handler code here UpdateData(); if (m_radio1 == 3)return; CString sql; if (m_radio1 == 0) { POSITION pos; pos = m_List1.GetFirstSelectedItemPosition(); if (pos == NULL) { AfxMessageBox("����ѡ����Ҫɾ������Ŀ!", MB_ICONINFORMATION); return; } if (AfxMessageBox("ȷ��ɾ����?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return; int iItem = m_List1.GetNextSelectedItem(pos); CString id = m_List1.GetItemText(iItem, 0); CString name = m_List1.GetItemText(iItem, 3); CString date = m_List1.GetItemText(iItem, 4); CString count1 = m_List1.GetItemText(iItem, 5); CString count2 = m_List1.GetItemText(iItem, 6); CString count3 = m_List1.GetItemText(iItem, 7); sql.Format("delete from mywork where [id]='%s' and [name]='%s' and [datetime]='%s' and [count1]='%s' and [count2]='%s' and [count3]='%s' and [type]='��Ӱʦ'", id, name, date, count1, count2, count3); } else if (m_radio1 == 1) { POSITION pos; pos = m_List2.GetFirstSelectedItemPosition(); if (pos == NULL) { AfxMessageBox("����ѡ����Ҫɾ������Ŀ!", MB_ICONINFORMATION); return; } if (AfxMessageBox("ȷ��ɾ����?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return; int iItem = m_List2.GetNextSelectedItem(pos); CString id = m_List2.GetItemText(iItem, 0); CString name = m_List2.GetItemText(iItem, 3); CString date = m_List2.GetItemText(iItem, 4); CString count1 = m_List2.GetItemText(iItem, 5); CString count2 = m_List2.GetItemText(iItem, 6); CString count3 = m_List2.GetItemText(iItem, 7); sql.Format("delete from mywork where [id]='%s' and [name]='%s' and [datetime]='%s' and [count1]='%s' and [count2]='%s' and [count3]='%s' and [type]='��ױʦ'", id, name, date, count1, count2, count3); } else if (m_radio1 == 2) { POSITION pos; pos = m_List3.GetFirstSelectedItemPosition(); if (pos == NULL) { AfxMessageBox("����ѡ����Ҫɾ������Ŀ!", MB_ICONINFORMATION); return; } if (AfxMessageBox("ȷ��ɾ����?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return; int iItem = m_List3.GetNextSelectedItem(pos); CString id = m_List3.GetItemText(iItem, 0); CString name = m_List3.GetItemText(iItem, 3); CString date = m_List3.GetItemText(iItem, 4); CString count1 = m_List3.GetItemText(iItem, 5); CString count2 = m_List3.GetItemText(iItem, 6); sql.Format("delete from mywork where [id]='%s' and [name]='%s' and [datetime]='%s' and [count2]='%s' and [count1]='%s' and [type]='����ʦ'", id, name, date, count1, count2); } #ifdef CHILD_VERSION sql.Replace("��ױ", "����"); #endif g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return; AfxMessageBox("ɾ���ɹ�!", MB_ICONINFORMATION); DateChange(); }