⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pageaddorder.cpp

📁 短信群发系统
💻 CPP
字号:
// PageAddOrder.cpp : implementation file
//

#include "stdafx.h"
#include "notesendsystem.h"
#include "PageAddOrder.h"
#include "OrderManager.h"
#include "AdoRecordSet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPageAddOrder dialog


CPageAddOrder::CPageAddOrder(CWnd* pParent /*=NULL*/)
	: CDialog(CPageAddOrder::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPageAddOrder)
	m_content = _T("");
	m_start_date_v = COleDateTime::GetCurrentTime();
	m_start_time_v = COleDateTime::GetCurrentTime();
	m_end_date_v = COleDateTime::GetCurrentTime();
	m_end_time_v = COleDateTime::GetCurrentTime();
	//}}AFX_DATA_INIT
	CulOrderID = 1;
	IsNumInput = 0;
}


void CPageAddOrder::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPageAddOrder)
	DDX_Control(pDX, IDC_NO_INPUT, m_no_input);
	DDX_Control(pDX, IDC_ADD, m_addbtn);
	DDX_Control(pDX, IDC_END_DATE, m_end_date);
	DDX_Control(pDX, IDC_END_TIME, m_end_time);
	DDX_Control(pDX, IDC_START_DATE, m_start_date);
	DDX_Control(pDX, IDC_START_TIME, m_start_time);
	DDX_Text(pDX, IDC_CONTENT, m_content);
	DDX_DateTimeCtrl(pDX, IDC_START_DATE, m_start_date_v);
	DDX_DateTimeCtrl(pDX, IDC_START_TIME, m_start_time_v);
	DDX_DateTimeCtrl(pDX, IDC_END_DATE, m_end_date_v);
	DDX_DateTimeCtrl(pDX, IDC_END_TIME, m_end_time_v);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPageAddOrder, CDialog)
	//{{AFX_MSG_MAP(CPageAddOrder)
	ON_BN_CLICKED(IDC_NO_INPUT, OnNoInput)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_CULORDERID, updateCulOrderID)
END_MESSAGE_MAP()

//号码导入
void CPageAddOrder::OnNoInput() 
{	
	//先判断当前是否有选择订单
	if (CulOrderID == 1 || CulOrderID == 0)
	{
		MessageBox("请先选择一个订单,在进行导入操作","提示");
		return;
	}	
	CNoteSendSystemApp *pApp = (CNoteSendSystemApp *)AfxGetApp();
	CString			command;
	CAdoRecordSet	record;
	command.Format("select * from PhoneNumber where OrderID='%d'", CulOrderID);
	pApp->m_pConnection.GetRecordSet(command, record);
	if (!record.IsEof())
	{
		MessageBox("当前定单已经导入了号码,不能重复导入", "提示");
		return;
	}

	//跳出导入对话框
	CString szFilterFDlg = "文本文件 (*.txt)|*.txt||"; 
	CFileDialog filedlg(TRUE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilterFDlg, NULL);
	if ( filedlg.DoModal() !=IDOK )
	{
		return;
	}
	FilePathName = filedlg.GetPathName();
	if (!ReadNo())
	{
		return;
	}	

	int len = pApp->PhoneNoVect.size();

	for (int i=0; i<len; i++)
	{
		//保存到数据库
		if (!pApp->m_pConnection.AddPhoneNo(CulOrderID, pApp->PhoneNoVect[i].phone_no))
		{
			CString  str;
			str.Format("号码-[%s]导入失败", pApp->PhoneNoVect[i].phone_no);
			MessageBox(str, "提示");
			return;
		}		
	}
	pApp->PhoneNoVect.clear();
	MessageBox("导入成功", "提示");
}	

//添加订单
void CPageAddOrder::OnAdd() 
{
	UpdateData();
	if (m_content.GetLength() == 0)
	{
		MessageBox("订单内容不能为空", "提示");
		m_content.Empty();
		UpdateData(FALSE);
		return;
	}
	CString				start_time;
	CString				end_time;
		
	if (m_start_date_v > m_end_date_v )
	{
		MessageBox("结束日期必须大于开始日期", "错误");
		m_content.Empty();
		UpdateData(FALSE);
		return;
	}
	if (m_start_date_v == m_end_date_v)
	{
		if (m_start_time_v > m_end_time_v)
		{
			MessageBox("结束时间必须大于开始时间", "错误");
			m_content.Empty();
			UpdateData(FALSE);
			return;
		}
	}

	CNoteSendSystemApp *pApp = (CNoteSendSystemApp *)AfxGetApp();
	//写入数据库
	start_time = m_start_date_v.Format("%Y-%m-%d ") + m_start_time_v.Format("%H:%M:%S");
	end_time = m_end_date_v.Format("%Y-%m-%d ") + m_end_time_v.Format("%H:%M:%S");
	if (pApp->m_pConnection.AddOrder(start_time, end_time, m_content))
	{
		//正确后,更新列表控件	
		COrderManager *ordermanager = (COrderManager *)GetParent()->GetParent();
		ordermanager->UpdateOrderList();
		MessageBox("添加订单成功", "提示");
		m_content.Empty();
		UpdateData(FALSE);
		//导入号码
		
	}

	else
	{
		MessageBox("添加订单失败", "提示");
		m_content.Empty();
		UpdateData(FALSE);
	}	
}

int CPageAddOrder::ReadNo()
{
	CNoteSendSystemApp *pApp = (CNoteSendSystemApp *)AfxGetApp();
	CStdioFile	stdFile;
	PhoneNo		phoneno;
	CString		strBuf;	
	CString		strPhoneNO;
	if (!stdFile.Open(FilePathName , CFile::modeRead))
	{
		MessageBox("打开导入号码文件失败", "提示");
		return 0;
	}
	while(stdFile.ReadString(strPhoneNO))
	{
		strPhoneNO.TrimLeft(" \t");	
		strPhoneNO.TrimRight(" \t");
		if (strPhoneNO == "input phone number")
		{
			continue;
		}
		if (strPhoneNO == "end of phone number")
		{
			break;
		}			
		strPhoneNO.Left(11);	
		if (strPhoneNO.GetLength() != 11)
		{
			strBuf.Format("号码[%d]格式不正确,必须为11位", strPhoneNO);
			MessageBox(strBuf);
			stdFile.Close();
			return 0;
		}
		phoneno.phone_no = strPhoneNO;
		pApp->PhoneNoVect.push_back(phoneno);
		strPhoneNO.Empty();
	}
	stdFile.Close();
	return 1;
}

BOOL CPageAddOrder::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//设置2个开始日期和时间为当前时间
	CTime	time;
	time = CTime::GetCurrentTime();
	m_start_date.SetTime(&time);
	time = CTime::GetCurrentTime();
	m_start_time.SetTime(&time);
//	m_addbtn.EnableWindow(FALSE);
	return TRUE; 
}

UINT CPageAddOrder::updateCulOrderID(WPARAM w, LPARAM l)
{
	CulOrderID = w;
	return 1;
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -