SmsManager/DLG_Corp_LXR.cpp

427 lines
11 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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);
//<2F><>ʼ<EFBFBD><CABC>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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20>dz<EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; <20>绰,80; <20>ֻ<EFBFBD>,80;<3B><>Ա,60;<3B>ܳ<EFBFBD>ֵ,90;<3B><><EFBFBD><EFBFBD>Ʒ,90;<3B><>Ա<EFBFBD><D4B1>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>,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_PTR)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(" <20><>") );
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(); //ȡ<><C8A1><EFBFBD>޸Ĺ<DEB8><C4B9><EFBFBD><EFBFBD><EFBFBD>ֵ
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; //<2F><>Ҫ<EFBFBD>޸<EFBFBD>
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
}
}
}
}
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 ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
POSITION pos = m_LXR.AddTail( pData );
long lCount = m_wndList.GetItemCount();
TCHAR Buf[32];
_stprintf( Buf, _T("%d") , lCount +1 );
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
m_wndList.InsertItem( lCount , Buf , 0);
m_wndList.SetItemData( lCount, (DWORD_PTR)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("<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ˣ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , 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-- ) //<2F><>תɾ<D7AA><C9BE>
{
long lItem = lDel[i];
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
m_wndList.DeleteItem( lItem ); //ɾ<><C9BE>
POSITION pos2 = pos;
ANS_Corp_LXRData * pData = m_LXR.GetNext( pos );
if (pData)
{
if (pData->ucStatus == 0)
{
pData->ucStatus = CORP_LXR_DEL;
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
}
else
{
pData->ucStatus = 0;
m_lModifyCount --; //<2F><>Ϊ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>1
}
}
}
delete lDel;
}
void DLG_Corp_LXR::OnCorpLxrPrint()
{
if (m_lModifyCount>0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>ӡ<EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD>ʾ") , 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("<EFBFBD><EFBFBD>");
dlg.m_strTelNum += CString(pData->szMobile);
}
}
dlg.DoModal();
}
else
{
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ˣ<EFBFBD><EFBFBD>ٿ<EFBFBD>ʼ<EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD>"), _T("<EFBFBD><EFBFBD>ʾ"), MB_ICONINFORMATION);
return;
}
}
void DLG_Corp_LXR::OnCorpLxrPrintht()
{
if (m_lModifyCount>0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD>ʾ") , MB_ICONINFORMATION );
return ;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
{
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ˣ<EFBFBD><EFBFBD>ٿ<EFBFBD>ʼ˳<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"), _T("<EFBFBD><EFBFBD>ʾ"), MB_ICONINFORMATION);
return;
}
ANS_Corp_SFData sf = { 0 };
GetLocalTime(&sf.tCreate); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
sf.lStatus = 0; //״̬<D7B4><CCAC>0-<2D><><EFBFBD>ɣ<EFBFBD>1-<2D><><EFBFBD>ռ<EFBFBD>,2-<2D><>ǩ<EFBFBD><C7A9>
sf.pay_method = 0; //<2F><><EFBFBD>ʽ<EEB7BD><CABD>0:<3A>ĸ<EFBFBD><C4B8>½ᣬ1:<3A>ķ<EFBFBD><C4B7><EFBFBD> 2 : <20>շ<EFBFBD><D5B7><EFBFBD> 3 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sf.express_type = 1; //˳<><CBB3><EFBFBD>ػ<EFBFBD>
sf.lCorpType = m_LXRReq.lCorpType; //<2F><>ҵ<EFBFBD><D2B5><EFBFBD>ͣ<EFBFBD>0-<2D>ն˿ͻ<CBBF><CDBB><EFBFBD>1-<2D><><EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD>
sf.lCorpID = m_LXRReq.lCorpID; //<2F><>ҵid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
sf.lPayType = m_LXRReq.lPayType; //֧<><D6A7><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>0-<2D>dz<EFBFBD>ֵ<EFBFBD><D6B5>1-<2D><><EFBFBD>ų<EFBFBD>ֵ<EFBFBD><D6B5>2-<2D><><EFBFBD>ų<EFBFBD>ֵ<EFBFBD><D6B5>3-<2D><><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6>ų<EFBFBD>ֵ<EFBFBD><D6B5>4-<2D><><EFBFBD><EFBFBD><EFBFBD>̲<EFBFBD><CCB2>ų<EFBFBD>ֵ<EFBFBD><D6B5>5-<2D><><EFBFBD>ܿ<EFBFBD>ͨ<EFBFBD><CDA8>ֵ<EFBFBD><D6B5>6-<2D>½<EFBFBD><C2BD>ʵ<EFBFBD><CAB5><EFBFBD>7-<2D><><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>
sf.lPayID = m_LXRReq.lPayID; //֧<><D6A7><EFBFBD><EFBFBD>¼ID
sf.fPrice = m_LXRReq.fPrice; //<2F><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
_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("<22><>ͬ")); //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD>ģ<EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD>Ǻ<EFBFBD>ͬ
sf.Cargo_count=1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾");
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("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
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;
}