// outsourcing.cpp : implementation file // #include "stdafx.h" #include "LYFZSendMsg.h" #include "outsourcing.h" #include "MyMdi.H" #include "ModifyDinDan.h" #include "InputPsw.h" #include "ClientDlg.h" #include "ImportPhoto.h" #include "ImportPhoto.h" #include "outsourcingDlg.h" #include "outsourcingDlg2.h" #include "NeroDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #pragma comment(lib, "Shlwapi.lib") ///////////////////////////////////////////////////////////////////////////// // outsourcing IMPLEMENT_DYNCREATE(outsourcing, CFormView) outsourcing::outsourcing() : CFormView(outsourcing::IDD) { //{{AFX_DATA_INIT(outsourcing) m_filter = _T(""); //}}AFX_DATA_INIT } outsourcing::~outsourcing() { } void outsourcing::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(outsourcing) 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); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(outsourcing, CFormView) //{{AFX_MSG_MAP(outsourcing) 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) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // outsourcing diagnostics #ifdef _DEBUG void outsourcing::AssertValid() const { CFormView::AssertValid(); } void outsourcing::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // outsourcing message handlers void outsourcing::OnInitialUpdate() { CFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); // Here we create the outbar control using the splitter as its parent // and setting its id to the first pane. 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); m_static1.SetFont (&g_titlefont); m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;设计,100;加急,100;取件日期,100;接单人,100;商品名称,100;是否发出,100;是否回来,100;是否完成,100;是否取走,100;男宾电话,100;女宾电话,100" ); m_List1.LoadColumnInfo (121); m_List1.m_bSortSupport=0; // DWORD begin=::GetTickCount (); if(g_bShowOK==0) { CString filter="qjstatus='未取' and kind<>'5'"; g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; } else { CString filter="kind<>'5'"; g_sendhead.bsql=0; g_sendhead.code[0]=33; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; } // DWORD end=::GetTickCount ()-begin; // CString timestamp; // timestamp.Format ("%d s", end); // AfxMessageBox(timestamp); DataToArray(&m_List1array); for(int i=0; iEnableWindow(IsHasRights2new(12)); GetDlgItem(IDC_BUTmodify2)->EnableWindow(IsHasRights2new(14)); } void outsourcing::FillGrid() { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; if(m_filter.IsEmpty ()) { for(ii=0; iiSendMessage(WM_CLOSE); } void outsourcing::OnButton1() { // TODO: Add your control notification handler code here /* CString oldid=""; BOOL bOK=1; CString str; for(int i=0; i0) { CString sql; sql= "update dindan set status3='OK' where id='"+oldid+"'"; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); str+=oldid; } bOK=1; oldid=m_List1.GetItemText (i, 0); } } if(m_List1.GetItemText (i, 11)!="OK") bOK=0; } MessageBox(str);*/ UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(); } void outsourcing::OnSelchangeCombo1() { // TODO: Add your control notification handler code here SetTimer(1, 100, NULL); } void outsourcing::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default KillTimer(nIDEvent); OnButton1(); } BOOL outsourcing::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class 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 CFormView::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) { // TODO: Add your control notification handler code here OnBUTmodify(); *pResult = 0; } void outsourcing::OnBUTexport() { if(IsHasRights2new(12)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要导出片的定单!", MB_ICONINFORMATION); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString id=m_List1.GetItemText (iItem, 0); CString path; path=g_path3+"\\"; path+=id; path +="\\"; CStringArray array; CString dir; GetSavePath(dir); if(dir.IsEmpty()) { return; } CString name1=m_List1.GetItemText (iItem, 1); CString name2=m_List1.GetItemText (iItem, 2); dir.TrimRight ('\\'); dir+="\\"; dir+=id; dir+=name1; dir+=name2; dir+="设计好的片"; dir+="\\"; ::CreateDirectory (dir, NULL); CStringArray desarray; CStringArray dirarray; CString savepath=dir; CString str; if(1) { using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); coo.end() != it; it ++) { str=(*it).c_str(); if(FindArray(&dirarray, &str)==-1) { dirarray.Add (str); if(str!=dirarray.ElementAt (0)) { str=savepath+str.Right (str.GetLength ()-dirarray.ElementAt (0).GetLength ()); if(::PathFileExists (str)==0) ::CreateDirectory (str, NULL); } } } } if(1) { for(int i=0; i=m_List1array.GetSize ())break; } FillGrid(); } void outsourcing::OnBUTmodify2() { // TODO: Add your control notification handler code here if(IsHasRights2new(14)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); CString id=m_List1.GetItemText (iItem, 0); while(id=="") { iItem--; id=m_List1.GetItemText (iItem, 0); } outsourcingDlg2 dlg; dlg.m_id =id; dlg.m_name1 =m_List1.GetItemText (iItem, 1); dlg.m_name2 =m_List1.GetItemText (iItem, 2); if(dlg.DoModal ()!=IDOK)return; } void outsourcing::OnRdblclkList2(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here OnBUTmodify2(); *pResult = 0; } void outsourcing::OnBUTToPhotoPrint() { // TODO: Add your control notification handler code here g_pMainWnd->ToPhotoPrint() ; } void outsourcing::OnBUTburncd() { // TODO: Add your control notification handler code here }