SmsManager/DLG_Corp_FP.cpp

428 lines
11 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_Corp_FP.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_FP.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_FP dialog
#include "DLG_Corp_FP_Modify.h"
#include "DLG_Corp_LXR_SF.h"
DLG_Corp_FP::DLG_Corp_FP(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_FP::IDD, pParent)
, m_strCorpAddress(_T(""))
, m_strCorpPostCode(_T(""))
, m_strAgentName(_T(""))
, m_strYWYName(_T(""))
{
//{{AFX_DATA_INIT(DLG_Corp_FP)
m_strCorpName = _T("");
m_strSMSNum = _T("");
//}}AFX_DATA_INIT
m_lModifyCount = 0;
m_lLXRCount = 0;
memset( &m_FPReq , 0 , sizeof(m_FPReq) );
m_pLXRData = NULL;
m_pLXR_YWYData = NULL;
m_lCorpType = 0;
m_pSFDlg = NULL;
}
void DLG_Corp_FP::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_FP)
DDX_Control(pDX, IDC_CORP_FP_LIST, m_wndList);
DDX_Text(pDX, IDC_CORP_FP_CORPNAME, m_strCorpName);
DDX_Text(pDX, IDC_CORP_FP_SMSNUM, m_strSMSNum);
//}}AFX_DATA_MAP
DDX_Text(pDX, IDC_CORP_FP_CORPADDRESS, m_strCorpAddress);
DDX_Text(pDX, IDC_CORP_FP_CORPPOSTCODE, m_strCorpPostCode);
DDX_Text(pDX, IDC_CORP_FP_AGENTNAME, m_strAgentName);
DDX_Text(pDX, IDC_CORP_FP_YWYNAME, m_strYWYName);
}
BEGIN_MESSAGE_MAP(DLG_Corp_FP, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_FP)
ON_NOTIFY(NM_DBLCLK, IDC_CORP_FP_LIST, OnDblclkCorpLxrList)
ON_BN_CLICKED(IDC_CORP_FP_MODIFY, OnCorpLxrModify)
ON_BN_CLICKED(IDC_CORP_FP_ADD, OnCorpLxrAdd)
ON_BN_CLICKED(IDC_CORP_FP_DEL, OnCorpLxrDel)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Corp_FP::OnBnClickedOk)
ON_BN_CLICKED(IDC_CORP_FP_SF, &DLG_Corp_FP::OnBnClickedCorpFpSf)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_FP message handlers
void DLG_Corp_FP::SetParam(ANS_Corp_FP LXR , ANS_Corp_FPData *pLXRData , long lCorpType, ANS_Corp_LXR_YWYData * pYWYData)
{
m_lLXRCount = LXR.lCount;
m_FPReq = LXR;
m_pLXRData = pLXRData;
m_pLXR_YWYData = pYWYData;
m_lCorpType = lCorpType;
}
BOOL DLG_Corp_FP::OnInitDialog()
{
CDialog::OnInitDialog();
m_strCorpName = m_FPReq.szCorpName;
m_strSMSNum = m_FPReq.szSMSNum;
m_strCorpAddress = m_FPReq.szAddress;
m_strCorpPostCode = m_FPReq.szPostCode;
m_strAgentName = m_FPReq.szAgentName;
m_strYWYName = m_FPReq.szYWYName;
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; Ĭ<><C4AC>,60; <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>,90; <20><>Ʊ̧ͷ,250; <20><>˰<EFBFBD><CBB0>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>,100; <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>,200;¼<><C2BC><EFBFBD>û<EFBFBD>,80; ¼<><C2BC><EFBFBD><EFBFBD><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_FPData * pData = new ANS_Corp_FPData;
*pData = m_pLXRData[i];
pos = m_FP.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;
if ( pData->bDefaultFP )
m_wndList.SetItemText( i , iTemp++ , _T(" <20><>") );
else
iTemp++;
m_wndList.SetItemText( i , iTemp++ , GetFPType(pData->lFPType) );
m_wndList.SetItemText( i , iTemp++ , pData->szCorpName );
m_wndList.SetItemText( i , iTemp++ , pData->szCorpTaxID );
m_wndList.SetItemText( i , iTemp++ , pData->szPostEmail);
m_wndList.SetItemText( i , iTemp++ , pData->szCreateUser );
str.Format( _T("%04d.%02d.%02d") ,pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.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_FP::OnDblclkCorpLxrList(NMHDR* pNMHDR, LRESULT* pResult)
{
OnCorpLxrModify();
*pResult = 0;
}
void DLG_Corp_FP::OnCorpLxrModify()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_FPData * pData = m_FP.GetNext( pos );
if (pData)
{
DLG_Corp_FP_Modify dlg(this);
dlg.SetParam( *pData,pos2);
if ( dlg.DoModal() == IDOK )
{
*pData = dlg.GetParam(); //ȡ<><C8A1><EFBFBD>޸Ĺ<DEB8><C4B9><EFBFBD><EFBFBD><EFBFBD>ֵ
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; Ĭ<><C4AC>,60; <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>,90; <20><>Ʊ̧ͷ,150; <20><>˰<EFBFBD><CBB0>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>,100;¼<><C2BC><EFBFBD>û<EFBFBD>,80; ¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,90;"));
CString str;
int iTemp=1;
if ( pData->bDefaultFP )
m_wndList.SetItemText( lItem , iTemp++ , _T(" <20><>") );
else
m_wndList.SetItemText( lItem , iTemp++ , _T("") );
m_wndList.SetItemText( lItem , iTemp++ , GetFPType(pData->lFPType) );
m_wndList.SetItemText( lItem , iTemp++ , pData->szCorpName );
m_wndList.SetItemText( lItem , iTemp++ , pData->szCorpTaxID );
m_wndList.SetItemText( lItem , iTemp++ , pData->szPostEmail);
m_wndList.SetItemText( lItem , iTemp++ , pData->szCreateUser );
str.Format( _T("%04d.%02d.%02d") ,pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay );
m_wndList.SetItemText( lItem , iTemp++ , str );
if ( pData->ucStatus == 0 )
{
pData->ucStatus = CORP_FP_MODIFY; //<2F><>Ҫ<EFBFBD>޸<EFBFBD>
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
}
}
}
}
long DLG_Corp_FP::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void DLG_Corp_FP::OnCorpLxrAdd()
{
ANS_Corp_FPData LXRData={0};
LXRData.lCorpType = m_FPReq.lCorpType;
_tcscpy(LXRData.szCorpName , m_FPReq.szCorpName);
_tcscpy(LXRData.szCorpAddress,m_FPReq.szAddress);
DLG_Corp_FP_Modify dlg(this);
dlg.SetParam( LXRData,0);
if ( dlg.DoModal() == IDOK )
{
ANS_Corp_FPData * pData = new ANS_Corp_FPData;
*pData = dlg.GetParam();
pData->ucStatus = CORP_FP_ADD;
pData->lCorpType = m_lCorpType;
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
POSITION pos = m_FP.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
CString str;
int iTemp=1;
if ( pData->bDefaultFP )
m_wndList.SetItemText( lCount , iTemp++ , _T(" <20><>") );
else
iTemp++;
m_wndList.SetItemText( lCount , iTemp++ , GetFPType(pData->lFPType) );
m_wndList.SetItemText( lCount , iTemp++ , pData->szCorpName );
m_wndList.SetItemText( lCount , iTemp++ , pData->szCorpTaxID);
m_wndList.SetItemText( lCount , iTemp++ , pData->szPostEmail);
m_wndList.SetItemText( lCount , iTemp++ , pData->szCreateUser );
m_wndList.SetItemText( lCount , iTemp++ , pData->szCorpTaxID );
str.Format( _T("%04d.%02d.%02d") ,pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay );
m_wndList.SetItemText( lCount , iTemp++ , str );
}
}
void DLG_Corp_FP::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><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_FPData * pData = m_FP.GetNext( pos );
if (pData)
{
if (pData->ucStatus == 0)
{
pData->ucStatus = CORP_FP_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;
}
CString DLG_Corp_FP::GetFPType(long lType)
{
CString str=_T("δ֪");
switch(lType)
{
case 0:
str = _T(" <20><><EFBFBD><EFBFBD>Ʊ");
break;
case 1:
str = _T(" <20><>˰Ʊ");
break;
case 2:
str = _T("<EFBFBD><EFBFBD>ֵ˰<EFBFBD><EFBFBD>Ʊ");
break;
case 3:
str = _T(" <20>ƶ<EFBFBD>Ʊ");
break;
case 4:
str = _T("<EFBFBD><EFBFBD>ֵ˰רƱ");
break;
case 5:
str = _T("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ<EFBFBD>ѱ<EFBFBD>˰");
break;
case 6:
str = _T("ӯ<EFBFBD>׸<EFBFBD><EFBFBD><EFBFBD>Ʊ");
break;
case 7:
str = _T("ӯ<EFBFBD>׸<EFBFBD>רƱ");
break;
default:
str = _T(" δ֪");
break;
}
return str;
}
CString DLG_Corp_FP::GetFPType2(long lType)
{
CString str=_T("");
switch(lType)
{
case 0:
str = _T("");
break;
case 1:
str = _T("<EFBFBD><EFBFBD>˰Ʊ");
break;
case 2:
str = _T("<EFBFBD><EFBFBD>ֵ˰<EFBFBD><EFBFBD>Ʊ");
break;
case 3:
str = _T("<EFBFBD>ƶ<EFBFBD>Ʊ");
break;
case 4:
str = _T("<EFBFBD><EFBFBD>ֵ˰רƱ");
break;
case 5:
str = _T("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ<EFBFBD>ѱ<EFBFBD>˰");
break;
case 6:
str = _T("ӯ<EFBFBD>׸<EFBFBD><EFBFBD><EFBFBD>Ʊ");
break;
case 7:
str = _T("ӯ<EFBFBD>׸<EFBFBD>רƱ");
break;
default:
str = _T("δ֪");
break;
}
return str;
}
void DLG_Corp_FP::OnBnClickedOk()
{
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CDialog::OnOK();
}
BOOL DLG_Corp_FP::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;
}
void DLG_Corp_FP::OnBnClickedCorpFpSf()
{
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>"), _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_FPReq.lCorpType; //<2F><>ҵ<EFBFBD><D2B5><EFBFBD>ͣ<EFBFBD>0-<2D>ն˿ͻ<CBBF><CDBB><EFBFBD>1-<2D><><EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD>
sf.lCorpID = m_FPReq.lCorpID; //<2F><>ҵid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
sf.lPayType = m_FPReq.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_FPReq.lPayID; //֧<><D6A7><EFBFBD><EFBFBD>¼ID
sf.fPrice = m_FPReq.fPrice; //<2F><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>
_tcscpy(sf.d_company, m_FPReq.szCorpName);
_tcscpy(sf.d_address, m_FPReq.szAddress);
_tcscpy(sf.d_post_code, m_FPReq.szPostCode);
if (lItem >= 0)
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_FPData * pData = m_FP.GetNext(pos);
if (pData)
{
_tcscpy(sf.d_contact, pData->szPostName);
_tcscpy(sf.d_tel, pData->szPostTel);
_tcscpy(sf.d_mobile, pData->szPostMobile);
_tcscpy(sf.d_address, pData->szPostAddress);
_tcscpy(sf.d_post_code, pData->szPostCode);
}
}
//_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_FPReq.lYWYCount, m_FPReq.lDefaultYWYID, m_pLXR_YWYData, sf, true);
dlg.DoModal();
m_pSFDlg = NULL;
}