// DLG_Corp_LXR.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_Corp_LXR.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_Corp_LXR dialog #include "DLG_Corp_LXR_Modify.h" #include "DLG_Corp_LXR_Print.h" #include "DLG_Corp_LXR_PrintHT.h" #include "DLG_Corp_LXR_SF.h" DLG_Corp_LXR::DLG_Corp_LXR(CWnd* pParent /*=NULL*/) : CDialog(DLG_Corp_LXR::IDD, pParent) { //{{AFX_DATA_INIT(DLG_Corp_LXR) m_strCorpName = _T(""); m_strSMSNum = _T(""); //}}AFX_DATA_INIT m_lModifyCount = 0; m_lLXRCount = 0; memset( &m_LXRReq , 0 , sizeof(m_LXRReq) ); m_pLXRData = NULL; m_pLXR_YWYData = NULL; m_lCorpType = 0; m_pSFDlg = NULL; } void DLG_Corp_LXR::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_Corp_LXR) DDX_Control(pDX, IDC_CORP_LXR_LIST, m_wndList); DDX_Text(pDX, IDC_CORP_LXR_CORPNAME, m_strCorpName); DDX_Text(pDX, IDC_CORP_LXR_SMSNUM, m_strSMSNum); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_Corp_LXR, CDialog) //{{AFX_MSG_MAP(DLG_Corp_LXR) ON_NOTIFY(NM_DBLCLK, IDC_CORP_LXR_LIST, OnDblclkCorpLxrList) ON_BN_CLICKED(IDC_CORP_LXR_MODIFY, OnCorpLxrModify) ON_BN_CLICKED(IDC_CORP_LXR_ADD, OnCorpLxrAdd) ON_BN_CLICKED(IDC_CORP_LXR_DEL, OnCorpLxrDel) ON_BN_CLICKED(IDC_CORP_LXR_PRINT, OnCorpLxrPrint) ON_BN_CLICKED(IDC_CORP_LXR_PRINTHT, OnCorpLxrPrintht) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_Corp_LXR message handlers void DLG_Corp_LXR::SetParam(ANS_Corp_LXR LXR , ANS_Corp_LXRData *pLXRData , long lCorpType, ANS_Corp_LXR_YWYData * pYWYData) { m_lLXRCount = LXR.lCount; m_LXRReq = LXR; m_pLXRData = pLXRData; m_pLXR_YWYData = pYWYData; m_lCorpType = lCorpType; } BOOL DLG_Corp_LXR::OnInitDialog() { CDialog::OnInitDialog(); m_strCorpName = m_LXRReq.szCorpName; m_strSMSNum = m_LXRReq.szSMSNum; this->UpdateData(false); //��ʼ��List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP) ); m_wndList.SubClassWindow2(); m_wndList.SetHeadings(_T("���,50; ����,80; �dz�,80; ����,80; �绰,80; �ֻ�,80;��Ա,60;�ܳ�ֵ,90;����Ʒ,90;��Ա��ʼ����,90;")); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); POSITION pos; TCHAR Buf[32]; CString str; for ( int i = 0 ; i< m_lLXRCount ; i++ ) { ANS_Corp_LXRData * pData = new ANS_Corp_LXRData; *pData = m_pLXRData[i]; pos = m_LXR.AddTail( pData ); _stprintf( Buf , _T("%d") , i+1 ); m_wndList.InsertItem( i , Buf , 0 ); m_wndList.SetItemData( i , (DWORD)pos); int iTemp=1; m_wndList.SetItemText( i , iTemp++ , pData->szName ); m_wndList.SetItemText( i , iTemp++ , pData->szNickName ); m_wndList.SetItemText( i , iTemp++ , pData->szBranch ); m_wndList.SetItemText( i , iTemp++ , pData->szTel ); m_wndList.SetItemText( i , iTemp++ , pData->szMobile ); if ( pData->bMember ) m_wndList.SetItemText( i , iTemp++ , _T(" ��") ); else iTemp++; str.Format( _T("%.2f") ,pData->fTotalCJ ); m_wndList.SetItemText( i , iTemp++ , str ); str.Format( _T("%.2f") ,pData->fTotalLP ); m_wndList.SetItemText( i , iTemp++ , str ); str.Format( _T("%04d.%02d.%02d") ,pData->tMemberBegin.wYear,pData->tMemberBegin.wMonth,pData->tMemberBegin.wDay ); m_wndList.SetItemText( i , iTemp++ , str ); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_Corp_LXR::OnDblclkCorpLxrList(NMHDR* pNMHDR, LRESULT* pResult) { OnCorpLxrModify(); *pResult = 0; } void DLG_Corp_LXR::OnCorpLxrModify() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext( pos ); if (pData) { DLG_Corp_LXR_Modify dlg(this); dlg.SetParam( *pData,pos2); if ( dlg.DoModal() == IDOK ) { *pData = dlg.GetParam(); //ȡ���Ĺ����ֵ m_wndList.SetItemText( lItem , 1 , pData->szName ); m_wndList.SetItemText( lItem , 2 , pData->szNickName ); m_wndList.SetItemText( lItem , 3 , pData->szBranch ); m_wndList.SetItemText( lItem , 4 , pData->szTel ); m_wndList.SetItemText( lItem , 5 , pData->szMobile ); if ( pData->ucStatus == 0 ) { pData->ucStatus = CORP_LXR_MODIFY; //��Ҫ�� m_lModifyCount ++; //��Ҫ�ĵļ�¼���� } } } } long DLG_Corp_LXR::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } BOOL DLG_Corp_LXR::FindLXRName(const TCHAR *pLXRName, POSITION exPos) { POSITION pos = m_LXR.GetHeadPosition(); POSITION pos2; while (pos) { pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext( pos ); if ( pos2 != exPos ) { if ( !_tcscmp( pData->szName , pLXRName ) ) return true; } } return false; } void DLG_Corp_LXR::OnCorpLxrAdd() { ANS_Corp_LXRData LXRData={0}; DLG_Corp_LXR_Modify dlg(this); dlg.SetParam( LXRData,0); if ( dlg.DoModal() == IDOK ) { ANS_Corp_LXRData * pData = new ANS_Corp_LXRData; *pData = dlg.GetParam(); pData->ucStatus = CORP_LXR_ADD; pData->lCorpType = m_lCorpType; m_lModifyCount ++; //��Ҫ�ĵļ�¼���� POSITION pos = m_LXR.AddTail( pData ); long lCount = m_wndList.GetItemCount(); TCHAR Buf[32]; _stprintf( Buf, _T("%d") , lCount +1 ); //�����µ����� m_wndList.InsertItem( lCount , Buf , 0); m_wndList.SetItemData( lCount, (DWORD)pos ); m_wndList.SetItemText( lCount , 1 , pData->szName ); m_wndList.SetItemText( lCount , 2 , pData->szNickName ); m_wndList.SetItemText( lCount , 3 , pData->szBranch ); m_wndList.SetItemText( lCount , 4 , pData->szTel ); m_wndList.SetItemText( lCount , 5 , pData->szMobile ); } } void DLG_Corp_LXR::OnCorpLxrDel() { long lCount = m_wndList.GetSelectedCount(); if ( lCount <= 0 ) return ; long lRet = MessageBox( _T("�˲�������ɾ����ϵ�ˣ��Ƿ������") , _T("����") , MB_ICONQUESTION|MB_YESNOCANCEL|MB_DEFBUTTON2); if ( lRet != IDYES ) return; long * lDel = new long[lCount]; POSITION pos = m_wndList.GetFirstSelectedItemPosition(); long i=0; while ( pos ) { lDel[i] = m_wndList.GetNextSelectedItem(pos); i++; } for ( i = lCount-1 ; i>=0 ; i-- ) //��תɾ�� { long lItem = lDel[i]; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); m_wndList.DeleteItem( lItem ); //ɾ�� POSITION pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext( pos ); if (pData) { if (pData->ucStatus == 0) { pData->ucStatus = CORP_LXR_DEL; m_lModifyCount ++; //��Ҫ�ĵļ�¼���� } else { pData->ucStatus = 0; m_lModifyCount --; //��Ϊ������ʱ���1 } } } delete lDel; } void DLG_Corp_LXR::OnCorpLxrPrint() { if (m_lModifyCount>0 ) { MessageBox( _T("���Ѷ���ϵ�������ģ���ȷ���������´�ӡ��") , _T("��ʾ") , MB_ICONINFORMATION ); return ; } DLG_Corp_LXR_Print dlg(this); dlg.m_strCorpName = m_LXRReq.szCorpName; dlg.m_strAddress = m_LXRReq.szAddress; dlg.m_strPostCode = m_LXRReq.szPostCode; long lItem = GetCurrentSelected(); if ( lItem >= 0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext( pos ); if (pData) { dlg.m_strLXR = pData->szName; dlg.m_strTelNum=pData->szTel; if ( _tcslen(pData->szMobile)>0 ) { if ( dlg.m_strTelNum.GetLength()>0 ) dlg.m_strTelNum += _T("��"); dlg.m_strTelNum += CString(pData->szMobile); } } dlg.DoModal(); } else { MessageBox(_T("����ѡ����ϵ�ˣ��ٿ�ʼ��ӡ��"), _T("��ʾ"), MB_ICONINFORMATION); return; } } void DLG_Corp_LXR::OnCorpLxrPrintht() { if (m_lModifyCount>0 ) { MessageBox( _T("���Ѷ���ϵ�������ģ���ȷ����������˳��ļ���") , _T("��ʾ") , MB_ICONINFORMATION ); return ; } long lItem = GetCurrentSelected(); if (lItem < 0) { MessageBox(_T("����ѡ����ϵ�ˣ��ٿ�ʼ˳��ļ���"), _T("��ʾ"), MB_ICONINFORMATION); return; } ANS_Corp_SFData sf = { 0 }; GetLocalTime(&sf.tCreate); //����ʱ�� sf.lStatus = 0; //״̬��0-���ɣ�1-���ռ�,2-��ǩ�� sf.pay_method = 0; //���ʽ��0:�ĸ��½ᣬ1:�ķ��� 2 : �շ��� 3 : �������� sf.express_type = 1; //˳���ػ� sf.lCorpType = m_LXRReq.lCorpType; //��ҵ���ͣ�0-�ն˿ͻ���1-�����̡� sf.lCorpID = m_LXRReq.lCorpID; //��ҵid�������ID sf.lPayType = m_LXRReq.lPayType; //֧�����ͣ�0-�dz�ֵ��1-���ų�ֵ��2-���ų�ֵ��3-�����̶��ų�ֵ��4-�����̲��ų�ֵ��5-���ܿ�ͨ��ֵ��6-�½��ʵ���7-����ʵ� sf.lPayID = m_LXRReq.lPayID; //֧����¼ID sf.fPrice = m_LXRReq.fPrice; //��Ʊ��� _tcscpy(sf.d_company, m_LXRReq.szCorpName); _tcscpy(sf.d_address, m_LXRReq.szAddress); _tcscpy(sf.d_post_code, m_LXRReq.szPostCode); if (lItem >= 0) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext(pos); if (pData) { _tcscpy(sf.d_contact, pData->szName); _tcscpy(sf.d_tel, pData->szTel); _tcscpy(sf.d_mobile, pData->szMobile); } } //_tcscpy(sf.Cargo_name, _T("��ͬ")); //����ϵ�˷���ģ�Ĭ���Ǻ�ͬ sf.Cargo_count=1; //�������� DLG_Corp_LXR_SF dlg(this); m_pSFDlg = &dlg; dlg.SetParam(m_LXRReq.lYWYCount, m_LXRReq.lDefaultYWYID, m_pLXR_YWYData, sf,true); dlg.DoModal(); m_pSFDlg = NULL; /* #ifdef SMSCENTER_ADC DLG_Corp_LXR_PrintHT dlg(this); dlg.m_strAgentName = _T("����������Ϣ��������˾"); dlg.m_strAgentNo = _T("S542487"); dlg.m_strCorpName = m_LXRReq.szCorpName; dlg.m_strCorpDB = m_LXRReq.szFDDB; dlg.m_strCorpYGS = m_LXRReq.szCorpRS; dlg.m_strCorpJS = m_LXRReq.szCorpSJS; dlg.m_strCorpHY = m_LXRReq.szHY; dlg.m_strCorpAddr = m_LXRReq.szAddress; dlg.m_strCorpPostCode = m_LXRReq.szPostCode; long lItem = GetCurrentSelected(); if ( lItem >= 0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_LXRData * pData = m_LXR.GetNext( pos ); if (pData) { dlg.m_strCorpLXR = pData->szName; dlg.m_strCorpLXRJW=pData->szJob; dlg.m_strCorpLXDH=pData->szTel; if ( _tcslen(pData->szMobile)>0 ) { if ( dlg.m_strCorpLXDH.GetLength()>0 ) dlg.m_strCorpLXDH += _T(";"); dlg.m_strCorpLXDH += CString(pData->szMobile); } dlg.m_strCorpFax=pData->szFax; dlg.m_lCorpZJType=pData->lZJType; dlg.m_strCorpCFD=pData->szCFD; dlg.m_strCorpZJHM=pData->szZJH; dlg.m_strFuncAdmin = pData->szName; dlg.m_strFuncTel = pData->szTel; } } dlg.m_strFuncAgent = _T("��������"); dlg.m_strFuncCM = m_LXRReq.szCM; dlg.m_strFuncEmail= _T("adc@mobset.com"); dlg.m_strFuncMobile=_T("13922432209"); dlg.m_strFuncSmsCode=m_LXRReq.szADCSmsCode; dlg.m_bFuncType=true; dlg.m_bFuncCW = true; dlg.m_bFuncAdd = true; SYSTEMTIME t;::GetLocalTime(&t); dlg.m_lTC = 0; dlg.m_lTCYear = t.wYear-2000; dlg.m_lTCMon = t.wMonth-1; dlg.m_tDateSL = COleDateTime::GetCurrentTime(); dlg.m_tDateGJ.SetStatus(COleDateTime::null); dlg.DoModal(); #endif */ } BOOL DLG_Corp_LXR::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame) { if (pHead->lFuncType == SMSFUNC_CORP_SF_ADD || pHead->lFuncType == SMSFUNC_CORP_SF_CANCEL || pHead->lFuncType == SMSFUNC_CORP_SF_ROUTE) { //ANS_Corp_SF_Add * pAdd = (ANS_Corp_SF_Add *)pFrame; //ANS_Corp_SFData * pData = (ANS_Corp_SFData *)(pFrame + sizeof(ANS_Corp_SF_Add)); if (this->m_pSFDlg) { m_pSFDlg->ProcessSocket(pHead, pFrame); } return true; } return false; }