📄 pageaddorder.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 + -