37、办公室日常管理信息系统(6)

2019-03-22 23:38

{ }

BOOL CAttStatDlg::OnInitDialog() {

CDialog::OnInitDialog();

UpdateData(); // 判断根据员工号过滤

if(m_bSeekbyperson) strFilter=\// 判断根据年月过滤 if(m_bSeekbytime) {

if(!strFilter.IsEmpty())

strFilter += \}

// 设置过滤条件 if(!strFilter.IsEmpty()) {

rs.m_strFilter=strFilter; }

// 更新列表框 UpdateList(rs);

strFilter += \CString strFilter; CAttStatSet rs;

nWidth+40);

NES); }

// 设置列表 int nWidth=100;

m_cList.InsertColumn(0, \记录编号\m_cList.InsertColumn(1, \员工号\m_cList.InsertColumn(2, \年月\

m_cList.InsertColumn(3, \正常工作时间(小时)\LVCFMT_LEFT, m_cList.InsertColumn(4, \加班时间(小时)\m_cList.InsertColumn(5, \请假时间(半天)\m_cList.InsertColumn(6, \出差时间(半天)\m_cList.InsertColumn(7, \迟到次数\m_cList.InsertColumn(8, \早退次数\m_cList.InsertColumn(9, \旷工次数\m_cList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLI// 更新列表 CAttStatSet rs; UpdateList(rs);

return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE

void CAttStatDlg::UpdateList(CAttStatSet& rs) {

int i=0; CString str; // 清除列表框内容 m_cList.DeleteAllItems(); //显示全部数据

}

rs.Open(); while(!rs.IsEOF()) {

m_cList.InsertItem(i, \ str.Format(\ 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(\ m_cList.SetItemText(i, 3, str); str.Format(\ m_cList.SetItemText(i, 4, str);

str.Format(\VE_HDAY); m_cList.SetItemText(i, 5, str);

str.Format(\ m_cList.SetItemText(i, 6, str); str.Format(\ m_cList.SetItemText(i, 7, str);

str.Format(\Y_TIMES); m_cList.SetItemText(i, 8, str);

str.Format(\ m_cList.SetItemText(i, 9, str); rs.MoveNext(); i++; }

rs.Close();

void CAttStatDlg::OnStatBtnStat()

{

判断时间 度

strFileName);

CDatabase db;

db.Open(_T(\CRecordset rs_attend(&db); CRecordset rs_leave(&db); CRecordset rs_errand(&db);

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; // 用于循环和计数

CString strTmp,strTmp1,strTmp2; // 临时变量 // 临时变量,年,月,日,时,分,秒 int nHour,nMinute,nSecond;

CString strFileName=\文件名

UpdateData(); // 更新数据 // 读取INI文件

GetPrivateProfileString(\\

\

str[0],

9,

GetPrivateProfileString(\strFileName);

GetPrivateProfileString(\strFileName);

GetPrivateProfileString(\strFileName); 时间 时间

for(i=0; i<4; i++) cstr[i]=str[i];

\\\

\\\

str[1], str[2], str[3],

9, 9, 9,

// 定义四个时间间隔变量并初始化为INI文件中的值 CTimeSpan *pTS; for(i=0; i<4; i++) {

sscanf(cstr[i].Left(2), \

// 得到时

sscanf(cstr[i].Mid(3,2), \// 得到分 sscanf(cstr[i].Mid(6,2), \// 得到秒 // 构造一个时间间隔变量

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]++; // 四舍五入 // 转换统计开始时间

strSTime=m_STime.Format(\// 转换统计结束时间,且天数加1

strETime=(m_ETime+tp_1).Format(\// 提取员工列表


37、办公室日常管理信息系统(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:水处理作业题1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: