📄 dlgaveragetime.cpp
字号:
// DlgAverageTime.cpp : implementation file
//
#include "stdafx.h"
#include "manage_wh.h"
#include "DlgAverageTime.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgAverageTime dialog
CDlgAverageTime::CDlgAverageTime(CWnd* pParent /*=NULL*/)
: CDialog(CDlgAverageTime::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgAverageTime)
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDI_MYICON);
}
void CDlgAverageTime::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgAverageTime)
DDX_Control(pDX, IDC_YEAR, m_ctrlYear);
DDX_Control(pDX, IDC_LIST, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgAverageTime, CDialog)
//{{AFX_MSG_MAP(CDlgAverageTime)
ON_BN_CLICKED(IDC_SEARCH, OnSearch)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgAverageTime message handlers
BOOL CDlgAverageTime::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN && (pMsg->wParam==13 || pMsg->wParam==27))
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
BOOL CDlgAverageTime::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon,TRUE);
m_list.InsertColumn(0,"月份",LVCFMT_LEFT,80,-1);
m_list.InsertColumn(1,"订单数量",LVCFMT_LEFT,120,-1);
m_list.InsertColumn(2,"总用时(分钟)",LVCFMT_LEFT,120,-1);
m_list.InsertColumn(3,"平均用时(分钟)",LVCFMT_LEFT,120,-1);
m_list.SetExtendedStyle( LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT );
CTime tm(CTime::GetCurrentTime());
CString sYear;
sYear.Format("%.4d",tm.GetYear());
static_cast<CEdit *>(GetDlgItem(IDC_YEAR))->SetWindowText(sYear);
return TRUE;
}
void CDlgAverageTime::OnSearch()
{
m_list.DeleteAllItems();
UpdateData();
int iYear;
CString szYear;
static_cast<CEdit *>(GetDlgItem(IDC_YEAR))->GetWindowText(szYear);
iYear = atoi(szYear);
if (szYear.IsEmpty() || szYear.Mid(0,1)=="0" || iYear > 3000 || iYear < 2006)
return;
CAdoConnection cn;
CAdoRecordSet rs;
int row(0),iOrderNum,iTimeSum,iTimeAve;
CString sYear,sBeginTime,sEndTime,sMonth,sOrderNum,sCurMonth,sTimeSum,sTimeAve;
sYear.Format("%d",iYear);
cn.OpenUDLFile(gstrConSQLSer);
rs.SetAdoConnection(&cn);
for (int i=1;i<=12;i++)
{
iTimeSum = 0;
iTimeAve = 0;
iOrderNum = 0;
sCurMonth.Format("%d月",i);
sMonth.Format("%.2d",i);
if (sMonth == "12")
{
sBeginTime = ""+sYear+"-"+sMonth+"-01 00:00:00";
sEndTime = ""+sYear+"-"+sMonth+"-31 23:59:59";
}
else
{
sBeginTime = ""+sYear+"-"+sMonth+"-01 00:00:00";
sMonth.Format("%.2d",i+1);
sEndTime = ""+sYear+"-"+sMonth+"-01 00:00:00";
}
row = m_list.InsertItem(row,"");
rs.Open("select * from T_Order_History where F_EndTime>='"+sBeginTime+"' and F_EndTime<'"+sEndTime+"' and F_Status=1",adCmdText);
if (rs.GetRecordCount() > 0)
{
rs.MoveFirst();
while (!rs.IsEOF())
{
rs.GetCollect("F_BeginTime",sBeginTime);
rs.GetCollect("F_EndTime",sEndTime);
CTime tmBegin(atoi(sBeginTime.Mid(0,4)),atoi(sBeginTime.Mid(5,2)),atoi(sBeginTime.Mid(8,2)),atoi(sBeginTime.Mid(11,2)),atoi(sBeginTime.Mid(14,2)),atoi(sBeginTime.Mid(17,2)));
CTime tmEnd(atoi(sEndTime.Mid(0,4)),atoi(sEndTime.Mid(5,2)),atoi(sEndTime.Mid(8,2)),atoi(sEndTime.Mid(11,2)),atoi(sEndTime.Mid(14,2)),atoi(sEndTime.Mid(17,2)));
CTimeSpan tmSpan = tmEnd - tmBegin;
iTimeSum += tmSpan.GetDays()*24*3600+tmSpan.GetHours()*3600+tmSpan.GetMinutes()*60+tmSpan.GetSeconds();
iOrderNum++;
rs.MoveNext();
}
sOrderNum.Format("%d",iOrderNum);
double dTime = iTimeSum/60.0;
sTimeSum.Format("%.2f",dTime);
sTimeAve.Format("%.2f",dTime/iOrderNum);
}
else
{
sOrderNum = "0";
sTimeSum = "0";
sTimeAve = "0";
}
rs.Close();
m_list.SetItemText(row,0,sCurMonth);
m_list.SetItemText(row,1,sOrderNum);
m_list.SetItemText(row,2,sTimeSum);
m_list.SetItemText(row,3,sTimeAve);
row++;
}
cn.Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -