freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

企業(yè)人事管理系統(tǒng)設計與開發(fā)論文-資料下載頁

2025-06-22 12:26本頁面
  

【正文】 天數加1 strETime=(m_ETime+tp_1).Format(%Y%m%d)。 // 提取員工列表 CPersonSet rs_person。 // 構造員工表 ()。 // 打開員工表 n=()。 // 記錄員工人數 i=0。 // 初始化已處理員工人數 while(!()) // 依次對每個員工進行統(tǒng)計 { //獲取出勤記錄 // 執(zhí)行查詢 CString stringStime=strSTime。 CString stringEtime=strETime。 (CRecordset::forwardOnly, select IN_OUT,IO_TIME from ATTENDANCE\ where PERSON=39。 + + 39。 and IO_TIME + stringStime + and IO_TIME +stringEtime + order by IO_TIME)。 ()。 // 清空strTmp1 // 初始化 nWorkHour=nOverHour=0。 nLeaveHDay=nErrandHDay=0。 nLateTimes=nEarlyTimes=nAbsentTimes=0。 TimeStamp=m_STime。 // 初始化時間戳為統(tǒng)計開始時間 while(TimeStamp m_ETime+tp_02) // 判斷是否超出統(tǒng)計結束時間 { if(()!=1 amp。amp。 ()!=7) // 判斷是否工作日 { for(j=0。j=1。j++) // 遍歷班次 { ()。 LateTime=TimeStamp+TimeSpan[2*j]。 // 設置遲到時間 EarlyTime=TimeStamp+TimeSpan[2*j+1]。 // 設置早退時間 // 判斷是否請假 (CRecordset::forwardOnly, select ID from LEAVE where\ PERSON=39。 + + 39。 and START_TIME + (%Y%m%d) + and END_TIME + (%Y%m%d) + )。 bLeave=(()0)。 // 判斷是否有請假記錄 ()。 // 關閉記錄集 // 判斷是否出差 (CRecordset::forwardOnly, select ID from ERRAND where\ PERSON=39。 + + 39。 and START_TIME + (%Y%m%d) + and END_TIME + (%Y%m%d) + )。 bErrand=(()0)。 // 判斷是否有出差記錄 ()。 // 關閉記錄集 (CRecordset::forwardOnly, select IN_OUT,IO_TIME from ATTENDANCE\ where PERSON=39。 + + 39。 and IO_TIME + stringStime + and IO_TIME +stringEtime + order by IO_TIME)。 if(bLeave) // 如果有請假記錄 nLeaveHDay++。 // 請假記錄加1 else if(bErrand) // 如果有出差記錄 { nErrandHDay++。 // 出差計數加1 nWorkHour+=nHours[j]。 // 按正常班累加工作時間 } else // 正常上班 { WorkStart=LateTime。 // 設置工作開始時間 WorkEnd=EarlyTime。 // 設置工作結束時間 bLate=TRUE。 // 初始化遲到判斷 bAbsent=FALSE。 // 初始化曠工判斷 // 判斷是否遲到 if(!() amp。amp。 // 記錄集不空 ()) // 空,第一次GetFieldValue (IO_TIME,strTmp1)。 // 得到IO_TIME while(!() amp。amp。 StrToTime(strTmp1)=LateTime) {// 根據時間順序判斷是否遲到 // 得到IN_OUT (IN_OUT,strTmp2)。 bLate=(strTmp2==O)。 // 判斷上班時間前是否報到 ()。 // 跳到下一條出勤記錄 // 得到IO_TIME if(!()) (IO_TIME,strTmp1)。 } // 判斷是否曠工 if(bLate) // 判斷是否遲到 { if(!() amp。amp。 StrToTime(strTmp1)EarlyTime) WorkStart=StrToTime(strTmp1)。 // 記錄遲到時間 else bAbsent=TRUE。 // 如果下班前仍未報到記為曠工 } bEarly=FALSE。 // 判斷是否早退 while(!() amp。amp。 StrToTime(strTmp1)EarlyTime) { // 得到IN_OUT (IN_OUT,strTmp2)。 bEarly=(strTmp2==O)。 // 判斷是否有早退 if(bEarly) { // 將早退時間記錄為工作結束時間 WorkEnd=StrToTime(strTmp1)。 } else WorkEnd=EarlyTime。 // 將下班時間記錄為工作結束時間 ()。 // 跳至下一條出勤記錄 // 得到IO_TIME if(!()) (IO_TIME,strTmp1)。 } // 如果曠工,增加曠工次數記錄 if(bAbsent) nAbsentTimes++。 else { // 如果遲到,增加遲到次數記錄 if(bLate) nLateTimes++。 // 如果早退,增加早退次數記錄 if(bEarly) nEarlyTimes++。 // 計算實際工作時間 nWorkHour+=(WorkEndWorkStart).GetTotalHours()。 if((WorkEndWorkStart).GetMinutes()30) nWorkHour++。 // 四舍五入 } } } // End of 遍歷班次 } // End of 是否工作日 TimeStamp+=tp_1。 // 推進一天 } // End of TimeStamp m_ETime+tp_02 ()。 // 關閉Q_attend記錄集 // 統(tǒng)計加班時間 CRecordset rs_overtime(amp。db)。 // 構造Q_overtime記錄集 (CRecordset::forwardOnly, select sum(WORK_HOURS) as SUM from OVERTIME\ where PERSON=39。 + + 39。 and WORK_DATE + (%Y%m%d) + and WORK_DATE + (%Y%m%d) + )。 if(()0) // 有記錄 { // 提取加班時間 (SUM,strTmp)。 sscanf(strTmp,%d,amp。nOverHour)。 } else nOverHour=0。 // 無記錄 ()。 // 判斷是否已有該月考勤記錄 CAttStatSet rs_stat。 // 構造統(tǒng)計數據表 // 設置過濾串 =PERSON=39。 + + 39。 and YEAR_MONTH=39。 + m_strTime + 39。 ()。 // 打開數據表 if(()==0) // 判斷是否有該月份考勤記錄 { // 追加統(tǒng)計記錄 ()。 =m_strTime。 =。 =nWorkHour。 =nOverHour。 =nLeaveHDay。 =nErrandHDay。 =nLateTimes。 =nEarlyTimes。 =nAbsentTimes。 ()。 // 提交修改 } else { // 記錄已存在修改數據 ()。 =nWorkHour。 =nOverHour。 =nLeaveHDay。 =nErrandHDay。 =nLateTimes。 =nEarlyTimes。 =nAbsentTimes。 ()。 // 提交修改 } ()。 // 關閉數據表 i++。 // 已統(tǒng)計員工數加1 ()。 // 跳到下一個員工記錄 } ()。 // 關閉員工表 CAttStatSet rs_stat。 // 構造統(tǒng)計數據表 UpdateList(rs_stat)。 // 更新列表框}// 將時間串轉換為CTime型變量CTime CAttStatDlg::StrToTime(CString str){// 時間串格式 %Y%m%d %H:%M:%S,如19990101 11:11:11 int nYear,nMonth,nDay,nHour,nMinute,nSecond。 sscanf((4), %d, amp。nYear)。 // 得到年 sscanf((5,2), %d, amp。nMonth)。 // 得到月 sscanf((8,2), %d, amp。nDay)。 // 得到日 sscanf((11,2), %d, amp。nHour)。 // 得到時 sscanf((14,2), %d, amp。nMinute)。 // 得到分 sscanf((17,2), %d, amp。nSecond)。 // 得到分 // 構造CTime變量 CTime result(nYear,nMonth,nDay,nHour,nMinute,nSecond)。 return result。}該窗體主要功能是顯示本應用程序的名稱和版本信息。 其代碼如下:CLoginDlg loginDlg。 if(()!=IDOK) return FALSE。 CSingleDocTemplate* pDocTemplate。 pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CManagerDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CManagerView))。 AddDocTemplate(pDocTemplate)。 CCommandLineInfo cmdInfo。 ParseCommandLine(cmdInfo)。 if (!ProcessShellCommand(cmdInfo)) return FALSE。 m_pMainWndShowWindow(SW_SHOWMAXIMIZED)。 m_pMainWndUpdateWindow()。 m_pMainWndSetWindowText(XXX企業(yè)人事管理系統(tǒng))。 return TRUE。 ……………………………………………………………………………………………………………….8. 測試 有很多人認為,辛苦搞了需求分析、數據庫設計、總體設計、詳細設計,最后編碼、調試通過,軟件的制作就算大公告成,可以開香檳慶祝了。但真的是這樣嗎?在軟件開發(fā)期有一種工作的工作量占開發(fā)期總工作量的40%,是所有工作中工作量最大的,不是別的,就是軟件測試。黑盒測試法是把程序看成一個黑盒子,不考慮程序的內部邏輯結構和處理過程,只著眼于程序的外部特性。也就是說黑盒測試法是在程序的接口上進行測試,看它是否滿足功能要求,輸入能否正確
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1