// DLG_Setup_SZGJ_GetMsg.cpp : implementation file // #include "stdafx.h" #include "corpsms.h" #include "DLG_Setup_SZGJ_GetMsg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #include "DLG_Send.h" ///////////////////////////////////////////////////////////////////////////// // DLG_Setup_SZGJ_GetMsg dialog DLG_Setup_SZGJ_GetMsg::DLG_Setup_SZGJ_GetMsg(CWnd* pParent /*=NULL*/) : CDialog(DLG_Setup_SZGJ_GetMsg::IDD, pParent) { //{{AFX_DATA_INIT(DLG_Setup_SZGJ_GetMsg) m_D_Date = COleDateTime::GetCurrentTime(); m_strMsg = _T(""); //}}AFX_DATA_INIT m_bRefresh2 = false; m_pDlg = (DLG_Send *)pParent; memset(&m_Setup,0,sizeof(m_Setup)); } void DLG_Setup_SZGJ_GetMsg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_Setup_SZGJ_GetMsg) DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_CARNO, m_E_CarNo); DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_MSG, m_E_Msg); DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_CD, m_C_CD); DDX_DateTimeCtrl(pDX, IDC_SETUP_SZGJ_GETMSG_DATE, m_D_Date); DDX_Text(pDX, IDC_SETUP_SZGJ_GETMSG_MSG, m_strMsg); DDV_MaxChars(pDX, m_strMsg, 500); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_Setup_SZGJ_GetMsg, CDialog) //{{AFX_MSG_MAP(DLG_Setup_SZGJ_GetMsg) ON_CBN_SELCHANGE(IDC_SETUP_SZGJ_GETMSG_CD, OnSelchangeSetupSzgjGetmsgCd) ON_NOTIFY(DTN_DATETIMECHANGE, IDC_SETUP_SZGJ_GETMSG_DATE, OnDatetimechangeSetupSzgjGetmsgDate) ON_WM_DESTROY() ON_NOTIFY(DTN_CLOSEUP, IDC_SETUP_SZGJ_GETMSG_DATE, OnCloseupSetupSzgjGetmsgDate) ON_NOTIFY(NM_KILLFOCUS, IDC_SETUP_SZGJ_GETMSG_DATE, OnKillfocusSetupSzgjGetmsgDate) ON_BN_CLICKED(IDOK2, OnOk2) ON_BN_CLICKED(IDC_SETUP_SZGJ_GETMSG_CARNO_GET, OnSetupSzgjGetmsgCarnoGet) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_Setup_SZGJ_GetMsg message handlers BOOL DLG_Setup_SZGJ_GetMsg::OnInitDialog() { CDialog::OnInitDialog(); /* //生成数据库文件名 m_strNameCD = m_Setup.szSZGJPath; m_strNameCD = m_strNameCD+"\\"; m_strNameCD = m_strNameCD+MOBSET_SZGJ_CD; m_strNameLine = m_Setup.szSZGJPath; m_strNameLine = m_strNameLine+"\\"; m_strNameLine = m_strNameLine+MOBSET_SZGJ_LINE; m_strNameJE = m_Setup.szSZGJPath; m_strNameJE = m_strNameJE+"\\"; m_strNameJE = m_strNameJE+MOBSET_SZGJ_JE; m_strNameJE2 = m_Setup.szSZGJPath; m_strNameJE2 = m_strNameJE2+"\\"; m_strNameJE2 = m_strNameJE2+MOBSET_SZGJ_JE2; Dbf dbf; CString strTemp; if ( !dbf.Use(m_strNameCD) ) { strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameCD ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return true; } m_bRefresh2 = true; char szTemp[256]={0}; long lItem = 0; long lRecNum = dbf.RecNum(); for ( int i=0 ; i0 ) { m_C_CD.SetCurSel(0); RefreshMsg(); } m_E_CarNo.LimitText( 10 ); */ return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_Setup_SZGJ_GetMsg::OnSelchangeSetupSzgjGetmsgCd() { RefreshMsg(); } void DLG_Setup_SZGJ_GetMsg::OnDatetimechangeSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; } void DLG_Setup_SZGJ_GetMsg::RefreshMsg() { if ( m_bRefresh2 ) return ; if ( !UpdateData(true) ) return ; //首先取车队ID long lItem = m_C_CD.GetCurSel(); if ( lItem < 0 ) return ; CString strTemp = GetCDJEMsg(lItem); m_E_Msg.SetWindowText( strTemp ); } void DLG_Setup_SZGJ_GetMsg::OnDestroy() { m_bRefresh2 = true; CDialog::OnDestroy(); } void DLG_Setup_SZGJ_GetMsg::SetParam(SM_Setup setup) { m_Setup = setup; } void DLG_Setup_SZGJ_GetMsg::OnOK() { if(!UpdateData(true)) return ; if ( m_strMsg.GetLength()<=0) { MessageBox( _T("没有信息内容,请选择车队或日期生成内容!"),_T("错误"),MB_ICONWARNING ); return ; } CDialog::OnOK(); } void DLG_Setup_SZGJ_GetMsg::OnCloseupSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; RefreshMsg(); } void DLG_Setup_SZGJ_GetMsg::OnKillfocusSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; RefreshMsg(); } void DLG_Setup_SZGJ_GetMsg::OnOk2() { /* if ( m_bRefresh2 ) return ; if ( !UpdateData(true) ) return ; CString strTemp; char szCDID[32]={0}; char szCDName[256]={0}; char szCDMaster[256]={0}; char szCDMobile[256]={0}; Dbf dbf2; BOOL b = dbf2.Use( m_strNameCD ); if (!b ) { strTemp.Format( _T("打开数据库:%s失败,请检查路径设置!") , m_strNameCD ); MessageBox( strTemp , _T("错误") , MB_ICONWARNING ); return ; } //打开线路库 Dbf dbf; b = dbf.Use( m_strNameLine ); if (!b ) { dbf2.Close(); strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameLine ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return ; } //取选择的日期 CString strDate; strDate.Format( "%04d%02d%02d" , m_D_Date.GetYear(),m_D_Date.GetMonth(),m_D_Date.GetDay()); //打开金额库 Dbf dbfje; b = dbfje.Use( m_strNameJE ); if (!b ) { dbf2.Close(); dbf.Close(); strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameJE ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return ; } long lcdcount = dbf2.RecNum(); long ljecount = dbfje.RecNum(); for ( int k=0 ; kAddUser(user); } dbf.Close(); dbfje.Close(); dbf2.Close(); m_strMsg = "\"%Memo%\""; UpdateData(false); CDialog::OnOK(); */ return ; } CString DLG_Setup_SZGJ_GetMsg::GetCDJEMsg(long lItem) { CString strTemp; CString strMsg; /* char szCDName[256]={0}; //取车队ID号 long lRec = m_C_CD.GetItemData(lItem); char szCDID[64]={0}; Dbf dbf; BOOL b = dbf.Use( m_strNameCD ); if (!b ) { strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameCD ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return CString(""); } dbf.GoTo(lRec); dbf.GetRecField(szCDID,"CDID" ); dbf.GetRecField(szCDName,"CDNAME" ); dbf.Close(); if ( _tcslen(szCDID)<=0 ) return CString(""); //打开线路库 b = dbf.Use( m_strNameLine ); if (!b ) { strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameLine ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return CString(""); } //取选择的日期 CString strDate; strDate.Format( "%04d%02d%02d" , m_D_Date.GetYear(),m_D_Date.GetMonth(),m_D_Date.GetDay()); //打开金额库 Dbf dbfje; b = dbfje.Use( m_strNameJE ); if (!b ) { strTemp.Format( "打开数据库:%s失败,请检查路径设置!" , m_strNameJE ); MessageBox( strTemp , "错误" , MB_ICONWARNING ); return CString(""); } long ljecount = dbfje.RecNum(); //查找此车队对应的线路及其金额 strMsg.Format( "%s%02d月%02d日,",szCDName,m_D_Date.GetMonth(),m_D_Date.GetDay()); float fTotal=0.0f; char szTemp[64]={0}; char szTemp2[64]={0}; char szLineNo[64]={0}; long lCount = dbf.RecNum(); lItem = 0; for ( int i=0 ; i