// outsourcing.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "outsourcing.h" #include "MyMdi.H" #include "ModifyDinDan.h" #include "InputPsw.h" #include "outsourcingDlg.h" #include "outsourcingDlg2.h" #include "outsourcing2.h" #include "outsourcing3.h" #include "outsourcing4.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #pragma comment(lib, "Shlwapi.lib") IMPLEMENT_DYNCREATE(outsourcing, MyFormView) outsourcing::outsourcing() : MyFormView(outsourcing::IDD) { m_filter = _T("");m_nAdd=0; if(g_bAllBranch) { m_nAdd=1; } } outsourcing::~outsourcing() { } void outsourcing::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); DDX_Control(pDX, IDC_COMBO1, m_combo1); DDX_Control(pDX, IDC_LIST2, m_List1); DDX_Control(pDX, IDC_STATIC1, m_static1); DDX_CBString(pDX, IDC_COMBO1, m_filter); } BEGIN_MESSAGE_MAP(outsourcing, MyFormView) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTmodify, OnBUTmodify) ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2) ON_BN_CLICKED(IDC_BUTexport, OnBUTexport) ON_BN_CLICKED(IDC_BUTmodify2, OnBUTmodify2) ON_NOTIFY(NM_RDBLCLK, IDC_LIST2, OnRdblclkList2) ON_BN_CLICKED(IDC_BUTToPhotoPrint, OnBUTToPhotoPrint) ON_BN_CLICKED(IDC_BUTburncd, OnBUTburncd) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2) ON_BN_CLICKED(IDC_BUTburncd2, OnBUTburncd2) ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST2, OnCustomdrawList) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// #ifdef _DEBUG void outsourcing::AssertValid() const { MyFormView::AssertValid(); } void outsourcing::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// void outsourcing::OnInitialUpdate() { MyFormView::OnInitialUpdate(); CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); CRect rc2; GetWindowRect(rc2); ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE); EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0); #ifdef LKAY_VERSION GetDlgItem(IDC_BUTexport)->ShowWindow(SW_SHOW); GetDlgItem(IDC_BUTToPhotoPrint)->ShowWindow(SW_SHOW); #endif int btnwid; CRect prerc; int idcount = 5; { int idarray[]={IDC_BUTmodify,IDC_BUTmodify2,IDC_BUTburncd,IDC_BUTburncd2,IDC_BUTclose}; idcount=5; for(int a=idcount-2; a>=0; a--) { GetDlgItem(idarray[a+1])->GetWindowRect (prerc); ScreenToClient(prerc); GetDlgItem(idarray[a])->GetWindowRect (rc2); ScreenToClient(rc2); btnwid=rc2.Width (); rc2.right =prerc.left ; rc2.left =rc2.right -btnwid; GetDlgItem(idarray[a])->MoveWindow (rc2); } } int idarray2[]={IDC_BUTTON1,IDC_BUTTON2,IDC_BUTTON3,IDC_BUTexport,IDC_BUTToPhotoPrint}; idcount=5; for(int a=1; aGetWindowRect (prerc); ScreenToClient(prerc); GetDlgItem(idarray2[a])->GetWindowRect (rc2); ScreenToClient(rc2); btnwid=rc2.Width (); rc2.left =prerc.right ; rc2.right =rc2.left +btnwid; GetDlgItem(idarray2[a])->MoveWindow (rc2); } m_static1.SetFont (&g_titlefont); if(g_bAllBranch==0) { #ifdef CHILD_VERSION // Jeff.设计后添加设计师; #ifdef LKAY_VERSION m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;设计,100;设计师,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否返工,100;是否完成,100;是否组件,100;是否转走,100;是否取走,100;加急,100;取件日期,100;手机,100;固定电话,100" ); #else // 17.column m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;设计,100;设计师,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否返工,100;是否完成,100;是否取走,100;加急,100;取件日期,100;手机,100;固定电话,100" ); #endif #else m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;设计,100;设计师,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否返工,100;是否完成,100;是否取走,100;加急,100;取件日期,100;男宾电话,100;女宾电话,100" ); #endif m_List1.LoadColumnInfo (121); } else { #ifdef CHILD_VERSION m_List1.SetHeadings("店名,100;订单号,100;家长姓名,100;宝宝姓名,100;设计,100;设计师,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否返工,100;是否完成,100;是否取走,100;加急,100;取件日期,100;手机,100;固定电话,100" ); #else m_List1.SetHeadings("店名,100;订单号,100;男宾姓名,100;女宾姓名,100;设计,100;设计师,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否返工,100;是否完成,100;是否取走,100;加急,100;取件日期,100;男宾电话,100;女宾电话,100" ); #endif m_List1.LoadColumnInfo (305); } m_List1.m_bSortSupport=0; GetData(); for(int i=0; iGetWindowRect(rc2); SetComboHei(&m_combo1, rc2.Height ()); GetDlgItem(IDC_BUTmodify)->EnableWindow(IsHasRights2new(13)); GetDlgItem(IDC_BUTmodify2)->EnableWindow(IsHasRights2new(13)); } void outsourcing::FillGrid(BOOL bStatus) { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; if(m_filter.IsEmpty ()||bStatus) { if (bStatus == 2) // 近期取件; { CTime tm(atoi(g_date.Mid (0,4)),atoi(g_date.Mid (5,2)),atoi(g_date.Mid (8,2)),0,0,0); CString sdate1,sdate2; sdate1=tm.Format("%Y-%m-%d"); CTimeSpan sp(15, 0, 0, 0); tm+=sp; sdate2=tm.Format("%Y-%m-%d"); BOOL bFinded=0; int begin,end; CString oldid=""; for(ii=0; ii= sdate1 && m_List1array.ElementAt(a).ElementAt(6 + m_nAdd) <= sdate2) || (m_List1array.ElementAt(a).ElementAt(14 + m_nAdd) >= sdate1 && m_List1array.ElementAt(a).ElementAt(14 + m_nAdd) <= sdate2)) { bFinded=1; break; } } if(bFinded==1) { for(int a=begin; a<=end; a++) { m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (a)); } } begin=ii; oldid=m_List1array.ElementAt (ii).ElementAt (0+m_nAdd); } } } else if (bStatus == 1) // 查询完成; { {BOOL bFinded=0; int begin,end; CString oldid=""; for(ii=0; iiSendMessage(WM_CLOSE); } void outsourcing::OnButton1() // 查询 按钮; { UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(); } void outsourcing::OnSelchangeCombo1() { SetTimer(1, 100, NULL); } void outsourcing::OnTimer(UINT nIDEvent) { KillTimer(nIDEvent); OnButton1(); } BOOL outsourcing::PreTranslateMessage(MSG* pMsg) { try { if(pMsg->message==WM_KEYDOWN) { switch (pMsg->wParam) { case VK_RETURN: OnButton1(); return 1; case 0x43: // copy if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_COPY); return TRUE; } break; case 0x56: //Ctrl + V: if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_PASTE); return TRUE; } break; case 0x58: // cut if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_CUT); return TRUE; } break; case 0x5A: //undo case 0x59: //redo if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_UNDO); return TRUE; } break; } } /* else if(pMsg->message==WM_LBUTTONDOWN) { CPoint pt; CRect rc,rc2; ::GetCursorPos (&pt); m_List1.GetWindowRect (rc2); pt.x-=rc2.left ; pt.y-=rc2.top ; m_List1.GetHeaderCtrl()->GetItemRect (0, rc); rc.right =rc.left +rc2.Width (); if(rc.PtInRect (pt)) return 1; }*/ return MyFormView::PreTranslateMessage(pMsg); } catch(...) { } } void outsourcing::GetNo(CString str, CStringArray &array) { if(!str.IsEmpty ()) { int pos=str.Find (","); while(pos!=-1) { array.Add (str.Left (pos)); str=str.Right (str.GetLength ()-pos-1); pos=str.Find (","); } array.Add(str); } } extern int CALLBACK BrowseProc(HWND hwnd, UINT msg, LPARAM lParam, LPARAM lpData); /*{ switch(msg) { case BFFM_INITIALIZED: SendMessage(hwnd, BFFM_SETSELECTION, TRUE, NULL); break; case BFFM_SELCHANGED: { char szFileName[MAX_PATH]; LPITEMIDLIST pidlCurrent = (LPITEMIDLIST)lParam; SHGetPathFromIDList(pidlCurrent, szFileName); SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)szFileName); } break; } return 0; }*/ void outsourcing::GetSavePath(CString &path) { char lpszDisplayName[MAX_PATH], szFileName[MAX_PATH]; LPITEMIDLIST pidlDesktop, pidlCurrent; if(SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidlDesktop) == NOERROR) { BROWSEINFO bi; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = pidlDesktop; bi.pszDisplayName = lpszDisplayName; bi.lpszTitle = "\n文档保存的目录:"; bi.ulFlags = BIF_STATUSTEXT&BIF_RETURNONLYFSDIRS ; bi.lpfn = BrowseProc; bi.lParam = 0; bi.iImage = 0; pidlCurrent = SHBrowseForFolder(&bi); SHGetPathFromIDList(pidlCurrent, szFileName); path = szFileName; } } int outsourcing::FindArray(CStringArray *pArray, CString *pStr) { for(int i=0; iGetSize (); i++) { if(pArray->ElementAt (i)==*pStr) return i; } return -1; } void outsourcing::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult) { OnBUTmodify(); *pResult = 0; } void outsourcing::OnBUTmodify() // 发件取件资料按钮; { if(IsHasRights2new(13)==0)return; POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); CString branch; CString id=m_List1.GetItemText (iItem, 0+m_nAdd); if(g_bAllBranch) branch=m_List1.GetItemText (iItem, 0); while(id=="") { iItem--; id=m_List1.GetItemText (iItem, 0+m_nAdd); } outsourcingDlg dlg; dlg.m_branch =branch; dlg.m_id =id; dlg.m_name1 =m_List1.GetItemText (iItem, 1+m_nAdd); dlg.m_name2 =m_List1.GetItemText (iItem, 2+m_nAdd); if(dlg.DoModal ()!=IDOK) return; for(int i=0; i1) { GetData();FillGrid(); return; } #if 0 m_List1array.ElementAt (iItem).SetAt (8+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(2)); m_List1array.ElementAt (iItem).SetAt (9+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(3)); m_List1array.ElementAt (iItem).SetAt (10+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(4)); #ifdef LKAY_VERSION m_List1array.ElementAt (iItem).SetAt (11, dlg.m_sparray .ElementAt (pos2).ElementAt(23)); m_List1array.ElementAt (iItem).SetAt (12, dlg.m_sparray .ElementAt (pos2).ElementAt(24)); m_List1array.ElementAt (iItem).SetAt (13, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #else m_List1array.ElementAt (iItem).SetAt (11+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #endif #else //----------------------------------------------------------------------------------------------------------- m_List1array.ElementAt(iItem).SetAt(9 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(2)); m_List1array.ElementAt(iItem).SetAt(10 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(3)); m_List1array.ElementAt(iItem).SetAt(11 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(4)); #ifdef LKAY_VERSION m_List1array.ElementAt (iItem).SetAt (12, dlg.m_sparray .ElementAt (pos2).ElementAt(23)); m_List1array.ElementAt (iItem).SetAt (13, dlg.m_sparray .ElementAt (pos2).ElementAt(24)); m_List1array.ElementAt (iItem).SetAt (14, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #else m_List1array.ElementAt(iItem).SetAt(12 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(5)); #endif #endif iItem++; if(iItem>=m_List1array.GetSize ())break; } } else { while(id==m_List1array.ElementAt (iItem).ElementAt (0+m_nAdd) || m_List1array.ElementAt (iItem).ElementAt (0+m_nAdd).IsEmpty ()) { //name=m_List1array.ElementAt (iItem).ElementAt (7+m_nAdd); name = m_List1array.ElementAt(iItem).ElementAt(8 + m_nAdd); for(int i=0; i1) { GetData();FillGrid(); return; } #if 0 m_List1array.ElementAt (iItem).SetAt (8+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(2)); m_List1array.ElementAt (iItem).SetAt (9+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(3)); m_List1array.ElementAt (iItem).SetAt (10+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(4)); #ifdef LKAY_VERSION m_List1array.ElementAt (iItem).SetAt (11, dlg.m_sparray .ElementAt (pos2).ElementAt(23)); m_List1array.ElementAt (iItem).SetAt (12, dlg.m_sparray .ElementAt (pos2).ElementAt(24)); m_List1array.ElementAt (iItem).SetAt (13, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #else m_List1array.ElementAt (iItem).SetAt (11+m_nAdd, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #endif #else //--------------------------------------------------------------------------------------------- m_List1array.ElementAt(iItem).SetAt(9 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(2)); m_List1array.ElementAt(iItem).SetAt(10 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(3)); m_List1array.ElementAt(iItem).SetAt(11 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(4)); #ifdef LKAY_VERSION m_List1array.ElementAt (iItem).SetAt (12, dlg.m_sparray .ElementAt (pos2).ElementAt(23)); m_List1array.ElementAt (iItem).SetAt (13, dlg.m_sparray .ElementAt (pos2).ElementAt(24)); m_List1array.ElementAt (iItem).SetAt (14, dlg.m_sparray .ElementAt (pos2).ElementAt(5)); #else m_List1array.ElementAt(iItem).SetAt(12 + m_nAdd, dlg.m_sparray.ElementAt(pos2).ElementAt(5)); #endif #endif iItem++; if(iItem>=m_List1array.GetSize ())break; } } FillGrid(); } void outsourcing::OnRdblclkList2(NMHDR* pNMHDR, LRESULT* pResult) { OnBUTmodify2(); *pResult = 0; } void outsourcing::OnButton2() // 查询完成 按钮(查询齐件) { UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(1); } void outsourcing::OnButton3() // 近期取件 按钮; { UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(2); } void outsourcing::OnCustomdrawList ( NMHDR* pNMHDR, LRESULT* pResult ) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast( pNMHDR ); *pResult = 0; if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage ) { *pResult = CDRF_NOTIFYITEMDRAW; } else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage ) { COLORREF crText; int pos=pLVCD->nmcd.dwItemSpec; if(pos%2) pLVCD->clrTextBk = g_gridcol1; else pLVCD->clrTextBk = g_gridcol2; while(m_List1.m_arLabels.ElementAt (pos).ElementAt (0).IsEmpty ()) { pos--; if(pos<1)break; } //if(atoi(m_List1.m_arLabels.ElementAt (pos).ElementAt (18))) if (atoi(m_List1.m_arLabels.ElementAt(pos).ElementAt(19))) crText = RGB(220,0,0); else crText = RGB(20,133,20); pLVCD->clrText = crText; *pResult = CDRF_DODEFAULT; } } void outsourcing::OnBUTmodify2() { if(IsHasRights2new(13)==0)return; outsourcing2 dlg; dlg.DoModal (); } void outsourcing::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult) { POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); g_id=m_List1.GetItemText (iItem, 0); while(g_id=="") { iItem--; g_id=m_List1.GetItemText (iItem, 0+m_nAdd); } *pResult = 0; } void outsourcing::OnBUTburncd() { outsourcing3 dlg; dlg.DoModal (); } void outsourcing::HidePrice() { if(IsHasRights2new(31))return; for(int i=0; i< m_List1array.GetSize (); i++) { #ifdef LKAY_VERSION if(!m_List1array.ElementAt (i).ElementAt (16).IsEmpty ()) m_List1array.ElementAt (i).SetAt (16, "***"); if(!m_List1array.ElementAt (i).ElementAt (17).IsEmpty ()) m_List1array.ElementAt (i).SetAt (17, "***"); #else if(!m_List1array.ElementAt (i).ElementAt (14+m_nAdd).IsEmpty ()) m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***"); if(!m_List1array.ElementAt (i).ElementAt (15+m_nAdd).IsEmpty ()) m_List1array.ElementAt (i).SetAt (15+m_nAdd, "***"); #endif } } void outsourcing::OnBUTexport() // 已完成未组 按钮; { UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(3); } void outsourcing::OnBUTToPhotoPrint() // 已组未转 按钮; { UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(4); } void outsourcing::GetData() { if(g_bAllBranch==0) { if(g_bShowOK==0) { #ifdef LKAY_VERSION CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)"; #else CString filter="status3='未取'"; #endif g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; } else { g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; #ifdef LKAY_VERSION CString filter="dindantype<>'意向客户' or dindantype is null"; g_pMainWnd->ProcessChatMessageRequest2(filter); #else g_pMainWnd->ProcessChatMessageRequest2(1); #endif if(g_bSendOK==0)return; } DataToArray(&m_List1array); } else { //////////////数据汇总 m_List1array.RemoveAll (); CString branch; for(int i=-1; iOnDisconnect(); g_branchname=branch; g_bBranchModify=1; } else branch=g_brancharray.ElementAt (g_brancharray.GetSize ()-1).ElementAt (0); if(g_bShowOK==0) { CString filter="status3='未取'"; g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)continue; } else { g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)continue; } CArrayList1array; DataToArray(&List1array); int size=m_List1array.GetSize (); for(int j=0; jOnDisconnect(); g_bBranchModify=0; g_branchip=g_branchname=""; } HidePrice(); } void outsourcing::OnBUTburncd2() { outsourcing4 dlg; dlg.DoModal (); }