// DLG_C_COmmend_Status.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_C_COmmend_Status.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_C_COmmend_Status dialog #include "MainFrm.h" #include "C_Commend.h" DLG_C_COmmend_Status::DLG_C_COmmend_Status(CWnd* pParent /*=NULL*/) : CDialog(DLG_C_COmmend_Status::IDD, pParent) { //{{AFX_DATA_INIT(DLG_C_COmmend_Status) m_strBZ = _T(""); m_strName = _T(""); m_lStatus = -1; m_strTJCorpName = _T(""); m_lVipInt = 0; m_lYWY = -1; m_lCorpID = 0; //}}AFX_DATA_INIT memset(&m_Data , 0 , sizeof(m_Data)); m_pYWYName = NULL; m_pCommend = (CC_Commend*)pParent; memset(&m_Commend_GetVipInt,0,sizeof(m_Commend_GetVipInt)); m_bGetVipInt = false; } void DLG_C_COmmend_Status::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_C_COmmend_Status) DDX_Control(pDX, IDC_COMMEND_STATUS_CORPID, m_E_CorpID); DDX_Control(pDX, IDC_COMMEND_STATUS_YWY, m_L_YWY); DDX_Text(pDX, IDC_COMMEND_STATUS_BZ, m_strBZ); DDV_MaxChars(pDX, m_strBZ, 100); DDX_Text(pDX, IDC_COMMEND_STATUS_NAME, m_strName); DDV_MaxChars(pDX, m_strName, 30); DDX_CBIndex(pDX, IDC_COMMEND_STATUS_STATUS, m_lStatus); DDX_Text(pDX, IDC_COMMEND_STATUS_TJCORPNAME, m_strTJCorpName); DDV_MaxChars(pDX, m_strTJCorpName, 60); DDX_Text(pDX, IDC_COMMEND_STATUS_VIPINT, m_lVipInt); DDV_MinMaxLong(pDX, m_lVipInt, -20000, 20000); DDX_CBIndex(pDX, IDC_COMMEND_STATUS_YWY, m_lYWY); DDX_Text(pDX, IDC_COMMEND_STATUS_CORPID, m_lCorpID); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_C_COmmend_Status, CDialog) //{{AFX_MSG_MAP(DLG_C_COmmend_Status) ON_CBN_SELCHANGE(IDC_COMMEND_STATUS_STATUS, OnSelchangeCommendStatusStatus) ON_BN_CLICKED(IDC_COMMEND_STATUS_CORPID_READ, OnCommendStatusCorpidRead) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_C_COmmend_Status message handlers BOOL DLG_C_COmmend_Status::OnInitDialog() { CDialog::OnInitDialog(); m_strName = m_Data.szName; m_strTJCorpName = m_Data.szTJ_CorpName; m_lStatus = m_Data.lStatus; m_lVipInt = m_Data.lVipInt; m_lCorpID = m_Data.lTJ_CorpID; UpdateData(false); //业务员 ANS_YWY_NameData * pYWY; CString strTemp; POSITION pos = m_pYWYName->GetHeadPosition(); POSITION pos2=0; while (pos) { pos2=pos; pYWY = m_pYWYName->GetNext( pos ); strTemp = pYWY->szYWYName; long lItem = m_L_YWY.AddString( strTemp ); m_L_YWY.SetItemData( lItem , (DWORD_PTR)pos2); if ( m_Data.lProcess_YWYID == pYWY->lYWYID ) { m_L_YWY.SetCurSel(lItem); } } UpdateData(true); if ( m_Data.lCommendType == 1 ) //兑换礼品 { GetDlgItem(IDC_COMMEND_STATUS_YWY)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_YWY_S)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_VIPINT_S)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_CORPID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_CORPID_S)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->ShowWindow(SW_HIDE); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_C_COmmend_Status::SetParam(ANS_GetCommendData data, CYWYName *pYSYName) { m_Data = data; m_pYWYName = pYSYName; } void DLG_C_COmmend_Status::OnSelchangeCommendStatusStatus() { GetDlgItem(IDC_COMMEND_STATUS_YWY)->EnableWindow(false); GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->EnableWindow(false); GetDlgItem(IDC_COMMEND_STATUS_CORPID)->EnableWindow(false); GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->EnableWindow(false); if ( !UpdateData(true) ) return ; if ( m_lStatus <= m_Data.lStatus ) { MessageBox( _T("修改状态不能返回,只能住前走!") , _T("错误") , MB_ICONWARNING ); return; } switch(m_lStatus ) { case 1: //正在处理 GetDlgItem(IDC_COMMEND_STATUS_YWY)->EnableWindow(true); break; case 2: //处理成功 GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->EnableWindow(true); GetDlgItem(IDC_COMMEND_STATUS_CORPID)->EnableWindow(true); GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->EnableWindow(true); break; case 3: //处理失败 break; } } void DLG_C_COmmend_Status::OnOK() { if ( !UpdateData(true) ) return ; if ( m_lStatus <= m_Data.lStatus ) { MessageBox( _T("修改状态不能返回,只能住前走!") , _T("错误") , MB_ICONWARNING ); return; } if ( m_strBZ.GetLength() <=4 ) { MessageBox( _T("修改状态必须输入说明!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDC_COMMEND_STATUS_BZ)->SetFocus(); return; } _tcscpy(m_Data.szMobset_BZ , m_strBZ ); m_Data.lStatus = m_lStatus; switch(m_lStatus ) { case 1: //正在处理 //业务员ID m_Data.lProcess_YWYID = 0; if ( m_lYWY > 0 ) { POSITION pos = (POSITION)m_L_YWY.GetItemData(m_lYWY); ANS_YWY_NameData * pData = m_pYWYName->GetNext( pos ); if (pData) { m_Data.lProcess_YWYID = pData->lYWYID; _tcscpy(m_Data.szProcess_YWY , pData->szYWYName); CDialog::OnOK(); } } else { if ( m_Data.lCommendType==0) { MessageBox(_T("请选择处理的业务员!") , _T("错误"),MB_ICONWARNING ); return; } else { CDialog::OnOK(); } } break; case 2: //处理成功 #ifdef SMSMANAGER_KF MessageBox(_T("客服无权限将状态改成成交或失败!") , _T("错误") , MB_ICONWARNING ); return ; #endif if ( m_Data.lCommendType == 0 ) //推荐客户,需要记录积分 { m_Data.lVipInt = m_lVipInt; m_Data.lTJ_CorpID = m_Commend_GetVipInt.lCorpID; if ( !m_bGetVipInt ) { MessageBox( _T("尚未输入企业取得推荐积分信息,不能继续!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_Data.lCommendType==0 && m_lVipInt <=0 ) { int iRet = MessageBox( _T("所输入的积分小于或等于0,是否继续?") , _T("提问") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet!=IDYES ) return ; } } CDialog::OnOK(); break; case 3: //处理失败 CDialog::OnOK(); break; } //CDialog::OnOK(); } ANS_GetCommendData DLG_C_COmmend_Status::GetParam() { return m_Data; } void DLG_C_COmmend_Status::OnCommendStatusCorpidRead() { CString strCorpID; long lCorpID=0; m_E_CorpID.GetWindowText(strCorpID); lCorpID = _ttol(strCorpID); if ( lCorpID<100000 || lCorpID>900000 ) { MessageBox( _T("企业ID输入有误,请检查!") , _T("错误"),MB_ICONWARNING); GetDlgItem(IDC_COMMEND_STATUS_CORPID)->SetFocus(); return; } REQ_Commend_GetVipInt * pCommend = new REQ_Commend_GetVipInt; memset(pCommend , 0 , sizeof(REQ_Commend_GetVipInt)); pCommend->lCorpID = lCorpID; m_pCommend->m_pMainFrame->SendFrame( SMSFUNC_COMMEND_GETVIPINT , (BYTE*)pCommend , sizeof(REQ_Commend_GetVipInt) ); m_bGetVipInt =false; } void DLG_C_COmmend_Status::SetCommend_VipInt(ANS_Commend_GetVipInt Commend_GetVipInt) { CString str; if ( Commend_GetVipInt.lErrCode!=0 ) { MessageBox(Commend_GetVipInt.szErrMsg , _T("错误") , MB_ICONWARNING ); return ; } str.Format(_T("取到企业ID%d的企业名称为:%s,推荐积分:%d。\r\n是否确认此次推荐积分?"),Commend_GetVipInt.lCorpID,Commend_GetVipInt.szCorpName,Commend_GetVipInt.lCommend_VipInt); int iRet = MessageBox( str , _T("请确认") ,MB_ICONQUESTION|MB_YESNO); if ( iRet!=IDYES ) return; m_Commend_GetVipInt = Commend_GetVipInt; if ( !UpdateData(true) ) return ; m_lVipInt = Commend_GetVipInt.lCommend_VipInt; //m_strTJCorpName = Commend_GetVipInt.szCorpName; m_bGetVipInt = true; UpdateData(false); }