// DLG_Corp_Pay.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_Corp_Pay.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_Corp_Pay dialog #include "DLG_Corp_Pay_Modify.h" #include "DLG_Corp_FP.h" DLG_Corp_Pay::DLG_Corp_Pay(CWnd* pParent /*=NULL*/) : CDialog(DLG_Corp_Pay::IDD, pParent) { //{{AFX_DATA_INIT(DLG_Corp_Pay) m_strSMSNum = _T(""); m_strCorpName = _T(""); m_strSMSUsed = _T(""); m_strTotal = _T(""); //}}AFX_DATA_INIT m_lModifyCount = 0; memset( &m_PayReq , 0 , sizeof(m_PayReq) ); m_pPayData = NULL; m_pMemberData = NULL; m_lModifyType = 0; m_bCommend = true; m_bSOS = false; m_pMainFrame = NULL; memset(&m_corp,0,sizeof(m_corp)); } void DLG_Corp_Pay::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_Corp_Pay) DDX_Control(pDX, IDC_CORP_PAY_LIST, m_wndList); DDX_Text(pDX, IDC_CORP_PAY_SMSNUM, m_strSMSNum); DDX_Text(pDX, IDC_CORP_PAY_CORPNAME, m_strCorpName); DDX_Text(pDX, IDC_CORP_PAY_SMSUSED, m_strSMSUsed); DDX_Text(pDX, IDC_CORP_PAY_TOTAL, m_strTotal); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_Corp_Pay, CDialog) //{{AFX_MSG_MAP(DLG_Corp_Pay) ON_BN_CLICKED(IDC_CORP_PAY_ADD, OnCorpPayAdd) ON_NOTIFY(NM_DBLCLK, IDC_CORP_PAY_LIST, OnDblclkCorpPayList) ON_BN_CLICKED(IDC_CORP_PAY_SEE, OnCorpPaySee) ON_BN_CLICKED(IDC_CORP_PAY_ZX, OnCorpPayZx) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_CORP_PAY_MODIFY, &DLG_Corp_Pay::OnBnClickedCorpPayModify) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_Corp_Pay message handlers BOOL DLG_Corp_Pay::OnInitDialog() { CDialog::OnInitDialog(); m_strCorpName = m_PayReq.szCorpName; m_strSMSNum = m_PayReq.szSMSNum; m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed ); m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal ); 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(); #ifdef SMSCENTER_ADC m_wndList.SetHeadings(_T("序号,50; 出单人,80;充值类型,80;ADC状态,80;充值方式,80;充值金额,80; 费率,80; 小计,70; 赠送,70; 短信量,70;本次余额,70;预开票,55;应收,55;测试,55;成本,55;充值时间,130;过期时间,130;收款时间,130; 发票,80;发票状态,80;开票时间,130;赠送礼品,80;礼品价值,80;接受人,80;推荐积分,80; 备 注,130;ADC最后处理人,130;ADC最后处理时间,130;")); GetDlgItem(IDC_CORP_PAY_ZX)->ShowWindow(SW_SHOW); #else m_wndList.SetHeadings(_T("序号,50; 出单人,80;充值方式,80;充值金额,80; 费率,80; 小计,70; 赠送,70; 短信量,70;本次余额,70;预开票,55;应收,55;测试,55;成本,55;充值时间,130;过期时间,130;收款时间,130; 发票,80;发票状态,80;开票时间,130;赠送礼品,80;礼品价值,80;接受人,80;推荐积分,80; 备 注,130;")); #endif m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); //#ifndef SMSMANAGER_KF POSITION pos; TCHAR Buf[32]; CString str; for ( int ii = 0 ; ii< m_PayReq.lCount ; ii++ ) { if ( m_bSOS ) //紧急模式下,非开票数据不显示 { if ( m_pPayData[ii].bFP!=1 &&m_pPayData[ii].bFP!=2 ) { continue; } } ANS_Corp_PayData * pData = new ANS_Corp_PayData; *pData = m_pPayData[ii]; pos = m_Pay.AddTail( pData ); int i=m_wndList.GetItemCount(); _stprintf( Buf , _T("%d") , i+1 ); m_wndList.InsertItem( i , Buf , 0 ); //Item为0的原因是倒转显示 m_wndList.SetItemData( i , (DWORD)pos); int iIndex=1; //m_wndList.SetItemText( i , 1 , pData->szPayMan ); m_wndList.SetItemText( i , iIndex++ , pData->szCreateUser ); #ifdef SMSCENTER_ADC if ( pData->lPayType ==1 ) m_wndList.SetItemText( i , iIndex++ , _T("ADC充值") ); else m_wndList.SetItemText( i , iIndex++ , _T("短信易充值") ); if ( pData->lPayType ==1 ) { switch( pData->lAdcStatus ) { case 1: m_wndList.SetItemText( i , iIndex++ , _T("处理中") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("已充值") ); break; case 3: m_wndList.SetItemText( i , iIndex++ , _T("已注销") ); break; case 4: m_wndList.SetItemText( i , iIndex++ , _T("已核发票") ); break; default: m_wndList.SetItemText( i , iIndex++ , _T("未处理") ); } } else { iIndex++; } #endif m_wndList.SetItemText( i , iIndex++ , pData->szPayMode ); _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8.4f") , pData->fPriceOne); m_wndList.SetItemText( i , iIndex++ , Buf ); double l = 0.0f; if ( pData->fPrice!=0 || pData->fPriceOne!=0 ) l = pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( l< 0 ) a = long(l-0.5f); _stprintf( Buf , _T("%8d") , a); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lPresent); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lBalance); //本期余额 m_wndList.SetItemText( i , iIndex++ , Buf ); switch(pData->lYSType ) { case 0: default: iIndex++; break; case 1: m_wndList.SetItemText( i , iIndex++ , _T(" 是") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("作废") ); break; } if ( pData->bYS ) m_wndList.SetItemText( i , iIndex++ , _T("是") ); else iIndex++; if ( pData->bTest ) m_wndList.SetItemText( i , iIndex++ , _T("是") ); else iIndex++; if ( pData->bCB ) m_wndList.SetItemText( i , iIndex++ , _T("是") ); else iIndex++; _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay,pData->tPayTime.wHour,pData->tPayTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay,pData->tOvrTime.wHour,pData->tOvrTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tYSTime.wYear,pData->tYSTime.wMonth,pData->tYSTime.wDay,pData->tYSTime.wHour,pData->tYSTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); if ( pData->bFP>0 ) { CString strType = DLG_Corp_FP::GetFPType2(pData->bFP); m_wndList.SetItemText( i , iIndex++ , strType ); switch(pData->lFPStatus) { case 0: default: m_wndList.SetItemText( i , iIndex++ , _T("未开票") ); break; case 1: m_wndList.SetItemText( i , iIndex++ , _T("已开票") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("已寄出") ); break; } if ( pData->lFPStatus>0 ) { _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tFPTime.wYear,pData->tFPTime.wMonth,pData->tFPTime.wDay,pData->tFPTime.wHour,pData->tFPTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); } else { iIndex++; } } else { iIndex+=3; } switch( pData->lLPType ) { case 1: m_wndList.SetItemText( i , iIndex++ , _T("充值卡") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("现金") ); break; case 3: m_wndList.SetItemText(i, iIndex++, _T("京东卡")); break; case 4: m_wndList.SetItemText(i, iIndex++, _T("转赠短信")); break; case 5: m_wndList.SetItemText(i, iIndex++, _T("其它赠品")); break; case 0: default: m_wndList.SetItemText( i , iIndex++ , _T("无") ); break; } str.Format( _T("%.2f") , pData->fLPPrice ); m_wndList.SetItemText( i , iIndex++ , str); str = _T(""); //赠送人 for ( int j=0 ; jlLXRID == m_pMemberData[j].lLXRID ) { str = m_pMemberData[j].szName; break; } } m_wndList.SetItemText( i , iIndex++ , str); str.Format( _T("%d") , pData->lCommend_VipInt ); //推荐积分 m_wndList.SetItemText( i , iIndex++ , str); if ( pData->lCommend_VipInt>0 ) m_bCommend = false; //不允许再添加推荐积分了 m_wndList.SetItemText( i , iIndex++ , pData->szBZ); #ifdef SMSCENTER_ADC m_wndList.SetItemText( i , iIndex++ , pData->szAdcProcessUser ); _stprintf( Buf , _T("%04d.%02d.%02d") , pData->tAdcPayTime.wYear,pData->tAdcPayTime.wMonth,pData->tAdcPayTime.wDay); m_wndList.SetItemText( i , iIndex++ , Buf); #endif if ( m_bSOS ) //紧急模式下,超过一年的数据不显示 { COleDateTime t1(pData->tPayTime); if ( t1.GetStatus() == COleDateTime::valid) { if ( COleDateTime::GetCurrentTime() - t1 >= COleDateTimeSpan(365,0,0,0) ) break; } } } //#endif #ifndef SMSCENTER_ADC if ( m_lModifyType == -1 ) { GetDlgItem(IDC_CORP_PAY_ADD)->EnableWindow(false); } #endif #ifdef SMSMANAGER_KF GetDlgItem(IDC_CORP_PAY_SMSUSED_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_SMSUSED)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_TOTAL_S)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_TOTAL)->ShowWindow(SW_HIDE); #endif if ( m_bSOS ) { GetDlgItem(IDC_CORP_PAY_SMSUSED_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_SMSUSED)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_TOTAL_S)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_TOTAL)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_SEE)->ShowWindow(SW_HIDE); GetDlgItem(IDC_CORP_PAY_ZX)->ShowWindow(SW_HIDE); m_wndList.SetColumnWidth(1,0); m_wndList.SetColumnWidth(2,0); m_wndList.SetColumnWidth(4,0); m_wndList.SetColumnWidth(5,0); m_wndList.SetColumnWidth(9,0); m_wndList.SetColumnWidth(10,0); m_wndList.SetColumnWidth(11,0); m_wndList.SetColumnWidth(12,0); //隐藏无用的数据 for ( int i=16;i<=23;i++ ) { m_wndList.SetColumnWidth(i,0); } m_wndList.GetHeaderCtrl()->EnableWindow(false); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_Corp_Pay::SetParam(ANS_Corp_Pay Pay, ANS_Corp_PayData *pPayData,ANS_Corp_MemberData * pMemberData,long lModifyType,ANS_Corp_SeeData corp) { m_PayReq = Pay; m_pPayData = pPayData; m_pMemberData=pMemberData; m_lModifyType=lModifyType; m_corp = corp; } void DLG_Corp_Pay::OnCorpPayAdd() { if ( m_lModifyType == 1 ) { int iRet=MessageBox( _T("此企业是代理商的用户,非特殊情况不允许向其充值!是否继续?"),_T("警告") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet != IDYES ) return ; } DLG_Corp_Pay_Modify dlg(this); CString str; dlg.SetCorpData(m_PayReq,m_pMemberData,m_bCommend,m_corp); dlg.m_bSOS = m_bSOS; if ( dlg.DoModal() == IDOK ) { ANS_Corp_PayData * pData = new ANS_Corp_PayData; *pData = dlg.GetParam(); pData->ucStatus = CORP_PAY_ADD; pData->bYS = true; //默认全部先应收,财务修改成已收 m_lModifyCount ++; //需要修改的记录增加 POSITION pos = m_Pay.AddTail( pData ); long lCount = m_wndList.GetItemCount(); TCHAR Buf[32]; _stprintf( Buf, _T("%d") , lCount +1 ); //设置新的数据 int iIndex=1; m_wndList.InsertItem( 0 , Buf , 0); //Item为0的原因是倒转显示 m_wndList.SetItemData( 0, (DWORD)pos ); m_wndList.SetItemText( 0 , iIndex++ , pData->szPayMan ); #ifdef SMSCENTER_ADC if ( pData->lPayType ==1 ) m_wndList.SetItemText( 0 , iIndex++ , _T("ADC充值") ); else m_wndList.SetItemText( 0 , iIndex++ , _T("短信易充值") ); if ( pData->lPayType ==1 ) { switch( pData->lAdcStatus ) { case 1: m_wndList.SetItemText( 0 , iIndex++ , _T("处理中") ); break; case 2: m_wndList.SetItemText( 0 , iIndex++ , _T("已充值") ); break; case 3: m_wndList.SetItemText( 0 , iIndex++ , _T("已注销") ); break; default: m_wndList.SetItemText( 0 , iIndex++ , _T("未处理") ); } } else { iIndex++; } #endif m_wndList.SetItemText( 0 , iIndex++ , pData->szPayMode ); _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( 0 , iIndex++ , Buf ); _stprintf( Buf , _T("%8.4f") , pData->fPriceOne); m_wndList.SetItemText( 0 , iIndex++ , Buf ); double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( l< 0 ) a = long(l-0.5f); _stprintf( Buf , _T("%8d") , a); m_wndList.SetItemText( 0 , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lPresent); m_wndList.SetItemText( 0 , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( 0 , iIndex++ , Buf ); iIndex++; //余额 switch(pData->lYSType ) { case 0: default: iIndex++; break; case 1: m_wndList.SetItemText( 0 , iIndex++ , _T(" 是") ); break; case 2: m_wndList.SetItemText( 0 , iIndex++ , _T("作废") ); break; } if ( pData->bYS ) m_wndList.SetItemText( 0 , iIndex++ , _T("是") ); else iIndex++; if ( pData->bTest ) m_wndList.SetItemText( 0 , iIndex++ , _T("是") ); else iIndex++; if ( pData->bCB ) m_wndList.SetItemText( 0 , iIndex++ , _T("是") ); else iIndex++; _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay,pData->tPayTime.wHour,pData->tPayTime.wMinute ); m_wndList.SetItemText( 0 , iIndex++ , Buf); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay,pData->tOvrTime.wHour,pData->tOvrTime.wMinute ); m_wndList.SetItemText( 0 , iIndex++ , Buf); iIndex++; if ( pData->bFP ) m_wndList.SetItemText( 0 , iIndex++ , _T("是") ); else iIndex++; iIndex++; iIndex++; switch( pData->lLPType ) { case 1: m_wndList.SetItemText( 0 , iIndex++ , _T("充值卡") ); break; case 2: m_wndList.SetItemText( 0 , iIndex++ , _T("现金") ); break; case 3: m_wndList.SetItemText(0, iIndex++, _T("京东卡")); break; case 4: m_wndList.SetItemText(0, iIndex++, _T("转赠短信")); break; case 5: m_wndList.SetItemText(0, iIndex++, _T("其它赠品")); break; case 0: default: m_wndList.SetItemText( 0 , iIndex++ , _T("无") ); break; } str.Format( _T("%.2f") , pData->fLPPrice ); m_wndList.SetItemText( 0 , iIndex++ , str); str = _T(""); //赠送人 for ( int i=0 ; ilLXRID == m_pMemberData[i].lLXRID ) { str = m_pMemberData[i].szName; break; } } m_wndList.SetItemText( 0 , iIndex++ , str); str.Format( _T("%d") , pData->lCommend_VipInt ); //推荐积分 m_wndList.SetItemText( 0 , iIndex++ , str); m_wndList.SetItemText( 0 , iIndex++ , pData->szBZ); //增加数据 #ifdef SMSCENTER_ADC if ( pData->lPayType ==0 && pData->lYSType ==0 ) //短信易才增加数量 #else if ( pData->lYSType ==0 ) //非预充的才加 #endif { m_PayReq.fTotal += pData->fPrice; m_PayReq.lTotalSms += pData->lSMSCount; m_PayReq.lSmsUsed += pData->lSMSCount; m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed ); m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal ); } this->UpdateData(false); } } void DLG_Corp_Pay::OnOK() { CDialog::OnOK(); } void DLG_Corp_Pay::OnDblclkCorpPayList(NMHDR* pNMHDR, LRESULT* pResult) { OnCorpPaySee(); *pResult = 0; } void DLG_Corp_Pay::OnCorpPaySee() { if ( m_bSOS ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; TCHAR Buf[128]={0}; CString str; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_PayData * pData = m_Pay.GetNext( pos ); if (pData) { DLG_Corp_Pay_Modify dlg(this); dlg.SetCorpData(m_PayReq,m_pMemberData,m_bCommend,m_corp); #ifndef SMSMANAGER_KF if ( this->m_PayReq.lCorpID == 100152 && pData->ucStatus ==0 && COleDateTime::GetCurrentTime()-COleDateTime(pData->tPayTime)ucStatus = CORP_PAY_MODIFY; m_lModifyCount ++; //需要修改的记录增加 fPriceCE = pData2->fPrice - pData->fPrice; lSmsCountCE= pData2->lSMSCount - pData->lSMSCount; pData2->fPriceOne = fPriceCE; //保存差额 pData2->lPresent = lSmsCountCE; str.Format( _T("\r\n更改前金额:%.2f") , pData->fPrice); _tcscat(pData2->szBZ , str ); *pData = * pData2; delete pData2; //POSITION pos = m_Pay.AddTail( pData2 ); #ifdef SMSCENTER_ADC _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( lItem , 5 , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( lItem , 9 , Buf ); #else _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( lItem , 3 , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( lItem , 7 , Buf ); #endif //增加数据 #ifdef SMSCENTER_ADC if ( pData->lPayType ==0 && pData->lYSType ==0 ) //短信易才增加数量 #else if ( pData->lYSType ==0 ) //非预充的才加 #endif { m_PayReq.fTotal += fPriceCE; m_PayReq.lTotalSms += lSmsCountCE; m_PayReq.lSmsUsed += lSmsCountCE; m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed ); m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal ); } this->UpdateData(false); } } else { dlg.SetParam( *pData,false); dlg.DoModal(); } #else dlg.SetParam( *pData,false); dlg.DoModal(); #endif } } long DLG_Corp_Pay::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void DLG_Corp_Pay::OnCorpPayZx() { #ifdef SMSCENTER_ADC long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_PayData * pData = m_Pay.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus<=0) { CString str; ANS_Corp_PayData * pData2 = new ANS_Corp_PayData; memset(pData2 , 0 , sizeof(ANS_Corp_PayData)); *pData2 = *pData; pData2->ucStatus = CORP_PAY_ZX; pData2->lPayID = pData->lPayID; m_lModifyCount ++; //需要修改的记录增加 POSITION pos = m_Pay.AddTail( pData2 ); m_wndList.SetItemText(lItem , 3 , _T("注 销")); } #endif } void DLG_Corp_Pay::OnBnClickedCorpPayModify() { if (m_bSOS) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; CString str,str2; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_PayData* pData = m_Pay.GetNext(pos); if (pData && m_pMainFrame) { DLG_Corp_Pay_Modify dlg(this); dlg.SetCorpData(m_PayReq, m_pMemberData, m_bCommend, m_corp); #ifndef SMSMANAGER_KF BOOL bAllowModify = false; if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD, false)) //只有黄小姐有这权限 { if (pData->ucStatus == 0 && COleDateTime::GetCurrentTime() - COleDateTime(pData->tPayTime) < COleDateTimeSpan(180, 0, 0, 0)) //新大新的允许修改数据 bAllowModify = true; } else { if (pData->ucStatus == 0 && pData->bYS && COleDateTime::GetCurrentTime() - COleDateTime(pData->tPayTime) < COleDateTimeSpan(180, 0, 0, 0)) //新大新的允许修改数据 bAllowModify = true; } if (bAllowModify) { dlg.SetParam(*pData, 2); if (dlg.DoModal() == IDOK) { ANS_Corp_PayData* pData2 = new ANS_Corp_PayData; *pData2 = dlg.GetParam(); BOOL bChange = false; SYSTEMTIME t; GetLocalTime(&t); if (_tcscmp(pData2->szPayMode, pData->szPayMode) != 0) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ,m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n%s->%s"), pData->szPayMode,pData2->szPayMode); str.Append(str2); m_wndList.SetItemText(lItem, 2, pData->szPayMode); } if (pData->bTest != pData2->bTest) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n测试:%d->%d"), pData->bTest, pData2->bTest); str.Append(str2); } if (pData->tYSTime.wYear!= pData2->tYSTime.wYear || pData->tYSTime.wMonth != pData2->tYSTime.wMonth || pData->tYSTime.wDay != pData2->tYSTime.wDay ) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n收款时间%04d.%02d.%02d->%04d.%02d.%02d"), pData->tYSTime.wYear, pData->tYSTime.wMonth, pData->tYSTime.wDay, pData2->tYSTime.wYear, pData2->tYSTime.wMonth, pData2->tYSTime.wDay); str.Append(str2); } if (pData->lLPType != pData2->lLPType) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n礼品类型:%d->%d"), pData->lLPType, pData2->lLPType); str.Append(str2); } if (pData->lLXRID != pData2->lLXRID) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n礼品对象:%d->%d"), pData->lLXRID, pData2->lLXRID); str.Append(str2); } if (pData->fLPPrice != pData2->fLPPrice) { if (!bChange) str.Format(_T("%s\r\n%s于%04d.%02d.%02d修改"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay); bChange = true; str2.Format(_T("\r\n礼品价格:%.0f->%.0f"), pData->fLPPrice, pData2->fLPPrice); str.Append(str2); } if (bChange) { if (str.GetLength() > 200) str = str.Left(200); _tcscpy(pData2->szBZ, str); pData2->ucStatus = CORP_PAY_MODIFY; m_lModifyCount++; //需要修改的记录增加 *pData = *pData2; } delete pData2; //POSITION pos = m_Pay.AddTail( pData2 ); } } else { dlg.SetParam(*pData, false); dlg.DoModal(); } #else dlg.SetParam(*pData, false); dlg.DoModal(); #endif } }