123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713 |
- // DlgServiceTracking.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "YLGL.h"
- #include "DlgServiceTracking.h"
- #include "DlgServiceTrackingInfo.h"
- #include "ShowLOg.h"
- // CDlgServiceTracking 对话框
- IMPLEMENT_DYNAMIC(CDlgServiceTracking, CDialog)
- CDlgServiceTracking::CDlgServiceTracking(CWnd* pParent /*=NULL*/)
- : CDialog(CDlgServiceTracking::IDD, pParent)
- , m_radio(3)
- {
- }
- CDlgServiceTracking::~CDlgServiceTracking()
- {
- }
- void CDlgServiceTracking::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_LIST1, m_list);
- DDX_Control(pDX, CBOX_ORDER_TAKER_DEPT, m_cbox_dept);
- DDX_Control(pDX, CBOX_ORDER_TAKER, m_cbox_staff);
- DDX_Control(pDX, DTPICKER_BEGIN, m_dt_begin);
- DDX_Control(pDX, DTPICKER_END, m_dt_end);
- }
- BEGIN_MESSAGE_MAP(CDlgServiceTracking, CDialog)
- ON_WM_SYSCOMMAND()
- ON_WM_CTLCOLOR()
- ON_BN_CLICKED(RADIO1, &CDlgServiceTracking::OnBnClickedRadio1)
- ON_BN_CLICKED(RADIO2, &CDlgServiceTracking::OnBnClickedRadio2)
- ON_BN_CLICKED(RADIO3, &CDlgServiceTracking::OnBnClickedRadio3)
- ON_BN_CLICKED(CHECK_DEPT, &CDlgServiceTracking::OnBnClickedDept)
- ON_BN_CLICKED(CHECK_ORDER_TAKER, &CDlgServiceTracking::OnBnClickedOrderTaker)
- ON_NOTIFY(DTN_DATETIMECHANGE, DTPICKER_BEGIN, &CDlgServiceTracking::OnDtnDatetimechangeBegin)
- ON_NOTIFY(DTN_DATETIMECHANGE, DTPICKER_END, &CDlgServiceTracking::OnDtnDatetimechangeEnd)
- ON_CBN_SELCHANGE(CBOX_ORDER_TAKER_DEPT, &CDlgServiceTracking::OnCbnSelchangeOrderTakerDept)
- ON_BN_CLICKED(IDOK, &CDlgServiceTracking::OnBnClickedOk)
- ON_CBN_CLOSEUP(CBOX_ORDER_TAKER, &CDlgServiceTracking::OnCbnCloseupOrderTaker)
- ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CDlgServiceTracking::OnNMDblclkList1)
- ON_BN_CLICKED(RADIO4, &CDlgServiceTracking::OnBnClickedRadio4)
- ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST1, &CDlgServiceTracking::OnNMCustomdrawList1)
- ON_BN_CLICKED(BTN_BALANCING_ACCOUNT, &CDlgServiceTracking::OnBnClickedBalancingAccount)
- ON_BN_CLICKED(BTN_DEPT_REFRESH, &CDlgServiceTracking::OnBnClickedDeptRefresh)
- END_MESSAGE_MAP()
- // CDlgServiceTracking 消息处理程序
- BOOL CDlgServiceTracking::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // TODO: 在此添加额外的初始化
- MoveWindow(&g_rc);
- CRect rcWnd;
- GetWindowRect(rcWnd);
- CRect rcList;
- m_list.GetWindowRect(rcList);
- rcList.right = rcWnd.right - 15;
- rcList.bottom = rcWnd.bottom - 15;
- ScreenToClient(rcList);
- m_list.MoveWindow(rcList);
- // 设置默认radio;
- CButton* radio=(CButton*)GetDlgItem(RADIO4);
- radio->SetCheck(1);
- // 设置查询的开始时间;
- CTimeSpan tSpan(61, 0, 0, 0);
- CTime tBegin = CTime::GetCurrentTime() - tSpan;
- m_dt_begin.SetTime(&tBegin);
- UpdateData();
- // 初始化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"),
- _T("接单部门,60"),
- _T("对接人,60"),
- _T("对接部门,60"),
- _T("服务状态,60"),
- _T("录单人,60"),
- _T("录入时间,60"),
- NULL);
- // 禁用部门和员工下拉框;
- m_cbox_dept.EnableWindow(FALSE);
- m_cbox_staff.EnableWindow(FALSE);
- // 数据获取;
- GetDepartment();
- GetServiceTrackingInfo();
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回 FALSE
- }
- void CDlgServiceTracking::OnSysCommand(UINT nID, LPARAM lParam)
- {
- // 禁止移动窗口;
- if (nID == SC_MOVE || nID == 0xF012)
- return;
- CDialog::OnSysCommand(nID, lParam);
- }
- HBRUSH CDlgServiceTracking::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 CDlgServiceTracking::OnOK()
- {
- // TODO: 在此添加专用代码和/或调用基类
- //CDialog::OnOK();
- }
- void CDlgServiceTracking::GetDepartment()
- {
- // 从服务器获取部门信息;
- g_sendhead.bsql = 0;
- g_sendhead.code[0] = 237;
- g_sendhead.tabcount = 1;
- g_pMainWnd->ProcessChatMessageRequest2(3);
- if (g_bSendOK == 0)return;
- DataToArray(&m_AryDepartment);
- // 初始化CBOX_DEPT控件;
- for (int i = 0; i < m_AryDepartment.GetSize(); i++ )
- {
- m_cbox_dept.AddString(DAL::Case_3_GetDepartment(m_AryDepartment,i));
- }
- m_cbox_dept.AddString(_T("无部门"));
- }
- BOOL CDlgServiceTracking::IsOtherDept(CString strDept)
- {
- // 排除无接单部门的;
- if ( strDept.IsEmpty() )
- return FALSE;
- for ( int i = 0; i < m_AryDepartment.GetSize() - 1; i++ )
- {
- if ( strDept == m_AryDepartment.ElementAt(i).ElementAt(0) )
- return FALSE;
- }
- return TRUE;
- }
- void CDlgServiceTracking::GetServiceTrackingInfo()
- {
- // 查询时间;
- CTime tBegin;
- CTime tEnd;
- m_dt_begin.GetTime(tBegin);
- m_dt_end.GetTime(tEnd);
- CString strSQL;
- strSQL.Format(_T("[date] >= '%s' and [date] <= '%s'"), tBegin.Format(_T("%Y-%m-%d")), tEnd.Format(_T("%Y-%m-%d")));
- g_sendhead.bsql = 0;
- g_sendhead.code[0] = 235;
- g_sendhead.tabcount = 1;
- g_pMainWnd->ProcessChatMessageRequest2(strSQL);
- if (g_bSendOK == 0)
- return;
- CArray<CStringArray, CStringArray> AryServiceTracking;
- DataToArray(&AryServiceTracking);
- CString strArrears = _T(""); // 欠款;
- m_AryServiceTracking.RemoveAll();
- m_AryServiceTracking.SetSize(AryServiceTracking.GetSize(), 1);
-
- for ( int i = 0; i < AryServiceTracking.GetSize(); i++ )
- {
- m_AryServiceTracking.ElementAt(i).RemoveAll();
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_Id(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_Order(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_Customer(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_CustomerStudio(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_CustomerPhone(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_ReceiptItem(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_Receivables(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_AmountReceived(AryServiceTracking,i));
- // 计算欠款;
- strArrears.Format(_T("%ld"), _tstoi(DAL::Case_235_GetServiceTracking_Receivables(AryServiceTracking,i)) - _tstoi(DAL::Case_235_GetServiceTracking_AmountReceived(AryServiceTracking,i)));
- m_AryServiceTracking.ElementAt(i).Add(strArrears);
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_OrderTaker(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_OrderTakerDept(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_PickupMan(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_PickupDept(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_ServiceState(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_RecordClerk(AryServiceTracking,i));
- m_AryServiceTracking.ElementAt(i).Add(DAL::Case_235_GetServiceTracking_RecordDate(AryServiceTracking,i));
- }
- FillList();
- }
- void CDlgServiceTracking::FillList()
- {
- // 服务状态 ;
- CString strServiceState;
- if ( m_radio == 0 )
- strServiceState = _T("未服务");
- else if ( m_radio == 1 )
- strServiceState = _T("服务中");
- else if ( m_radio == 2 )
- strServiceState = _T("服务完成");
- else if ( m_radio == 3 )
- strServiceState = _T("全部");
- // 接单部门;
- CString strOrderDept = _T("");
- BOOL bCheck = ((CButton*)(GetDlgItem(CHECK_DEPT)))->GetCheck();
- if ( bCheck )
- {
- if ( m_cbox_dept.GetCurSel() != CB_ERR )
- m_cbox_dept.GetLBText(m_cbox_dept.GetCurSel(), strOrderDept);
- }
- // 接单人员;
- CString strOrderTaker = _T("");
- bCheck = ((CButton*)(GetDlgItem(CHECK_ORDER_TAKER)))->GetCheck();
- if ( bCheck )
- {
- if ( m_cbox_staff.GetCurSel() != CB_ERR )
- m_cbox_staff.GetLBText(m_cbox_staff.GetCurSel(), strOrderTaker);
- }
- // 查询关键字;
- CString strQueryKey = _T("");
- GetDlgItemText(TX_QUERY, strQueryKey);
- int nIndex = 0; // 相当于订单数;
- DWORD dwReceivables = 0; // 应收款;
- DWORD dwReceipts = 0; // 实收款;
- DWORD dwArrears = 0; // 欠款总数;
- m_list.m_AryList.RemoveAll();
- m_list.DeleteAllItems();
- m_list.m_AryList.SetSize(m_AryServiceTracking.GetSize(), 1);
- for ( int i = 0; i < m_AryServiceTracking.GetSize(); i++ )
- {
- // 服务状态首层划分;
- if ( strServiceState == _T("全部") )
- {
- if ( m_AryServiceTracking.ElementAt(i).ElementAt(13) == _T("服务完成") )
- {
- continue;
- }
- }
- else if ( m_AryServiceTracking.ElementAt(i).ElementAt(13) != strServiceState )
- {
- continue;
- }
- if ( strOrderDept.IsEmpty() && !strOrderTaker.IsEmpty() )
- {// 选择接单人;
- if ( m_AryServiceTracking.ElementAt(i).ElementAt(9) == strOrderTaker )
- {
- if ( strQueryKey.IsEmpty() )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- else
- {
- if (
- m_AryServiceTracking.ElementAt(i).ElementAt(1).Find(strQueryKey) != -1 || // 订单号;
- m_AryServiceTracking.ElementAt(i).ElementAt(2).Find(strQueryKey) != -1 || // 老板;
- m_AryServiceTracking.ElementAt(i).ElementAt(3).Find(strQueryKey) != -1 || // 影楼;
- m_AryServiceTracking.ElementAt(i).ElementAt(4).Find(strQueryKey) != -1 || // 老板电号;
- m_AryServiceTracking.ElementAt(i).ElementAt(5).Find(strQueryKey) != -1 || // 服务项目;
- m_AryServiceTracking.ElementAt(i).ElementAt(11).Find(strQueryKey) != -1 || // 对接人;
- m_AryServiceTracking.ElementAt(i).ElementAt(12).Find(strQueryKey) != -1 || // 对接部门;
- m_AryServiceTracking.ElementAt(i).ElementAt(13).Find(strQueryKey) != -1 // 服务状态;
- )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- }
- }
- }
- else if ( !strOrderDept.IsEmpty() && strOrderTaker.IsEmpty() )
- {// 选择部门;
- if ( strOrderDept == _T("其他部门"))
- {
- if ( !IsOtherDept(m_AryServiceTracking.ElementAt(i).ElementAt(10)) )
- continue;
- }
- else if ( strOrderDept == _T("无部门") )
- {
- // 接单部门为空的;
- if (!m_AryServiceTracking.ElementAt(i).ElementAt(10).IsEmpty())
- continue;
- }
- else if ( m_AryServiceTracking.ElementAt(i).ElementAt(10) != strOrderDept )
- {
- continue;
- }
- if ( strQueryKey.IsEmpty() )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- else
- {
- if (
- m_AryServiceTracking.ElementAt(i).ElementAt(1).Find(strQueryKey) != -1 || // 订单号;
- m_AryServiceTracking.ElementAt(i).ElementAt(2).Find(strQueryKey) != -1 || // 老板;
- m_AryServiceTracking.ElementAt(i).ElementAt(3).Find(strQueryKey) != -1 || // 影楼;
- m_AryServiceTracking.ElementAt(i).ElementAt(4).Find(strQueryKey) != -1 || // 老板电号;
- m_AryServiceTracking.ElementAt(i).ElementAt(5).Find(strQueryKey) != -1 || // 服务项目;
- m_AryServiceTracking.ElementAt(i).ElementAt(9).Find(strQueryKey) != -1 || // 接单人;
- m_AryServiceTracking.ElementAt(i).ElementAt(11).Find(strQueryKey) != -1 || // 对接人;
- m_AryServiceTracking.ElementAt(i).ElementAt(12).Find(strQueryKey) != -1 || // 对接部门;
- m_AryServiceTracking.ElementAt(i).ElementAt(13).Find(strQueryKey) != -1 // 服务状态;
- )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- }
- }
- else
- {// 部门和员工均未选;
- if ( strQueryKey.IsEmpty() )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- else
- {
- if (
- m_AryServiceTracking.ElementAt(i).ElementAt(1).Find(strQueryKey) != -1 || // 订单号;
- m_AryServiceTracking.ElementAt(i).ElementAt(2).Find(strQueryKey) != -1 || // 老板;
- m_AryServiceTracking.ElementAt(i).ElementAt(3).Find(strQueryKey) != -1 || // 影楼;
- m_AryServiceTracking.ElementAt(i).ElementAt(4).Find(strQueryKey) != -1 || // 老板电号;
- m_AryServiceTracking.ElementAt(i).ElementAt(5).Find(strQueryKey) != -1 || // 服务项目;
- m_AryServiceTracking.ElementAt(i).ElementAt(9).Find(strQueryKey) != -1 || // 接单人;
- m_AryServiceTracking.ElementAt(i).ElementAt(11).Find(strQueryKey) != -1 || // 对接人;
- m_AryServiceTracking.ElementAt(i).ElementAt(12).Find(strQueryKey) != -1 || // 对接部门;
- m_AryServiceTracking.ElementAt(i).ElementAt(13).Find(strQueryKey) != -1 // 服务状态;
- )
- {
- m_list.m_AryList.ElementAt(nIndex).RemoveAll();
- m_list.m_AryList.ElementAt(nIndex).Copy(m_AryServiceTracking.ElementAt(i));
- // 应收款累计;
- dwReceivables += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(6));
- // 实收款累计;
- dwReceipts += _tstoi(m_AryServiceTracking.ElementAt(i).ElementAt(7));
- nIndex++;
- }
- }
- }
- }
- CString str;
- str.Format(_T("%d"), nIndex);
- SetDlgItemText(TX_ORDER_COUNT, str);
- str.Format(_T("%ld"), dwReceivables - dwReceipts);
- SetDlgItemText(TX_ARREARS, str);
- m_list.m_AryList.SetSize(nIndex,1);
- m_list.m_AryList.FreeExtra();
- m_list.SetItemCountEx(nIndex);
- }
- void CDlgServiceTracking::OnBnClickedRadio1()
- {
- m_radio = 0;
- FillList();
- }
- void CDlgServiceTracking::OnBnClickedRadio2()
- {
- m_radio = 1;
- FillList();
- }
- void CDlgServiceTracking::OnBnClickedRadio3()
- {
- m_radio = 2;
- FillList();
- }
- void CDlgServiceTracking::OnBnClickedRadio4()
- {
- m_radio = 3;
- FillList();
- }
- void CDlgServiceTracking::OnBnClickedDept()
- {
- BOOL bCheck =((CButton*)GetDlgItem(CHECK_DEPT))->GetCheck();
- if ( bCheck )
- {
- ((CButton*)GetDlgItem(CHECK_ORDER_TAKER))->SetCheck(FALSE);
- m_cbox_staff.SetCurSel(-1);
- m_cbox_staff.EnableWindow(FALSE);
- m_cbox_dept.EnableWindow();
- }
- else
- {
- m_cbox_dept.SetCurSel(-1);
- FillList();
- }
- }
- void CDlgServiceTracking::OnBnClickedOrderTaker()
- {
- BOOL bCheck =((CButton*)GetDlgItem(CHECK_ORDER_TAKER))->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 CDlgServiceTracking::OnDtnDatetimechangeBegin(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
- GetServiceTrackingInfo();
- *pResult = 0;
- }
- void CDlgServiceTracking::OnDtnDatetimechangeEnd(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
- GetServiceTrackingInfo();
- *pResult = 0;
- }
- void CDlgServiceTracking::OnCbnSelchangeOrderTakerDept()
- {
- FillList();
- }
- void CDlgServiceTracking::OnBnClickedOk()
- {
- FillList();
- }
- void CDlgServiceTracking::OnCbnCloseupOrderTaker()
- {
- FillList();
- }
- void CDlgServiceTracking::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
-
- if ( pNMItemActivate->iItem != -1)
- {
- // id;
- CString strId = m_list.GetItemText(pNMItemActivate->iItem, 0);
- // 订单号;
- CString strOrder = m_list.GetItemText(pNMItemActivate->iItem, 1);
- // 收款项目(服务项目);
- CString strReceiptsItem = m_list.GetItemText(pNMItemActivate->iItem, 5);
- // 应收款;
- CString strReceivables = m_list.GetItemText(pNMItemActivate->iItem, 6);
- // 实收款;
- CString strAmountReceived = m_list.GetItemText(pNMItemActivate->iItem, 7);
- // 接单人;
- CString strOrderTaker = m_list.GetItemText(pNMItemActivate->iItem, 9);
- // 对接人;
- CString strPickupMan = m_list.GetItemText(pNMItemActivate->iItem, 11);
- // 服务状态;
- CString strServiceState = m_list.GetItemText(pNMItemActivate->iItem, 13);
- CDlgServiceTrackingInfo dlg;
- dlg.m_pAryString = &m_list.m_AryList.ElementAt(pNMItemActivate->iItem);
- dlg.DoModal();
- if ( dlg.m_bModify )
- {
- #if 0
- GetServiceTrackingInfo();
- FillList();
- #else
- // 只更新本条记录;
- INT nSize = m_AryServiceTracking.GetSize();
- for ( int i = 0; i < nSize; i++ )
- {
- if ( m_AryServiceTracking.ElementAt(i).ElementAt(0) == strId && m_AryServiceTracking.ElementAt(i).ElementAt(1) == strOrder )
- {
- // 对接人;
- m_AryServiceTracking.ElementAt(i).SetAt(11, dlg.m_strPickupMan);
- // 对接部门;
- m_AryServiceTracking.ElementAt(i).SetAt(12, dlg.m_strPickupDept);
- // 服务状态 ;
- m_AryServiceTracking.ElementAt(i).SetAt(13, dlg.m_strServiceState);
- // 实收款;
- m_AryServiceTracking.ElementAt(i).SetAt(7, dlg.m_strReceived);
- break;
- }
- }
- // 对接人;
- m_list.m_AryList.ElementAt(pNMItemActivate->iItem).SetAt(11, dlg.m_strPickupMan);
- // 对接部门;
- m_list.m_AryList.ElementAt(pNMItemActivate->iItem).SetAt(12, dlg.m_strPickupDept);
- // 服务状态 ;
- m_list.m_AryList.ElementAt(pNMItemActivate->iItem).SetAt(13, dlg.m_strServiceState);
- // 实收款;
- m_list.m_AryList.ElementAt(pNMItemActivate->iItem).SetAt(7, dlg.m_strReceived);
- m_list.SetItemText(pNMItemActivate->iItem, 11, dlg.m_strPickupMan);
- m_list.SetItemText(pNMItemActivate->iItem, 12, dlg.m_strPickupDept);
- m_list.SetItemText(pNMItemActivate->iItem, 13, dlg.m_strServiceState);
- m_list.SetItemText(pNMItemActivate->iItem, 7, dlg.m_strReceived);
- #endif
- }
- }
- *pResult = 0;
- }
- void CDlgServiceTracking::OnNMCustomdrawList1(NMHDR *pNMHDR, LRESULT *pResult)
- {
- NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);
- // TODO: 在此添加控件通知处理程序代码
- if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
- {
- *pResult = CDRF_NOTIFYITEMDRAW;
- }
- else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
- {
- if ( m_list.m_AryList.ElementAt(pLVCD->nmcd.dwItemSpec).ElementAt(13) == _T("未服务") )
- pLVCD->clrText = g_grid_red;
- else if ( m_list.m_AryList.ElementAt(pLVCD->nmcd.dwItemSpec).ElementAt(13) == _T("服务中") )
- pLVCD->clrText = g_grid_blue;
- else
- pLVCD->clrText = g_grid_green;
- if ( pLVCD->nmcd.dwItemSpec % 2 )
- pLVCD->clrTextBk = g_gridcol1;
- else
- pLVCD->clrTextBk = g_gridcol2;
- *pResult = CDRF_DODEFAULT;
- }
- else
- {
- *pResult = 0;
- }
- }
- void CDlgServiceTracking::OnBnClickedBalancingAccount() // 平账日志;
- {
- ShowLOg dlg;
- dlg.m_strLogType = _T("平账日志");
- dlg.DoModal();
- }
- void CDlgServiceTracking::OnBnClickedDeptRefresh() // 刷新部门;
- {
- POSITION pos = m_list.GetFirstSelectedItemPosition();
- if ( pos == NULL )
- {
- AfxMessageBox(_T("请选择要刷新部门的记录"));
- return;
- }
- INT nSelectedItem = m_list.GetNextSelectedItem(pos);
- // id;
- CString strId = m_list.GetItemText(nSelectedItem, 0);
- // 订单号;
- CString strOrder = m_list.GetItemText(nSelectedItem, 1);
- // 收款项目(服务项目);
- CString strReceiptsItem = m_list.GetItemText(nSelectedItem, 5);
- // 应收款;
- CString strReceivables = m_list.GetItemText(nSelectedItem, 6);
- // 实收款;
- CString strAmountReceived = m_list.GetItemText(nSelectedItem, 7);
- // 接单人;
- CString strOrderTaker = m_list.GetItemText(nSelectedItem, 9);
- // 对接人;
- CString strPickupMan = m_list.GetItemText(nSelectedItem, 11);
- // 服务状态;
- CString strServiceState = m_list.GetItemText(nSelectedItem, 13);
- CString strSQL = _T("");
- CString strOrderTakerDept = DAL::GetStaffDepartment(strOrderTaker);
- if ( strId == strOrder )
- {// 订单接单;
- strSQL.Format(_T("update [dindan] set bm = '%s' where id = '%s'"), strOrderTakerDept, strId);
- }
- else
- {// 加挑接单;
- strSQL.Format(_T("update [dindanbukuan2] set [order_taker_dept] = '%s' where [autoid] = %s"), strOrderTakerDept, strId);
- }
- g_sendhead.bsql = true;
- g_pMainWnd->ProcessChatMessageRequest2(strSQL);
- if (g_bSendOK == 0)
- return;
- AfxMessageBox(_T("刷新部门成功"));
- #if 0
- GetServiceTrackingInfo();
- #else
- // 只更新本条记录;
- INT nSize = m_AryServiceTracking.GetSize();
- for ( int i = 0; i < nSize; i++ )
- {
- if ( m_AryServiceTracking.ElementAt(i).ElementAt(0) == strId && m_AryServiceTracking.ElementAt(i).ElementAt(1) == strOrder )
- {
- // 开单部门;
- m_AryServiceTracking.ElementAt(i).SetAt(10, strOrderTakerDept);
- break;
- }
- }
- // 开单部门;
- m_list.m_AryList.ElementAt(nSelectedItem).SetAt(10, strOrderTakerDept);
- m_list.SetItemText(nSelectedItem, 10, strOrderTakerDept);
- #endif
- }
|