SmsManager/DLG_Corp_LXR.cpp

427 lines
11 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// 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);
2025-01-14 10:46:18 +08:00
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 );
2025-01-14 10:46:18 +08:00
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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><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("<EFBFBD><EFBFBD><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;
}