亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? statdlg.cpp

?? c++編寫DOS下實現的學生考勤系統
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// StatDlg.cpp : implementation file
//

#include "stdafx.h"
#include "XieyuyingDB.h"
#include "StatDlg.h"
#include "PersonRS.h"
#include "CounterRS.h"

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

extern CDatabase db;
extern CTime StrToTime(CString str);
/////////////////////////////////////////////////////////////////////////////
// CStatDlg dialog


CStatDlg::CStatDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CStatDlg::IDD, pParent)
{
	CTime End_t=CTime::GetCurrentTime(); // 當前時間
	CTimeSpan tp(30,0,0,0); // 時間間隔為30天
	//{{AFX_DATA_INIT(CStatDlg)
	m_strTime = End_t.Format("%Y-%m");
	m_STime = End_t-tp;
	m_ETime = End_t;
	m_bSeekbytime = FALSE;
	m_bSeekbyperson = FALSE;
	m_strSeektime = _T("");
	m_strPersonID = _T("");
	m_strPersonName = _T("");
	//}}AFX_DATA_INIT
}


void CStatDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStatDlg)
	DDX_Control(pDX, IDC_STAT_PROGRESS, m_cProgress);
	DDX_Control(pDX, IDC_STAT_LIST, m_cList);
	DDX_Text(pDX, IDC_STAT_EDT_TIME, m_strTime);
	DDX_DateTimeCtrl(pDX, IDC_STAT_DATETIMEPICKER_STARTTIME, m_STime);
	DDX_DateTimeCtrl(pDX, IDC_STAT_DATETIMEPICKER_ENDTIME, m_ETime);
	DDX_Check(pDX, IDC_STAT_CHK_SEEKBYTIME, m_bSeekbytime);
	DDX_Check(pDX, IDC_STAT_CHK_SEEKBYPERSON, m_bSeekbyperson);
	DDX_Text(pDX, IDC_STAT_EDT_SEEKTIME, m_strSeektime);
	DDX_Text(pDX, IDC_STAT_EDT_SEEKPERSONID, m_strPersonID);
	DDX_Text(pDX, IDC_STAT_EDT_SEEKPERSONNAME, m_strPersonName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStatDlg, CDialog)
	//{{AFX_MSG_MAP(CStatDlg)
	ON_EN_CHANGE(IDC_STAT_EDT_SEEKPERSONID, OnChangeStatEdtSeekpersonid)
	ON_BN_CLICKED(IDC_STAT_BTN_SEEK, OnStatBtnSeek)
	ON_BN_CLICKED(IDC_STAT_BTN_STAT, OnStatBtnStat)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStatDlg message handlers

void CStatDlg::OnChangeStatEdtSeekpersonid() 
{
	UpdateData(); // 更新數據

	CPersonRS rs(&db); // 構造記錄集
	rs.m_strFilter = "ID='" + m_strPersonID + "'"; // 設置過濾條件
	rs.Open(); // 打開記錄集
	if(rs.GetRecordCount()==1) // 判斷員工記錄是否存在
	{
		m_strPersonName=rs.m_NAME; // 得到員工姓名
	}
	else m_strPersonName.Empty(); // 清除員工姓名的顯示
	rs.Close(); // 關閉記錄集
	UpdateData(FALSE); // 更新界面數據
}

void CStatDlg::OnStatBtnSeek() 
{
	CString strFilter; // 保存過濾字符串
	CStatRS rs(&db); // 構造統計數據表

	UpdateData(); // 更新數據
	// 判斷根據員工號過濾
	if(m_bSeekbyperson) strFilter="PERSON='" + m_strPersonID + "'";
	// 判斷根據年月過濾
	if(m_bSeekbytime)
	{
		if(!strFilter.IsEmpty())  // 如果已有過濾條件
			strFilter += " and "; // 需添加and連接符
		// 設置時間過濾條件
		strFilter += "YEAR_MONTH='" + m_strSeektime + "'";
	}
	if(!strFilter.IsEmpty()) // 判斷是否有過濾字符串
	{
		rs.m_strFilter=strFilter; // 設置過濾條件
	}
	UpdateList(rs); // 更新列表框
}

BOOL CStatDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// 為List添加網格
	m_cList.SetExtendedStyle(LVS_EX_GRIDLINES);
	// 設置List的列
	int nWidth=100;
	m_cList.InsertColumn(0, "記錄編號", LVCFMT_LEFT, 80);
	m_cList.InsertColumn(1, "員工號", LVCFMT_LEFT, 50);
	m_cList.InsertColumn(2, "年月", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(3, "正常工作時間(小時)", LVCFMT_LEFT, nWidth+40);
	m_cList.InsertColumn(4, "加班時間(小時)", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(5, "請假時間(半天)", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(6, "出差時間(半天)", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(7, "遲到次數", LVCFMT_LEFT, nWidth-30);
	m_cList.InsertColumn(8, "早退次數", LVCFMT_LEFT, nWidth-30);
	m_cList.InsertColumn(9, "曠工次數", LVCFMT_LEFT, nWidth-30);
	CStatRS rs(&db); // 構造出勤記錄表
	UpdateList(rs); // 更新List
	m_cList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CStatDlg::UpdateList(CStatRS& rs)
{
	int i=0;
	CString str;
	rs.Open(); // 打開統計數據表
	m_cList.DeleteAllItems(); // 清除列表框內容
	while(!rs.IsEOF()) // 對數據表中所有記錄進行處理
	{
		m_cList.InsertItem(i, ""); // 添加新Item
		str.Format("%d", rs.m_ID); // 轉換為字符串
		m_cList.SetItemText(i, 0, str);
		m_cList.SetItemText(i, 1, rs.m_PERSON);
		m_cList.SetItemText(i, 2, rs.m_YEAR_MONTH);
		str.Format("%d", rs.m_WORK_HOUR);
		m_cList.SetItemText(i, 3, str);
		str.Format("%d", rs.m_OVER_HOUR);
		m_cList.SetItemText(i, 4, str);
		str.Format("%d", rs.m_LEAVE_HDAY);
		m_cList.SetItemText(i, 5, str);
		str.Format("%d", rs.m_ERRAND_HDAY);
		m_cList.SetItemText(i, 6, str);
		str.Format("%d", rs.m_LATE_TIMES);
		m_cList.SetItemText(i, 7, str);
		str.Format("%d", rs.m_EARLY_TIMES);
		m_cList.SetItemText(i, 8, str);
		str.Format("%d", rs.m_ABSENT_TIMES);
		m_cList.SetItemText(i, 9, str);
		rs.MoveNext(); // 跳到下一條記錄
		i++;
	}
	rs.Close(); // 關閉統計數據表
}

void CStatDlg::OnStatBtnStat() 
{
	CRecordset rs_Q_attend(&db); // 構造Q_attend記錄集
	CRecordset rs_Q_leave(&db);  // 構造Q_leave記錄集
	CRecordset rs_Q_errand(&db);  // 構造Q_errand記錄集
	CTimeSpan tp_1(1,0,0,0); // 構造一個1天的CTimeSpan
	CTimeSpan tp_02(0,2,0,0); // 構造一個2小時的CTimeSpan
	CTimeSpan TimeSpan[4]; // 保存上下班時間
	int nHours[2]; // 保存上下午工作時間
	CString strSTime,strETime; // 保存始末時間
	CTime TimeStamp, LateTime, EarlyTime,WorkStart,WorkEnd; // 保存中間判斷時間
	int nWorkHour,nOverHour,nLeaveHDay,nErrandHDay; // 保存時間間隔長度
	BOOL bLate,bEarly,bAbsent,bLeave,bErrand; // 保存判斷結果
	int nLateTimes,nEarlyTimes,nAbsentTimes; // 保存次數
	CString cstr[4]; // 暫存起始時間
	char str[4][9]; // 暫存起始時間
	int i,j,n,counter; // 用于循環和計數
	CString strTmp,strTmp1,strTmp2; // 臨時變量
	// 臨時變量,年,月,日,時,分,秒
	int nHour,nMinute,nSecond;
	CString strFileName=".\\workplan.ini"; // INI文件名

	UpdateData(); // 更新數據
	// 讀取INI文件
	GetPrivateProfileString("WorkPlan", "Time1", "08:00:00", str[0], 9, strFileName);
	GetPrivateProfileString("WorkPlan", "Time2", "12:00:00", str[1], 9, strFileName);
	GetPrivateProfileString("WorkPlan", "Time3", "14:00:00", str[2], 9, strFileName);
	GetPrivateProfileString("WorkPlan", "Time4", "18:00:00", str[3], 9, strFileName);
	for(i=0; i<4; i++) cstr[i]=str[i];

	// 定義四個時間間隔變量并初始化為INI文件中的值
	CTimeSpan *pTS;
	for(i=0; i<4; i++)
	{
		sscanf(cstr[i].Left(2), "%d", &nHour);		// 得到時
		sscanf(cstr[i].Mid(3,2), "%d", &nMinute);	// 得到分
		sscanf(cstr[i].Mid(6,2), "%d", &nSecond);	// 得到秒
		// 構造一個時間間隔變量
		pTS=new CTimeSpan(0,nHour,nMinute,nSecond);
		TimeSpan[i]=*pTS; // 賦值
		delete pTS;
	}
	nHours[0]=(TimeSpan[1]-TimeSpan[0]).GetTotalHours(); // 計算上午工作時間
	if((TimeSpan[1]-TimeSpan[0]).GetMinutes()>30) nHours[0]++; // 四舍五入
	nHours[1]=(TimeSpan[3]-TimeSpan[2]).GetTotalHours(); // 計算下午工作時間
	if((TimeSpan[3]-TimeSpan[2]).GetMinutes()>30) nHours[1]++; // 四舍五入
	// 轉換統計開始時間

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费精品视频| 亚洲成人av资源| 亚洲主播在线播放| 日韩和欧美的一区| 国产一区欧美二区| 99精品桃花视频在线观看| 欧美亚洲动漫精品| 欧美成人一区二区三区片免费| 亚洲一区二区在线播放相泽| 午夜精品福利久久久| 国产一区二区三区av电影 | 国产最新精品精品你懂的| 国产精品综合av一区二区国产馆| 亚洲一区二区美女| 国产综合久久久久影院| 91亚洲大成网污www| 日韩精品一区二| 亚洲欧美日韩成人高清在线一区| 26uuu亚洲| 亚洲视频一区二区在线观看| 日本不卡的三区四区五区| 成人自拍视频在线| 欧美一区二区三区免费在线看| 欧美精品日日鲁夜夜添| 国产三区在线成人av| 亚瑟在线精品视频| 不卡的av在线播放| 日韩欧美综合在线| 亚洲视频免费观看| 国产在线精品一区二区夜色| 欧美中文字幕一区| 久久女同精品一区二区| 亚洲成精国产精品女| 国产成a人亚洲| 欧美一级夜夜爽| 一区二区三区在线免费| 大白屁股一区二区视频| 日韩你懂的在线观看| 夜夜嗨av一区二区三区中文字幕| 一区二区三区在线视频观看58| 一区二区三区国产精华| 激情成人午夜视频| 欧美日韩一区 二区 三区 久久精品| 欧美日韩国产高清一区| 中文字幕一区二区三区在线观看| 综合久久久久久| 国产一区二区三区免费看| 欧美性受xxxx黑人xyx性爽| 国产精品五月天| 国产在线看一区| 精品欧美一区二区三区精品久久| 久久精品一区二区三区四区| 日韩va亚洲va欧美va久久| 91久久精品午夜一区二区| 国产精品久久久久国产精品日日| 一区二区三区免费网站| 99久久综合狠狠综合久久| 欧美tk丨vk视频| 另类小说视频一区二区| 91精品在线免费| 日韩精品一区二区三区在线播放 | 亚洲成av人影院| 国产麻豆视频精品| 国产女同互慰高潮91漫画| 99re热视频精品| 一区二区三区在线视频播放| 色婷婷综合久久久久中文一区二区| 91精品国产91热久久久做人人| 欧美大片在线观看一区二区| 一区二区三区在线播放| 不卡的av在线播放| 中文字幕av资源一区| 懂色av中文字幕一区二区三区 | 国产日韩欧美激情| 国产精品一区二区视频| 久久人人超碰精品| 精品一区二区三区在线播放| 日韩精品一区二区三区蜜臀 | 成人av免费观看| 国产精品久久久一区麻豆最新章节| 一区二区三区精品在线观看| 91丝袜美腿高跟国产极品老师 | 天天综合网 天天综合色| 日本久久电影网| 亚洲视频免费看| 在线观看一区二区视频| 三级亚洲高清视频| 日韩一级完整毛片| 国内精品嫩模私拍在线| 久久久www成人免费毛片麻豆 | 91福利精品视频| 一区二区三区国产豹纹内裤在线| 国精产品一区一区三区mba桃花| 在线日韩一区二区| 午夜一区二区三区视频| 欧美一区二区三区在线视频| 日韩影院免费视频| 欧美精品一区二区精品网| 国产精品18久久久久久vr| 国产精品国产自产拍在线| 色www精品视频在线观看| 日韩精品久久理论片| 精品国产免费人成在线观看| 粉嫩高潮美女一区二区三区| 国产精品国产三级国产专播品爱网 | 免费在线观看精品| 久久麻豆一区二区| 99re这里只有精品首页| 一区二区日韩av| 日韩精品在线看片z| 成人午夜视频免费看| 一区二区三区精品在线| 欧美一区二区三区爱爱| 国产馆精品极品| 一区二区三区四区中文字幕| 91精选在线观看| www.在线欧美| 三级不卡在线观看| 久久精品夜色噜噜亚洲a∨| 91蜜桃网址入口| 另类中文字幕网| 亚洲色图视频网| 日韩女优av电影在线观看| 99精品偷自拍| 精品中文字幕一区二区| 亚洲欧美偷拍卡通变态| 91精品国产综合久久久久久| 成人午夜看片网址| 日韩高清一区在线| 中文字幕一区二区5566日韩| 欧美男男青年gay1069videost| 亚洲一区二区精品视频| 久久精品水蜜桃av综合天堂| 在线观看精品一区| 国产成人一级电影| 亚洲图片欧美综合| 国产精品成人免费| 精品乱人伦一区二区三区| 欧美在线视频你懂得| 国产成人精品亚洲日本在线桃色| 欧美国产日韩一二三区| 欧美日韩免费视频| 成人丝袜18视频在线观看| 日本网站在线观看一区二区三区| 69av一区二区三区| 91麻豆蜜桃一区二区三区| 美女性感视频久久| 亚洲男同1069视频| 久久老女人爱爱| 日韩天堂在线观看| 欧美天堂一区二区三区| 成人av网站在线观看| 精品一区二区三区在线播放| 午夜视频久久久久久| 亚洲天堂福利av| 国产欧美日韩不卡| 日韩欧美成人午夜| 欧美高清www午色夜在线视频| 美女看a上一区| 亚洲成人av电影| 亚洲免费伊人电影| 国产亚洲人成网站| 欧美成人女星排行榜| 欧美精品久久一区| 欧美性猛交xxxxxx富婆| 99久久99精品久久久久久| 国产成人免费视频网站 | 色综合久久88色综合天天免费| 亚洲精品欧美在线| 综合婷婷亚洲小说| 国产精品乱码妇女bbbb| 国产三级欧美三级| 久久久久久久精| 久久日一线二线三线suv| 91精品一区二区三区久久久久久| 国产盗摄一区二区| 九色porny丨国产精品| 免费看日韩a级影片| 日本美女一区二区| 日韩激情视频网站| 视频在线观看一区| 男女男精品视频网| 久久精品久久99精品久久| 久久精品国产亚洲一区二区三区| 国产精品乱人伦一区二区| 国产三级精品在线| 国产精品网站导航| 欧美激情综合网| 国产精品国产三级国产aⅴ入口| 欧美日韩中文精品| 欧美日韩在线综合| 5566中文字幕一区二区电影| 欧美疯狂做受xxxx富婆| 欧美一级艳片视频免费观看| 欧美岛国在线观看| 久久尤物电影视频在线观看| 国产丝袜欧美中文另类| 国产精品久久久久久久久晋中 | 国产精品综合av一区二区国产馆| 一级中文字幕一区二区|