// ChoosePhotoForm.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "ChoosePhotoForm.h" #include "MyMdi.H" #include "ModifyDinDan.h" #include "InputPsw.h" #include "ImportPhoto.h" #include "ImportPhoto.h" #include "ChoosePhotoSkin2.h" #include "Login2.h" #include "ShowCut.h" #include "CompareContent.h" #include "SelBrunDevice.h" #include "DelHC.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #pragma comment(lib, "Shlwapi.lib") ///////////////////////////////////////////////////////////////////////////// // ChoosePhotoForm IMPLEMENT_DYNCREATE(ChoosePhotoForm, MyFormView) ChoosePhotoForm::ChoosePhotoForm() : MyFormView(ChoosePhotoForm::IDD) { //{{AFX_DATA_INIT(ChoosePhotoForm) m_filter = _T(""); //}}AFX_DATA_INIT } ChoosePhotoForm::~ChoosePhotoForm() { } void ChoosePhotoForm::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(ChoosePhotoForm) 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(ChoosePhotoForm, MyFormView) //{{AFX_MSG_MAP(ChoosePhotoForm) 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_BUTshowphoto, OnBUTshowphoto) ON_BN_CLICKED(IDC_BUTmoney, OnBUTmoney) ON_BN_CLICKED(IDC_BUTexportphoto, OnBUTexportphoto) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2) ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter) ON_BN_CLICKED(IDC_BUTexportphoto2, OnBUTexportphoto2) ON_BN_CLICKED(IDC_BUTexportphoto3, OnBUTexportphoto3) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // ChoosePhotoForm diagnostics #ifdef _DEBUG void ChoosePhotoForm::AssertValid() const { MyFormView::AssertValid(); } void ChoosePhotoForm::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // ChoosePhotoForm message handlers void ChoosePhotoForm::OnInitialUpdate() { MyFormView::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); int idarray[]={IDC_BUTshowphoto,IDC_BUTexportphoto2,IDC_BUTexportphoto3,IDC_BUTexportphoto,IDC_BUTmoney,IDC_BUTclose}; int idcount=6; int btnwid; CRect prerc; 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); } m_static1.SetFont (&g_titlefont); #ifdef CHILD_VERSION m_List1.SetHeadings("订单号,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" ); #endif m_List1.LoadColumnInfo (116); 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]=28; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; } else { g_sendhead.bsql=0; g_sendhead.code[0]=28; 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);HidePrice(); m_combo1.AddString (g_user.name); for(int i=0; iGetWindowRect(rc2); SetComboHei(&m_combo1, rc2.Height ()); GetDlgItem(IDC_BUTshowphoto)->EnableWindow(IsHasRights2new(15)); GetDlgItem(IDC_BUTexportphoto2)->EnableWindow(IsHasRights2new(15)); GetDlgItem(IDC_BUTexportphoto3)->EnableWindow(IsHasRights2new(15)); } void ChoosePhotoForm::FillGrid(BOOL bStatus) { if(g_bSearchFilter) { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; { for(ii=0; iig_filterdate2) continue; } if(g_waiter1!="") { if(m_List1array.ElementAt (ii).ElementAt (9)!=g_waiter1) continue; } if(1) { m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii)); } } } m_List1.m_arLabels.SetSize(count, 1); ii=count; m_List1.m_LabelCount=ii; m_List1.SetItemCountEx (ii); CString str; str.Format ("单数:%d", ii); SetDlgItemText(IDC_STATIC2, str); } else { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; if(m_filter.IsEmpty ()) { if(bStatus) { for(ii=0; iiSendMessage(WM_CLOSE); } void ChoosePhotoForm::OnSelchangeCombo1() { // TODO: Add your control notification handler code here SetTimer(1, 100, NULL); } void ChoosePhotoForm::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default KillTimer(nIDEvent); OnButton1(); } BOOL ChoosePhotoForm::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; } } return MyFormView::PreTranslateMessage(pMsg); } catch(...) { } } // Jeff.门市流程 - 选片 - 开始选片 void ChoosePhotoForm::OnBUTshowphoto() // Jeff.开始选片; { if(IsHasRights2new(15)==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 status=m_List1.GetItemText (iItem, 4); /* if(atoi(g_cominfoarray.ElementAt(0).ElementAt(85)) && status=="OK" && IsHasRights2new(20)==0 ) { Login2 dlg; if(dlg.DoModal ()!=IDOK)return; if(IsHasRightsnew2(20, dlg.m_rights)==0)return; }*/ ChoosePhotoSkin2 dlg; dlg.SetLiaPath ("3.lia"); dlg.m_strOrderNumber=id; dlg.m_path=g_path2+"\\"; dlg.m_path+=dlg.m_strOrderNumber; dlg.m_path +="\\"; // printf("Jeff:ChoosePhotoSkin2::m_id=%s\n ChoosePhotoSkin2::m_path=%s\n ChoosePhotoSkin2::m_mode\n\n",dlg.m_id,dlg.m_path,dlg.m_mode);// Jeff Printf; dlg.DoModal(); g_bInSkin=0; if(dlg.m_bSave) { for(int i=0; im_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 ChoosePhotoForm::FindArray(CStringArray *pArray, CString *pStr) { for(int i=0; iGetSize (); i++) { if(pArray->ElementAt (i)==*pStr) return i; } return -1; } void ChoosePhotoForm::OnButton1() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(); } void ChoosePhotoForm::OnButton2() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(1); } void ChoosePhotoForm::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL)return; int iItem=m_List1.GetNextSelectedItem(pos); g_id = m_List1.GetItemText (iItem, 0); *pResult = 0; } void ChoosePhotoForm::HidePrice() { #ifdef LKAY_VERSION if(IsHasRights2new(31))return; for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (10, "***"); m_List1array.ElementAt (i).SetAt (11, "***"); m_List1array.ElementAt (i).SetAt (12, "***"); m_List1array.ElementAt (i).SetAt (13, "***"); m_List1array.ElementAt (i).SetAt (6, "***"); } #else if(IsHasRights2new(31))return; for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (12, "***"); m_List1array.ElementAt (i).SetAt (13, "***"); } #endif } void ChoosePhotoForm::OnBtnsearchfilter() { // TODO: Add your control notification handler code here SearchFilter dlg; dlg.m_mode =3; if(dlg.DoModal ()==IDOK)FillGrid(); g_bSearchFilter=0; } BOOL ChoosePhotoForm::IsPhoto2Exist(CString m_id) { CString path2; CString path=g_path2+"\\"; path+=m_id; path +="\\"; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path), LPCSTR("*.jpg")); ffsco::typeT coo; coo = o.co_file(); return coo.size(); } void ChoosePhotoForm::OnBUTexportphoto2() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要缓存的定单!", MB_ICONINFORMATION); return; } ClearHC(); int iItem=m_List1.GetNextSelectedItem(pos); CString m_id=m_List1.GetItemText (iItem, 0); CString m_path,m_seltxname; m_path=g_path2+"\\"; m_path+=m_id; m_path +="\\"; ////////////////////// CStringArray m_patharray1; int m_nChoosePhotoType=2; if(m_patharray1.GetSize ()==0) { if(IsPhoto2Exist(m_id)) { SelBrunDevice dlg; dlg.m_mode=1; if(dlg.DoModal ()==IDOK) m_nChoosePhotoType=dlg.m_sel; else m_nChoosePhotoType=0; //m_nChoosePhotoType=0 原片+修片 1:修片 2:原片 } else AfxMessageBox("温馨提示:\r\n未找到初修片,将使用原片选片", MB_ICONINFORMATION); { CString path,path2; m_path=g_path1+"\\"; m_path+=m_id; m_path +="\\"; if(m_seltxname!="" && m_seltxname!="全部") { m_path+=m_seltxname; m_path +="\\"; } if(m_nChoosePhotoType==1) { m_path=g_path2+"\\"; m_path+=m_id; m_path +="\\"; } CString filename; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(m_path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); filename=path.Right(path.GetLength()-path.ReverseFind ('\\')-1); if(filename.Find(".")!=-1) filename=filename.Left(filename.Find(".")); if(!myisdigit(filename))continue; if(m_nChoosePhotoType==1) { m_patharray1.Add (path); } else { path2=path; if(m_nChoosePhotoType==0) path2.Replace ("客户原片", "修好的片"); if(1) { int pos=path2.Find (m_id); pos+=m_id.GetLength (); int pos2=path2.ReverseFind ('\\'); path2=path2.Left (pos)+path2.Right (path2.GetLength ()-pos2); } if(m_nChoosePhotoType==0 && ::PathFileExists (path2)) { m_patharray1.Add (path2); } else { path2.Replace (".raw", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".nef", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".cr2", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } else { if(path.Right(3)!="jpg")continue; m_patharray1.Add (path); } } } } } } // if(0) {//多种修好的效果 CString path,path2; path2=g_path2+"\\"; path2+=m_id; path2 +="\\"; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path2), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); path2=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); if(path2.Find ("-")!=-1) { m_patharray1.Add (path); } } } } ///////////////////////// char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_id; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; ImportPhoto dlg; dlg.m_bCopyToLocal=1; dlg.m_mode =1; dlg.m_pArray=&m_patharray1; dlg.m_savepath =sysdir; dlg.DoModal (); AfxMessageBox("缓存成功!"); } } CString GetCreateTime(CString path) { CFileFind finder; path.TrimRight("\\"); BOOL bWorking = finder.FindFile(path); if(bWorking) { finder.FindNextFile( ); CTime tm; finder.GetCreationTime(tm); CTimeSpan dt=CTime::GetCurrentTime()-tm; CString version = _T ("Version 1.0"); int m_dtdays=AfxGetApp()->GetProfileInt (version, "dtdays2", 5); if(dt.GetDays()>=m_dtdays) { ::DeleteDirectory (path); } } return ""; } void ChoosePhotoForm::ClearHC() { char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; CString str; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(sysdir), 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(str==sysdir)continue; GetCreateTime(str); } } void ChoosePhotoForm::OnBUTexportphoto3() { // TODO: Add your control notification handler code here yesno DelHC dlg; dlg.DoModal(); }