// MySalary.cpp : implementation file // #include "stdafx.h" #include "LYFZIPManage.h" #include "MySalary.h" #include "MyMdi.H" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // MySalary IMPLEMENT_DYNCREATE(MySalary, CFormView) MySalary::MySalary() : CFormView(MySalary::IDD) { //{{AFX_DATA_INIT(MySalary) m_name = _T(""); m_rate1 = _T(""); m_rate2 = _T(""); m_bz = _T(""); m_base = _T(""); m_month = CTime::GetCurrentTime ().GetMonth (); m_salary = _T(""); m_money1 = _T(""); m_money2 = _T(""); m_year = CTime::GetCurrentTime ().GetYear (); m_bInit=0; m_bAll=0; //}}AFX_DATA_INIT } MySalary::~MySalary() { } void MySalary::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(MySalary) DDX_Control(pDX, IDC_LIST3, m_List3); DDX_Control(pDX, IDC_LIST1, m_ListBox1); 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_EDITname, m_name); DDX_Text(pDX, IDC_EDITrate1, m_rate1); DDX_Text(pDX, IDC_EDITrate2, m_rate2); DDX_Text(pDX, IDC_EDITbz, m_bz); DDX_Text(pDX, IDC_EDITbase, m_base); DDX_Text(pDX, IDC_EDITmonth, m_month); DDV_MinMaxUInt(pDX, m_month, 1, 12); DDX_Text(pDX, IDC_EDITsalary, m_salary); DDX_Text(pDX, IDC_EDITrate3, m_money1); DDX_Text(pDX, IDC_EDITrate4, m_money2); DDX_Text(pDX, IDC_EDITyear, m_year); DDV_MinMaxUInt(pDX, m_year, 1900, 3000); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(MySalary, CFormView) //{{AFX_MSG_MAP(MySalary) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1) ON_EN_CHANGE(IDC_EDITyear, OnChangeEDITyear) ON_EN_CHANGE(IDC_EDITmonth, OnChangeEDITmonth) ON_BN_CLICKED(IDC_BUTshowall, OnBUTshowall) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // MySalary diagnostics #ifdef _DEBUG void MySalary::AssertValid() const { CFormView::AssertValid(); } void MySalary::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // MySalary message handlers void MySalary::OnInitialUpdate() { CFormView::OnInitialUpdate(); // 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); m_static1.SetFont (&g_titlefont); m_List1.SetHeadings("收款金额,100;收款日期,100;款项类别,100;男宾姓名,100;女宾姓名,100" ); m_List1.LoadColumnInfo (23); m_List3.SetHeadings("姓名,100;总工资,100;基本工资,100;前期业绩,100;后期业绩,100;前期提成,100;后期提成,100;部门,100" ); m_List3.LoadColumnInfo (124); m_spinyear.SetRange (1900, 3000); m_spinmonth.SetRange (1, 12); BOOL bShowAll=0; if(g_ncount==100)bShowAll=1; g_ncount=0; GetData(); if(bShowAll==0) GetDlgItem(IDC_LIST3)->ShowWindow(0); if(IsHasRights2new(26)==0) { m_ListBox1.EnableWindow (0); GetDlgItem(IDC_BUTshowall)->EnableWindow (0); } else if(bShowAll) { g_ncount=0; OnBUTshowall(); } } void MySalary::FillGrid(CArray*array) { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( array->GetSize (), 1 ); int count=0; for(ii=0; iiElementAt (ii)); } m_List1.m_arLabels.SetSize(count, 1); ii=count; m_List1.m_LabelCount=ii; m_List1.SetItemCountEx (ii); } void MySalary::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void MySalary::GetData() { m_bInit=1; g_sendhead.bsql=0; g_sendhead.code[0]=34; g_sendhead.tabcount=1; int g_nYearposTemp=g_nYearpos; g_nYearpos=-1; g_pMainWnd->ProcessChatMessageRequest2(13); g_nYearpos=g_nYearposTemp; if(g_bSendOK==0)return; DataToArray(&m_List1array); m_ListBox1.ResetContent (); for(int i=0; i*waiterarray, BOOL &bWait1, BOOL &bWait2) { for(int i=0; iGetSize (); i++) { if(id==waiterarray->ElementAt (i).ElementAt (0)) { if(name==waiterarray->ElementAt (i).ElementAt (1)) bWait1=1; if(name==waiterarray->ElementAt (i).ElementAt (2)) bWait2=1; return; } } return; } extern int GetYearPos(int year); void MySalary::OnSelchangeList1() { // TODO: Add your control notification handler code here if(m_bInit==0)return; if(m_bAll) { m_List3array.RemoveAll (); FillGrid2(); return; } int pos=m_ListBox1.GetCurSel (); if(pos==-1)return; UpdateData(); CString name; m_ListBox1.GetText (pos, name); CString date1,date2; date1.Format ("%d-%02d-01", m_year, m_month); date2.Format ("%d-%02d-31", m_year, m_month); int i; int g_nYearposTemp=g_nYearpos; BOOL bLastYear=0; BOOL bThisYear=0; BOOL bOldYear=0; 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; else if(atoi(g_date.Left (4))-m_year>1 && g_hisyeararray.GetSize ()>=(atoi(g_date.Left (4))-m_year)) { bOldYear=1; } g_nYearpos=GetYearPos(m_year); /////////////// CString filter="name='"+name+"';date>='"+date1+"' and date<='"+date2+"';waiter1='"+name+"' or waiter2='"+name+"';dat>='"+date1+"' and dat<='"+date2+"' and renyuan3='"+name+"';time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; //;time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍' g_sendhead.code[0]=34; g_sendhead.code[1]=59; g_sendhead.code[2]=60; g_sendhead.code[3]=14; g_sendhead.code[4]=61; g_sendhead.tabcount=5; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } CArrayuserarray; CArraybukuanarray; CArraywaiterarray; CArraysingleincomearray; CArraybukuanarray2; DataToArray(&userarray,&bukuanarray,&waiterarray,&singleincomearray,&bukuanarray2); /////////////////// if(bLastYear)//如果是去年, 则加今年的补款 { g_nYearpos=-1;//今年 filter="name='"+name+"';date>='"+date1+"' and date<='"+date2+"';waiter1='"+name+"' or waiter2='"+name+"';time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; g_sendhead.code[0]=34; g_sendhead.code[1]=59; g_sendhead.code[2]=60; g_sendhead.code[3]=61; g_sendhead.tabcount=4; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } CArrayThisYearbukuanarray; CArrayThisYearwaiterarray; CArrayThisYearbukuanarray2; DataToArray(&userarray,&ThisYearbukuanarray,&ThisYearwaiterarray,&ThisYearbukuanarray2); int oldsize=bukuanarray.GetSize (); bukuanarray.SetSize(oldsize+ThisYearbukuanarray.GetSize ()); for(i=oldsize; i='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; g_sendhead.code[0]=59; g_sendhead.code[1]=60; g_sendhead.code[2]=61; g_sendhead.tabcount=3; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } CArrayLastYearbukuanarray; CArrayLastYearwaiterarray; CArrayLastYearbukuanarray2; DataToArray(&LastYearbukuanarray,&LastYearwaiterarray,&LastYearbukuanarray2); int oldsize=bukuanarray.GetSize (); bukuanarray.SetSize(oldsize+LastYearbukuanarray.GetSize ()); for(i=oldsize; iProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } DataToArray(&userarray); } g_nYearpos=g_nYearposTemp; CArrayarray; array.SetSize(bukuanarray.GetSize ()*4+singleincomearray.GetSize ()+bukuanarray2.GetSize ()*4); CString temp; float money1=0; float money2=0; int arraypos=0; for(int ii=0; iiSetWindowText("查看详情"); } else { GetDlgItem(IDC_BUTshowall)->SetWindowText("查看全部"); } GetDlgItem(IDC_STATIC2)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC3)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC4)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC5)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC6)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC7)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC8)->ShowWindow(!m_bAll); GetDlgItem(IDC_STATIC9)->ShowWindow(!m_bAll); // GetDlgItem(IDC_STATIC10)->ShowWindow(!m_bAll); // GetDlgItem(IDC_STATIC11)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITname)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITbz)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITbase)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITrate1)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITrate2)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITsalary)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITrate3)->ShowWindow(!m_bAll); GetDlgItem(IDC_EDITrate4)->ShowWindow(!m_bAll); GetDlgItem(IDC_LIST1)->ShowWindow(!m_bAll); GetDlgItem(IDC_LIST2)->ShowWindow(!m_bAll); GetDlgItem(IDC_LIST3)->ShowWindow(m_bAll); if(m_bAll) FillGrid2(); else { POSITION pos; pos=m_List3.GetFirstSelectedItemPosition(); if(pos) { int iItem=m_List3.GetNextSelectedItem(pos); CString name=m_List3.GetItemText (iItem, 0); CString temp; for(int i=0; i1 && g_hisyeararray.GetSize ()>=(atoi(g_date.Left (4))-m_year)) { bOldYear=1; } g_nYearpos=GetYearPos(m_year); CString filter="date>='"+date1+"' and date<='"+date2+"';;dat>='"+date1+"' and dat<='"+date2+"';time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; //;time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍' g_sendhead.code[0]=59; g_sendhead.code[1]=60; g_sendhead.code[2]=14; g_sendhead.code[3]=61; g_sendhead.tabcount=4; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; CArraybukuanarray; CArraywaiterarray; CArraysingleincomearray; CArraybukuanarray2; DataToArray(&bukuanarray,&waiterarray,&singleincomearray,&bukuanarray2); /////////////////// if(bLastYear)//如果是去年, 则加今年的补款 { g_nYearpos=-1;//今年 filter="date>='"+date1+"' and date<='"+date2+"';;time2>='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; g_sendhead.code[0]=59; g_sendhead.code[1]=60; g_sendhead.code[2]=61; g_sendhead.tabcount=3; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } CArrayThisYearbukuanarray; CArrayThisYearwaiterarray; CArrayThisYearbukuanarray2; DataToArray(&ThisYearbukuanarray,&ThisYearwaiterarray,&ThisYearbukuanarray2); int oldsize=bukuanarray.GetSize (); bukuanarray.SetSize(oldsize+ThisYearbukuanarray.GetSize ()); for(i=oldsize; i='"+date1+"' and time2<='"+date2+"' and status<>'未拍'"; g_sendhead.code[0]=59; g_sendhead.code[1]=60; g_sendhead.code[2]=61; g_sendhead.tabcount=3; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; return; } CArrayLastYearbukuanarray; CArrayLastYearwaiterarray; CArrayLastYearbukuanarray2; DataToArray(&LastYearbukuanarray,&LastYearwaiterarray,&LastYearbukuanarray2); int oldsize=bukuanarray.GetSize (); bukuanarray.SetSize(oldsize+LastYearbukuanarray.GetSize ()); for(i=oldsize; i