// DlgCheckInDaily.cpp : 实现文件 // #include "stdafx.h" #include "YLGL.h" #include "DlgCheckInDaily.h" #include "GetClientInfo.h" #include "ShowRemark.h" // CDlgCheckInDaily 对话框 IMPLEMENT_DYNAMIC(CDlgCheckInDaily, CDialog) CDlgCheckInDaily::CDlgCheckInDaily(CWnd* pParent /*=NULL*/) : CDialog(CDlgCheckInDaily::IDD, pParent) , m_dt_begin_query(COleDateTime::GetCurrentTime()) , m_dt_end_query(COleDateTime::GetCurrentTime()) , m_staff(g_user.name) , m_customer(_T("")) , m_strWorkContent(_T("")) , m_strTomorrowPlay(_T("")) , m_strEvalulate(_T("")) , m_strQueryWord(_T("")) , m_id(_T("")) , m_dt_check(COleDateTime::GetCurrentTime()) , m_dt_fill(COleDateTime::GetCurrentTime()) { } CDlgCheckInDaily::~CDlgCheckInDaily() { } void CDlgCheckInDaily::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST, m_list); DDX_Control(pDX, CBOX_DEPT, m_cbox_dept); DDX_Control(pDX, CBOX_STAFF, m_cbox_staff); DDX_DateTimeCtrl(pDX, DT_QUERY_BEGIN_TIME, m_dt_begin_query); DDX_DateTimeCtrl(pDX, DT_QUERY_END_TIME, m_dt_end_query); DDX_Text(pDX, ET_STAFF, m_staff); DDX_Text(pDX, ET_CUSTOMER, m_customer); DDX_Text(pDX, ET_WORK_CONTENT, m_strWorkContent); DDX_Text(pDX, ET_TOMMOROW_PLAN, m_strTomorrowPlay); DDX_Text(pDX, ET_EVALULATE, m_strEvalulate); DDX_Text(pDX, ET_QUERY_WORD, m_strQueryWord); DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_dt_check); DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_dt_fill); } BEGIN_MESSAGE_MAP(CDlgCheckInDaily, CDialog) ON_WM_SYSCOMMAND() ON_WM_CTLCOLOR() ON_BN_CLICKED(CHECK_DEPT, &CDlgCheckInDaily::OnBnClickedDept) ON_BN_CLICKED(CHECK_STAFF, &CDlgCheckInDaily::OnBnClickedStaff) ON_NOTIFY(DTN_DATETIMECHANGE, DT_QUERY_BEGIN_TIME, &CDlgCheckInDaily::OnDtnDatetimechangeQueryBeginTime) ON_NOTIFY(DTN_DATETIMECHANGE, DT_QUERY_END_TIME, &CDlgCheckInDaily::OnDtnDatetimechangeQueryEndTime) ON_CBN_SELCHANGE(CBOX_DEPT, &CDlgCheckInDaily::OnCbnSelchangeDept) ON_CBN_CLOSEUP(CBOX_STAFF, &CDlgCheckInDaily::OnCbnCloseupStaff) ON_BN_CLICKED(BTN_QUERY, &CDlgCheckInDaily::OnBnClickedQuery) ON_BN_CLICKED(BTN_SAVE, &CDlgCheckInDaily::OnBnClickedSave) ON_BN_CLICKED(BTN_RESET, &CDlgCheckInDaily::OnBnClickedReset) ON_BN_CLICKED(BTN_DELETE_RECORD, &CDlgCheckInDaily::OnBnClickedDeleteRecord) ON_NOTIFY(NM_CLICK, IDC_LIST, &CDlgCheckInDaily::OnNMClickList) ON_BN_CLICKED(BTN_FIND, &CDlgCheckInDaily::OnBnClickedFind) ON_BN_CLICKED(BTN_EVALULATE, &CDlgCheckInDaily::OnBnClickedEvalulate) END_MESSAGE_MAP() // CDlgCheckInDaily 消息处理程序 BOOL CDlgCheckInDaily::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 CRect rcOldWnd; GetWindowRect(rcOldWnd); // 移动窗口; MoveWindow(&g_rc); CRect rcWnd; GetWindowRect(rcWnd); // 移动list; CRect rcList; m_list.GetWindowRect(rcList); rcList.right = rcWnd.right - 15; rcList.bottom = rcWnd.bottom - 15; ScreenToClient(rcList); m_list.MoveWindow(rcList); // 高差, 重新布局; INT nDValue = rcWnd.Height() - rcOldWnd.Height(); if ( nDValue > 0 ) {// 30 + 25; CRect rcCtrl; CWnd *pWnd = NULL; //nDValue -= 25; INT nValue = nDValue/3; pWnd = GetDlgItem(ET_WORK_CONTENT); pWnd->GetWindowRect(rcCtrl); rcCtrl.bottom += nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); ////////////////////////////////////////////////////////////////////////// pWnd = GetDlgItem(IDC_STATIC1); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += nValue; rcCtrl.bottom += nValue*2; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); pWnd = GetDlgItem(ET_TOMMOROW_PLAN); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += nValue; rcCtrl.bottom += nValue*2; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); /* pWnd = GetDlgItem(BTN_ADD_TOMORROW_PLAN); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += nValue; rcCtrl.bottom += nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl);*/ ////////////////////////////////////////////////////////////////////////// pWnd = GetDlgItem(IDC_STATIC2); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 2*nValue; rcCtrl.bottom += nValue*3; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); pWnd = GetDlgItem(ET_EVALULATE); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 2*nValue; rcCtrl.bottom += 3*nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); pWnd = GetDlgItem(BTN_EVALULATE); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 2*nValue; rcCtrl.bottom += 2*nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); ////////////////////////////////////////////////////////////////////////// pWnd = GetDlgItem(BTN_SAVE); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 3*nValue; rcCtrl.bottom += 3*nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); pWnd = GetDlgItem(BTN_RESET); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 3*nValue; rcCtrl.bottom += 3*nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); pWnd = GetDlgItem(BTN_DELETE_RECORD); pWnd->GetWindowRect(rcCtrl); rcCtrl.top += 3*nValue; rcCtrl.bottom += 3*nValue; ScreenToClient(rcCtrl); pWnd->MoveWindow(rcCtrl); } // 初始化list列头; m_list.SetHeadings( _T("id, 60"), _T("部门, 120"), _T("人员, 120"), _T("客户全称, 120"), _T("日期, 60"), _T("填写日期, 120"), _T("工作内容,60"), _T("明日计划,60"), _T("领导评定,60"), _T("状态,60"), NULL); // 删除记录; GetDlgItem(BTN_DELETE_RECORD)->EnableWindow(IsHasRights2new(49)); // 评定; GetDlgItem(BTN_EVALULATE)->EnableWindow(IsHasRights2new(53)); //((CEdit*)GetDlgItem(ET_EVALULATE))->SetReadOnly(!IsHasRights2new(53)); ((CButton*)GetDlgItem(CHECK_DEPT))->SetCheck(FALSE); ((CButton*)GetDlgItem(CHECK_STAFF))->SetCheck(FALSE); m_cbox_dept.EnableWindow(FALSE); m_cbox_staff.EnableWindow(FALSE); // 获取部门信息,并初始cbox; GetDepartment(); COleDateTimeSpan tSpan(7, 0, 0, 0); m_dt_begin_query -= tSpan; UpdateData(FALSE); GetCheckInDailyInfo(); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void CDlgCheckInDaily::OnOK() { // TODO: 在此添加专用代码和/或调用基类 FillList(); //CDialog::OnOK(); } void CDlgCheckInDaily::OnCancel() { // TODO: 在此添加专用代码和/或调用基类 CDialog::OnCancel(); } void CDlgCheckInDaily::OnSysCommand(UINT nID, LPARAM lParam) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if (nID == SC_MOVE || nID == 0xF012) return; CDialog::OnSysCommand(nID, lParam); } HBRUSH CDlgCheckInDaily::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 switch(nCtlColor) { case CTLCOLOR_DLG: { return CreateSolidBrush(g_clr_dlg); } break; case CTLCOLOR_BTN: break; case CTLCOLOR_STATIC: { pDC->SetBkMode(TRANSPARENT); return CreateSolidBrush(g_clr_dlg); } break; } // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; } void CDlgCheckInDaily::OnBnClickedDept() { BOOL bCheck = ((CButton*)GetDlgItem(CHECK_DEPT))->GetCheck(); if ( bCheck ) { ((CButton*)GetDlgItem(CHECK_STAFF))->SetCheck(FALSE); m_cbox_staff.SetCurSel(-1); m_cbox_staff.EnableWindow(FALSE); m_cbox_dept.EnableWindow(); } else { m_cbox_dept.SetCurSel(-1); FillList(); } } void CDlgCheckInDaily::OnBnClickedStaff() { BOOL bCheck = ((CButton*)GetDlgItem(CHECK_STAFF))->GetCheck(); if ( bCheck ) { ((CButton*)GetDlgItem(CHECK_DEPT))->SetCheck(FALSE); m_cbox_dept.SetCurSel(-1); m_cbox_dept.EnableWindow(FALSE); m_cbox_staff.EnableWindow(); } else { m_cbox_staff.SetCurSel(-1); FillList(); } } void CDlgCheckInDaily::GetDepartment() { g_sendhead.bsql = 0; g_sendhead.code[0] = 3; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(3); if (g_bSendOK == 0)return; CArray AryDepartment; DataToArray(&AryDepartment); // 初始化CBOX_DEPT控件; for (int i = 0; i < AryDepartment.GetSize(); i++ ) { m_cbox_dept.AddString(DAL::Case_3_GetDepartment(AryDepartment,i)); } } void CDlgCheckInDaily::GetCheckInDailyInfo() { UpdateData(TRUE); CString strSQL; strSQL.Format(_T("[record_date] >= '%s' and [record_date] <= '%s'"), m_dt_begin_query.Format(_T("%Y-%m-%d")), m_dt_end_query.Format(_T("%Y-%m-%d"))); g_sendhead.bsql = 0; g_sendhead.code[0] = 212; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQL); if (g_bSendOK == 0)return; DataToArray(&m_AryCheckInDaily); CStringArray AryStaff; int nArySize = m_AryCheckInDaily.GetSize(); for ( int i = 0; i < g_AryStaff.GetSize(); i++) { CString staff = DAL::GetStaffName(i); BOOL bFind = 0; for (int j = 0; j < nArySize; j++) { if (m_AryCheckInDaily.ElementAt(j).ElementAt(2) == staff) { bFind = 1; break; } } if (bFind == 0)AryStaff.Add(staff); } m_AryCheckInDaily.SetSize(nArySize + AryStaff.GetSize(), 1); for (int i = 0; i < AryStaff.GetSize(); i++) { m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(AryStaff.ElementAt(i)); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); m_AryCheckInDaily.ElementAt(nArySize + i).Add(_T("")); } for (int i = 0; i < m_AryCheckInDaily.GetSize(); i++) { if (!m_AryCheckInDaily.ElementAt(i).ElementAt(8).IsEmpty()) { if (0 == atoi(m_AryCheckInDaily.ElementAt(i).ElementAt(9))) m_AryCheckInDaily.ElementAt(i).SetAt(9, _T("未读")); else m_AryCheckInDaily.ElementAt(i).SetAt(9, _T("已读")); } } FillList(); } void CDlgCheckInDaily::FillList() { CString strStaff = _T(""); CString strDepartment = _T(""); INT nSelectedItem = CB_ERR; if ( CB_ERR != (nSelectedItem = m_cbox_staff.GetCurSel()) ) m_cbox_staff.GetLBText(nSelectedItem, strStaff); if ( CB_ERR != (nSelectedItem = m_cbox_dept.GetCurSel()) ) m_cbox_dept.GetLBText(nSelectedItem, strDepartment); UpdateData(TRUE); int nIndex = 0; m_list.m_AryList.RemoveAll(); m_list.DeleteAllItems(); m_list.m_AryList.SetSize(m_AryCheckInDaily.GetSize(), 1); for ( int i = 0; i < m_AryCheckInDaily.GetSize(); i++ ) { if ( !strStaff.IsEmpty() && strDepartment.IsEmpty() ) {// 选择员工; if ( m_AryCheckInDaily.ElementAt(i).ElementAt(2) == strStaff) { if ( m_strQueryWord.IsEmpty() ) { m_list.m_AryList.ElementAt(nIndex).RemoveAll(); m_list.m_AryList.ElementAt(nIndex).Copy(m_AryCheckInDaily.ElementAt(i)); nIndex++; } else { if ( m_AryCheckInDaily.ElementAt(i).ElementAt(2).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(3).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(4).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(5).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(6).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(7).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(8).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(9).Find(m_strQueryWord) != -1 ) { m_list.m_AryList.ElementAt(nIndex).RemoveAll(); m_list.m_AryList.ElementAt(nIndex).Copy(m_AryCheckInDaily.ElementAt(i)); nIndex++; } } } } else if ( strStaff.IsEmpty() && !strDepartment.IsEmpty() ) {// 选择部门; if ( m_AryCheckInDaily.ElementAt(i).ElementAt(1) == strDepartment) { if ( m_strQueryWord.IsEmpty() ) { m_list.m_AryList.ElementAt(nIndex).RemoveAll(); m_list.m_AryList.ElementAt(nIndex).Copy(m_AryCheckInDaily.ElementAt(i)); nIndex++; } else { if ( m_AryCheckInDaily.ElementAt(i).ElementAt(1).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(2).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(3).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(4).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(5).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(6).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(7).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(8).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(9).Find(m_strQueryWord) != -1 ) { m_list.m_AryList.ElementAt(nIndex).RemoveAll(); m_list.m_AryList.ElementAt(nIndex).Copy(m_AryCheckInDaily.ElementAt(i)); nIndex++; } } } } else {// 均未选; if ( m_AryCheckInDaily.ElementAt(i).ElementAt(1).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(2).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(3).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(4).Find(m_strQueryWord) != -1 || //m_AryCheckInDaily.ElementAt(i).ElementAt(5).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(6).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(7).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(8).Find(m_strQueryWord) != -1 || m_AryCheckInDaily.ElementAt(i).ElementAt(9).Find(m_strQueryWord) != -1 ) { m_list.m_AryList.ElementAt(nIndex).RemoveAll(); m_list.m_AryList.ElementAt(nIndex).Copy(m_AryCheckInDaily.ElementAt(i)); nIndex++; } } } m_list.m_AryList.SetSize(nIndex,1); m_list.m_AryList.FreeExtra(); m_list.SetItemCountEx(nIndex); } void CDlgCheckInDaily::OnDtnDatetimechangeQueryBeginTime(NMHDR *pNMHDR, LRESULT *pResult) { LPNMDATETIMECHANGE pDTChange = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码. GetCheckInDailyInfo(); *pResult = 0; } void CDlgCheckInDaily::OnDtnDatetimechangeQueryEndTime(NMHDR *pNMHDR, LRESULT *pResult) { LPNMDATETIMECHANGE pDTChange = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 GetCheckInDailyInfo(); *pResult = 0; } void CDlgCheckInDaily::OnCbnSelchangeDept() { FillList(); } void CDlgCheckInDaily::OnCbnCloseupStaff() { FillList(); } void CDlgCheckInDaily::OnBnClickedQuery() { FillList(); } void CDlgCheckInDaily::OnBnClickedSave() // 保存; { UpdateData(); if ( m_strWorkContent.IsEmpty() || m_strTomorrowPlay.IsEmpty() || m_customer.IsEmpty() ) { AfxMessageBox(_T("资料不全!"), MB_ICONINFORMATION); return; } if ( m_dt_fill > m_dt_check ) { COleDateTimeSpan tSpan = m_dt_fill - m_dt_check; if (tSpan.GetDays() > 6) { AfxMessageBox(_T("只能签到近一星期!"), MB_ICONINFORMATION); return; } } else { COleDateTimeSpan tSpan = m_dt_check - m_dt_fill; if (tSpan.GetDays() > 2) { AfxMessageBox(_T("请不要玩穿越!"), MB_ICONINFORMATION); return; } } CString strSQL = _T(""); if (m_id.IsEmpty()) strSQL.Format("insert into [workerreport] ([staff],[staff_dept],[customer],[check_date],[record_date],[work_content],[tomorrow_plan])values( '%s','%s','%s','%s','%s','%s','%s')", m_staff, DAL::GetStaffDepartment(m_staff), m_customer, m_dt_check.Format(_T("%Y-%m-%d")), m_dt_fill.Format(_T("%Y-%m-%d")), m_strWorkContent, m_strTomorrowPlay); else strSQL.Format("update [workerreport] set [customer]='%s',[check_date]='%s',[record_date]='%s',[work_content]='%s',[tomorrow_plan]='%s' where id=%s", m_customer, m_dt_check.Format(_T("%Y-%m-%d")), m_dt_fill.Format(_T("%Y-%m-%d")), m_strWorkContent, m_strTomorrowPlay, m_id); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQL); if (g_bSendOK == 0) return; AfxMessageBox(_T("保存成功!"), MB_ICONINFORMATION); // 重新查询; GetCheckInDailyInfo(); } void CDlgCheckInDaily::OnBnClickedReset() // 重填; { m_id = _T(""); m_staff = g_user.name; m_customer = _T(""); m_strWorkContent = _T(""); m_strTomorrowPlay = _T(""); m_strEvalulate = _T(""); m_strCheckState = _T(""); m_dt_fill = GetDateTimeByString(g_date); m_dt_check = GetDateTimeByString(g_date); UpdateData(FALSE); GetDlgItem(BTN_SAVE)->SetWindowText(_T("保存")); GetDlgItem(BTN_SAVE)->EnableWindow(TRUE); } void CDlgCheckInDaily::OnBnClickedDeleteRecord() // 删除; { POSITION pos = m_list.GetFirstSelectedItemPosition(); if ( pos == NULL ) { AfxMessageBox(_T("请先选中您要删除的记录!"), MB_ICONINFORMATION); return; } if (AfxMessageBox(_T("确认删除此记录吗?"), MB_YESNO | MB_ICONINFORMATION) != IDYES) return; int nSelectedItem = m_list.GetNextSelectedItem(pos); m_id = m_list.GetItemText(nSelectedItem, 0); CString strSQL = _T(""); strSQL.Format(_T("delete from [workerreport] where [id] = %s"), m_id); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQL); if (g_bSendOK == 0)return; GetCheckInDailyInfo(); } void CDlgCheckInDaily::OnNMClickList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 if ( pNMItemActivate->iItem != -1 ) { m_id = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(0); m_staff = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(2); m_customer = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(3); m_strWorkContent = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(6); m_strTomorrowPlay = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(7); m_strEvalulate = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(8); m_strCheckState = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(9); CString strDate = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(4); m_dt_check.SetDate(_tstoi(strDate.Mid(0,4)), _tstoi(strDate.Mid(5,2)),_tstoi(strDate.Mid(8,2))); strDate = m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(5); m_dt_fill.SetDate(_tstoi(strDate.Mid(0,4)), _tstoi(strDate.Mid(5,2)),_tstoi(strDate.Mid(8,2))); UpdateData(FALSE); GetDlgItem(BTN_SAVE)->SetWindowText("保存更改"); if (g_user.name != m_staff || m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(5) != g_date || m_list.m_AryList.ElementAt(pNMItemActivate->iItem).ElementAt(8) != "") GetDlgItem(BTN_SAVE)->EnableWindow(0); else GetDlgItem(BTN_SAVE)->EnableWindow(1); } *pResult = 0; } void CDlgCheckInDaily::OnBnClickedFind() // 查找; { UpdateData(); GetClientInfo dlg; if (dlg.DoModal() == IDOK) { m_customer = dlg.m_name2; UpdateData(FALSE); } } void CDlgCheckInDaily::OnBnClickedEvalulate() // 评定; { POSITION pos = m_list.GetFirstSelectedItemPosition(); if ( pos == NULL ) { AfxMessageBox(_T("请选择项目"), MB_ICONINFORMATION); return; } int nSelectedItem = m_list.GetNextSelectedItem(pos); m_id = m_list.GetItemText(nSelectedItem, 0); ShowRemark dlg; dlg.m_remark = m_strEvalulate; if (dlg.DoModal() == IDOK) { CString right = g_user.name + _T("示"); if (dlg.m_remark.GetLength() >= right.GetLength()) { if (dlg.m_remark.Right(right.GetLength()) != right) dlg.m_remark += " " + right; } else dlg.m_remark += " " + right; m_strEvalulate = dlg.m_remark; CString strSQL = _T(""); strSQL.Format(_T("update [workerreport] set [assess]='%s',[state]='0' where id=%s"), m_strEvalulate, m_id); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQL); if (g_bSendOK == 0) return; AfxMessageBox(_T("保存成功!"), MB_ICONINFORMATION); GetCheckInDailyInfo(); } }