// MainFrm.cpp : implementation of the CMainFrame class 员工工作 #include "stdafx.h" #include "YLGL.h" #include "resource.h" #include "MainFrm.h" #include #include "ConnectDlg.h" #include "SendDataDlg.h" #include "DinDanHistroy.h" #include "ShangPin.h" #include "SPLBDlg.h" #include "BuMenDlg.h" #include "Worker.h" #include "ShowPic3.h" #include "TXDlg.h" #include "TXSPDlg.h" #include "MsgReg2.h" #include "ProviderDlg.h" #include "Booking.h" #include "Booking2.h" #include "PayOutSet.h" #include "PayOutInput.h" #include "IncomeInput.h" #include "IncomeInput2.h" #include "IncomeInput3.h" #include "IncomeInput4.h" #include "DressEarlyWarning.h" #include "DailyForm.h" #include "MonthForm.h" #include "ProcessAlarm.h" #include "MonthForm2.h" #include "YearForm.h" #include "ClientForm.h" #include "ClientForm2.h" #include "ClientForm3.h" #include "DinDanFrom.h" #include "Satisfaction.h" //#include "SatisfactionForm.h" #include "SatisfactionReportForm.h" #include "TodayForm.h" #include "TodayForm2.h" #include "SendInsideMsg2.h" #include "StoreInfoChart.h" #include "FixedAssets.h" #include "SPForm.h" #include "ShowMsg.h" #include "Account.h" #include "Login.h" #include "Login3.h" #include "Psw.h" #include "AreaDlg.h" #include "TakeFrom.h" #include "ChoosePhotoForm.h" #include "BeautifySkinFrom.h" #include "DesignFrom.h" #include "outsourcing.h" #include "ChoosePhotoSkin.h" #include "SalarySet.h" #include "SalarySet2.h" #include "MySalary.h" #include "PrintRX.h" #include "LoadRect.h" #include "PrintPreview.h" #include "SearchClient.h" #include "BeautifySkinFrom2.h" #include "FinanceForm.h" #include "PhotoPrintFrom.h" //#include "SqlDlg.h" #include "YearForm2.h" #include "AreaClient.h" #include "DBConfig.h" #include "SetPathDlg2.h" #include "StaffAchievement.h" #include "BurnCD.h" #include "StaffAchievementSet.h" #include "StaffAchievementShowAll.h" #include "SelContent.h" #include "ClientMoney.h" #include "DelPhotoSet.h" #include "ompanyInfo.h" #include "ClientForm.h" #include "PhotoBak.h" #include "MsgReg.h" #include "SendMsg.h" #include "MsgSet.h" #include "ShowMember.h" #include "ShowMember2.h" #include "MemberSet.h" #include "DressManage.h" #include "ShowDress.h" #include "ShowPic.h" #include "ShowHireReg.h" #include "InputGoods.h" #include "ShowGoods.h" #include "CostCal.h" #include "Welcome.h" #include "EmployeeMsg.h" #include "TXFG.h" #include "EmployeeForm.h" #include "EmployeeForm2.h" #include "Client2Form.h" #include "Client2FormLYFZ.h" #include "OldClient.h" #include "ClientReasonChart.h" #include "ClientFromChart.h" #include "WorkMsg.h" #include "SetLoginTime.h" #include "SetLoginBan.h" #include "LoginReg.h" #include "LoginReg2.h" #include "PhoneRecord.h" #include "PhoneRecordOut.h" #include "MissCall.h" #include "InsideMsg.h" #include "Card2Reg.h" #include "Card2RegChart.h" #include "ShowMemberBlue.h" #include "Card2RegBlue.h" #include "Card2RegChartBlue.h" #include "DigitalWork.h" #include "HideWindow.h" #include "SalarySet3.h" #include "YearFormBranch.h" #include "YearFormBranch2.h" #include "Set.h" #include "DinDanFromBranch.h" #include "MemberChart.h" #include "ShowMemberMsg.h" #include "ShowBakState.h" #include "DinDanForm.h" #include "CalendarConvert.h" #include "ShowLOg.h" #include "HospitalClient.h" #include "HospitalClientAlarm.h" #include "HospitalInfoSet.h" #include "AddHospitalClient.h" #include "HospitalClientMsg.h" #ifndef VC60 #include "msgId_def.h" #include "struct_def.h" #endif //#ifndef VC60 #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #ifndef WINVER #define WINVER 0x0400 #endif #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 #endif #ifndef _WIN32_WINDOWS #define _WIN32_WINDOWS 0x0410 #endif #ifndef _WIN32_IE #define _WIN32_IE 0x0400 #endif #include "uxtheme.h " typedef HTHEME(__stdcall * POPENTHEMEDATA)(HWND hwnd, LPCWSTR pszClassList); typedef HRESULT(__stdcall * PCLOSETHEMEDATA)(HTHEME hTheme); HHOOK g_hmouse = NULL; //g_sendhead zx.dll //extern void WriteTextLog(CString str); // Jeff写客户端日志; // Jeff.remark; // 函数:MouseProc // 参数: // nCode hook code // wParam message identifier // lParam mouse coordinates // 返回: // LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam) { if (g_pMainWnd) { if(g_cominfoarray.GetSize() > 0) { if (atoi(g_cominfoarray.ElementAt(0).ElementAt(133)) && atoi(g_cominfoarray.ElementAt(0).ElementAt(134)) > 0) { g_pMainWnd->KillTimer(5); g_pMainWnd->SetTimer(5, atoi(g_cominfoarray.ElementAt(0).ElementAt(134)) * 60 * 1000, NULL); } } if (g_bSendLYFZ) { g_pMainWnd->KillTimer(7); g_pMainWnd->SetTimer(7, 5 * 60 * 1000, NULL); } } return CallNextHookEx(g_hmouse, nCode, wParam, lParam); } CRect g_rc; // 屏幕坐标值,区域是放置对话框。 CMainFrame *g_pMainWnd = NULL; extern HWND g_hSendWnd; extern HWND g_hConnectWnd; //extern CString newGUID(); #ifdef USE_KERNEL_DLL /************************************************************************/ /* 函数:kernelCallback 描述:kernel.dll的回调函数; 参数: lpStrBranchId: 域名; lpStrOrder: 订单号; dwImgType: 相片类型; dwImgNum: 重命名使用,返回的相片编号; lpStrImg: IncrementalBack表使用的content字段内容,指定备份文件名的相片; lpStrImgExt: IncrementalBack表使用的backupExt字段内容,指定要备份的扩展名相片; 返回:void */ /************************************************************************/ #include "ImportPhoto.h" // 导入原片、初修、精修、设计结束后的回调函数(三合一); void CALLBACK ImgImportMergeCallback(IN LPCTSTR lpStrBranchId, IN LPCTSTR lpStrOrderNum, IN CONST INT& dwImgType, IN CONST DWORD& dwImgNum, IN LPCTSTR lpStrImgs, IN LPCTSTR lpStrImgExt) { AfxSetResourceHandle(g_Instance); // 1.判断参数有效性; if (lpStrBranchId == NULL || !strstr(lpStrBranchId, _T(".ly.com")) || lpStrOrderNum == NULL || _tcscmp(lpStrOrderNum, _T("")) == 0) { OutputDebugString(_T("回调函数参数(域名、订单号)无效\n")); return; } // 2.是否需要备份分店相片; BOOL bIsNeedBranchImg = FALSE; switch (dwImgType) { case 1://是否备份分店原片; bIsNeedBranchImg = g_ThisShopVersion.bUpLoadCheck1; break; case 2://是否备份分店修片; bIsNeedBranchImg = g_ThisShopVersion.bUpLoadCheck2; break; case 3://是否备份分店精修; bIsNeedBranchImg = g_ThisShopVersion.bUpLoadCheck3; break; case 4://是否备份分店设计; bIsNeedBranchImg = g_ThisShopVersion.bUpLoadCheck4; break; default: OutputDebugString(_T("未知相片类型!\n")); break; } // 3.同时更新IncrementalBack表; CString strSQLInsert = _T(""); strSQLInsert.Format(INSERT_INCREMENT, 0, lpStrBranchId, CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S"), lpStrOrderNum, dwImgType, lpStrImgs, g_user.account, g_user.name); // 4.连接服务器,更新dindan和IncrementalBackup; g_sendhead.bsql = 1; if (g_bAllBranch) {// 多店汇总时; g_branchip = GetBranchIPbyId(lpStrBranchId); g_pMainWnd->OnDisconnect(); g_branchname = GetBranchNamebyId(lpStrBranchId); g_bBranchModify = 1; if (dwImgType == OImgtype) {// 如果导入的是原片; CString strSQL = _T(""); strSQL.Format(_T("update dindan set curno = '%d' where id = '%s' ***%s"), dwImgNum, lpStrOrderNum, strSQLInsert); g_pMainWnd->ProcessChatMessageRequest2(strSQL); } else {//导入的不是原片; g_pMainWnd->ProcessChatMessageRequest2(strSQLInsert); } // 如果连接服务器失败,要记录下来; // if () ......... g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; g_branchip = g_branchname = _T(""); if (g_domain.CompareNoCase(lpStrBranchId) != 0 && bIsNeedBranchImg) {// 如果不是本店,且本店设置中需要备份分店相片,需要向本店添加导入相片记录; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQLInsert); g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; } } else {// 连接本店或分店时; if (dwImgType == OImgtype) {// 如果导入的是原片; CString strSQL = _T(""); strSQL.Format(_T("update dindan set curno = '%d' where id = '%s' ***%s"), dwImgNum, lpStrOrderNum, strSQLInsert); g_pMainWnd->ProcessChatMessageRequest2(strSQL); } else {//导入的不是原片; g_pMainWnd->ProcessChatMessageRequest2(strSQLInsert); } if (g_domain.CompareNoCase(lpStrBranchId) != 0 && bIsNeedBranchImg) {// 如果不是本店,且本店设置中需要备份分店相片,需要向本店添加导入相片记录; #if 1 ::SendMessage(g_pMainWnd->m_hWnd, MSG_KERNEL_SENDMSG, (WPARAM)lpStrBranchId, (LPARAM)&strSQLInsert); #else // 可能是VC6.0与VC9.0间DLL调用产生的问题,下面代码执行时会出错; // 如果连接的是分店,断开分店,回连本店; g_bBranchModify = FALSE; g_pMainWnd->OnDisconnect(); g_branchname = g_branchip = _T(""); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQLInsert); g_pMainWnd->OnDisconnect(); // 设置回分店连接; g_branchip = GetBranchIPbyId(lpStrBranchId); g_branchname = GetBranchNamebyId(lpStrBranchId); g_bBranchModify = TRUE; #endif } } if ( dwImgType == OImgtype ) {// 最后一步,更新完了数据库,刷新TakFrom类所对应的对话框; HWND hWnd = ::FindWindowEx(g_pMainWnd->GetSafeHwnd(), NULL, _T("MDIClient"), NULL); if (hWnd) { hWnd = ::FindWindowEx(hWnd, NULL, NULL, _T("拍照")); if (hWnd) { hWnd = ::FindWindowEx(hWnd, NULL, _T("#32770"), NULL); if (hWnd) { ::SendMessage(hWnd, MSG_KERNEL_CALLBACK, 0, 0); } } } } } #endif ///////////////////////////////////////////////////////////////////////////// // CMainFrame客人付款 ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// static void HandleClientNetEvent(IN SOCKET hSocket, IN ETransportEvent eEvent, IN void *pDataBuf, IN unsigned long nDataLen, IN int nError, IN void *pContext) { if (nError != TRANSPORT_OK) return; CMainFrame *pDlg = (CMainFrame *)pContext; if (NULL == pDlg) return; pDlg->ProcessNetEvent(eEvent, pDataBuf, nDataLen); } BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) { CRect rtCtrl, rtWnd; // 子窗口,父窗口; if (hwnd) { ::GetWindowRect(hwnd, &rtCtrl); // 获取控件大小; ::GetWindowRect(GetParent(hwnd), &rtWnd); // 获取父窗口大小; // printf("Jeff:g_WidthScale=%d,g_HeightScale=%d,rtWnd.left=%d,rtWnd.top=%d\n\n",g_WidthScale,g_HeightScale,rtWnd.left,rtWnd.top); // printf("Jeff:old:ctrl.left=%d,ctrl.top=%d,ctrl.right=%d,ctrl.bottom=%d\n\n",rtCtrl.left,rtCtrl.top,rtCtrl.right,rtCtrl.bottom); rtCtrl.OffsetRect(-rtWnd.left, -rtWnd.top); float temp; temp = (float)rtCtrl.left*g_WidthScale; rtCtrl.left = (int)temp + g_dx; temp = (float)rtCtrl.top*g_HeightScale; rtCtrl.top = (int)temp + g_dy; temp = (float)rtCtrl.right*g_WidthScale; rtCtrl.right = (int)temp + g_dx; temp = (float)rtCtrl.bottom*g_HeightScale; rtCtrl.bottom = (int)temp + g_dy; //printf("Jeff:new:ctrl.left=%d,ctrl.top=%d,ctrl.right=%d,ctrl.bottom=%d\n\n",rtCtrl.left,rtCtrl.top,rtCtrl.right,rtCtrl.bottom); ::MoveWindow(hwnd, rtCtrl.left, rtCtrl.top, rtCtrl.Width(), rtCtrl.Height(), TRUE); return TRUE; } else { return FALSE; } } IMPLEMENT_DYNCREATE(CMainFrame, CMDIFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_DESTROY() ON_WM_CLOSE() ON_WM_TIMER() ON_COMMAND(IDM_choosephotoskin, Onchoosephotoskin) ON_COMMAND(IDM_PATH, OnPath) ON_COMMAND(IDM_SERVER, OnServer) ON_COMMAND(IDM_SHOWHIS, OnShowhis) ON_COMMAND(IDM_StaffAchievementShow, OnStaffAchievementShow) ON_COMMAND(IDM_AUTODELPHOTO, OnAutodelphoto) ON_COMMAND(IDM_PHOTOMANAGE, Onphotomanage) ON_COMMAND(IDM_COMPANYINFO, OnCompanyinfo) ON_COMMAND(IDM_HELPFILE, OnHelpfile) ON_COMMAND(IDM_PHOTOBAK, OnPhotobak) ON_COMMAND(IDM_TAOXIFG, OnTaoxifg) ON_COMMAND(IDM_ShowBakState, OnShowBakState) ON_WM_NCLBUTTONDBLCLK() ON_WM_NCHITTEST() ON_COMMAND(IDM_LOG, OnLog) //}}AFX_MSG_MAP ON_COMMAND_RANGE(0, 50000, OnCommandMenu) ON_MESSAGE(MSG_KERNEL_SENDMSG, OnKernelSendMessaage) END_MESSAGE_MAP() static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; ///////////////////////////////////////////////////////////////////////////// // CMainFrame construction/destruction #ifdef VC60 UINT CMainFrame::OnNcHitTest(CPoint point) { if (CWnd::OnNcHitTest(point) == HTRIGHT || CWnd::OnNcHitTest(point) == HTLEFT || CWnd::OnNcHitTest(point) == HTTOP || CWnd::OnNcHitTest(point) == HTBOTTOM) return HTCLIENT; return CWnd::OnNcHitTest(point); } #else LRESULT CMainFrame::OnNcHitTest(CPoint point) { if (CWnd::OnNcHitTest(point) == HTRIGHT || CWnd::OnNcHitTest(point) == HTLEFT || CWnd::OnNcHitTest(point) == HTTOP || CWnd::OnNcHitTest(point) == HTBOTTOM) return HTCLIENT; return CWnd::OnNcHitTest(point); } #endif void CMainFrame::OnNcLButtonDblClk(UINT nFlags, CPoint point) { if (nFlags != HTCAPTION) CMDIFrameWnd::OnNcLButtonDblClk(nFlags, point); } // 回调使用; LRESULT CMainFrame::OnKernelSendMessaage(WPARAM wp, LPARAM lp) { CString strBranchId = (LPCTSTR)wp; CString strSQLInsert = *(CString*)lp; // 如果连接的是分店,断开分店,回连本店; g_bBranchModify = FALSE; g_pMainWnd->OnDisconnect(); g_branchname = g_branchip = _T(""); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSQLInsert); g_pMainWnd->OnDisconnect(); // 设置回分店连接; g_branchip = GetBranchIPbyId(strBranchId); g_branchname = GetBranchNamebyId(strBranchId); g_bBranchModify = TRUE; g_pMainWnd->OnConnect(); return 0; } CMainFrame::CMainFrame() { // TODO: add member initialization code here SetConnectionID(INVALID_SOCKET); m_pMainFrimDlg2 = NULL; m_bCheckF2F3 = AfxGetApp()->GetProfileInt(LYFZVERSION, "f2f3", 0); if (0 == ::PathFileExists(g_mainpath + "\\skin\\5.lia")) { g_bNoLoginLia = 1; } } CMainFrame::~CMainFrame() { if (m_pMainFrimDlg2) { m_pMainFrimDlg2->DestroyWindow(); delete m_pMainFrimDlg2; } } void InTheMe(HWND m_hWnd) { BOOL bXpVisualStyle = FALSE; OSVERSIONINFO osvi; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); ::GetVersionEx(&osvi); if ((osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) && (osvi.dwMajorVersion >= 5) && (osvi.dwMinorVersion >= 1)) { HMODULE hUxTheme = ::LoadLibrary(_T("UxTheme.dll")); POPENTHEMEDATA pOpenThemeData; PCLOSETHEMEDATA pCloseThemeData; if (hUxTheme != NULL) { pOpenThemeData = (POPENTHEMEDATA)::GetProcAddress(hUxTheme, "OpenThemeData"); pCloseThemeData = (PCLOSETHEMEDATA)::GetProcAddress(hUxTheme, "CloseThemeData"); HTHEME hButtonTheme = (*pOpenThemeData)(m_hWnd, L"BUTTON"); if (hButtonTheme != NULL) bXpVisualStyle = TRUE; (*pCloseThemeData)(hButtonTheme); } ::FreeLibrary(hUxTheme); } if (bXpVisualStyle) AfxMessageBox(_T("正在使用视觉主题 ")); else AfxMessageBox(_T("没有使用视觉主题 ")); } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) { // Jeff.创建失败的可能性小,加日志输出; return -1; } if (::PathFileExists(g_mainpath + "\\logo.ico")) { Bitmap *bmp = NULL; LoadImageFromFile((Image**)&bmp, g_mainpath + "\\logo.ico"); // m_hIcon = AfxGetApp()->LoadIcon(g_mainpath+"\\logo.ico"); bmp->GetHICON(&m_hIcon); delete bmp; SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon } if (!m_wndClient.SubclassWindow(m_hWndMDIClient)) { return -1; } if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } m_wndToolBar.LoadTrueColorToolBar(90, IDB_NORMAL, 0, IDB_DISABLE); // second toolbar must have different ID if (!m_wndToolBar2.Create(this, WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_NOALIGN, AFX_IDW_CONTROLBAR_FIRST + 32) || !m_wndToolBar2.LoadToolBar(IDR_TOOLBAR1)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } #ifndef NEW_SKIN if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { // Jeff.创建失败的可能性小,加日志输出; TRACE0("Failed to create status bar\n"); return -1; // fail to create } m_wndStatusBar.SetPaneInfo(1,ID_INDICATOR_USER,SBPS_NORMAL,200); m_wndStatusBar.SetPaneText(1,"未登录",TRUE); #endif // TODO: Delete these three lines if you don't want the toolbar to // be dockable NewMenu2(); ::GetWindowRect(this->m_hWndMDIClient, g_rc); g_pMainWnd = this; m_wndToolBar2.Init(); g_rc.top += 38; g_rc.left += 160; /* m_WidthScale = (float)g_rc.Width ()/722; m_HeightScale = (float)g_rc.Height ()/533;*/ g_user.bLongin = 0; SetTimer(1, 100, NULL); #ifdef USE_KERNEL_DLL if ( g_pIMGProcess ) g_pIMGProcess->SetCallBack(ImgImportMergeCallback); #endif return 0; } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if (!CMDIFrameWnd::PreCreateWindow(cs)) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.style &= ~WS_MAXIMIZEBOX; cs.style &= ~WS_THICKFRAME; cs.lpszName = g_title + "影楼管理系统"; cs.style &= ~FWS_ADDTOTITLE; RECT rect; HWND hWnd = ::FindWindow("Shell_TrayWnd", 0); ::GetWindowRect(hWnd, &rect); cs.x = 0; cs.y = 0; cs.cx = GetSystemMetrics(SM_CXSCREEN); cs.cy = GetSystemMetrics(SM_CYSCREEN) - (rect.bottom - rect.top) + 3; return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CMainFrame diagnostics #ifdef _DEBUG void CMainFrame::AssertValid() const { CMDIFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { CMDIFrameWnd::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers void CMainFrame::OnDestroy() { OnDisconnect(); #ifdef VC60 Transport_UnInit(); #else CClientTunnel::Transport_UnInit(); #endif //#ifdef VC60 m_Mdi.DeleteAll(); if (g_hmouse)UnhookWindowsHookEx(g_hmouse); CMDIFrameWnd::OnDestroy(); } void CMainFrame::OnClose() { g_bShowBar = 0; if (m_Mdi.MainClose()) CMDIFrameWnd::OnClose(); }//连接 void CMainFrame::NewMenu2() { CMenu *pMemu = GetMenu(); #ifdef BASIC_VERSION CMenu* submenu = pMemu->GetSubMenu(1); //submenu->RemoveMenu (IDM_StaffAchievementShow, MF_BYCOMMAND );//Jeff del 2014.06.16 submenu->RemoveMenu (IDM_salaryset, MF_BYCOMMAND ); #endif #if 0 // 此机用选片菜单项,去掉不用; { BOOL checked=AfxGetApp()->GetProfileInt (LYFZVERSION, "status", 0); if(checked) { CMenu* submenu = pMemu->GetSubMenu(1); submenu->CheckMenuItem(IDM_choosephotoskin, MF_BYCOMMAND | MF_CHECKED); } } #endif #ifndef BASIC_VERSION { BOOL checked = AfxGetApp()->GetProfileInt(LYFZVERSION, "status2", 0); if (checked) { #if 0 // Jeff:去掉菜单,此机用于员工业绩查看的菜单选项; CMenu* submenu = pMemu->GetSubMenu(1); submenu->CheckMenuItem(IDM_StaffAchievementShow, MF_BYCOMMAND | MF_CHECKED); #endif g_bStaffAchievementShow = 1; SetTimer(3, 100, NULL); } } #endif if (g_bShowOK == 0) { CMenu* submenu = pMemu->GetSubMenu(2); submenu->CheckMenuItem(IDM_SHOWHIS, MF_BYCOMMAND | MF_CHECKED); } } HMENU CMainFrame::NewMenu() { //设置菜单为XP风格 IDM_SHOWHIS BCMenu::SetMenuDrawMode(1); //若取消下面这句注释,则可看到菜单的图标栏和文字栏背景颜色为白色, //文字颜色为蓝色,选中项的前景色为紫红色 //m_menuXP.SetMenuXPItemColor(0x00FFFFFF,0x00FFFFFF,0x00FF0000,0x00FF00FF); // 设置菜单中图标大小为32×32 // m_menuXP.SetIconSize(32,32); // 加载菜单资源 m_menuXP.LoadMenu(IDR_MAINFRAME); // 加载菜单对应的工具栏资源 // m_menuXP.LoadToolbar(IDR_MAINFRAME); /*由于菜单左边栏中默认的图标大小为16×16,而与之对应的Toolbar中图标大小为32×32, 因此菜单中图标不能正确显示,只显示出工具栏中图标的左上角部分,所以修改菜单中各 项对应的图标为24b色位图资源IDB_***,或者在LoadMenu之前调用SetIconSize,设置菜单 中图标大小为32×32*/ // m_menuXP.SetIconSize(24,24); // m_menuXP.ModifyODMenu(NULL,IDM_YWBU,IDB_YW); // /* m_menuXP.ModifyODMenu(NULL,ID_FILE_OPEN,IDB_BITMAP5); m_menuXP.ModifyODMenu(NULL,ID_FILE_SAVE,IDB_BITMAP7); m_menuXP.ModifyODMenu(NULL,ID_FILE_PRINT,IDB_BITMAP6); m_menuXP.ModifyODMenu(NULL,ID_APP_ABOUT,IDB_BITMAP3); m_menuXP.ModifyODMenu(NULL,ID_APP_EXIT,IDB_BITMAP2);*/ // m_menuXP.EnableMenuItem (0, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); // m_menuXP.EnableMenuItem (2, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); // m_menuXP.EnableMenuItem (3, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); // m_menuXP.EnableMenuItem (4, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); // m_menuXP.EnableMenuItem (5, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); // m_menuXP.EnableMenuItem (8, MF_BYPOSITION | MF_GRAYED | MF_DISABLED ); #if 0 // Jeff此机用选片菜单项不用; { BOOL checked=AfxGetApp()->GetProfileInt (LYFZVERSION, "status", 0); if(checked) { CMenu* submenu = m_menuXP.GetSubMenu(1); submenu->CheckMenuItem(IDM_choosephotoskin, MF_BYCOMMAND | MF_CHECKED); } } #endif { BOOL checked = AfxGetApp()->GetProfileInt(LYFZVERSION, "status2", 0); if (checked) { #if 0 // Jeff:去掉此机用于员工业绩查看的菜单选项; CMenu* submenu = m_menuXP.GetSubMenu(1); submenu->CheckMenuItem(IDM_StaffAchievementShow, MF_BYCOMMAND | MF_CHECKED); #endif g_bStaffAchievementShow = 1; SetTimer(3, 100, NULL); } } if (g_bShowOK == 0) { CMenu* submenu = m_menuXP.GetSubMenu(2); submenu->CheckMenuItem(IDM_SHOWHIS, MF_BYCOMMAND | MF_CHECKED); } return(m_menuXP.Detach()); } /////////////////////////////////////////////////////// //减少代码 #define OPEN_MENU(x) m_Mdi.Append(pName, RUNTIME_CLASS(x), IDR_MAINFRAME, this, nID) //响应菜单命令 void CMainFrame::OnCommandMenu(UINT nID) // 所有菜单命令都在这里处理; { if (nID >= 2000 && nID <= 2100) { OnBranchData(nID); return; } if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } return; if (g_user.bLongin == 0)return; } else { InsideMsg(); } ResetTimer(); if (nID >= 1000 && nID <= 1100) { OnHistory(nID); return; } LPSTR pName; //打开窗口 switch (nID) { case IDM_PayOutSet: { if (IsHasRights(16) == 0)return; PayOutSet dlg; dlg.DoModal(); return; } case IDM_SPLB: { if (IsHasRightsnew(29) == 0)return; SPLBDlg dlg; dlg.DoModal(); return; } case IDM_JD: { if (IsHasRightsnew(49) == 0)return; SPLBDlg dlg; dlg.m_mode = 1; dlg.DoModal(); return; } case IDM_AREA: { if (IsHasRightsnew(47) == 0)return; AreaDlg dlg; dlg.DoModal(); return; } case IDM_Psw: { Psw dlg; dlg.DoModal(); return; } case IDM_Set: { if (IsHasRightsnew(49) == 0)return; Set dlg; dlg.DoModal(); return; } case IDM_HIDEWINDOW: { HideWindow dlg; dlg.DoModal(); return; } case IDM_Logout:// Jeff.注销; { if(g_user.bLongin) WriteLog("退出系统!", "退出系统!"); g_user.bLongin = 0; g_user.name.Empty(); g_user.rights.Empty(); g_user.account.Empty(); g_user.rights2 = "*门市流程;1;拍照;修片;选片;精修;设计;发片/取件;*财务管理;0;*统计查询;0;* 短信群发 ;0;*会员管理;0;*礼服管理;0;*库存管理;0;*客户管理;0;*来电精灵;0;*员工考勤;0;"; g_pMainWnd2->RefreshOutlookBar(); #ifndef NEW_SKIN m_wndStatusBar.SetPaneText(1, "未登录", TRUE); #endif m_Mdi.CloseAll(); #ifdef ENTERPRISE_VERSION g_branchname.Empty(); g_branchip.Empty(); g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; #endif if (g_pMainWnd2) { g_pMainWnd2->DrawLogin(); g_pMainWnd2->ShowBar(0); } g_hisyeararray.RemoveAll(); g_pMainWnd->AddHistoryMenu(&g_hisyeararray); g_brancharray.RemoveAll(); g_pMainWnd->AddBranchMenu(&g_brancharray); if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 1) { if (g_pMainWnd2) { g_pMainWnd2->ShowBar(TRUE,TRUE); } } return; } case IDM_TODAY: pName = (LPSTR)(LPCSTR)"历史订单"; // OPEN_MENU(SalarySet3); OPEN_MENU(DinDanHistroy); break; case IDM_TAKECONTROL: pName = (LPSTR)(LPCSTR)"摄控表"; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(117))) OPEN_MENU(TodayForm2); else OPEN_MENU(TodayForm); break; case IDM_CLIENTMONEY: pName = (LPSTR)(LPCSTR)"客人付款"; OPEN_MENU(ClientMoney); break; case IDM_TAKEAWAYBOOK: pName = (LPSTR)(LPCSTR)"发片/取件"; OPEN_MENU(outsourcing); break; case IDM_CODE: pName = (LPSTR)(LPCSTR)"商品报表"; OPEN_MENU(SPForm); break; case IDM_Daily: // if(IsHasRightsnew(22)==0)return; // pName = (LPSTR)(LPCSTR)"日财务表"; // OPEN_MENU(DailyForm); pName = (LPSTR)(LPCSTR)"沟通助手"; OPEN_MENU(InsideMsg); break; case IDM_ProcessAlarm: pName = (LPSTR)(LPCSTR)"流程监控"; OPEN_MENU(ProcessAlarm); break; case IDM_DINDAN: // if(IsHasRights(7)==0)return; pName = (LPSTR)(LPCSTR)"订单报表"; OPEN_MENU(DinDanFrom); break; case IDM_CLIENT: //if(IsHasRights(8)==0)return; pName = (LPSTR)(LPCSTR)"客户报表"; OPEN_MENU(CClientForm); break; case IDM_PayOutInput: if (IsHasRightsnew(20) == 0)return; pName = (LPSTR)(LPCSTR)"现金支出"; OPEN_MENU(PayOutInput); break; case IDM_salaryset: if (IsHasRightsnew(25) == 0)return; pName = (LPSTR)(LPCSTR)"工资设置"; OPEN_MENU(SalarySet); break; case IDM_mysalary: if (IsHasRights(16) == 0)return; pName = (LPSTR)(LPCSTR)"我的工资"; OPEN_MENU(MySalary); break; case IDM_SP: // if(IsHasRightsnew(29)==0)return; pName = (LPSTR)(LPCSTR)"商品设置"; OPEN_MENU(ShangPin); break; case IDM_WORKER: if (IsHasRightsnew(27) == 0)return; pName = (LPSTR)(LPCSTR)"员工设置"; OPEN_MENU(Worker); break; case IDM_TAOXI: if (IsHasRightsnew(30) == 0)return; pName = (LPSTR)(LPCSTR)"套系设置"; OPEN_MENU(TXDlg); break; case IDM_TAOXISP: if (IsHasRightsnew(30) == 0)return; pName = (LPSTR)(LPCSTR)"套系赠送商品设置"; OPEN_MENU(TXSPDlg); break; case IDM_Provider: if (IsHasRightsnew(32) == 0)return; pName = (LPSTR)(LPCSTR)"供应商设置"; OPEN_MENU(ProviderDlg); break; case IDM_BUMEN: { if (IsHasRightsnew(49) == 0)return; BuMenDlg dlg; dlg.DoModal(); return; } case IDM_Account: if (IsHasRightsnew(49) == 0)return; pName = (LPSTR)(LPCSTR)"账号管理"; OPEN_MENU(Account); break; case IDM_YLCD: { //AfxMessageBox("IDM_YLCD"); ::CopyFile(_T(g_path7 + "\\接单系统\\Regsvr32.exe"), _T(g_mainpath + "\\Regsvr32.exe"), 0); ::CopyFile(_T(g_path7 + "\\接单系统\\Flash9f.ocx"), _T(g_mainpath + "\\Flash9f.ocx"), 0); CString temp; temp.Format("%s\\regsvr32.exe /s %s\\Flash9f.OCX", g_mainpath, g_mainpath); WinExec(temp, SW_HIDE); ::CopyFile(_T(g_path7 + "\\接单系统\\接单系统.exe"), _T(g_mainpath + "\\接单系统.exe"), 0); ::CopyFile(_T(g_path7 + "\\接单系统\\my32.dll"), _T(g_mainpath + "\\my32.dll"), 0); ::CopyFile(_T(g_path7 + "\\接单系统\\server.dat"), _T(g_mainpath + "\\server.dat"), 0); ShellExecute(NULL, _T("open"), _T(g_mainpath + "\\接单系统.exe"), g_server, NULL, SW_SHOWNORMAL); } break; case IDM_YLCDMANAGE: ::CopyFile(_T(g_path7 + "\\接单系统\\资源管理器.exe"), _T(g_mainpath + "\\资源管理器.exe"), 0); ShellExecute(NULL, _T("open"), _T(g_mainpath + "\\资源管理器.exe"), g_server, NULL, SW_SHOWNORMAL); break; } } //减少代码 /////////////////////////////////////////////////////////////////////////////// void CMainFrame::OnDisconnect() { printf("断开TCP连接\n"); m_tClientTunnel.net_CloseSocket(); SetConnectionID(INVALID_SOCKET); } void CMainFrame::ProcessLoginResponse(void *pLoginResult) { if (NULL == pLoginResult) return; LOGIN_RESULT_STRU *ptLoginResult = (LOGIN_RESULT_STRU *)pLoginResult; DWORD dwConnectionID = ptLoginResult->tCommonMsg.dwConnectionID; SetConnectionID(dwConnectionID); BYTE byResult = ptLoginResult->byResult; if (LOGIN_RESULT_SUC == byResult) { //AfxMessageBox("登录成功"); // Jeff test; } else { OnDisconnect(); } } /************************************************************************/ /* 函数:ProcessLoginRequest[3/3/2016 IT]; /* 描述:登陆服务器; /* 参数:; /* [IN] :; /* [OUT] :; /* [IN/OUT] :; /* 返回:登陆成功返回TRUE; /* 注意:; /* 示例:; /* /* 修改:; /* 日期:; /* 内容:; /************************************************************************/ BOOL CMainFrame::ProcessLoginRequest() { // 1.设置通信类型MSG_LOGIN_REQ,为登陆请求; WORD wMessageId = 0; if (g_conntype == 0 && !g_bConnLYFZ) wMessageId = (MSG_LOGIN_REQ + 0X1FFF); else// if (g_bConnLYFZ ) wMessageId = MSG_LOGIN_REQ; // 2.填充发送数据; TLOGIN_STRU tLogonInfo = { 0 }; tLogonInfo.tCommonMsg.dwConnectionID = GetConnectionID();//此时m_dwConnectionID为INVALIDE_SOCKET; tLogonInfo.tCommonMsg.wMessageId = wMessageId; CString strUserName = newGUID();// 以随机数作为登陆时的用户名称; strUserName.TrimLeft(); strUserName.TrimRight(); #ifdef VC60 strcpy(tLogonInfo.tUserInfo.szUserName, strUserName); #else strcpy_s(tLogonInfo.tUserInfo.szUserName, 31, strUserName); #endif DWORD dwDataLen = sizeof(TLOGIN_STRU); // 3.填充数据头; TMessageHeader tHeader = { 0 }; tHeader.wMessageId = wMessageId; tHeader.dwDataLen = dwDataLen; // 4.发送数据; unsigned long ulSendLen = m_tClientTunnel.net_Send(&tHeader, (void *)&tLogonInfo, dwDataLen); if (ulSendLen == SOCKET_ERROR) { return 0; } return 1; } DWORD CMainFrame::GetConnectionID() { return m_dwConnectionID; } void CMainFrame::SetConnectionID(DWORD dwConnection) { m_dwConnectionID = dwConnection; } /************************************************************************/ /* 函数:ProcessChatMessageRequest2[3/3/2016 IT]; /* 描述:; /* 参数:; /* [IN] code:; /* 返回:void; /* 注意: OnConnect() -> ProcessChatMessageRequest() 1.SetTimer(2)作用:调用计时器,指定超时后关闭SendDataDlg和CConnectDlg对话框,并断开连接; 2.SendDataDlg计时器里调用CConnectDlg对话框 3.CConnectDlg计时器调用主框架函数BOOL CMainFrame::OnConnect()进行服务连接工作; 4.最后SendDataDlg调用主框架函数BOOL CMainFrame::ProcessChatMessageRequest(void *szDataBuf, int nDataLen)发送数据; 5.关闭对话框和断开连接;; /* 示例:; /* /* 修改:; /* 日期:; /* 内容:; /************************************************************************/ void CMainFrame::ProcessChatMessageRequest2(BYTE code) { SetTimer(2, g_ntimeout, NULL); // Jeff.限定通信时间为g_ntimeout,超时后关闭连接; SendDataDlg dlg; dlg.m_bycode = code; dlg.DoModal(); } //*********************************************// /* 函数:ProcessChatMessageRequest2 参数:CString sql [IN] 返回:无 过程:OnConnect() -> ProcessChatMessageRequest() 1.SetTimer(2)作用:调用计时器,指定超时后关闭SendDataDlg和CConnectDlg对话框,并断开连接; 2.SendDataDlg计时器里调用CConnectDlg对话框 3.CConnectDlg计时器调用主框架函数BOOL CMainFrame::OnConnect()进行服务连接工作; 4.最后SendDataDlg调用主框架函数BOOL CMainFrame::ProcessChatMessageRequest(void *szDataBuf, int nDataLen)发送数据; 5.关闭对话框和断开连接; */ //*********************************************// void CMainFrame::ProcessChatMessageRequest2(CString sql) { if ((sql.Find("insert") != -1 || sql.Find("update") != -1 || sql.Find("delete") != -1) && g_branchname != "" && g_bBranchModify == 0) { AfxMessageBox("当前为分店数据查看状态,不能更改分店数据!", MB_ICONSTOP); g_bSendOK = 0; return; } SetTimer(2, g_ntimeout, NULL); // Jeff.限定通信时间为g_ntimeout,超时后关闭连接; SendDataDlg dlg; dlg.m_strSQL = sql; dlg.DoModal(); } //*********************************************// /* 函数:ProcessChatMessageRequest2 参数:BYTE *pData [IN], int length [IN] 返回:无 过程:OnConnect() -> ProcessChatMessageRequest() 1.SetTimer(2)作用:调用计时器,指定超时后关闭SendDataDlg和CConnectDlg对话框,并断开连接; 2.SendDataDlg计时器里调用CConnectDlg对话框 3.CConnectDlg计时器调用主框架函数BOOL CMainFrame::OnConnect()进行服务连接工作; 4.最后SendDataDlg调用主框架函数BOOL CMainFrame::ProcessChatMessageRequest(void *szDataBuf, int nDataLen)发送数据; 5.关闭对话框和断开连接; */ //*********************************************// void CMainFrame::ProcessChatMessageRequest2(BYTE *pData, int length) { SetTimer(2, g_ntimeout, NULL); // Jeff.限定通信时间为g_ntimeout,超时后关闭连接; SendDataDlg dlg; dlg.m_pData = pData; dlg.m_nlength = length; dlg.DoModal(); // DoModal未执行完时,就被其他函数销毁,导致局部函数dlg无效; } /************************************************************************/ /* 函数:ProcessChatMessageRequest 描述:对服务发送数据; 参数:void *szDataBuf[IN], int nDataLen[IN] 返回:发送成功与否; */ /************************************************************************/ BOOL CMainFrame::ProcessChatMessageRequest(void *szDataBuf, int nDataLen) { // 1.获取当前与服务器连接的id; DWORD dwFromUserID = GetConnectionID(); // 2.设置通信类型为MSG_CHATMESSAGE_REQ; WORD wMessageId = 0; if (g_conntype == 0 && !g_bConnLYFZ) wMessageId = (MSG_CHATMESSAGE_REQ + 0X3FFF); else wMessageId = MSG_CHATMESSAGE_REQ; // 3.计算出欲发送的数据的长度 dwDataLen; DWORD dwDataLen = sizeof(TCHAT_MESSAGE_STRU) + nDataLen; BYTE *pSendData = new BYTE[dwDataLen]; TCHAT_MESSAGE_STRU *pChatMessage = (TCHAT_MESSAGE_STRU*)pSendData; memset(pChatMessage, 0x00, dwDataLen); // 3.1.g_nYearpos==-1,表示连接是当前主数据库,其他值表示历史数据库; if (g_nYearpos == -1) g_sendhead.length[99] = g_nYearpos; else g_sendhead.length[99] = g_nYearpos * 32142953 + 10966236; g_sendhead.length[98] = 987123768; memcpy(pSendData, &g_sendhead, sizeof(g_sendhead)); #ifdef ENTERPRISE_VERSION if (g_bBranchModify == 0) #ifdef VC60 strcpy(pChatMessage->szFromUserName, g_branchname); #else strcpy_s(pChatMessage->szFromUserName, 30, g_branchname); #endif #endif // 4.填充发送的数据结构; pChatMessage->tCommonMsg.dwConnectionID = GetConnectionID(); pChatMessage->tCommonMsg.wMessageId = wMessageId; pChatMessage->dwFromUserID = dwFromUserID; pChatMessage->dwToUserID = g_nSendCode;//▲▲g_nSendCode在服务端同为dwToUserID; pChatMessage->wMessageLen = nDataLen; memcpy(pChatMessage->byFileContent, szDataBuf, nDataLen); // 5.填充数据头; TMessageHeader tHeader = { 0 }; tHeader.wMessageId = wMessageId; tHeader.dwDataLen = dwDataLen; // 6.发送数据; BOOL bRet = 0; unsigned long ulSendLen = m_tClientTunnel.net_Send(&tHeader, (void *)pChatMessage, dwDataLen); if (ulSendLen != SOCKET_ERROR) { bRet = 1; } // 7.发送完毕,释放内存; delete[] pSendData; return bRet; } /************************************************************************/ /* 函数:ProcessChatMessageResponse 描述:接收服务返回的数据; 参数:void *pResponse[IN] 返回:无; 调用关系: 1.由 void CMainFrame::ProcessNetEvent(...)调用 */ /************************************************************************/ void CMainFrame::ProcessChatMessageResponse(void *pResponse) { // 1.数据空,直接返回; if (NULL == pResponse) return; // 2.数据解析过程; TCHAT_MESSAGE_STRU *pChatMessage = (TCHAT_MESSAGE_STRU *)pResponse; int nMessageLen = pChatMessage->wMessageLen; int nMessageLen2 = pChatMessage->dwToUserID; // 在服务器中被处理了,一般使dwToUserID=wMessageLen; // Jeff.dwFromUserID==8888表示的内容是更新客户端skin界面数据,只有两处dwToUserID==211和dwToUserID==21; // Jeff.其余的大多数都是 dwFromUserID = wMessageLen = dwToUserID 三者相等; if (nMessageLen == nMessageLen2 && pChatMessage->dwFromUserID != 8888) { // 2.1.清除全局变量g_pData数据,用于保存接收的实际数据; if (g_pData) delete[]g_pData; g_pData = NULL; g_pData = new BYTE[nMessageLen]; memcpy(g_pData, pChatMessage->byFileContent, nMessageLen); memcpy(&g_sendhead, pChatMessage, sizeof(g_sendhead)); g_nLeng = nMessageLen; if (nMessageLen <= sizeof(DWORD)) { memcpy(&g_ncount, pChatMessage->byFileContent, sizeof(DWORD)); } KillTimer(2); if (g_hSendWnd) { ::PostMessage(g_hSendWnd, WM_CLOSE, 0, 0);//关闭发送对话框; } } else if (nMessageLen == nMessageLen2 && pChatMessage->dwFromUserID == 8888) { if (g_pData2) delete[]g_pData2; g_pData2 = NULL; g_pData2 = new BYTE[nMessageLen2]; memcpy(g_pData2, pChatMessage->byFileContent, nMessageLen2); g_nLeng2 = nMessageLen2; KillTimer(2); if (g_hSendWnd) { ::PostMessage(g_hSendWnd, WM_CLOSE, 0, 0); } } else // 登陆返回; { if (g_bConnLYFZ) { if (g_pData) delete[]g_pData; g_pData = NULL; g_pData = new BYTE[nMessageLen]; memcpy(g_pData, pChatMessage->byFileContent, nMessageLen); memcpy(&g_sendhead, pChatMessage, sizeof(g_sendhead)); g_nLeng = nMessageLen; if (nMessageLen <= sizeof(DWORD)) { memcpy(&g_ncount, pChatMessage->byFileContent, sizeof(DWORD)); } KillTimer(2); if (g_hSendWnd) { ::PostMessage(g_hSendWnd, WM_CLOSE, 0, 0); } return; } if (g_conntype) // Jeff.g_conntype == 1,表示连接公司服务器的返回,用于集团版解析*.ly.com的IP地址; { // KillTimer(2); char *szChatMessage = new char[nMessageLen + 1]; memset(szChatMessage, 0x00, nMessageLen + 1); memcpy(szChatMessage, pChatMessage->byFileContent, nMessageLen); g_server = szChatMessage; delete[]szChatMessage; CStdioFile fp; CString path = g_mainpath + "\\ip.txt"; ::DeleteFile(path); // 删除ip.txt; fp.Open(path, CFile::modeCreate | CFile::modeWrite); fp.WriteString(g_server); fp.Close(); g_conntype = 0; // g_serverip=g_server; return; } if (g_pData2 == NULL) { g_pData2 = new BYTE[nMessageLen2]; g_nLeng2 = 0; } memcpy(g_pData2 + g_nLeng2, pChatMessage->byFileContent, nMessageLen); g_nLeng2 += nMessageLen; if (g_nLeng2 == nMessageLen2)//已收完 { KillTimer(2); if (g_hSendWnd) { ::PostMessage(g_hSendWnd, WM_CLOSE, 0, 0); } } else { KillTimer(2); SetTimer(2, g_ntimeout, NULL); } } } #if USE_SHARE_FLORD /************************************************************************/ /* Date: 2015-04-11 Author: Jeff 函数:GetSharePathInfo 描述:获取共享目录表的所有信息; 参数: 返回:成功返回TRUE; 注意:获取的表记录存储在全局变量g_aryOfSharePathInfo中; 调用约定:在登陆软件时调用,且必须连接的服务器是本店的; */ /************************************************************************/ BOOL CMainFrame::GetSharePathInfo() { // 1.连接的数据库必须是本局域网的服务器; if ( g_bAllBranch || !g_branchname.IsEmpty() || !g_branchip.IsEmpty() ) { // 非当前局域网服务器; return FALSE; } // 2.获取当前连接的分店域名是否与g_domain一致; g_sendhead.bsql = 0; g_sendhead.code[0] = 29; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(23); if ( !g_bSendOK ) { // 连接服务器失败; return FALSE; } CArray strArray; DataToArray(&strArray); CString strCurBranchDomain = _T(""); if ( strArray.GetSize() ) { strCurBranchDomain = strArray.ElementAt(0).ElementAt(0); if ( strCurBranchDomain.Find(_T(".ly.com")) == -1) { // 当前获取的域名有错; return FALSE; } } if ( g_domain.CompareNoCase(strCurBranchDomain) != 0) { // 当前连接的分店域名与局域网服务器域名不一致; return FALSE; } // 3.获取可用的共享信息;//select * from NetShareInfo where enable = 1; CString strFilter = _T(""); strFilter.Format(_T("enable = 1")); int g_nYearposTemp=g_nYearpos; g_nYearpos=-1; g_bSendOK = 0; g_sendhead.bsql = 0; g_sendhead.code[0] = 236; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(strFilter); g_nYearpos = g_nYearposTemp; if ( !g_bSendOK ) { // 获取共享信息失败; return FALSE; } g_aryOfSharePathInfo.RemoveAll(); DataToArray(&g_aryOfSharePathInfo); return g_aryOfSharePathInfo.GetSize() ? TRUE : FALSE; } #endif BOOL CMainFrame::OnConnectBranch() { if (g_branchip == "") { return 0; } g_conntype = 0; CString strServerAddress = g_branchip; char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket( Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { // AfxMessageBox("网络初始化失败!"); return 0; } GetSysIniInfo(g_szModulePath, g_branchname + _T(".ini")); DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = g_dwCSPort; #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return OnConnectBranch2(); } return ProcessLoginRequest(); } BOOL CMainFrame::OnConnectBranch2() { if (g_branchip2 == "") { return 0; } g_conntype = 0; CString strServerAddress = g_branchip2; char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { // AfxMessageBox("网络初始化失败!"); return 0; } DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = SERVER_PORT; // 5678 #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return 0; } return ProcessLoginRequest(); } BOOL CMainFrame::OnConnectIP() { CString strServerAddress = g_server; char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { // AfxMessageBox("网络初始化失败!"); return 0; } DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = SERVER_PORT; // 5678 #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return 0; } return ProcessLoginRequest(); } //ip.txt BOOL CMainFrame::OnConnectLYFZ() { CString strBranchIP = "lijiafz.vicp.net"; MyGetIPByName2(strBranchIP); if (strBranchIP == "") { return 0; } g_conntype = 0; // Jeff.Delete at 2014.10.18 //g_conntype = 1; CString strServerAddress = strBranchIP; char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { return 0; } DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = GetPort(); #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return 0; } return ProcessLoginRequest(); } BOOL CMainFrame::OnConnect() { // 1.Jeff 断开(如果有在在未关的连接)之前的连接; OnDisconnect(); // 2.根据需要连接指定的服务器; if (g_bBranchModify) { // Jeff.g_bBranchModify在g_bGenBranchData=1时,在welcome::OnTimer里被设置为1; return OnConnectBranch();// 连接集团版分店; } if (g_bConnLYFZ) { return OnConnectLYFZ();// 连接公司服务端程序; } g_conntype = 0; CString strServerAddress = g_server; // 3.如果dbconfig.dat里保存的是*.ly.com的信息,就要读取ip.txt里的IP地址; if (g_serverbak.Find(".ly.com") != -1) { strServerAddress = g_serverbak; CStdioFile fp; CString path = g_mainpath + "\\ip.txt"; if (::PathFileExists(path)) { fp.Open(path, CFile::modeRead); fp.ReadString(g_server); fp.Close(); if (OnConnectIP()) { // g_serverip=g_server; return 1; } g_server = strServerAddress; OnDisconnect();//MessageBox("ip失败"); } g_conntype = 1; // Jeff.连接公司服务器,用于获取集团版*.ly.com的解析IP结果; strServerAddress = "lijiafz.vicp.net"; MyGetIPByName2(strServerAddress); if (strServerAddress.IsEmpty()) { return 0;//OnConnect2(); } } else if (g_ntimeout == 29000)//非远程 30000 { strServerAddress = g_serverarray.ElementAt(g_conpos); } // 4.如果没有IP.txt或dbconfig.dat里的不是ly.com信息,而是一般的计算机名称; char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); // AfxMessageBox("连接:"+strServerAddress); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ // 5.创建通信对象连接; int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { return 0; } GetSysIniInfo(); DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = g_dwCSPort; if (g_conntype) wPort = GetPort(); // 6.连接公司服务器或影楼服务器; #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress,wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); if (g_conntype)// Jeff.连接公司服务器,用于获取集团版*.ly.com的解析IP结果; { return 0;//OnConnect2(); } if (g_serverarray.GetSize() > 1) { if (g_conpos < (g_serverarray.GetSize() - 1)) { g_conpos++; return OnConnect(); } else { g_conpos = 0; return 0; } } return 0; } return ProcessLoginRequest(); } BOOL CMainFrame::OnConnect2() { g_conntype = 2; CString server = "http://www.lyfz.net/download/ip.txt"; char buf[MAX_PATH]; ::GetTempPath(sizeof(buf), buf); CString m_strTempDir = buf; DWORD m_dwHttpRequestFlags = HSR_DOWNLOAD | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT; INTERNET_PORT m_dwPort; DWORD dwType; CInternetSession m_cis; CHttpConnection *m_pHttp; CString m_strServer; CString m_strIniPath; AfxParseURL(server, dwType, m_strServer, m_strIniPath, m_dwPort); if (dwType != AFX_INET_SERVICE_HTTP) { return 0;//OnConnect3(); } m_cis.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 5); m_pHttp = m_cis.GetHttpConnection(m_strServer, m_dwPort); try { m_pHttp = m_cis.GetHttpConnection(m_strServer, m_dwPort); } catch (CInternetException* pEx) { return 0;//OnConnect3(); } CHttpFile *pFile = m_pHttp->OpenRequest(CHttpConnection::HTTP_VERB_GET, m_strIniPath, NULL, 1, NULL, NULL, m_dwHttpRequestFlags); try { pFile->SendRequest(); } catch (CInternetException* pEx) { pFile->Close(); return 0;//OnConnect3(); } if (pFile) { CStdioFile csf; csf.Open(m_strTempDir + "\\ip.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary); char buf[2048]; int n; while ((n = pFile->Read(buf, 2048)) > 0) csf.Write(buf, n); csf.Close(); pFile->Close(); } CString strServerAddress; CStdioFile fp; fp.Open(m_strTempDir + "\\ip.txt", CFile::modeRead); fp.ReadString(strServerAddress); fp.Close(); char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { return 0; } DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = SERVER_PORT; // 5678 if (g_conntype)wPort = GetPort(); #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return 0;//OnConnect3(); } return ProcessLoginRequest(); } BOOL CMainFrame::OnConnect3() { g_conntype = 3; CString server = "http://photo.bjlyfz.com/download/ip.txt"; char buf[MAX_PATH]; ::GetTempPath(sizeof(buf), buf); CString m_strTempDir = buf; DWORD m_dwHttpRequestFlags = HSR_DOWNLOAD | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT; INTERNET_PORT m_dwPort; DWORD dwType; CInternetSession m_cis; CHttpConnection *m_pHttp; CString m_strServer; CString m_strIniPath; AfxParseURL(server, dwType, m_strServer, m_strIniPath, m_dwPort); if (dwType != AFX_INET_SERVICE_HTTP) { return FALSE; } m_cis.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 5); m_pHttp = m_cis.GetHttpConnection(m_strServer, m_dwPort); try { m_pHttp = m_cis.GetHttpConnection(m_strServer, m_dwPort); } catch (CInternetException* pEx) { return false; } CHttpFile *pFile = m_pHttp->OpenRequest(CHttpConnection::HTTP_VERB_GET, m_strIniPath, NULL, 1, NULL, NULL, m_dwHttpRequestFlags); try { pFile->SendRequest(); } catch (CInternetException* pEx) { pFile->Close(); return false; } if (pFile) { CStdioFile csf; csf.Open(m_strTempDir + "\\ip.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary); char buf[2048]; int n; while ((n = pFile->Read(buf, 2048)) > 0) csf.Write(buf, n); csf.Close(); pFile->Close(); } CString strServerAddress; CStdioFile fp; fp.Open(m_strTempDir + "\\ip.txt", CFile::modeRead); fp.ReadString(strServerAddress); fp.Close(); char *szServerAddress = strServerAddress.GetBuffer(0); strServerAddress.ReleaseBuffer(); /*for Client, IP and Port can be 0, and for Server, IP is LocalIP, and Port is Listening Port*/ int nResult = m_tClientTunnel.net_OpenSocket(Transport_Client, 0, HandleClientNetEvent, this); if (TRANSPORT_OK != nResult) { return 0; } DWORD dwRemoteIPValue = inet_addr(szServerAddress); DWORD wPort = SERVER_PORT; // 5678 if (g_conntype)wPort = GetPort(); #ifdef VC60 nResult = m_tClientTunnel.net_Connect(dwRemoteIPValue, wPort); if (TRANSPORT_OK != nResult) #else nResult = m_tClientTunnel.net_Connect(szServerAddress, wPort); if (!nResult) #endif { m_tClientTunnel.net_CloseSocket(); return 0; } return ProcessLoginRequest(); } void CMainFrame::ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen) { //printf("Jeff:ProcessNetEvent\n\n");//Jeff Printf; if (Transport_ReadEv == nEventType) { if (NULL == pRecvMsg) return; TMessageHeader* pHeader = (TMessageHeader *)pRecvMsg; char *pDataBuf = (char *)pRecvMsg + MESSAGE_HEADER_LEN; WORD dwMessageID = pHeader->wMessageId; switch (dwMessageID) { case MSG_LOGIN_RESP: case (MSG_LOGIN_RESP + 0X2FFF) : { LOGIN_RESULT_STRU tLoginResult = { 0 }; memcpy(&tLoginResult, pDataBuf, sizeof(LOGIN_RESULT_STRU)); ProcessLoginResponse(&tLoginResult); break; } case MSG_USERINFO_RESP: { break; } case MSG_LOGOUT_RESP: { break; } case MSG_CHATMESSAGE_RESP: case (MSG_CHATMESSAGE_RESP + 0X4FFF) : { static int i = 0; TCHAT_MESSAGE_STRU *pChatMessage = (TCHAT_MESSAGE_STRU *)pDataBuf; ProcessChatMessageResponse((void *)pChatMessage); break; } default: { break; } } } else if (Transport_CloseEv == nEventType) { OnDisconnect(); } } //extern BOOL g_bNeedCoon; extern BOOL EncryptFile2(BYTE *buffer, DWORD leng, PCHAR szPassword); void CMainFrame::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if (1 == nIDEvent) { KillTimer(nIDEvent); BOOL checked = AfxGetApp()->GetProfileInt(LYFZVERSION, "status", 0);//status:此机用选片菜单项 // checked==1:此机用选片菜单项 // g_bStaffAchievementShow==1:此机用于员工业绩查看 if (checked && g_bStaffAchievementShow == 0) // .此机用选片菜单项; { KillTimer(3); #ifdef NEW_SKIN Welcome weldlg; weldlg.DoModal(); #endif ChoosePhotoSkin dlg; dlg.SetLiaPath("1.lia"); if (dlg.DoModal() != IDOK) { PostMessage(WM_QUIT); return; } if (dlg.m_exitcode == 3) { keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP | 0, 0); } else { ShowWindow(SW_SHOW); #ifdef NEW_SKIN if (m_pMainFrimDlg2 == NULL) { m_pMainFrimDlg2 = new MainFrimDlg2; m_pMainFrimDlg2->SetLiaPath("10.lia"); m_pMainFrimDlg2->Create(IDD_DLGmydlg, this); } m_pMainFrimDlg2->ShowWindow(SW_SHOW); #endif } } else if (g_bStaffAchievementShow == 0) // .非选片、非查看员工业绩; { #ifdef NEW_SKIN g_bNoConnDlg = 1; Welcome weldlg; weldlg.DoModal(); m_pMainFrimDlg2->ShowWindow(SW_SHOW); ShowWindow(SW_SHOW); g_bNoConnDlg = 0; if (g_bNoLoginLia) // Jeff.OnCreate里判断skin文件有5.lia, g_bNoLoginLia = 0, 无 g_bNoLoginLia = 1; { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); // Login3的父类为MyDlg,在BOOL MyDlg::OnInitDialog()里调用了纯虚函数Init(); dlg.DoModal(); // 数据库完整性提醒; if ( 1 == atoi(g_cominfoarray.ElementAt(0).ElementAt(159)) ) { MessageBox(_T("贵店数据库可能已损坏,请尽快联系售后人员进行确认或维护,联系电话:0752-2398865 或 4006-067-068!"), _T("重要提示:"), MB_OK | MB_TOPMOST /*| MB_SETFOREGROUND*/ | MB_ICONWARNING); if ( !g_bRunOnCorruptdb ) exit(0); } } if (g_user.bLongin && g_pMainWnd2) { g_pMainWnd2->ShowBar(TRUE,TRUE); InsideMsg(); } #else ShowWindow(SW_SHOW); if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath ("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath ("5.lia"); dlg.DoModal(); } #endif } if (g_hmouse == NULL) { g_hmouse = SetWindowsHookEx(WH_MOUSE, MouseProc, 0, ::GetCurrentThreadId()); } } else if (2 == nIDEvent) //29秒后,若连接和发送未完成,将关闭连接和发送框; { KillTimer(2); if (g_hConnectWnd) ::PostMessage(g_hConnectWnd, WM_CLOSE, 0, 0); if (g_hSendWnd) ::PostMessage(g_hSendWnd, WM_CLOSE, 0, 0); if (g_bStaffAchievementShow == 0 && g_bConnLYFZ == 0) { if (g_bGenBranchData == 0) { if (g_branchip != "") AfxMessageBox("连接分店:" + g_branchname + "失败!", MB_ICONINFORMATION); else AfxMessageBox("连接服务器失败!", MB_ICONINFORMATION); } OnDisconnect(); } g_bSendOK = 0; g_bNeedCoon = 1; } else if (3 == nIDEvent) { KillTimer(3); #ifdef NEW_SKIN Welcome weldlg; weldlg.DoModal(); #endif ShowWindow(SW_SHOW); m_pMainFrimDlg2->ShowWindow(SW_SHOW); g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.code[1] = 1; g_sendhead.tabcount = 2; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0) { return; } CArraypatharray; CArrayuserarray; DataToArray(&g_cominfoarray, &g_hisyeararray); g_userarray.SetSize(userarray.GetSize(), 1); int count = 0; for (int ii = 0; ii < userarray.GetSize(); ii++) { if (userarray.ElementAt(ii).ElementAt(10) == "在职") g_userarray.ElementAt(count++).Copy(userarray.ElementAt(ii)); } g_userarray.SetSize(count, 1); StaffAchievementShowAll dlg; g_pMainWnd->GetOcx(); dlg.DoModal(); } else if (5 == nIDEvent) { if (g_bInSkin) { OutputDebugString("使用皮肤\n"); return; } if (g_nAutoShowStaffAchievement == 1){ OutputDebugString("用于选片\n"); return; } if (g_bAllBranch){ OutputDebugString("多店汇总当中\n"); return; } if (g_user.bLongin) { // m_Mdi.CloseAll(); g_pMainWnd->OnCommandMenu(IDM_Logout); } /* g_nAutoShowStaffAchievement=1; KillTimer(5); StaffAchievementShowAll dlg; g_pMainWnd->GetOcx(); dlg.DoModal ();*/ } else if (6 == nIDEvent) { static BOOL bDouble = 0; bDouble = !bDouble; if (bDouble) g_pMainWnd->OnCommandMenu(IDM_TAKEAWAYBOOK); else g_pMainWnd->OnCommandMenu(IDM_CLIENTMONEY); } else if (7 == nIDEvent) { // Jeff,当g_bSendLYFZ==TRUE时; // 向lijiafz.vicp.net发送影楼信息,防止有盗版用户; KillTimer(7); if (g_bInSkin)return; if (g_nAutoShowStaffAchievement == 1)return; if (g_bAllBranch)return; CString str = g_sInfo; g_bConnLYFZ = 1; // Jeff指示连接的服务器为lijiafz.vicp.net // 断开当前连接; OnDisconnect(); BYTE *pData = new BYTE[str.GetLength()]; memcpy(pData, str.GetBuffer(0), str.GetLength()); str.ReleaseBuffer(); EncryptFile2(pData, str.GetLength(), "888666333"); g_nSendCode = 16; g_pMainWnd->ProcessChatMessageRequest2(pData, str.GetLength()); g_nSendCode = 0; delete[]pData; OnDisconnect(); g_bSendLYFZ = 0; g_bConnLYFZ = 0; if (g_bSendOK) { char *pStr = new char[g_nLeng + 1]; memset(pStr, 0, g_nLeng + 1); memcpy(pStr, g_pData, g_nLeng); CString str = pStr; delete[]pStr; if (str == "g_bInSkin") { g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2("update version set [setcheck1]='ok'"); } } } } void CMainFrame::OnOutbarNotify(CString strMsg) { if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } return; if (g_user.bLongin == 0)return; } else { InsideMsg(); } ResetTimer(); if (strMsg == "开单") { if (IsHasRights(0) == 0)return; Booking2 dlg; dlg.DoModal(); return; } else if (strMsg == "拍照") { if (IsHasRights(1) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"拍照"; OPEN_MENU(TakeFrom); return; } else if (strMsg == "修片") { if (IsHasRights(1) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"修片"; OPEN_MENU(BeautifySkinFrom); return; } else if (strMsg == "选片") { if (IsHasRights(2) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"选片"; OPEN_MENU(ChoosePhotoForm); return; } else if (strMsg == "精修") { if (IsHasRights(2) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"精修"; OPEN_MENU(BeautifySkinFrom2); return; } else if (strMsg == "设计") { if (IsHasRights(2) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"设计"; OPEN_MENU(DesignFrom); return; } else if (strMsg == "数码安排") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"数码安排"; OPEN_MENU(DigitalWork); return; } else if (strMsg == "刻盘") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"刻盘"; OPEN_MENU(BurnCD); return; } else if (strMsg == "相片冲印") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"相片冲印资料"; OPEN_MENU(PhotoPrintFrom); return; } else if (strMsg == "发片/取件") { if (IsHasRights(3) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"发片/取件"; OPEN_MENU(outsourcing); return; } else if (strMsg == "满意度") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"满意度"; OPEN_MENU(Satisfaction); return; } else if (strMsg == "满意度汇总") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"满意度汇总"; OPEN_MENU(SatisfactionReportForm); return; } #if JEFF_DELETE_ON // 2014.11.14-PM 16:20 else if (strMsg == "回复统计") { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"回复统计"; OPEN_MENU(MsgReg2); return; } #endif /* else if(strMsg=="取件") { if(IsHasRights(3)==0)return; UINT nID=1; LPSTR pName ; pName = (LPSTR)(LPCSTR)"取件"; OPEN_MENU(TakeAwayFrom); return; }*/ else if (strMsg == "其它收入") { if (IsHasRightsnew(16) == 0)return; // if(IsHasRightsnew(48)==0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"其它收入"; OPEN_MENU(IncomeInput); return; } else if (strMsg == "其它二销") { if (IsHasRightsnew(16) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"其它二销"; OPEN_MENU(IncomeInput2); return; } else if (strMsg == "员工奖罚") { if (IsHasRightsnew(16) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"员工奖罚"; OPEN_MENU(IncomeInput3); return; } else if (strMsg == "员工奖惩") { if (IsHasRightsnew(16) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"员工奖惩"; OPEN_MENU(IncomeInput4); return; } else if (strMsg == "订单收款") { if (IsHasRights(17) == 0)return; UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"订单收款"; OPEN_MENU(FinanceForm); return; } else if (strMsg == "日财务表") { if (IsHasRightsnew(22) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"日财务表"; OPEN_MENU(DailyForm); return; } else if (strMsg == "提成比例") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"提成比例"; OPEN_MENU(SalarySet2); return; } //else if(strMsg=="员工工作") else if (strMsg == "计件提成") { UINT nID = 2; LPSTR pName; //pName = (LPSTR)(LPCSTR)"员工工作"; pName = (LPSTR)(LPCSTR)"计件提成"; OPEN_MENU(SalarySet3); return; } else if (strMsg == "工资管理") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"工资管理"; OPEN_MENU(MySalary); return; } else if (strMsg == "客人付款") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"客人付款"; OPEN_MENU(ClientMoney); return; } else if (strMsg == "工资报表") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif if (IsHasRightsnew(25) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"工资报表"; g_ncount = 100; OPEN_MENU(MySalary); return; } else if (strMsg == "员工业绩") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif if (IsHasRightsnew(33) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"员工业绩"; OPEN_MENU(StaffAchievement); return; } else if (strMsg == "订单客户") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"订单客户"; g_dx += 10000; OPEN_MENU(CClientForm); if (g_dx >= 10000)g_dx -= 10000; return; } else if (strMsg == "意向客户") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"意向客户"; OPEN_MENU(Client2Form); return; } else if (strMsg == "老客户") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"老客户"; OPEN_MENU(OldClient); return; } else if (strMsg == "客户来电") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户来电"; OPEN_MENU(PhoneRecord); return; } else if (strMsg == "拨出电话") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"拨出电话"; OPEN_MENU(PhoneRecordOut); return; } else if (strMsg == "未接来电") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"未接来电"; OPEN_MENU(MissCall); return; } else if (strMsg == "客户流失") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户流失"; OPEN_MENU(ClientReasonChart); return; } else if (strMsg == "客户来源") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户来源"; OPEN_MENU(ClientFromChart); return; } else if (strMsg == "月财务表") { if (IsHasRightsnew(23) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"月财务表"; OPEN_MENU(MonthForm); return; } else if (strMsg == "支出报表") { if (IsHasRightsnew(23) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"支出报表"; OPEN_MENU(MonthForm2); return; } else if (strMsg == "年财务表") { if (IsHasRightsnew(24) == 0)return; UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"年财务表"; OPEN_MENU(YearForm); return; } else if (strMsg == "年财务图表") { if (IsHasRightsnew(24) == 0)return; GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"年财务图表"; OPEN_MENU(YearForm2); return; } else if (strMsg == "订单图表") { GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"订单图表"; OPEN_MENU(DinDanForm); return; } #ifdef ENTERPRISE_VERSION else if (strMsg == "订单报表") { GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"订单报表2"; OPEN_MENU(DinDanFromBranch); return; } else if (strMsg == "财务图表") { GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"财务图表"; OPEN_MENU(YearFormBranch); return; } else if (strMsg == "订单图表") { GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"订单图表"; OPEN_MENU(YearFormBranch2); return; } else if (strMsg == "摄控安排") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"摄控安排"; g_bookingtype = 0; OPEN_MENU(TodayForm); return; } else if (strMsg == "选片预约") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"选片预约"; g_bookingtype = 1; OPEN_MENU(TodayForm); return; } else if (strMsg == "看样预约") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"看样预约"; g_bookingtype = 2; OPEN_MENU(TodayForm); return; } else if (strMsg == "取件预约") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"取件预约"; g_bookingtype = 3; OPEN_MENU(TodayForm); return; } else if (strMsg == "婚庆安排") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"婚庆安排"; g_bookingtype = 4; OPEN_MENU(TodayForm); return; } #endif else if (strMsg == "员工资料") { UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"员工资料"; if (g_bAllBranch) OPEN_MENU(EmployeeForm2); else OPEN_MENU(EmployeeForm); return; } else if (strMsg == "客户区域") { // if(IsHasRightsnew(48)==0)return; GetOcx(); UINT nID = 2; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户区域"; OPEN_MENU(AreaClient); return; } else if (strMsg == "客户报表") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户报表"; OPEN_MENU(CClientForm); return; } else if (strMsg == "现金支出") { if (IsHasRightsnew(16) == 0)return; UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"现金支出"; OPEN_MENU(PayOutInput); return; } else if (strMsg == "短信群发") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"短信群发"; OPEN_MENU(SendMsg); return; } else if (strMsg == "短信发送") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"客户报表"; OPEN_MENU(CClientForm); return; } else if (strMsg == "流程短信") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"流程短信"; OPEN_MENU(WorkMsg); return; } else if (strMsg == "员工短信") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"员工短信"; OPEN_MENU(EmployeeMsg); return; } else if (strMsg == "发送记录") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"发送记录"; OPEN_MENU(MsgReg); return; } else if (strMsg == "短信设置") { if (IsHasRightsnew(49) == 0)return; MsgSet dlg; dlg.DoModal(); return; } else if (strMsg == "金卡会员") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"金卡会员"; OPEN_MENU(ShowMember); return; } else if (strMsg == "现金子卡") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"现金子卡"; OPEN_MENU(ShowMember2); return; } else if (strMsg == "蓝钻会员") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"蓝钻会员"; OPEN_MENU(ShowMemberBlue); return; } else if (strMsg == "转介绍积分") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"转介绍积分"; OPEN_MENU(Card2Reg); return; } /* else if(strMsg=="转介绍图表") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #endif #endif UINT nID=3; LPSTR pName ; pName = (LPSTR)(LPCSTR)"转介绍图表"; OPEN_MENU(Card2RegChart); return; }*/ else if (strMsg == "金卡图表") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"金卡图表"; OPEN_MENU(MemberChart); return; } else if (strMsg == "积分短信") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"积分短信"; OPEN_MENU(ShowMemberMsg); return; } else if (strMsg == "转介绍返现") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"转介绍返现"; OPEN_MENU(Card2RegBlue); return; } else if (strMsg == "转介绍图表") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"转介绍图表"; OPEN_MENU(Card2RegChartBlue); return; } else if (strMsg == "积分设置") { if (IsHasRightsnew(49) == 0)return; MemberSet dlg; dlg.DoModal(); return; } else if (strMsg == "礼服录入") { if (IsHasRightsnew(39) == 0)return; UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"礼服录入"; OPEN_MENU(DressManage); return; } else if (strMsg == "礼服查看") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif if (IsHasRightsnew(40) == 0)return; UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"礼服查看"; OPEN_MENU(ShowDress); return; } else if (strMsg == "撞期预警") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"撞期预警"; OPEN_MENU(DressEarlyWarning); return; } else if (strMsg == "礼服出租") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"礼服出租"; OPEN_MENU(ShowHireReg); return; } else if (strMsg == "礼服图片") { ShowPic dlg; dlg.m_mode = 4; //dlg.m_path = g_path5 + "\\"; dlg.m_id = g_path5 + "\\"; dlg.DoModal(); return; } else if (strMsg == "商品类别设置") { if (IsHasRightsnew(29) == 0)return; SPLBDlg dlg; dlg.DoModal(); return; } else if (strMsg == "商品名称设置") { if (IsHasRightsnew(29) == 0)return; UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"商品设置"; OPEN_MENU(ShangPin); return; } else if (strMsg == "固定资产管理") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"固定资产管理"; OPEN_MENU(FixedAssets); return; } else if (strMsg == "入库单") { if (IsHasRightsnew(44) == 0)return; InputGoods dlg; dlg.DoModal(); return; } else if (strMsg == "出库单") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif if (IsHasRightsnew(45) == 0)return; InputGoods dlg; dlg.m_mode = 1; dlg.DoModal(); return; } else if (strMsg == "库存查询") { #ifndef ENTERPRISE_VERSION #ifndef CHILD_VERSION #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "0") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if(g_cominfoarray.ElementAt(0).ElementAt(46)!="1") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #endif #else #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="2") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "3") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #else #ifndef CHILD_VERSION #ifdef BASIC_VERSION if(g_cominfoarray.ElementAt(0).ElementAt( 46)!="4") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "5") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #else #ifdef BASIC_VERSION if (g_cominfoarray.ElementAt(0).ElementAt(46) != "6") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0);return; } #else if (g_cominfoarray.ElementAt(0).ElementAt(46) != "7") { AfxMessageBox("您的软件可能为盗版, 请与4006-067068,18665281860,QQ:4006067068联系!", MB_ICONSTOP); exit(0); return; } #endif #endif #endif UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"库存查询"; OPEN_MENU(ShowGoods); return; } else if (strMsg == "商品图表") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"商品图表"; OPEN_MENU(StoreInfoChart); return; } else if (strMsg == "成本核算") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"成本核算"; OPEN_MENU(CostCal); return; } else if (strMsg == "考勤记录") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"考勤记录"; OPEN_MENU(LoginReg); return; } else if (strMsg == "月统计") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"月统计"; OPEN_MENU(LoginReg2); return; } else if (strMsg == "时间设置") { if (IsHasRightsnew(21) == 0)return; SetLoginTime dlg; dlg.DoModal(); return; } else if (strMsg == "排班设置") { if (IsHasRightsnew(21) == 0)return; SetLoginBan dlg; dlg.DoModal(); return; } else if (strMsg == "意向查询") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"意向查询"; OPEN_MENU(HospitalClient); return; } else if (strMsg == "今日提醒") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"今日提醒"; OPEN_MENU(HospitalClientAlarm); return; } else if (strMsg == "跟踪短信") { UINT nID = 3; LPSTR pName; pName = (LPSTR)(LPCSTR)"跟踪短信"; OPEN_MENU(HospitalClientMsg); return; } else if (strMsg == "意向单录入") { AddHospitalClient dlg; dlg.DoModal(); return; } else if (strMsg == "资料设置") { HospitalInfoSet dlg; dlg.DoModal(); return; } else if ( strMsg == _T("公众号设置")) { if (IsHasRightsnew(62) == 0)return; if ( lyfzLibrary::LoadWeiXinLibaray() ) { lyfzLibrary::g_PtrShowWeiXinDialog(g_rc, g_bkcol); lyfzLibrary::FreeWeiXinLibaray(); } return; } else if ( strMsg == _T("模板消息设置")) { if (IsHasRightsnew(63) == 0)return; if ( lyfzLibrary::LoadWeiXinLibaray() ) { lyfzLibrary::g_PtrShowWXMsgconfigDialog(g_rc, g_bkcol); lyfzLibrary::FreeWeiXinLibaray(); } return; } else if ( strMsg == _T("推送记录") ) { if (IsHasRightsnew(64) == 0)return; if ( lyfzLibrary::LoadWeiXinLibaray() ) { lyfzLibrary::g_PtrShowWXMsgRcordDialog(g_rc, g_bkcol); lyfzLibrary::FreeWeiXinLibaray(); } return; } AfxMessageBox(strMsg + ",开发中..."); } // Jeff.当版本号不一致时,调用AutoUpdate.exe来升级YLGL.exe void CMainFrame::AutoUpdate() { if (g_bBranchModify) { AfxMessageBox("此店与分店" + g_branchname + "软件版本不同,请同时升级! "); return; } else if (g_branchname != "") { AfxMessageBox("此店与分店" + g_branchname + "软件版本不同,请同时升级! "); return; } g_ntimeout = 30000; if (!::PathFileExists(g_mainpath + "\\AutoUpdate.exe")) { g_sendhead.bsql = 0; g_sendhead.code[0] = 99; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(99); if (g_bSendOK == 0) goto failed; CFile fp; fp.Open(g_mainpath + "\\AutoUpdate.exe", CFile::modeWrite | CFile::modeCreate); fp.Write(g_pData, g_nLeng); fp.Close(); } { ::DeleteFile(g_mainpath + "\\YLGL2.exe"); // 删除ylgl.exe; g_sendhead.bsql = 0; g_sendhead.code[0] = 98; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(99); if (g_bSendOK == 0)goto failed; CFile fp; fp.Open(g_mainpath + "\\YLGL2.exe", CFile::modeWrite | CFile::modeCreate); fp.Write(g_pData, g_nLeng); fp.Close(); } AfxMessageBox("自动升级成功!", MB_ICONINFORMATION); ShellExecute(NULL, _T("open"), _T(g_mainpath + "\\AutoUpdate.exe"), "12345", NULL, SW_SHOWNORMAL); g_pMainWnd->SendMessage(WM_CLOSE, 0, 0); exit(0); return; failed: AfxMessageBox("自动升级失败!", MB_ICONINFORMATION); if (g_ntimeout == 30000)//非远程 { AfxMessageBox("提醒:升级过程中需要传输较多的数据,如果网速慢可能导致远程升级失败!\r\n\ 可拷贝店内客户端用QQ传过来覆盖除dbconfig.dat的文件即可。", MB_ICONINFORMATION); } g_pMainWnd->SendMessage(WM_CLOSE, 0, 0); } void CMainFrame::Onchoosephotoskin() //Jeff:此机用于选片菜单项;不在使用2014.06.16 { if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } // TODO: Add your command handler code here CMenu *pMenu = GetMenu(); CMenu* submenu = pMenu->GetSubMenu(1); UINT status = submenu->GetMenuState(IDM_choosephotoskin, MF_BYCOMMAND); if (status&MF_CHECKED) { submenu->CheckMenuItem(IDM_choosephotoskin, MF_BYCOMMAND | MF_UNCHECKED); AfxGetApp()->WriteProfileInt(LYFZVERSION, "status", 0); } else { submenu->CheckMenuItem(IDM_choosephotoskin, MF_BYCOMMAND | MF_CHECKED); AfxGetApp()->WriteProfileInt(LYFZVERSION, "status", 1); } } /*BOOL g_bInSkin = 0;*/ BOOL CMainFrame::IsCtrlDown() { short state = GetKeyState(VK_LCONTROL); BYTE sta = (BYTE)(state >> 8); state = GetKeyState(VK_RCONTROL); BYTE sta2 = (BYTE)(state >> 8); if (sta || sta2) return 1; else return 0; }//IsShiftDown BOOL CMainFrame::IsShiftDown() { short state = GetKeyState(VK_LSHIFT); BYTE sta = (BYTE)(state >> 8); state = GetKeyState(VK_RSHIFT); BYTE sta2 = (BYTE)(state >> 8); if (sta || sta2) return 1; else return 0; } BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class IDM_Logout if (pMsg->message == WM_KEYDOWN) { switch (pMsg->wParam) { case VK_F12: g_pMainWnd->OnCommandMenu(IDM_Logout); return 1; case VK_F1: ShellExecute(NULL, _T("open"), _T(g_mainpath + "\\帮助文档.chm"), "", NULL, SW_SHOWNORMAL); return 1; case VK_F2: // 此机用于选片和选设计; { if (g_pMainWnd->m_bCheckF2F3 && (IsShiftDown() == 0 || IsCtrlDown() == 0))return 1; m_Mdi.MainClose(); if (g_user.bLongin) { SearchClient dlg; dlg.SetLiaPath("2.lia"); if (dlg.DoModal() != IDOK) { if (dlg.m_bLogout) { g_user.bLongin = 0; g_user.name.Empty(); g_user.rights.Empty(); g_user.account.Empty(); goto ll; } PostMessage(WM_QUIT); return 1; } if (dlg.m_exitcode == 3) { keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP | 0, 0); } else { ShowWindow(SW_SHOW); #ifdef NEW_SKIN if (m_pMainFrimDlg2 == NULL) { m_pMainFrimDlg2 = new MainFrimDlg2; m_pMainFrimDlg2->SetLiaPath("10.lia"); m_pMainFrimDlg2->Create(IDD_DLGmydlg, this); } m_pMainFrimDlg2->ShowWindow(SW_SHOW); g_bInSkin = 0; #endif } } else { ll: ChoosePhotoSkin dlg; dlg.SetLiaPath("1.lia"); if (dlg.DoModal() != IDOK) { PostMessage(WM_QUIT); return 1; } if (dlg.m_exitcode == 3) { keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); keybd_event(VK_F3, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP | 0, 0); } else { ShowWindow(SW_SHOW); #ifdef NEW_SKIN if (m_pMainFrimDlg2 == NULL) { m_pMainFrimDlg2 = new MainFrimDlg2; m_pMainFrimDlg2->SetLiaPath("10.lia"); m_pMainFrimDlg2->Create(IDD_DLGmydlg, this); } m_pMainFrimDlg2->ShowWindow(SW_SHOW); g_bInSkin = 0; #endif } } } return 1; case VK_F3: // 此机用于选片和选设计; { if (g_pMainWnd->m_bCheckF2F3 && (g_pMainWnd->IsShiftDown() == 0 || g_pMainWnd->IsCtrlDown() == 0))return 1; m_Mdi.MainClose(); if (g_user.bLongin) { SearchClient dlg; dlg.m_mode = 1; dlg.SetLiaPath("2.lia"); if (dlg.DoModal() != IDOK) { if (dlg.m_bLogout) { g_user.bLongin = 0; g_user.name.Empty(); g_user.rights.Empty(); g_user.account.Empty(); goto mm; } PostMessage(WM_QUIT); return 1; } if (dlg.m_exitcode == 2) { keybd_event(VK_F2, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); keybd_event(VK_F2, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP | 0, 0); } else { ShowWindow(SW_SHOW); #ifdef NEW_SKIN if (m_pMainFrimDlg2 == NULL) { m_pMainFrimDlg2 = new MainFrimDlg2; m_pMainFrimDlg2->SetLiaPath("10.lia"); m_pMainFrimDlg2->Create(IDD_DLGmydlg, this); } m_pMainFrimDlg2->ShowWindow(SW_SHOW); g_bInSkin = 0; #endif } } else { mm: ChoosePhotoSkin dlg; dlg.m_mode = 1; dlg.SetLiaPath("1.lia"); if (dlg.DoModal() != IDOK) { PostMessage(WM_QUIT); return 1; } if (dlg.m_exitcode == 2) { keybd_event(VK_F2, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); keybd_event(VK_F2, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP | 0, 0); } else { ShowWindow(SW_SHOW); #ifdef NEW_SKIN if (m_pMainFrimDlg2 == NULL) { m_pMainFrimDlg2 = new MainFrimDlg2; m_pMainFrimDlg2->SetLiaPath("10.lia"); m_pMainFrimDlg2->Create(IDD_DLGmydlg, this); } m_pMainFrimDlg2->ShowWindow(SW_SHOW); g_bInSkin = 0; #endif } } } return 1; //#if 0 // 2015-05-30 禁用F11功能; // case VK_F11: // if (g_bInSkin)return 1; // if (g_user.bLongin) // { // SqlDlg dlg; // dlg.DoModal(); // } // break; //#endif } } return CMDIFrameWnd::PreTranslateMessage(pMsg); } void CMainFrame::GetSkin() { return; #ifdef MNLS_VERSION if (::PathFileExists(g_mainpath + "\\skin\\4.lia")) { CFile fp; fp.Open(g_mainpath + "\\skin\\4.lia", CFile::modeRead); DWORD leng=fp.GetLength (); fp.Close (); if(leng!=194987) ::DeleteFile (g_mainpath+"\\skin\\4.lia"); // 删除4.lia } if(!::PathFileExists (g_mainpath+"\\skin\\4.lia")) { ::CreateDirectory (g_mainpath+"\\skin", NULL); g_sendhead.bsql=0; g_sendhead.code[0]=100; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return; CFile fp; fp.Open (g_mainpath+"\\skin\\4.lia", CFile::modeWrite|CFile::modeCreate); fp.Write (g_pData, g_nLeng); fp.Close (); } #endif } void AutoDraw(CPrintRX &m_Print, CRect &StrRect, CString &str, float fscale) { CString tempbz =_T(""), temp = _T(""); BOOL bRun = 0; CSize size; int fontsize = 12; int i = 0; ll: tempbz = str; i = 0; m_Print.SetFontFace(fontsize, 1, "宋体"); while (1) { if (!tempbz.IsEmpty()) { temp = tempbz; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right = 0; CRect temprc = StrRect; temprc.top += i*(fontsize*fscale); i++; temprc.bottom = temprc.top + fontsize; if (temprc.bottom > StrRect.bottom)break; while (size.cx > temprc.Width()) { right++; temp = tempbz.Left(tempbz.GetLength() - (right)); if (GIsHalfHZ(temp)) { right++; temp.Delete(temp.GetLength() - 1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } // 判断最后的字符是否还含有半个汉字; if ( GIsHalfHZ(temp) ) { right++; temp.Delete(temp.GetLength() -1); temp = tempbz.Left(tempbz.GetLength() - (right)); } if (temp.Find("\r\n") != -1) { temp = temp.Left(temp.Find("\r\n"));//i++; tempbz = tempbz.Right(tempbz.GetLength() - temp.GetLength() - 2); } else tempbz = tempbz.Right(tempbz.GetLength() - temp.GetLength()); if (bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, temprc, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else break; } if (tempbz.IsEmpty() == 0) { fontsize--; goto ll; } if (bRun == 0) { bRun = 1; goto ll; } } void CMainFrame::PrintDinDan3(CString strOrderNumber) { // TODO: Add your control notification handler code here CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(63); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("11.lia"); load.SetMargins(0, 0); if (!load.Load())return; LoadRect load2; load2.SetLiaPath("12.lia"); load2.SetMargins(0, 0); if (!load2.Load())return; LoadRect load3; load3.SetLiaPath("13.lia"); load3.SetMargins(-6, 520); if (!load3.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "';id='" + strOrderNumber + "' and name<>'入册' and name<>'入底';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.tabcount = 4; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 张数:" + g_List1array.ElementAt(0).ElementAt(9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = "其它要求: " + g_List1array.ElementAt(0).ElementAt(38); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_qq1 = clientarray.ElementAt(0).ElementAt(5); CString m_qq2 = clientarray.ElementAt(0).ElementAt(6); CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_birthday1 = clientarray.ElementAt(0).ElementAt(11); CString m_birthday2 = clientarray.ElementAt(0).ElementAt(12); CString m_addr = m_addr1 + ";"; m_addr.TrimLeft(";"); m_addr += m_addr2; CString m_qq = m_qq1 + ";"; m_qq.TrimLeft(";"); m_qq += m_qq2; CString m_jd; for (i = 0; i < jdarray.GetSize(); i++) { m_jd += jdarray.ElementAt(i).ElementAt(1); m_jd += ";"; } m_jd.TrimRight(";"); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top -= 0; StrRect.bottom -= 10; StrRect.left -= 140; StrRect.right = StrRect.left + 48; m_Print.SetFontFace(15, 1, "宋体"); m_Print.SetColor(0xffffff); m_Print.DrawRect(StrRect, 0); m_Print.DrawText((LPTSTR)(LPCTSTR)" Honey", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 48; m_Print.DrawRect(StrRect, RGB(255, 0, 0)); m_Print.SetColor(0, RGB(255, 0, 0)); m_Print.DrawText((LPTSTR)(LPCTSTR)" 挚 爱 ", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetColor(0); m_Print.SetFontFace(12, 1, "宋体"); StrRect.left -= 48; int hei = StrRect.Height(); StrRect.top = StrRect.bottom + 2; StrRect.bottom += hei + 2; m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top = StrRect.bottom - 2; StrRect.bottom += hei - 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"www.gzhoney.com", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(12, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"套系内容", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)("客户编号:" + strOrderNumber), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"先生姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"约单时间:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); //////////// StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"女士姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"大婚时间:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客地址:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_addr, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"QQ/邮箱:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_qq, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套系金额:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_money1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"定金:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_money2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"余额:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_money3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"预约点:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_outside, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"拍摄景点:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_jd, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套系内容提供: 男士服装:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"女士:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount2, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套系内提供拍摄区服装/头饰造型", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"其它:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)" ", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"专业数码拍摄:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_outside2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"张", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"(JPG格式数据)", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"套系内赠送:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_List1array.ElementAt(0).ElementAt(9)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"张设计排版精修入册", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //////////////////////load2 rcpos = -1; StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"原始数据套系内张数JPG格式光盘壹只", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"其它:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(++rcpos); // m_Print.DrawText((LPTSTR)(LPCTSTR)"", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // AutoDraw(m_Print, StrRect, m_bz, 1.4); m_Print.DrawRect2(StrRect, 2); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"客人产品:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); int rowcount = sparray.GetSize() / 8; int needaddrow = 0; while (sparray.GetSize() > rowcount * 8 + needaddrow) needaddrow++; int pos = 0; CString str = ""; int addcount = 0; if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } StrRect = load2.m_rcarray.ElementAt(++rcpos);//6 AutoDraw(m_Print, StrRect, str, 1.4); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//6 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//7 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//8 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//9 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//10 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//11 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(++rcpos);//12 if (needaddrow > 0) addcount = 1; else addcount = 0; needaddrow--; str.Empty(); for (i = 0; i < rowcount + addcount; i++) { str += sparray.ElementAt(pos).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(pos).ElementAt(3); str += ";"; pos++; } AutoDraw(m_Print, StrRect, str, 1.4f); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawRect2(StrRect, 2); /* StrRect=load2.m_rcarray .ElementAt (++rcpos);//12 if(needaddrow>0) addcount=1; else addcount=0; needaddrow--; str.Empty (); for( i=0; i0) addcount=1; else addcount=0; needaddrow--; str.Empty (); for( i=0; itemprc.Width()) { right++; temp = tempspno.Left(tempspno.GetLength() - (right)); if (GIsHalfHZ(temp)) { right++; temp.Delete(temp.GetLength() - 1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if (bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempspno = tempspno.Right(tempspno.GetLength() - temp.GetLength()); if (tempspno.IsEmpty())i++; } } if (tempspno.IsEmpty() == 0)//|| tempbz.IsEmpty ()==0) { fontsize--; goto ll; } if (bRun == 0) { bRun = 1; goto ll; } } m_Print.SetFontFace(11, 1, "宋体"); //////////////////////load3 rcpos = -1; for (i = 0; i < 24; i++) { StrRect = load3.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } CStringArray strarray; strarray.Add("营业员"); strarray.Add("前台接待"); strarray.Add("化妆师"); strarray.Add("礼服师"); strarray.Add("摄影师"); strarray.Add("摄影助理"); strarray.Add("美工师"); strarray.Add("设计师"); for (i = 0; i < 8; i++) { StrRect = load3.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_ren); strarray.Add(g_List1array.ElementAt(0).ElementAt(49)); strarray.Add(m_waiter2); strarray.Add(g_List1array.ElementAt(0).ElementAt(51)); strarray.Add(m_waiter1); strarray.Add(g_List1array.ElementAt(0).ElementAt(50)); strarray.Add(""); strarray.Add(m_waiter4); for (i = 8; i < 16; i++) { StrRect = load3.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 8), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } StrRect = load3.m_rcarray.ElementAt(27); m_Print.DrawText((LPTSTR)(LPCTSTR)"客户电话: 020-8666 8233 020-8667 8166", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load3.m_rcarray.ElementAt(28); m_Print.DrawText((LPTSTR)(LPCTSTR)"地址: 广州市越秀区流花路120号东方宾馆一号楼首层 www.gzhoney.com", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(13, 1, "宋体"); StrRect = load3.m_rcarray.ElementAt(25); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客确认签名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load3.m_rcarray.ElementAt(26); m_Print.DrawRect2(StrRect, 2); StrRect = load3.m_rcarray.ElementAt(24); str = "\ 顾客须知\r\n\ 首先感谢您选择挚爱婚纱摄影,进入本公司场所,请勿带摄影器材(面斥不雅)为了更好的服务更愉快的流程,请仔细阅读以下事项\r\n\ 1. 核对清楚套系内容,有任何特殊要求请与工作人员沟通,以文字注明生效.\r\n\ 2. 拍摄前请付清套系全款,另购买其它产品款项购买当天付清。\r\n\ 3. 拍摄完毕后15天内公司专人电话通知选相片,为了更好更专业的选出您要制作的产品,请不要带陪同(意见不一不便照顾)。\r\n\ 4. 选样文件因空间有限保留时间为60天删除(拍摄日起)成品以取件日后保管30天,30天后未来取件需收第天5天保管费,\ 为了对您负责请本人持单据取件,委托他人取件需带单据和委托人身份证。\r\n\ 5. 认真对待合同意义确认套系内容与制作内容一致,超出内容的自愿消费项目签名确认消费,恕不退还。\r\n\ 6. 产品取件日期为45天(选相片那天算起)如要提前属急件,提前30天内需收10%的加急费。"; AutoDraw(m_Print, StrRect, str, 1.8f); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (dlg.DoModal() != IDOK)return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } void CMainFrame::PrintDailyForm(CArray*Listarray, CString title, CString info) { // TODO: Add your control notification handler code here int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); CString str; int wid[4] = { 320, 60, 60, 90 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<4; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); int infopos = info.Find("***"); if (infopos != -1) { m_Print.DrawText((LPTSTR)(LPCTSTR)info.Left(infopos), rc2, 0, 0, FORMAT_LEFT | FORMAT_UP); CRect rc3 = rc2; rc3.top = rc2.bottom - 4; m_Print.DrawText((LPTSTR)(LPCTSTR)info.Right(info.GetLength() - infopos - 3), rc3, 0, 0, FORMAT_LEFT | FORMAT_UP); } else m_Print.DrawText((LPTSTR)(LPCTSTR)info, rc2, 0, 0, FORMAT_LEFT | FORMAT_UP); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintLoginForm(CArray*Listarray, CString title, CString info) { // TODO: Add your control notification handler code here int sinlecount = 33 * 6; int pages = Listarray->GetSize() / sinlecount; if (Listarray->GetSize() % sinlecount)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CString str; CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; rc.left -= 20; m_Print.SetFontFace(12, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(6, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; rc.right = mainrc.right + 20; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int wid[2] = { 50, 110 }; int hei = 11; rc = mainrc; rc.bottom = rc.top + hei; rc.top += 10; rc.bottom += 10; int dtx = rc.Width() / 3 + 18; int dty = 380; for (int j = 0; j < 6; j++) { if (Listarray->GetSize() < aa*sinlecount + 33 * (j + 1))continue; for (int i = 0; i < 33; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if (i == 0) { // rc2.left +=wid[1]; rc2.right += wid[1]; } if (j == 1 || j == 4) { rc2.left += dtx; rc2.right += dtx; } if (j == 2 || j == 5) { rc2.left += dtx * 2; rc2.right += dtx * 2; } if (j == 3 || j == 4 || j == 5) { rc2.top += dty; rc2.bottom += dty; } m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize() > aa*sinlecount + 33 * j + i) { str = Listarray->ElementAt(aa*sinlecount + 33 * j + i).ElementAt(0); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } if (i == 0)continue; rc2.left = rc2.right; rc2.right += wid[1]; m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize() > aa*sinlecount + 33 * j + i) { if (Listarray->ElementAt(aa*sinlecount + 33 * j + i).GetSize() > 1) { str = Listarray->ElementAt(aa*sinlecount + 33 * j + i).ElementAt(1); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } } /* if(Listarray->GetSize ()>aa*46+i) { str=Listarray->ElementAt (aa*46+i).ElementAt (j); rc2.left +=3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -=3; } rc2.left +=wid[j]; rc2.right =rc2.left+wid[j+1];*/ } } m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintTakeForm(CArray*Listarray) { CString title; CString info; // TODO: Add your control notification handler code here int sinlecount = 4; int pages = Listarray->GetSize() / sinlecount; if (Listarray->GetSize() % sinlecount)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CString str; CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; rc.left -= 20; m_Print.SetFontFace(6, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; rc.right = mainrc.right + 10; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); m_Print.SetFontFace(12, 1, "宋体"); int wid[2] = { 70, 190 }; int hei = 22; rc = mainrc; rc.bottom = rc.top + hei; rc.top += 10; rc.bottom += 10; int dtx = rc.Width() / 2 + 18; int dty = 380; int arraysize = Listarray->ElementAt(0).GetSize(); for (int j = 0; j < 4; j++) { if (Listarray->GetSize() <= aa*sinlecount + j)continue; for (int i = 0; i < arraysize; i++) { rc2.top = rc.top + i / 2 * hei; rc2.bottom = rc.bottom + i / 2 * hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if (i % 2) { rc2.left = rc2.right; rc2.right += wid[1]; } if (j == 1 || j == 3) { rc2.left += dtx; rc2.right += dtx; } if (j == 2 || j == 3) { rc2.top += dty; rc2.bottom += dty; } if (i == arraysize - 1 || i == arraysize - 2) { rc2.bottom += hei * 2; } m_Print.DrawRect2(rc2, 1); { str = Listarray->ElementAt(aa*sinlecount + j).ElementAt(i); if (i == arraysize - 1) { CRect rc3 = rc2; rc3.left += 3; rc3.top += 3; AutoDraw(m_Print, rc3, str, 1.4f); } else if (i == arraysize - 2) { CRect rc3 = rc2; rc3.left += 3; rc3.top += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc3, 0, 0, FORMAT_LEFT | FORMAT_UP); } else { rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } } } } m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintThumbNail(CStringArray *array, CString client, BOOL bDir, CString m_size) { // TODO: Add your control notification handler code here CStringArray titlearray; CStringArray namearray; CStringArray noarray; CArrayrcarray; CArraywidtharray; if (m_size != "") { int pos = m_size.Find(";"); while (pos != -1) { CString size = m_size.Left(pos); int pos2 = size.Find(":"); if (pos2 != -1) { CString str; CRect rc; str = size.Left(pos2); noarray.Add(str); str = size.Right(size.GetLength() - pos2 - 1); pos2 = str.Find(","); namearray.Add(str.Left(pos2)); str.Delete(0, pos2 + 1); pos2 = str.Find(","); rc.left = atoi(str.Left(pos2)); str.Delete(0, pos2 + 1); pos2 = str.Find(","); rc.top = atoi(str.Left(pos2)); str.Delete(0, pos2 + 1); widtharray.Add(rc); pos2 = str.Find(","); rc.left = atoi(str.Left(pos2)); str.Delete(0, pos2 + 1); pos2 = str.Find(","); rc.top = atoi(str.Left(pos2)); str.Delete(0, pos2 + 1); pos2 = str.Find(","); rc.right = atoi(str.Left(pos2)); str.Delete(0, pos2 + 1); rc.bottom = atoi(str); rcarray.Add(rc); } m_size = m_size.Right(m_size.GetLength() - pos - 1); pos = m_size.Find(";"); } } PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); mainrc.DeflateRect(25, 50, 10, 0); m_Print.SetFontFace(10, 1, "宋体"); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.DrawText((LPTSTR)(LPCTSTR)client, rc, 0, 0, FORMAT_LEFT | FORMAT_UP); rc.bottom -= 5; m_Print.DrawRect2(rc, 2); if (array->GetSize() > 130)m_Print.SetFontFace(8, 1, "宋体"); if (bDir)m_Print.SetFontFace(6, 1, "宋体"); //////////////////////////////////////////////////////////////// int imgcount = array->GetSize(); int dtx = 5; int dty = 15; int cx, cy; int countx = 5; int county = 1; while (1) { if (countx*county >= imgcount) { cx = (mainrc.Width() - (countx - 1)*dtx) / countx; cy = cx * 4 / 3; break; } else { cx = (mainrc.Width() - (countx - 1)*dtx) / countx; cy = cx * 4 / 3; if (cy*(county + 1) + dty*county < mainrc.Height())//Y方向可以增加一个 { county++; } else//Y方向不能加,X方向加 { countx++; county = 1; } } } int imgpos = 0; CString stemp; CPen pen(PS_SOLID, 1, RGB(255, 0, 0)); CPen *oldpen = m_Print.m_DC.SelectObject(&pen); CPen *oldpen2 = m_Print.m_memdc.SelectObject(&pen); for (int i = 0; i < county; i++) { for (int j = 0; j < countx; j++) { rc = mainrc; rc.top += i*(cy + dty); rc.left += j*(cx + dtx); rc.right = rc.left + cx; rc.bottom = rc.top + cy; Image *pImg = NULL; if (imgpos >= array->GetSize())break; CString str = array->ElementAt(imgpos); CString spath = str.Left(str.ReverseFind('\\') + 1); spath += "m"; spath += str.Right(str.GetLength() - str.ReverseFind('\\') - 1); if (PathFileExists(spath)) ::LoadImageFromBuf(&pImg, spath); else { ::LoadImageFromBuf(&pImg, str); if (pImg == NULL)continue; int orientation = GetOrientation(pImg); if (orientation == 8) pImg->RotateFlip(Rotate270FlipNone); else if (orientation == 6) pImg->RotateFlip(Rotate90FlipNone); } if (pImg == NULL)continue; rc2 = rc; RectFitDes(pImg->GetWidth(), pImg->GetHeight(), rc); imgpos++; m_Print.DrawImage(pImg, rc); int imgwidth = pImg->GetWidth(); delete pImg; rc2.top = rc2.bottom + 3; rc2.bottom += 10; if (bDir == 0) str = str.Right(str.GetLength() - str.ReverseFind('\\') - 1); else { stemp = str.Left(str.ReverseFind('\\')); str = str.Right(str.GetLength() - str.ReverseFind('\\') - 1); if (stemp.ReverseFind('\\') != -1) { stemp = stemp.Right(stemp.GetLength() - stemp.ReverseFind('\\') - 1); str = stemp + "\\" + str; } } if (str.Find(".") != -1) str = str.Left(str.Find(".")); m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_HCENTER | FORMAT_UP); if (noarray.GetSize()) { rc2 = rc; for (int aa = 0; aa < noarray.GetSize(); aa++) { float scale = (float)rc2.Width() / (float)imgwidth; if (noarray.ElementAt(aa) == str) { int nIndex = aa; CRect rc = rcarray.ElementAt(nIndex); int wid = widtharray.ElementAt(nIndex).left; int hei = widtharray.ElementAt(nIndex).top; scale *= (float)imgwidth / (float)wid; rc.left *= scale; rc.right *= scale; rc.top *= scale; rc.bottom *= scale; rc.left += rc2.left; rc.right += rc2.left; rc.top += rc2.top; rc.bottom += rc2.top; if (rc.left < rc2.left)rc.left = rc2.left; if (rc.right > rc2.right)rc.right = rc2.right; if (rc.top < rc2.top)rc.top = rc2.top; if (rc.bottom > rc2.bottom)rc.bottom = rc2.bottom; m_Print.DrawRect2(rc, 1); } } } } } m_Print.m_DC.SelectObject(oldpen); m_Print.m_memdc.SelectObject(oldpen2); /* CRect StrRect=load.m_rcarray .ElementAt (++rcpos); StrRect.top -=15;StrRect.bottom -=15; Image *pImg=NULL; ::LoadImageFromBuf (&pImg, g_mainpath+"\\skin\\logo.jpg"); m_Print.DrawImage(pImg, StrRect); delete pImg; m_Print.SetFontFace(10, 1, "宋体"); StrRect=load.m_rcarray .ElementAt (20); StrRect.right=load.m_rcarray .ElementAt (23).right; StrRect.top -=18;StrRect.bottom -=18; CString str="地址:"+g_cominfoarray.ElementAt (0).ElementAt (12); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); */ m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (dlg.DoModal() != IDOK) return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } // remark by Jeff // 函数:PrintDinDan // 参数: // strOrderNumber:订单单号;(Order number) // 返回:void // 注意:# void CMainFrame::PrintDinDan(CString strOrderNumber)//打印订单报表; { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { PrintPreview dlg; CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(63); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } if (atoi(g_cominfoarray.ElementAt(0).ElementAt(66)) == 0) { #ifdef ZHIAI_VERSION PrintDinDan3(strOrderNumber); return; #endif #ifdef SZBLCT_VERSION PrintDinDan4(strOrderNumber); return; #endif m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("6.lia"); load.SetMargins(-14, 15); if (!load.Load())return; LoadRect load2; load2.SetLiaPath("7.lia"); load2.SetMargins(-14, 216 + 15); if (!load2.Load())return; LoadRect load3; load3.SetLiaPath("8.lia"); load3.SetMargins(-14, 705 + 15); if (!load3.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "';id='" + strOrderNumber + "' and name<>'入册' and name<>'入底';id='" + strOrderNumber + "';;"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.code[4] = 77; g_sendhead.code[5] = 4; g_sendhead.tabcount = 6; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArrayfgarray; CArraydanweiarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray, &fgarray, &danweiarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxiname; if (m_zs.Find("\\") != -1) m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 入底\\入册:" + g_List1array.ElementAt(0).ElementAt(9); else m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 入底:" + g_List1array.ElementAt(0).ElementAt(9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); if (jdarray.GetSize()) { if (m_bz.IsEmpty() == 0) m_bz = "\r\n" + m_bz; m_bz += "景点:"; } #ifdef DDF_VERSION m_bz += "219店:219路馨园小区对面\r\n"; m_bz += "金色店:万科金色家园小区东门南走20米荣光社区一楼\r\n"; m_bz += "万泰店:万泰锦绣华城小区正门\r\n"; #else for (i = 0; i < jdarray.GetSize(); i++) { m_bz += jdarray.ElementAt(i).ElementAt(1) + ";"; } m_bz.TrimRight(";"); #endif CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_occupation1 = clientarray.ElementAt(0).ElementAt(9); CString m_occupation2 = clientarray.ElementAt(0).ElementAt(10); CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); filter = "name='" + m_ren + "'"; g_sendhead.code[0] = 5; g_sendhead.tabcount = 1; g_sendhead.bsql = 0; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos = g_nYearposTemp; if (g_bSendOK == 0)return; DataToArray(&phonearray); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; Image *pImg = NULL; #ifdef MNLS_VERSION LoadImageFromRes(&pImg, MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); #else ::LoadImageFromBuf(&pImg, g_mainpath + "\\图片\\logo.jpg"); #endif m_Print.DrawImage(pImg, StrRect); delete pImg; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(137))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 30; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); StrRect.right = load.m_rcarray.ElementAt(23).right; StrRect.top -= 18; StrRect.bottom -= 18; CString str = "地址:" + g_cominfoarray.ElementAt(0).ElementAt(12); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); str = "电话:" + g_cominfoarray.ElementAt(0).ElementAt(11); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"婚 纱 摄 影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; #ifdef MNLS_VERSION m_Print.DrawRect(StrRect); #endif m_Print.SetFontFace(7, 1, "黑体"); m_Print.SetColor(0xffffff); #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"佳 美 女 人 坊 艺 术 摄 影 机 构", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif m_Print.SetColor(0); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; m_Print.DrawText((LPTSTR)(LPCTSTR)"(套系合同预约订单)", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); CStringArray strarray; strarray.Add("NO: " + strOrderNumber); CString date; date.Format("%s年%s月%s日", g_date.Mid(0, 4), g_date.Mid(5, 2), g_date.Mid(8, 2)); strarray.Add(date); strarray.Add("喜爱"); strarray.Add("格调"); if (fgarray.GetSize() == 12) { for (int i = 0; i < 12; i++) strarray.Add(fgarray.ElementAt(i).ElementAt(0)); } else { strarray.Add("复古典雅"); strarray.Add("温文尔雅"); strarray.Add("豪华艳丽"); strarray.Add("传统大方"); strarray.Add("新潮个性"); strarray.Add("浪漫奔放"); strarray.Add("简单素雅"); strarray.Add("活泼俏丽"); strarray.Add("妩媚温馨"); strarray.Add("温柔贤惠"); strarray.Add("成熟感性"); strarray.Add("清纯可爱"); } strarray.Add("姓名"); // strarray.Add("职业"); strarray.Add(""); strarray.Add("地址"); strarray.Add("电话"); #ifdef CHILD_VERSION strarray.Add("家长"); strarray.Add("宝宝"); #else strarray.Add("先生"); strarray.Add("女士"); #endif m_Print.SetFontFace(11, 1, "宋体"); for (i = 0; i < strarray.GetSize(); i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); if (i < 2) { StrRect.top -= 15; StrRect.bottom -= 15; } if (i>15) m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 29; i <= 40; i++) { if (m_style.GetLength() <= (i - 29))continue; if (m_style.GetAt(i - 29) != '1')continue; StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"√", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 27; i <= 48; i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 1); } #ifdef CHILD_VERSION StrRect = load.m_rcarray.ElementAt(45); StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"性别", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)m_sex, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"出生日期", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif ///////////////////////// strarray.RemoveAll(); CString temp; temp.Format("拍摄多款选 %d 款,其中影", atoi(m_outside) + atoi(m_outside2)); strarray.Add(temp); temp.Format("棚景 %d 款,景点 %d 款.", atoi(m_outside2), atoi(m_outside)); strarray.Add(temp); strarray.Add("化妆"); strarray.Add("造型"); #ifdef CHILD_VERSION strarray.Add(""); #else strarray.Add("婚纱"); #endif strarray.Add("服饰"); strarray.Add("配"); strarray.Add("置"); strarray.Add("其"); strarray.Add("它"); strarray.Add("套系名称"); strarray.Add("镜款"); strarray.Add("套系总价"); strarray.Add("主摄影师"); strarray.Add("拍摄日期"); strarray.Add("定金"); #ifdef CHILD_VERSION strarray.Add("主引导师"); #else strarray.Add("主化妆师"); #endif strarray.Add("看样日期"); strarray.Add("欠款余额"); strarray.Add("总监"); strarray.Add("取件日期"); rcpos = -1; for (i = 0; i < strarray.GetSize(); i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); if (i>9) m_Print.DrawRect2(StrRect, 1); #ifdef CHILD_VERSION if (i == 5) StrRect.top -= StrRect.Height(); #endif m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 22; i <= 41; i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 1); } ///////////////////////////// strarray.RemoveAll(); #ifdef CHILD_VERSION strarray.Add("顾客方 家长:"); strarray.Add("宝宝:"); #else strarray.Add("顾客方 先生:"); strarray.Add("女士:"); #endif strarray.Add("电话:"); strarray.Add("影楼方 店长:"); strarray.Add("接单人:"); strarray.Add("电话:"); rcpos = -1; for (i = 0; i < strarray.GetSize(); i++) { StrRect = load3.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); } for (i = 7; i <= 12; i++) { StrRect = load3.m_rcarray.ElementAt(++rcpos); // if(i!=10) m_Print.DrawRect2(StrRect, 2); } ////////////////////////////////////// //开始打数据 strarray.RemoveAll(); strarray.Add(m_name1); strarray.Add(m_name2); /// strarray.Add (m_occupation1); // strarray.Add (m_occupation2); strarray.Add(""); strarray.Add(""); strarray.Add(m_addr1); #ifdef CHILD_VERSION strarray.Add(""); #else strarray.Add(m_addr2); #endif strarray.Add(m_phone1); strarray.Add(m_phone2); for (i = 41; i <= 48; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 41), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } /////////////////////////////// strarray.RemoveAll(); strarray.Add(m_money1); strarray.Add(m_waiter1); strarray.Add(m_time2); strarray.Add(m_money2); strarray.Add(m_waiter2); strarray.Add(m_time4); strarray.Add(m_money3); strarray.Add(""); strarray.Add(m_time5); for (i = 32; i <= 40; i++) { StrRect = load2.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 32), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } /////////////////////////////// strarray.RemoveAll(); strarray.Add(m_name1); strarray.Add(m_name2); CString phone; if (m_phone1.IsEmpty() == 0) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); strarray.Add(phone); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(14)); strarray.Add(m_ren); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(11)); for (i = 7; i <= 12; i++) { StrRect = load3.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 7), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load2.m_rcarray.ElementAt(26); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_taoxiname, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(27); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(28); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); ////////////////////////////// //开始画文字 StrRect = load2.m_rcarray.ElementAt(30); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; AutoDraw(m_Print, StrRect, m_bz, 1.4f); StrRect = load2.m_rcarray.ElementAt(29); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = ""; for (i = 0; i < sparray.GetSize(); i++) { str += sparray.ElementAt(i).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(i).ElementAt(3); str += GetDanWei(sparray.ElementAt(i).ElementAt(5), &danweiarray); str += "\r\n"; } str.TrimRight("\r\n"); AutoDraw(m_Print, StrRect, str, 1.4); StrRect = load2.m_rcarray.ElementAt(40); StrRect.top += 8; m_Print.SetFontFace(12, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"温馨提示", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.left += 3; StrRect.top += 30; StrRect.right -= 2; StrRect.bottom -= 2; str = g_cominfoarray.ElementAt(0).ElementAt(37); if (str.IsEmpty()) { str = "\ 1. 感谢您俩对我影楼的信任与青睐, 为了给您俩设\ 计好整体形象, 保证您俩拍摄效果的完善, 请配合我们\ 严谨的工作态度, 仔细阅读顾客须知.\r\n\ 2. 接近拍照日期请勿多晒太阳, 不要劳累, 尽量保\ 持良好的心境.\r\n\ 3. 拍照前一晚请少喝水, 睡眠一定要充足, 洗干净\ 头发, 勿使用任何发胶, 发膏. 先生请刮胡子.\r\n\ 4. 拍照当天请勿化妆, 女士应穿前开口上衣, 勿穿\ 套头上衣, 以免换婚纱时影响化好的妆与做好的发型.\r\n\ 5. 拍照时请勿带贵重物品, 以免丢失, 随行人员请\ 勿进影室, 以免影响拍摄.\r\n\ 6. 拍照时如有特殊要求或有异议时, 请当面与摄影\ 师或店长沟通.\r\n\ 7. 为了您俩有更大的选择款式, 本影楼所拍片该套\ 系所定数量多出一倍左右, 多片您俩若也要, 每款__\ 元. 其余照片和存底本影楼只保存__个月.\r\n\ 8. 配置内容应由所预约套系款数里挑选.\r\n\ 9. 本合同余额欠款须在拍照前付清.\r\n\ 10. 本合同预约单加盖本影楼公章方有效, 顾客方\ 签名后视为有效合同. 预约__个月内有效, 预约金不退\ 还."; } AutoDraw(m_Print, StrRect, str, 1.8); } else if (atoi(g_cominfoarray.ElementAt(0).ElementAt(66)) == 1) {//AfxMessageBox("yyy"); m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("6-2.lia"); load.SetMargins(0, 0); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "';id='" + strOrderNumber + "' and name<>'入册' and name<>'入底';id='" + strOrderNumber + "';;"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.code[4] = 77; g_sendhead.code[5] = 4; g_sendhead.tabcount = 6; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArrayfgarray; CArraydanweiarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray, &fgarray, &danweiarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); if (jdarray.GetSize()) { if (m_bz.IsEmpty() == 0) m_bz = "\r\n" + m_bz; m_bz += "景点:"; } for (i = 0; i < jdarray.GetSize(); i++) { m_bz += jdarray.ElementAt(i).ElementAt(1) + ";"; } m_bz.TrimRight(";"); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_birthday1 = clientarray.ElementAt(0).ElementAt(11); CString m_qq1 = clientarray.ElementAt(0).ElementAt(5); CString m_qq2 = clientarray.ElementAt(0).ElementAt(6); CString str; filter = "name='" + m_ren + "'"; g_sendhead.code[0] = 5; g_sendhead.tabcount = 1; g_sendhead.bsql = 0; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos = g_nYearposTemp; if (g_bSendOK == 0)return; DataToArray(&phonearray); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(0); m_Print.SetFontFace(25, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "预约单"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(1); if (m_time1.GetLength() == 10) str.Format("开单日期: %s 年 %s 月 %s 日", m_time1.Left(4), m_time1.Mid(5, 2), m_time1.Mid(8, 2)); else str = "开单日期:"; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(2); m_Print.DrawText((LPTSTR)(LPCTSTR)("No." + strOrderNumber), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); CStringArray strarray; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(137))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 47; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } #ifdef CHILD_VERSION strarray.Add("家长姓名"); strarray.Add("宝宝姓名"); #else strarray.Add("先生姓名"); strarray.Add("女士姓名"); #endif strarray.Add("服装套数"); // strarray.Add ("拍摄张数"); #ifdef CHILD_VERSION strarray.Add("出生日期"); #else strarray.Add("结婚日期"); #endif strarray.Add("拍摄日期"); strarray.Add("联系电话"); strarray.Add("联系电话"); strarray.Add("造型套数"); if (m_zs.Find("\\") != -1) strarray.Add("入底\\入册"); else strarray.Add("入底张数"); strarray.Add("选片日期"); strarray.Add("QQ/邮箱"); strarray.Add("套系总额"); strarray.Add("定金"); strarray.Add("余款金额"); strarray.Add("取件日期"); strarray.Add(m_name1); strarray.Add(m_name2); strarray.Add(m_clothescount); // str.Format("%d", atoi(m_zs)*3); // strarray.Add (str); #ifdef CHILD_VERSION strarray.Add(m_birthday1); #else strarray.Add(m_time3); #endif strarray.Add(m_time2); strarray.Add(m_phone1); strarray.Add(m_phone2); strarray.Add(m_clothescount2); strarray.Add(m_zs); strarray.Add(m_time4); strarray.Add(m_qq1); strarray.Add(m_money1); strarray.Add(m_money2); strarray.Add(m_money3); strarray.Add(m_time5); for (i = 4; i <= 33; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); if (strarray.GetSize() > (i - 4)) { if (i <= 18) m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 4), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else { StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 4), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } } } int dt = 413; StrRect = load.m_rcarray.ElementAt(36); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)"门市签名", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(37); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; StrRect = load.m_rcarray.ElementAt(38); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客签名", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(39); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; StrRect = load.m_rcarray.ElementAt(40); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(41); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)("电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(42); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)("网址:" + g_cominfoarray.ElementAt(0).ElementAt(13)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); ////////////////////////////// //开始画文字 StrRect = load.m_rcarray.ElementAt(7); int hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; m_Print.DrawText((LPTSTR)(LPCTSTR)"详细内容:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"备注内容:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(17); StrRect.top += hei; StrRect.bottom += hei; m_Print.DrawText((LPTSTR)(LPCTSTR)"注意事项:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(33); StrRect.bottom = StrRect.top + dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = ""; for (i = 0; i < sparray.GetSize(); i++) { str += sparray.ElementAt(i).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(i).ElementAt(3); str += GetDanWei(sparray.ElementAt(i).ElementAt(5), &danweiarray); str += "\r\n"; } str.TrimRight("\r\n"); AutoDraw(m_Print, StrRect, str, 1.4); StrRect = load.m_rcarray.ElementAt(33); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; AutoDraw(m_Print, StrRect, m_bz, 1.4); StrRect = load.m_rcarray.ElementAt(34); StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = g_cominfoarray.ElementAt(0).ElementAt(37); if (str.IsEmpty()) { str = "\ 1. 感谢您俩对我影楼的信任与青睐, 为了给您俩设\ 计好整体形象, 保证您俩拍摄效果的完善, 请配合我们\ 严谨的工作态度, 仔细阅读顾客须知.\r\n\ 2. 接近拍照日期请勿多晒太阳, 不要劳累, 尽量保\ 持良好的心境.\r\n\ 3. 拍照前一晚请少喝水, 睡眠一定要充足, 洗干净\ 头发, 勿使用任何发胶, 发膏. 先生请刮胡子.\r\n\ 4. 拍照当天请勿化妆, 女士应穿前开口上衣, 勿穿\ 套头上衣, 以免换婚纱时影响化好的妆与做好的发型.\r\n\ 5. 拍照时请勿带贵重物品, 以免丢失, 随行人员请\ 勿进影室, 以免影响拍摄.\r\n\ 6. 拍照时如有特殊要求或有异议时, 请当面与摄影\ 师或店长沟通.\r\n\ 7. 为了您俩有更大的选择款式, 本影楼所拍片该套\ 系所定数量多出一倍左右, 多片您俩若也要, 每款__\ 元. 其余照片和存底本影楼只保存__个月.\r\n\ 8. 配置内容应由所预约套系款数里挑选.\r\n\ 9. 本合同余额欠款须在拍照前付清.\r\n\ 10. 本合同预约单加盖本影楼公章方有效, 顾客方\ 签名后视为有效合同. 预约__个月内有效, 预约金不退\ 还."; } AutoDraw(m_Print, StrRect, str, 1.8); StrRect = load.m_rcarray.ElementAt(35); StrRect.bottom += 100; // str="第一联:存根<白> 第二联:客户<红> 第三联:流程<黄> "; str = "第\r\n一\r\n联\r\n存\r\n根\r\n∧\r\n白\r\n∨\r\n第\r\n二\r\n联\r\n客\r\n户\r\n∧\r\n红\r\n∨\r\n第\r\n三\r\n联\r\n流\r\n程\r\n∧\r\n黄\r\n∨"; // AutoDraw(m_Print, StrRect, str, 1.4); } else if (atoi(g_cominfoarray.ElementAt(0).ElementAt(66)) == 2) { PrintDinDan5(strOrderNumber); return; } else if (atoi(g_cominfoarray.ElementAt(0).ElementAt(66)) == 3) { PrintDinDan6(strOrderNumber); return; } m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); dlg.m_mode = 1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CovertDate2(CString date, CString &date2) { try { if (date == "2013-04-09") { date2 = "2013-02-29"; return; } /////////////////////////////////// date2 = date; GongToLong(date2); //////////////////////////////////// return; CCalendarConvert m_CalendarConvert; SYSTEMTIME src = { 0 }; SYSTEMTIME dst = { 0 }; COleDateTime m_timeLunar(atoi(date.Mid(0, 4)), atoi(date.Mid(5, 2)), atoi(date.Mid(8, 2)), 0, 0, 0); COleDateTime m_timeGregorian; m_timeLunar.GetAsSystemTime(src); BOOL bEmbolism = 0; if (m_CalendarConvert.Gregorian2Lunar(&src, &dst, &bEmbolism)) { m_timeGregorian = m_CalendarConvert.ConvertSysTime2OleDateTime(&dst); date2.Format("%04d-%02d-%02d", m_timeGregorian.GetYear(), m_timeGregorian.GetMonth(), m_timeGregorian.GetDay()); if (m_timeGregorian.GetYear() == -1)date2 = "2000-13-32"; } else { date2.Empty(); } } catch (...) { } } void CMainFrame::PrintDinDan5(CString m_id) { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { PrintPreview dlg; CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(63); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } { m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("19.lia"); load.SetMargins(0, -20); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + m_id + "';id='" + m_id + "';id='" + m_id + "' and name<>'入册' and name<>'入底';id='" + m_id + "';;"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.code[4] = 77; g_sendhead.code[5] = 4; g_sendhead.tabcount = 6; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArrayfgarray; CArraydanweiarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray, &fgarray, &danweiarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 张数:" + g_List1array.ElementAt(0).ElementAt(9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(36); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); CString m_txtype = g_List1array.ElementAt(0).ElementAt(52); CString m_memberno = g_List1array.ElementAt(0).ElementAt(47); CString str; if (jdarray.GetSize()) { if (m_bz.IsEmpty() == 0) m_bz = "\r\n" + m_bz; m_bz += "景点:"; } for (i = 0; i < jdarray.GetSize(); i++) { m_bz += jdarray.ElementAt(i).ElementAt(1) + ";"; } m_bz.TrimRight(";"); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_occupation1 = clientarray.ElementAt(0).ElementAt(9); CString m_occupation2 = clientarray.ElementAt(0).ElementAt(10); CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); BOOL check1 = atoi(clientarray.ElementAt(0).ElementAt(15)); filter = "name='" + m_ren + "'"; g_sendhead.code[0] = 5; g_sendhead.tabcount = 1; g_sendhead.bsql = 0; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos = g_nYearposTemp; if (g_bSendOK == 0)return; DataToArray(&phonearray); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); //Image *pImg=NULL; // ::LoadImageFromBuf (&pImg, g_mainpath+"\\skin\\logo.jpg"); // m_Print.DrawImage(pImg, StrRect); // delete pImg; m_Print.SetFontFace(20, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(1); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "定单"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(12, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(2); m_Print.DrawText((LPTSTR)(LPCTSTR)("NO." + m_id), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(3); str.Format("%s 年 %s 月 %s 日", m_time1.Left(4), m_time1.Mid(5, 2), m_time1.Mid(8, 2)); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(4); m_Print.DrawText((LPTSTR)(LPCTSTR)("联系人:" + m_name1), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); CStringArray strarray; strarray.Add("姓名"); strarray.Add("性别"); strarray.Add("年龄"); strarray.Add("出生年月"); strarray.Add("套系价格"); strarray.Add("定金"); strarray.Add("欠款"); strarray.Add("拍摄类型"); strarray.Add("会员卡号"); strarray.Add("定单人"); strarray.Add("入底\\入册"); strarray.Add("联系电话"); for (i = 6; i <= 17; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 6), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_name2); strarray.Add(m_sex); if (m_birthday.GetLength() != 10) strarray.Add(""); else { int year = 0; if (check1) { CString date2; CovertDate2(g_date, date2); year = atoi(date2.Left(4)) - atoi(m_birthday.Left(4)); if (date2.Right(5) >= m_birthday.Right(5)) year++; } else { year = atoi(g_date.Left(4)) - atoi(m_birthday.Left(4)); if (g_date.Right(5) >= m_birthday.Right(5)) year++; } str.Format("%d", year); strarray.Add(str); } strarray.Add(m_birthday); strarray.Add(m_money1); strarray.Add(m_money2); strarray.Add(m_money3); strarray.Add(m_txtype); strarray.Add(m_memberno); strarray.Add(m_ren); strarray.Add(m_zs); if (!m_phone1.IsEmpty()) strarray.Add(m_phone1); else strarray.Add(m_phone2); for (i = 18; i <= 29; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 18), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add("摄影师"); strarray.Add("拍照时间"); strarray.Add("选片人"); strarray.Add("选片时间"); strarray.Add("引导师"); strarray.Add("设计师"); strarray.Add("取件时间"); strarray.Add("顾客签字"); for (i = 34; i <= 41; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 34), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_waiter1); strarray.Add(m_time2); strarray.Add(m_waiter3); strarray.Add(m_time4); strarray.Add(m_waiter2); strarray.Add(m_waiter4); strarray.Add(m_time5); strarray.Add(""); for (i = 42; i <= 49; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 42), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(29); m_Print.DrawRect2(StrRect, 1); StrRect.top += 45; m_Print.DrawText((LPTSTR)(LPCTSTR)"拍", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"摄", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"内", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"容", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(30); m_Print.DrawRect2(StrRect, 1); StrRect.top += 45; m_Print.DrawText((LPTSTR)(LPCTSTR)"友", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"情", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"提", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.top += 20; m_Print.DrawText((LPTSTR)(LPCTSTR)"示", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(37); StrRect.top = StrRect.bottom + 2; str = "地址:" + g_cominfoarray.ElementAt(0).ElementAt(12); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_UP); str = "电话:" + g_cominfoarray.ElementAt(0).ElementAt(11); StrRect = load.m_rcarray.ElementAt(48); StrRect.top = StrRect.bottom + 2; StrRect.left -= 200; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); //开始画文字 StrRect = load.m_rcarray.ElementAt(31); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = ""; for (i = 0; i < sparray.GetSize(); i++) { str += sparray.ElementAt(i).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(i).ElementAt(3); str += GetDanWei(sparray.ElementAt(i).ElementAt(5), &danweiarray); str += "\r\n"; } str.TrimRight("\r\n"); m_bz = g_List1array.ElementAt(0).ElementAt(38); m_bz.TrimLeft(); if (m_bz != "") { str += "\r\n"; str += "\r\n"; str += "备注:" + m_bz; } AutoDraw(m_Print, StrRect, str, 1.4); StrRect = load.m_rcarray.ElementAt(32); m_Print.DrawRect2(StrRect, 1); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = g_cominfoarray.ElementAt(0).ElementAt(37); if (str.IsEmpty()) { str = "\ 1. 感谢您俩对我影楼的信任与青睐, 为了给您俩设\ 计好整体形象, 保证您俩拍摄效果的完善, 请配合我们\ 严谨的工作态度, 仔细阅读顾客须知.\r\n\ 2. 接近拍照日期请勿多晒太阳, 不要劳累, 尽量保\ 持良好的心境.\r\n\ 3. 拍照前一晚请少喝水, 睡眠一定要充足, 洗干净\ 头发, 勿使用任何发胶, 发膏. 先生请刮胡子.\r\n\ 4. 拍照当天请勿化妆, 女士应穿前开口上衣, 勿穿\ 套头上衣, 以免换婚纱时影响化好的妆与做好的发型.\r\n\ 5. 拍照时请勿带贵重物品, 以免丢失, 随行人员请\ 勿进影室, 以免影响拍摄.\r\n\ 6. 拍照时如有特殊要求或有异议时, 请当面与摄影\ 师或店长沟通.\r\n\ 7. 为了您俩有更大的选择款式, 本影楼所拍片该套\ 系所定数量多出一倍左右, 多片您俩若也要, 每款__\ 元. 其余照片和存底本影楼只保存__个月.\r\n\ 8. 配置内容应由所预约套系款数里挑选.\r\n\ 9. 本合同余额欠款须在拍照前付清.\r\n\ 10. 本合同预约单加盖本影楼公章方有效, 顾客方\ 签名后视为有效合同. 预约__个月内有效, 预约金不退\ 还."; } AutoDraw(m_Print, StrRect, str, 1.8); } m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); dlg.m_mode = 1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintDinDan4(CString m_id) { // TODO: Add your control notification handler code here CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(63); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("6-2.lia"); load.SetMargins(0, 0); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + m_id + "';id='" + m_id + "';id='" + m_id + "' and name<>'入册' and name<>'入底';id='" + m_id + "';;"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.code[4] = 77; g_sendhead.code[5] = 4; g_sendhead.tabcount = 6; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArrayfgarray; CArraydanweiarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray, &fgarray, &danweiarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); if (jdarray.GetSize()) { if (m_bz.IsEmpty() == 0) m_bz = "\r\n" + m_bz; m_bz += "景点:"; } for (i = 0; i < jdarray.GetSize(); i++) { m_bz += jdarray.ElementAt(i).ElementAt(1) + ";"; } m_bz.TrimRight(";"); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_qq1 = clientarray.ElementAt(0).ElementAt(5); CString m_qq2 = clientarray.ElementAt(0).ElementAt(6); CString str; filter = "name='" + m_ren + "'"; g_sendhead.code[0] = 5; g_sendhead.tabcount = 1; g_sendhead.bsql = 0; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos = g_nYearposTemp; if (g_bSendOK == 0)return; DataToArray(&phonearray); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(0); m_Print.SetFontFace(25, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"巴黎春天婚纱摄影预约单", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(1); if (m_time1.GetLength() == 10) str.Format("开单日期: %s 年 %s 月 %s 日", m_time1.Left(4), m_time1.Mid(5, 2), m_time1.Mid(8, 2)); else str = "开单日期:"; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(2); m_Print.DrawText((LPTSTR)(LPCTSTR)("No." + m_id), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); CStringArray strarray; strarray.Add("先生姓名"); strarray.Add("女士姓名"); strarray.Add("服装套数"); strarray.Add("拍摄张数"); strarray.Add("拍摄日期"); strarray.Add("联系电话"); strarray.Add("联系电话"); strarray.Add("造型套数"); strarray.Add("入册张数"); strarray.Add("选片日期"); strarray.Add("QQ/邮箱"); strarray.Add("套系总额"); strarray.Add("定金"); strarray.Add("余款金额"); strarray.Add("取件日期"); strarray.Add(m_name1); strarray.Add(m_name2); strarray.Add(m_clothescount); str.Format("%d", atoi(m_zs) * 3); strarray.Add(str); strarray.Add(m_time2); strarray.Add(m_phone1); strarray.Add(m_phone2); strarray.Add(m_clothescount2); strarray.Add(m_zs); strarray.Add(m_time4); strarray.Add(m_qq1); strarray.Add(m_money1); strarray.Add(m_money2); strarray.Add(m_money3); strarray.Add(m_time5); for (i = 4; i <= 33; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawRect2(StrRect, 1); if (strarray.GetSize() > (i - 4)) { if (i <= 18) m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 4), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else { StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 4), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } } } int dt = 413; StrRect = load.m_rcarray.ElementAt(36); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)"门市签名", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(37); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; StrRect = load.m_rcarray.ElementAt(38); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客签名", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(39); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.left += 4; StrRect = load.m_rcarray.ElementAt(40); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"地址:深圳市红岭中路中深国际大厦首层,二十二层", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(41); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:0755-61308198 61308199 25860696 25860697", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(42); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"网址:www.paris-spring.cn", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(43); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"邮箱:blct@paris-spring.cn", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); ////////////////////////////// //开始画文字 StrRect = load.m_rcarray.ElementAt(7); int hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; m_Print.DrawText((LPTSTR)(LPCTSTR)"详细内容:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawText((LPTSTR)(LPCTSTR)"备注内容:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(17); StrRect.top += hei; StrRect.bottom += hei; m_Print.DrawText((LPTSTR)(LPCTSTR)"注意事项:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(33); StrRect.bottom = StrRect.top + dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = ""; for (i = 0; i < sparray.GetSize(); i++) { str += sparray.ElementAt(i).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(i).ElementAt(3); str += GetDanWei(sparray.ElementAt(i).ElementAt(5), &danweiarray); str += "\r\n"; } str.TrimRight("\r\n"); AutoDraw(m_Print, StrRect, str, 1.4); StrRect = load.m_rcarray.ElementAt(33); StrRect.top += dt; StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; AutoDraw(m_Print, StrRect, m_bz, 1.4); StrRect = load.m_rcarray.ElementAt(34); StrRect.bottom += dt; m_Print.DrawRect2(StrRect, 1); StrRect.top += hei; StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = g_cominfoarray.ElementAt(0).ElementAt(37); if (str.IsEmpty()) { str = "\ 1. 感谢您俩对我影楼的信任与青睐, 为了给您俩设\ 计好整体形象, 保证您俩拍摄效果的完善, 请配合我们\ 严谨的工作态度, 仔细阅读顾客须知.\r\n\ 2. 接近拍照日期请勿多晒太阳, 不要劳累, 尽量保\ 持良好的心境.\r\n\ 3. 拍照前一晚请少喝水, 睡眠一定要充足, 洗干净\ 头发, 勿使用任何发胶, 发膏. 先生请刮胡子.\r\n\ 4. 拍照当天请勿化妆, 女士应穿前开口上衣, 勿穿\ 套头上衣, 以免换婚纱时影响化好的妆与做好的发型.\r\n\ 5. 拍照时请勿带贵重物品, 以免丢失, 随行人员请\ 勿进影室, 以免影响拍摄.\r\n\ 6. 拍照时如有特殊要求或有异议时, 请当面与摄影\ 师或店长沟通.\r\n\ 7. 为了您俩有更大的选择款式, 本影楼所拍片该套\ 系所定数量多出一倍左右, 多片您俩若也要, 每款__\ 元. 其余照片和存底本影楼只保存__个月.\r\n\ 8. 配置内容应由所预约套系款数里挑选.\r\n\ 9. 本合同余额欠款须在拍照前付清.\r\n\ 10. 本合同预约单加盖本影楼公章方有效, 顾客方\ 签名后视为有效合同. 预约__个月内有效, 预约金不退\ 还."; } AutoDraw(m_Print, StrRect, str, 1.8); StrRect = load.m_rcarray.ElementAt(35); StrRect.bottom += 100; // str="第一联:存根<白> 第二联:客户<红> 第三联:流程<黄> "; str = "第\r\n一\r\n联\r\n存\r\n根\r\n∧\r\n白\r\n∨\r\n第\r\n二\r\n联\r\n客\r\n户\r\n∧\r\n红\r\n∨\r\n第\r\n三\r\n联\r\n流\r\n程\r\n∧\r\n黄\r\n∨"; AutoDraw(m_Print, StrRect, str, 1.4); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (dlg.DoModal() != IDOK)return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } int CalHeight_01(CRect &rc, CStringArray *saContent, CPrintRX *Print, int FORMAT) { CSize size; int nMaxheight = 0; CString strTemp; CString strContent; int nSize = saContent->GetSize(); int nRow = 0; // 行数; for (int i = 0; i < nSize; i++) { strTemp = ""; strContent = saContent->ElementAt(i); while (FALSE == strContent.IsEmpty()) { strContent = strContent.Mid(strTemp.GetLength()); if (strContent.IsEmpty()) break; Print->GetStrSize((LPTSTR)(LPCTSTR)strContent, size); if (size.cx <= rc.Width()) { CRect rc2 = rc; rc2.top += nRow*(size.cy + 1); rc2.bottom = rc2.top + (size.cy + 1); Print->DrawText((LPTSTR)(LPCTSTR)strContent, rc2, 0, 0, FORMAT | FORMAT_UP); nMaxheight = max(nMaxheight, rc2.bottom); nRow++; break; } int right = 0; while (size.cx > rc.Width()) { right++; strTemp = strContent.Left(strContent.GetLength() - (right)); if (GIsHalfHZ(strTemp)) { right++; strTemp.Delete(strTemp.GetLength() - 1); } Print->GetStrSize((LPTSTR)(LPCTSTR)strTemp, size); } CRect rc2 = rc; rc2.top += nRow*(size.cy + 1); rc2.bottom = rc2.top + (size.cy + 1); Print->DrawText((LPTSTR)(LPCTSTR)strTemp, rc2, 0, 0, FORMAT | FORMAT_UP); //printf("Jeff:str=%s\n\n",str);// Jeff Printf; nRow++; nMaxheight = max(nMaxheight, rc2.bottom); } } return (nMaxheight == 0) ? (rc.bottom + 1) : (nMaxheight + 1); } /************************************************************************/ /* 多字节字符编码下的CaleHeight函数; 函数:CaleHeight 描述:计算出一行高度可变,宽度特定的表格(CArray),在输入指定内容时(CStringArray),表格高度变化最大的值。 参数: aRowRect: 一行表格,CArray::GetSize()表示表格列数; aRowStr: 与表格对应的一行字符,CStringArray::GetSize()大小与CArray::GetSize()一致。 pPrinter: 打印机实例指针; nFormat: 字符串的显示格式。 返回:返回最大的表格高度; 注意:只能多字节下使用,因为函数GIsHalfHZ。 */ /************************************************************************/ INT CalcHeight( IN CArray &aRowRect, IN CStringArray &aRowStr, IN CPrintRX *pPrinter, IN CONST INT& nFormat) { // 参数有效性; if( aRowRect.GetSize() != aRowStr.GetSize() ) { OutputDebugString(_T("表格列数与字符列数不等!\n")); return -1; } if( pPrinter == NULL ) { OutputDebugString(_T("打印机句柄指针无效\n")); return -1; } // 表格字串长度; CSize size; // 当前表格字体高度; INT nGridFontHeight = 0; // 当前表格区域; CRect curGrid; // 当前表格字符串; CString strGridContent; // 最大值高底; INT nMaxHeigth = 0; // 当前换行数; INT nWrapRows = 0; // 当前换行字串; CString strWrapRow = _T(""); // 表格列数; INT nColumns = aRowRect.GetSize(); // 临时表格; CRect rcGrid; // 循环计算每个表格的高度; for( INT i = 0; i < nColumns; i++ ) { nWrapRows = 0; strWrapRow.Empty(); curGrid = aRowRect.ElementAt(i); strGridContent = aRowStr.ElementAt(i); nMaxHeigth = max(nMaxHeigth, curGrid.bottom); while( !strGridContent.IsEmpty() ) { strGridContent = strGridContent.Right(strGridContent.GetLength() - strWrapRow.GetLength()); if ( strGridContent.IsEmpty() ) { OutputDebugString(_T("表格字符已空\n")); break; } pPrinter->GetStrSize((LPTSTR)(LPCTSTR)strGridContent, size); nGridFontHeight = size.cy + 1; // 字串长度 <= 表格宽度; if( size.cx <= curGrid.Width() ) { rcGrid = curGrid; rcGrid.top += nWrapRows*nGridFontHeight; rcGrid.bottom = rcGrid.top + nGridFontHeight; nMaxHeigth = max(nMaxHeigth, rcGrid.bottom); pPrinter->DrawText((LPTSTR)(LPCTSTR)strGridContent, rcGrid, 0, 0, nFormat|FORMAT_UP); break; } else {// 字串长度 >= 表格宽度; INT nRight = 0; // 字串右位置; // 从右边开始逐个字符取出,直到左边字串小于表格宽度; while( size.cx > curGrid.Width() ) { nRight++; strWrapRow = strGridContent.Left(strGridContent.GetLength() - nRight); if( GIsHalfHZ(strWrapRow) ) {// 判断字串最后一个字符是否是汉字; nRight++; strWrapRow.Delete(strWrapRow.GetLength() - 1); } pPrinter->GetStrSize((LPTSTR)(LPCTSTR)strWrapRow, size); } rcGrid = curGrid; rcGrid.top += nWrapRows*nGridFontHeight; rcGrid.bottom = rcGrid.top + nGridFontHeight; nMaxHeigth = max(nMaxHeigth, rcGrid.bottom); pPrinter->DrawText((LPTSTR)(LPCTSTR)strWrapRow, rcGrid, 0, 0, nFormat|FORMAT_UP); // 换行加+1; nWrapRows++; } } } return nMaxHeigth + 1; } void CMainFrame::PrintReceipt(CStringArray *pArray) // 打印订单*预约收款、预约补款* { //AfxMessageBox("abce"); int i = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) // Jeff, printcot=1.... { g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.tabcount = 1; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); #if 0 // Jeff.将Serialno的值变化放在获取Serialno后立即改变,以降低Serialno在获取时值保持不变的情况;//2014.09.01 SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CString sql; sql.Format("update version set [serialno]='%s'", SerialNo); g_sendhead.bsql=1; g_nYearposTemp=g_nYearpos; g_nYearpos=-1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos=g_nYearposTemp; #endif // 1.创建打印对象 CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } // 2.开始打印 m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; BOOL bSmall = 0; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单 { bSmall = 1; load.SetLiaPath("20.lia"); } else load.SetLiaPath("10.lia"); if (bSmall) load.SetMargins(0, 0); else load.SetMargins(10, 0); if (!load.Load())return; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(139))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 65; if (bSmall) StrRect.left = 55; StrRect.top = 10; StrRect.right = StrRect.left + 58; StrRect.bottom = StrRect.top + 58; // 3.打印2维码图像; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } //printf("Jeff:bSmall=%d\n\n",bSmall);//Jeff Printf; if (bSmall) { m_Print.SetFontFace(18, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(6, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 8; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(8, 1, "宋体"); for (i = 7; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } for (i = 9; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } m_Print.SetFontFace(6, 1, "宋体"); for (i = 24; i < 26; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; if (i == 24) m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); else m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); } // StrRect=load.m_rcarray .ElementAt (27); // AutoDraw(m_Print, StrRect, pArray->ElementAt (27), 1.0); } else//大单 { // 1.打印表头(蒙娜丽莎收款单) m_Print.SetFontFace(20, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); // 2.打印订单号(NO.20140608-001) StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.right -= 15; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); // 3.打印SerialNo(SerialNo.01062) int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 10; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); // 4.打印影楼地址信息、电话; m_Print.SetFontFace(8, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); // 5.打印客户姓名 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 6.打印客户联系电话 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 7.打印开单日期 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); // 8.打印列字段:收款项目 m_Print.SetFontFace(13, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:收款项目:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 9.打印列字段:金额 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:金额:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 10.打印列字段:开单人 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:开单人:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 11.画表格-画3列; m_Print.SetFontFace(11, 1, "宋体"); for (i = 7; i < 10; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); //printf("Jeff:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; } // 12.打印详细内容 int dty = 0; int dtytemp = 0; // for( i=10; i<14; i+=3) for (i = 10; i<22; i += 3) // 循环4次,再画 { /***************+计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)+***************************/ CArrayrcarray; CStringArray strarray2; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; if (StrRect.bottom > load.m_rcarray.ElementAt(22).top + 5) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.top += dty; StrRect.bottom += dty; dty = StrRect.bottom - load.m_rcarray.ElementAt(22).top; break; } // 文字rect要左缩进2像素,右缩进2像素,上缩进4像素; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 4; rcarray.Add(StrRect); strarray2.Add(pArray->ElementAt(i)); // 指定格子宽度,计算字符串占几行(高度). INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); dtytemp = bottom - StrRect.bottom; /***************-计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)-***************************/ // 重新获取表格大小,并画出表格; StrRect = load.m_rcarray.ElementAt(i); StrRect.bottom += dtytemp; StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); // 获取下一表格大小,并画出表格; StrRect = load.m_rcarray.ElementAt(i + 1); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; // 打印出金额字段内容 m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i + 1), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",i+1,pArray->ElementAt(i+1));//Jeff Printf; StrRect = load.m_rcarray.ElementAt(i + 2); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; // 打印开单人字段内容 m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i + 2), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",i+2,pArray->ElementAt(i+2));//Jeff Printf; dty += dtytemp; } //.打印->付款情况 应付 实付 欠款. i = 22; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; //.打印->合计人民币(大写):....... i = 23; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; m_Print.SetFontFace(7, 1, "宋体"); for (i = 24; i < 27; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; StrRect.right += 100; StrRect.left += 2; StrRect = load.m_rcarray.ElementAt(27); StrRect.top += dty; StrRect.bottom += dty; AutoDraw(m_Print, StrRect, pArray->ElementAt(27), 1.0); } PrintPreview dlg; dlg.m_mode = 3; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); #if 1 // Jeff.将Serialno的值变化放在获取Serialno后立即改变,以降低Serialno在获取时值保持不变的情况;//2014.09.01 SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CString sql; sql.Format("update version set [serialno]='%s'", SerialNo); g_sendhead.bsql = 1; g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos = g_nYearposTemp; #endif } } /************************************************************************/ /* 函数:PrintRechargeRecord 描述:打印会员卡充值记录; 参数: pArryRechargeRecod[IN]:要打印的数据; 返回: 注意: 示例: */ /************************************************************************/ void CMainFrame::PrintRechargeRecord(CStringArray *pArryRechargeRecod) { } void CMainFrame::PrintReceipt_01(CStringArray *pArray) // 打印订单*预约收款、预约补款* { //AfxMessageBox("abce"); int i = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) // Jeff, printcot=1.... { g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.tabcount = 1; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); #if 0 // Jeff.将Serialno的值变化放在获取Serialno后立即改变,以降低Serialno在获取时值保持不变的情况;//2014.09.01 SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CString sql; sql.Format("update version set [serialno]='%s'", SerialNo); g_sendhead.bsql=1; g_nYearposTemp=g_nYearpos; g_nYearpos=-1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos=g_nYearposTemp; #endif // 1.创建打印对象 CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } // 2.开始打印 m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; BOOL bSmall = 0; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单 { bSmall = 1; load.SetLiaPath("20.lia"); } else load.SetLiaPath("10.lia"); if (bSmall) load.SetMargins(0, 0); else load.SetMargins(10, 0); if (!load.Load())return; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(139))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 65; if (bSmall) StrRect.left = 55; StrRect.top = 10; StrRect.right = StrRect.left + 58; StrRect.bottom = StrRect.top + 58; // 3.打印2维码图像; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } //printf("Jeff:bSmall=%d\n\n",bSmall);//Jeff Printf; if (bSmall) { m_Print.SetFontFace(18, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(6, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 8; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(8, 1, "宋体"); for ( i = 7; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } for (i = 9; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } m_Print.SetFontFace(6, 1, "宋体"); for (i = 24; i < 26; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; if (i == 24) m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); else m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); } // StrRect=load.m_rcarray .ElementAt (27); // AutoDraw(m_Print, StrRect, pArray->ElementAt (27), 1.0); } else//大单 { // 1.打印表头(蒙娜丽莎收款单) m_Print.SetFontFace(20, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); // 2.打印订单号(NO.20140608-001) StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.right -= 15; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); // 3.打印SerialNo(SerialNo.01062) int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 10; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); // 4.打印影楼地址信息、电话; m_Print.SetFontFace(8, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); // 5.打印客户姓名 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 6.打印客户联系电话 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 7.打印开单日期 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); #if 0 // Original Edition // 8.打印列字段:收款项目 m_Print.SetFontFace(13, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:收款项目:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 9.打印列字段:金额 StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:金额:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 10.打印列字段:开单人 StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:开单人:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; #else // 8.打印列字段:收款项目 m_Print.SetFontFace(13, 1, "宋体"); //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(66, 85, 280, 105); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("收款项目",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 8.1 Jeff add:支付方式 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(280, 85, 350, 105); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("支付方式",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 9.打印列字段:金额 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(350, 85, 442, 105); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("金额",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 10.打印列字段:开单人 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(442, 85, 535, 105); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("开单人",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); //rcpos += 3; #endif // 11.画表格-画3列;old // 11.draw 4 column m_Print.SetFontFace(11, 1, "宋体"); //for( i=7; i<10; i++) //{ // StrRect=load.m_rcarray.ElementAt(i); // m_Print.DrawRect2(StrRect, 1); //printf("Jeff:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; //} m_Print.DrawRect2(CRect(66, 85, 280, 105), 1); m_Print.DrawRect2(CRect(280, 85, 350, 105), 1); m_Print.DrawRect2(CRect(350, 85, 442, 105), 1); m_Print.DrawRect2(CRect(442, 85, 535, 105), 1); // 12.打印详细内容 int dty = 0; int dtytemp = 0; // for( i=10; i<14; i+=3) //for( i=10; i<22; i+=3) // 循环4次,再画 int j = 0; for (i = 10, j = 11; i<22; i += 3, j += 4) // 循环4次,再画 { /***************+计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)+***************************/ CArrayrcarray; CStringArray strarray2; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; /* 4次的CRect 66,105,350,125 66,126,350,146 66,147,350,167 66,168,350,188 */ if (StrRect.bottom > load.m_rcarray.ElementAt(22).top + 5) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.top += dty; StrRect.bottom += dty; dty = StrRect.bottom - load.m_rcarray.ElementAt(22).top; break; } // 文字rect要左缩进2像素,右缩进2像素,上缩进4像素; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 4; rcarray.Add(StrRect); //strarray2.Add(pArray->ElementAt(i+1)); strarray2.Add(pArray->ElementAt(j)); //printf("Jeff:%d:%s\n\n",j,pArray->ElementAt(j));//Jeff Printf; // 指定格子宽度,计算字符串占几行(高度). INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); dtytemp = bottom - StrRect.bottom; /***************-计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)-***************************/ // 重新获取表格大小,并画出表格; /* CRect(66,85,280,105), CRect(280,85,350,105) CRect(350,85,442,105) CRect(442,85,535,105) CRect(66,105,350,125), CRect(66,126,350,146) CRect(66,147,350,167) CRect(66,168,350,188) */ // 画收款项目框及打印内容; StrRect = load.m_rcarray.ElementAt(i); //StrRect=CRect(66,85,280,105); StrRect.bottom += dtytemp; StrRect.top += dty; StrRect.bottom += dty; //StrRect.left -= 70; // Jeff add StrRect.right -= 70; // Jeff add //printf("Jeff:1.i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; m_Print.DrawRect2(StrRect, 1); // 画支付方式框及打印内容; StrRect = load.m_rcarray.ElementAt(i); //StrRect=CRect(280,85,350,105); StrRect.bottom += dtytemp; StrRect.top += dty; StrRect.bottom += dty; StrRect.left += StrRect.Width() - 70; //StrRect.right += 70; // Jeff add //printf("Jeff:2.i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 1), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+1,pArray->ElementAt(j+1));//Jeff Printf; // 画金额框及打印内容; StrRect = load.m_rcarray.ElementAt(i + 1); //StrRect=CRect(350,85,442,105); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; //StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; // 打印出金额字段内容 m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 2), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+2,pArray->ElementAt(j+2));//Jeff Printf; // 画开单人框及打印内容; StrRect = load.m_rcarray.ElementAt(i + 2); //StrRect=CRect(442,85,535,105); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; //StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; // 打印开单人字段内容 m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 3), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+3,pArray->ElementAt(j+3));//Jeff Printf; dty += dtytemp; } //.打印->付款情况 应付 实付 欠款. i = 22; j = 27; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; //.打印->合计人民币(大写):....... i = 23; j = 28; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; // 打印总金额; m_Print.SetFontFace(7, 1, "宋体"); for (i = 24, j = 29; i < 27; i++, j++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; StrRect.right += 100; StrRect.left += 2; StrRect = load.m_rcarray.ElementAt(27); StrRect.top += dty; StrRect.bottom += dty; AutoDraw(m_Print, StrRect, pArray->ElementAt(32), 1.0); } PrintPreview dlg; dlg.m_mode = 3; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) { return; } printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); #if 1 // Jeff.将Serialno的值变化放在获取Serialno后立即改变,以降低Serialno在获取时值保持不变的情况;//2014.09.01 SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CString sql; sql.Format("update version set [serialno]='%s'", SerialNo); g_sendhead.bsql = 1; g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos = g_nYearposTemp; #endif } } void CMainFrame::PrintReceipt_02(CStringArray *pArray, CPrintRX *pPrinter, const int &nCount, const BOOL bPrintImmediately) // 打印订单*预约收款、预约补款* { //AfxMessageBox("abce"); int printcot = 1; // for(int aa=0; aaProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CPrintRX *tagPrinter = NULL; if (pPrinter == NULL) { // 1.创建打印对象 tagPrinter = new CPrintRX; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { tagPrinter->InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) { tagPrinter->InitToPrint(NULL, 1); } else { int nret = tagPrinter->InitToPrint((char*)(LPCTSTR)name, 1); ///if(nret==-1 && aa==0) if (nret == -1) { if (bPrintImmediately == FALSE) AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); tagPrinter->InitToPrint(NULL, 1); } } } // 2.开始打印 tagPrinter->StartPrint(); tagPrinter->StartPage(); } else { //SerialNo.Format ("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126))+1); tagPrinter = pPrinter; } LoadRect load; BOOL bSmall = 0; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单 { bSmall = 1; load.SetLiaPath("20.lia"); } else load.SetLiaPath("10.lia"); if (bSmall) load.SetMargins(0, 0); else load.SetMargins(10, 0); if (!load.Load())return; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(139))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 65; if (bSmall) StrRect.left = 55; StrRect.top = 10; StrRect.right = StrRect.left + 58; StrRect.bottom = StrRect.top + 58; // 3.打印2维码图像; tagPrinter->DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } //printf("Jeff:bSmall=%d\n\n",bSmall);//Jeff Printf; if (bSmall) { tagPrinter->SetFontFace(18, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); tagPrinter->SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tagPrinter->SetFontFace(6, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); tagPrinter->SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 8; tagPrinter->DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); tagPrinter->SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tagPrinter->SetFontFace(8, 1, "宋体"); int i = 0; for (i = 7; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); tagPrinter->DrawRect2(StrRect, 1); } for (i = 9; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } tagPrinter->SetFontFace(6, 1, "宋体"); for (i = 24; i < 26; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(22); int nH = StrRect.Height(); int nW = StrRect.Width(); int nlen = load.m_rcarray.GetSize(); int nLeft = StrRect.left; int j = 0; for (i = 27; i<32; i++) { CRect rct = StrRect; if(i == 31) { rct.top = rct.top + (nH*(j - 1)); rct.bottom = rct.top + nH; rct.left = rct.left + 200; rct.right = rct.left + 200; } else { rct.top = rct.top + (nH*j); rct.bottom = rct.top + nH; rct.left = rct.left + 2; rct.right = rct.left + 200; } tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), rct, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); j++; } } else//大单 { // 1.打印表头(蒙娜丽莎收款单) tagPrinter->SetFontFace(20, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); tagPrinter->SetFontFace(11, 1, "宋体"); // 2.打印订单号(NO.20140608-001) StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.right -= 15; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); // 3.打印SerialNo(SerialNo.01062) int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 10; //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); // 4.打印影楼地址信息、电话; tagPrinter->SetFontFace(8, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); tagPrinter->SetFontFace(11, 1, "宋体"); // 5.打印客户姓名 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 6.打印客户联系电话 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); // 7.打印开单日期 StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); #if 0 // Original Edition // 8.打印列字段:收款项目 tagPrinter->SetFontFace(13, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:收款项目:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 9.打印列字段:金额 StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:金额:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; // 10.打印列字段:开单人 StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); printf("Jeff:开单人:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; #else // 8.打印列字段:收款项目 tagPrinter->SetFontFace(13, 1, "宋体"); //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(66, 85, 280, 105); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("收款项目",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 8.1 Jeff add:支付方式 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(280, 85, 350, 105); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("支付方式",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 9.打印列字段:金额 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(350, 85, 442, 105); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("金额",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); // 10.打印列字段:开单人 //StrRect=load.m_rcarray .ElementAt (++rcpos); //printf("Jeff:%d:%s\n\n",rcpos,pArray->ElementAt(rcpos));//Jeff Printf; StrRect = CRect(442, 85, 535, 105); tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(++rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //m_Print.DrawText("开单人",StrRect,0,0,FORMAT_LEFT | FORMAT_VCENTER); //rcpos += 3; #endif // 11.画表格-画3列;old // 11.draw 4 column tagPrinter->SetFontFace(11, 1, "宋体"); int i; //for( i=7; i<10; i++) //{ // StrRect=load.m_rcarray.ElementAt(i); // m_Print.DrawRect2(StrRect, 1); //printf("Jeff:left=%d,top=%d,right=%d,bottom=%d.\n\n",StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; //} tagPrinter->DrawRect2(CRect(66, 85, 280, 105), 1); tagPrinter->DrawRect2(CRect(280, 85, 350, 105), 1); tagPrinter->DrawRect2(CRect(350, 85, 442, 105), 1); tagPrinter->DrawRect2(CRect(442, 85, 535, 105), 1); // 12.打印详细内容 int dty = 0; int dtytemp = 0; // for( i=10; i<14; i+=3) //for( i=10; i<22; i+=3) // 循环4次,再画 int j = 0; for (i = 10, j = 11; i<22; i += 3, j += 4) // 循环4次,再画 { /***************+计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)+***************************/ CArrayrcarray; CStringArray strarray2; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; /* 4次的CRect 66,105,350,125 66,126,350,146 66,147,350,167 66,168,350,188 */ if (StrRect.bottom > load.m_rcarray.ElementAt(22).top + 5) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.top += dty; StrRect.bottom += dty; dty = StrRect.bottom - load.m_rcarray.ElementAt(22).top; break; } // 文字rect要左缩进2像素,右缩进2像素,上缩进4像素; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 4; rcarray.Add(StrRect); //strarray2.Add(pArray->ElementAt(i+1)); strarray2.Add(pArray->ElementAt(j)); //printf("Jeff:%d:%s\n\n",j,pArray->ElementAt(j));//Jeff Printf; // 指定格子宽度,计算字符串占几行(高度). INT bottom = CalcHeight(rcarray, strarray2, tagPrinter, FORMAT_LEFT); dtytemp = bottom - StrRect.bottom; /***************-计算表格内文字将占用多少高度(几行),并打印(收款项目列字段内容)-***************************/ // 重新获取表格大小,并画出表格; /* CRect(66,85,280,105), CRect(280,85,350,105) CRect(350,85,442,105) CRect(442,85,535,105) CRect(66,105,350,125), CRect(66,126,350,146) CRect(66,147,350,167) CRect(66,168,350,188) */ // 画收款项目框及打印内容; StrRect = load.m_rcarray.ElementAt(i); //StrRect=CRect(66,85,280,105); StrRect.bottom += dtytemp; StrRect.top += dty; StrRect.bottom += dty; //StrRect.left -= 70; // Jeff add StrRect.right -= 70; // Jeff add //printf("Jeff:1.i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; tagPrinter->DrawRect2(StrRect, 1); // 画支付方式框及打印内容; StrRect = load.m_rcarray.ElementAt(i); //StrRect=CRect(280,85,350,105); StrRect.bottom += dtytemp; StrRect.top += dty; StrRect.bottom += dty; StrRect.left += StrRect.Width() - 70; //StrRect.right += 70; // Jeff add //printf("Jeff:2.i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; tagPrinter->DrawRect2(StrRect, 1); StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 1), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+1,pArray->ElementAt(j+1));//Jeff Printf; // 画金额框及打印内容; StrRect = load.m_rcarray.ElementAt(i + 1); //StrRect=CRect(350,85,442,105); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; //StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; tagPrinter->DrawRect2(StrRect, 1); StrRect.left += 2; // 打印出金额字段内容 tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 2), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+2,pArray->ElementAt(j+2));//Jeff Printf; // 画开单人框及打印内容; StrRect = load.m_rcarray.ElementAt(i + 2); //StrRect=CRect(442,85,535,105); StrRect.top += dty; StrRect.bottom += dty; StrRect.bottom += dtytemp; //StrRect.right -= 70; // Jeff add //printf("Jeff:i=%d:left=%d,top=%d,right=%d,bottom=%d.\n\n",i,StrRect.left,StrRect.top,StrRect.right,StrRect.bottom); // Jeff Printf; tagPrinter->DrawRect2(StrRect, 1); StrRect.left += 2; // 打印开单人字段内容 tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j + 3), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n",j+3,pArray->ElementAt(j+3));//Jeff Printf; dty += dtytemp; } //.打印->付款情况 应付 实付 欠款. i = 22; j = 27; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; tagPrinter->DrawRect2(StrRect, 1); StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; //.打印->合计人民币(大写):....... i = 23; j = 28; StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; tagPrinter->DrawRect2(StrRect, 1); StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); //printf("Jeff:%d:%s\n\n\n\n",i,pArray->ElementAt(i));//Jeff Printf; // 打印总金额; tagPrinter->SetFontFace(7, 1, "宋体"); for (i = 24, j = 29; i < 27; i++, j++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; tagPrinter->DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(j), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; StrRect.right += 100; StrRect.left += 2; StrRect = load.m_rcarray.ElementAt(27); StrRect.top += dty; StrRect.bottom += dty; AutoDraw(*tagPrinter, StrRect, pArray->ElementAt(32), 1.0); } if (bPrintImmediately == TRUE) { printcot = nCount; ////结束打印 tagPrinter->EndPage(); tagPrinter->EndPrint(); #if 1 // Jeff.将Serialno的值变化放在获取Serialno后立即改变,以降低Serialno在获取时值保持不变的情况;//2014.09.01 SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CString sql; sql.Format("update version set [serialno]='%s'", SerialNo); g_sendhead.bsql = 1; g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos = g_nYearposTemp; #endif } else { PrintPreview dlg; dlg.m_mode = 3; tagPrinter->GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = tagPrinter->GetPDC(); //if(aa==0) //{ if (dlg.DoModal() != IDOK) { return; } else { printcot = dlg.m_num; //m_Print.deletePrinter(); for (int i = 0; i < printcot; i++) { //tagPrinter->EndPage(); //tagPrinter->m_DC.AbortDoc(); // 结束清空由StartDoc写入的内容;2014-09-15; //tagPrinter->m_DC.EndDoc(); //Sleep(10000); //tagPrinter->StartPrint(); //tagPrinter->NewPage(); //PrintReceipt_02(pArray,/*tagPrinter*/NULL,printcot,TRUE); PrintReceipt_02(pArray, tagPrinter, printcot, TRUE); } } if (tagPrinter) delete tagPrinter; //} } //} } void CMainFrame::PrintFlowChart(CString strOrderNumber) // 选片打单; { if (atoi(g_cominfoarray.ElementAt(0).ElementAt(75))) { // Jeff 使用风格2打印; //PrintFlowChart3_20151116(strOrderNumber); PrintFlowChart3(strOrderNumber); return; } #ifdef ZHIAI_VERSION PrintFlowChart2(strOrderNumber); return; #endif int i = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); // CRect StrRect(0,0,560,818); LoadRect load; load.SetLiaPath("4.lia"); load.SetMargins(-14, -14); if (!load.Load())return; LoadRect load2; load2.SetMargins(-14, 472 + 27 - 14); load2.SetLiaPath("5.lia"); if (!load2.Load())return; ////////////////////////////////////////////////////////////// CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "' and kind<>'2'"; g_sendhead.code[0] = 54; g_sendhead.code[1] = 223; g_sendhead.tabcount = 2; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; DataToArray(&g_List1array, &sparray); CString spno; for ( i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册" && sparray.ElementAt(i).ElementAt(5) == "入底" && sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; spno += sparray.ElementAt(i).ElementAt(5); if (0)//sparray.ElementAt (i).ElementAt (6).IsEmpty ()) spno += "; "; else { spno += ":"; spno += sparray.ElementAt(i).ElementAt(6); spno += "; "; } } spno += " 加挑:"; for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; spno += sparray.ElementAt(i).ElementAt(5); if (0)//sparray.ElementAt (i).ElementAt (6).IsEmpty ()) spno += "; "; else { spno += ":"; spno += sparray.ElementAt(i).ElementAt(6); spno += "; "; } } if (spno.Right(6) == " 加挑:") { spno = spno.Left(spno.GetLength() - 6); } CString m_name1 = g_List1array.ElementAt(0).ElementAt(1); CString m_name2 = g_List1array.ElementAt(0).ElementAt(2); CString m_phone1 = g_List1array.ElementAt(0).ElementAt(3); CString m_phone2 = g_List1array.ElementAt(0).ElementAt(4); CString m_urgent = g_List1array.ElementAt(0).ElementAt(5); if (m_urgent.IsEmpty())m_urgent = "否"; CString m_time2 = g_List1array.ElementAt(0).ElementAt(6); CString m_time4 = g_List1array.ElementAt(0).ElementAt(7); // CString m_time5 = g_List1array.ElementAt (0).ElementAt (8); CString m_takezs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxizs = g_List1array.ElementAt(0).ElementAt(10); CString m_choosezs = g_List1array.ElementAt(0).ElementAt(11); CString m_ren = g_List1array.ElementAt(0).ElementAt(12); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(13); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(14); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(15); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(16); CString m_bz = "客人要求: " + g_List1array.ElementAt(0).ElementAt(17) + g_List1array.ElementAt(0).ElementAt(29); m_bz += ";" + g_List1array.ElementAt(0).ElementAt(23); CString m_money3 = g_List1array.ElementAt(0).ElementAt(18); CString m_money1 = g_List1array.ElementAt(0).ElementAt(19); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(20); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(21); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(22); CString m_sum3; m_sum3.Format("%0.2f", atof(m_taoxijiage) + atof(m_payed4) - (atof(m_payed5) + atof(m_money1))); ::ConvertToPrice(m_sum3); if (m_money3.IsEmpty())m_money3 = "0"; // m_money3=m_money3+"/"+m_sum3; CString name; if (!m_name1.IsEmpty()) name = m_name1 + ","; name += m_name2; name.TrimRight(","); CString phone; if (!m_phone1.IsEmpty()) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); if (IsHasRights2new(31) == 0) phone = "***"; CStringArray strarray; strarray.Add(m_urgent); strarray.Add(m_ren); strarray.Add(m_waiter3); strarray.Add(name); strarray.Add(m_time2); strarray.Add(m_time4); strarray.Add(m_money3); strarray.Add(m_sum3); strarray.Add(m_takezs); strarray.Add(m_taoxizs); strarray.Add(m_choosezs); strarray.Add(strOrderNumber); strarray.Add(phone); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); Image *pImg = NULL; #ifdef MNLS_VERSION LoadImageFromRes(&pImg, MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); #else ::LoadImageFromBuf(&pImg, g_mainpath + "\\图片\\logo.jpg"); #endif m_Print.DrawImage(pImg, StrRect); delete pImg; m_Print.SetFontFace(11, 1, "宋体"); StrRect = load2.m_rcarray.ElementAt(7); StrRect.top = load2.m_rcarray.ElementAt(15).top - 15; StrRect.bottom = load2.m_rcarray.ElementAt(15).bottom - 15; CString str = "地址:" + g_cominfoarray.ElementAt(0).ElementAt(12); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.top += 15; StrRect.bottom += 15; str = "电话:" + g_cominfoarray.ElementAt(0).ElementAt(11); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"婚 纱 摄 影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif StrRect = load.m_rcarray.ElementAt(++rcpos); #ifdef MNLS_VERSION m_Print.DrawRect(StrRect); #endif m_Print.SetFontFace(7, 1, "黑体"); m_Print.SetColor(0xffffff); #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"佳 美 女 人 坊 艺 术 摄 影 机 构", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif m_Print.SetColor(0); m_Print.SetFontFace(25, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"数码制作一览表", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(138))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 450; StrRect.top = 22; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } #ifdef CHILD_VERSION CString title[13] = { "是否加急:", "接单门市:", \ "选样人员:", "客人姓名:", "拍照日期:", "选片日期:", "加挑:", "余款:", \ "拍摄总张数:", "应挑选张数:", "额外加挑张数:", "票号:", "客户联系电话:" }; #else CString title[13] = { "是否加急:", "接单门市:", \ "选样人员:", "新郎新娘姓名:", "拍照日期:", "选片日期:", "加挑:", "余款:", \ "拍摄总张数:", "应挑选张数:", "额外加挑张数:", "票号:", "客户联系电话:" }; #endif m_Print.SetFontFace(12, 1, "宋体"); for (i = 0; i < 13; i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); if (i < 3) m_Print.DrawRect2(StrRect, 0); else m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)title[i], StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 18; i <= 37; i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); if (i >= 19 && i <= 21) m_Print.DrawRect2(StrRect, 2); /* else if(i==26) { CRect rc=StrRect; CRect rc2=rc; rc.right -=rc2.Width ()/2; m_Print.DrawRect2(rc, 1); rc2.left +=rc.Width (); m_Print.DrawRect2(rc2, 1); }*/ else m_Print.DrawRect2(StrRect, 1); if (i == 18) { StrRect.left += 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"全部套系内容:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } } ////////////////////////////////////// rcpos = -1; for (i = 0; i < 8; i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 1); } #ifdef CHILD_VERSION CString title2[4] = { "引导师:", "摄影师:", "数码设计师:", "顾客设计签名:" }; #else CString title2[4] = { "化妆师:", "摄影师:", "数码设计师:", "顾客设计签名:" }; #endif for (i = 0; i < 4; i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)title2[i], StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 0; i < 4; i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 2); } StrRect = load2.m_rcarray.ElementAt(11); StrRect.top -= 15; StrRect.bottom -= 15; m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客选片签名:", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(15); StrRect.top -= 15; StrRect.bottom -= 15; m_Print.DrawRect2(StrRect, 2); /////////////////////////////////////////// for (i = 19; i <= 31; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 4; if (i == 31) { if (m_phone1.IsEmpty() == 0 && m_phone2.IsEmpty() == 0) { StrRect.top += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_UP); StrRect.top += 8; m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 19), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } /* else if((i-19)==7) { CRect rc=StrRect; CRect rc2=rc; rc.right -=rc2.Width ()/2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-19), rc, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left +=rc.Width ()+3; m_Print.DrawText((LPTSTR)(LPCTSTR)m_sum3, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); }*/ else m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 19), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_waiter2); strarray.Add(m_waiter1); strarray.Add(m_waiter4); for (i = 13; i <= 15; i++) { StrRect = load2.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 13), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } ///////////spno CRect sprc[14]; for (i = 0; i < 14; i++) { if (i < 7) { if (i == 0) { StrRect = load.m_rcarray.ElementAt(17); StrRect.left += 94; StrRect.right -= 3; } else { StrRect = load.m_rcarray.ElementAt(30 + i); StrRect.left += 4; StrRect.right -= 3; } } else { StrRect = load2.m_rcarray.ElementAt(i - 7); StrRect.left += 4; StrRect.right -= 3; } sprc[i] = StrRect; } CString temp, tempspno, tempbz; CSize size; BOOL bRun = 0; int fontsize = 12; ll: tempspno = spno; tempbz = m_bz; m_Print.SetFontFace(fontsize, 1, "宋体"); for (i = 0; i<14; i++) { if (!tempspno.IsEmpty()) { temp = tempspno; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right = 0; CRect temprc = sprc[i]; while (size.cx>temprc.Width()) { right++; temp = tempspno.Left(tempspno.GetLength() - (right)); if (GIsHalfHZ(temp)) { right++; temp.Delete(temp.GetLength() - 1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if (bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempspno = tempspno.Right(tempspno.GetLength() - temp.GetLength()); if (tempspno.IsEmpty())i++; } else if (!tempbz.IsEmpty()) { temp = tempbz; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right = 0; CRect temprc = sprc[i]; while (size.cx > temprc.Width()) { right++; temp = tempbz.Left(tempbz.GetLength() - (right)); if (GIsHalfHZ(temp)) { right++; temp.Delete(temp.GetLength() - 1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if (bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempbz = tempbz.Right(tempbz.GetLength() - temp.GetLength()); } } if (tempspno.IsEmpty() == 0 || tempbz.IsEmpty() == 0) { fontsize--; goto ll; } if (bRun == 0) { bRun = 1; goto ll; } PrintPreview dlg; dlg.m_mode = 2; dlg.m_name = name; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintFlowChart3LKAY(CString strOrderNumber) { int i = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("18.lia"); load.SetMargins(10, 0); if (!load.Load())return; CString str; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(25, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "制作单明细"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"基本资料", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); ////////////////////////////////////////////////////////////// CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "' and kind<>'2';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 54; g_sendhead.code[1] = 223; g_sendhead.code[2] = 52; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &sparray, &clientarray); CString spno; CStringArray sparray2; for ( i = 0; i < sparray.GetSize(); i++) { // if(sparray.ElementAt (i).ElementAt (6).IsEmpty ())continue; if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册"&&sparray.ElementAt(i).ElementAt(5) == "入底"&&sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5)); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(9)); sparray2.Add(sparray.ElementAt(i).ElementAt(10)); sparray2.Add(sparray.ElementAt(i).ElementAt(6)); } for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5) + "+"); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(9)); sparray2.Add(sparray.ElementAt(i).ElementAt(10)); sparray2.Add(sparray.ElementAt(i).ElementAt(6)); } CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); CString m_name1 = g_List1array.ElementAt(0).ElementAt(1); CString m_name2 = g_List1array.ElementAt(0).ElementAt(2); CString m_phone1 = g_List1array.ElementAt(0).ElementAt(3); CString m_phone2 = g_List1array.ElementAt(0).ElementAt(4); CString m_urgent = g_List1array.ElementAt(0).ElementAt(5); CString m_time2 = g_List1array.ElementAt(0).ElementAt(6); CString m_time4 = g_List1array.ElementAt(0).ElementAt(7); CString m_time5 = g_List1array.ElementAt(0).ElementAt(8); CString m_takezs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxizs = g_List1array.ElementAt(0).ElementAt(10); CString m_choosezs = g_List1array.ElementAt(0).ElementAt(11); CString m_ren = g_List1array.ElementAt(0).ElementAt(12); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(13); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(14); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(15); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(16); CString m_bz = g_List1array.ElementAt(0).ElementAt(17) + " " + g_List1array.ElementAt(0).ElementAt(29); m_bz += ";" + g_List1array.ElementAt(0).ElementAt(23); CString m_money3 = g_List1array.ElementAt(0).ElementAt(18); CString m_money1 = g_List1array.ElementAt(0).ElementAt(19); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(20); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(21); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(22); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(24); CString m_time6 = g_List1array.ElementAt(0).ElementAt(26); CString m_sum3; m_sum3.Format("%0.2f", atof(m_taoxijiage) + atof(m_payed4) - (atof(m_payed5) + atof(m_money1))); ::ConvertToPrice(m_sum3); if (m_money3.IsEmpty())m_money3 = "0"; int dty = 0; CString name; if (!m_name1.IsEmpty()) name = m_name1 + ","; name += m_name2; name.TrimRight(","); CString phone; if (!m_phone1.IsEmpty()) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); if (IsHasRights2new(31) == 0) phone = "***"; CStringArray strarray; #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add("姓名/性别"); else strarray.Add("姓名/性别/年龄"); #else strarray.Add("客人姓名"); #endif strarray.Add("电话"); strarray.Add("单号"); strarray.Add("套系"); strarray.Add("选样"); strarray.Add("余款/加挑"); strarray.Add("选片/日期"); #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add(name + "/" + m_sex); else { int year = atoi(g_date.Left(4)) - atoi(m_birthday.Left(4)); m_birthday.Format("%d", year + 1); strarray.Add(name + "/" + m_sex + "/" + m_birthday); } #else strarray.Add(name); #endif strarray.Add(phone); strarray.Add(strOrderNumber); strarray.Add(m_taoxiname); str.Format("应选:%d,加挑:%d", atoi(m_taoxizs), atoi(m_choosezs)); strarray.Add(str); str.Format("%d/%d", atoi(m_sum3), atoi(m_money3)); strarray.Add(str); strarray.Add(m_waiter3 + "/" + m_time4);//m_time5 for (i = 3; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i < 10) { m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 3), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } } StrRect = load.m_rcarray.ElementAt(29); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"看样/取件", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(138))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 485; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } CArrayrcarray; CStringArray strarray2; for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(strarray.ElementAt(7 + i - 10)); } if (1) { StrRect = load.m_rcarray.ElementAt(30); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(m_time6 + "/" + m_time5); } INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i == 10) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); } if (1) { StrRect = load.m_rcarray.ElementAt(30); StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); StrRect.top += 2; // m_Print.DrawText((LPTSTR)(LPCTSTR)(m_time6+"/"+m_time5), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER ); } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(16); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"指定制作", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); strarray.RemoveAll(); strarray.Add("产品名称"); strarray.Add("数量"); strarray.Add("P数"); strarray.Add("张数"); strarray.Add("照片编号"); CArrayrc2array; int wid = 25; for (i = 18; i <= 22; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i == 19) { StrRect.right = StrRect.left + wid; } if (i == 20) { StrRect = load.m_rcarray.ElementAt(i - 2); StrRect.left += wid; StrRect.right = StrRect.left; StrRect.right += wid; } if (i == 21) { StrRect = load.m_rcarray.ElementAt(i - 3); StrRect.left += wid * 2; StrRect.right = StrRect.left; StrRect.right += wid; wid = StrRect.right; } if (i == 22) { StrRect = load.m_rcarray.ElementAt(i - 3); StrRect.left = wid; } StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 18), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left -= 2; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rc2array.Add(StrRect); } int curypos = 0; for (i = 0; i < sparray2.GetSize(); i += 5) { rcarray.RemoveAll(); strarray2.RemoveAll(); int j = 0; for ( j = 0; j < 5; j++) { StrRect = rc2array.ElementAt(j); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(sparray2.ElementAt(i + j)); } INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); rcarray.RemoveAll(); for (j = 0; j < 5; j++) { StrRect = rc2array.ElementAt(j); if (j == 0) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rcarray.Add(StrRect); } rc2array.RemoveAll(); rc2array.Copy(rcarray); } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); dty = curypos - StrRect.bottom + 35; StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"调修要求", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); rcarray.RemoveAll(); strarray2.RemoveAll(); StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(m_bz); bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; dty += bottom - StrRect.bottom; StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(22); dty = curypos - StrRect.bottom + 25; StrRect.top += dty; StrRect.bottom += dty; CString m_edit9 = (g_cominfoarray.ElementAt(0).ElementAt(135)); if (m_edit9.IsEmpty()) { m_edit9 = "\ 经确认后的照片均排入制作流程,\r\n\ 恕不接受更改及退费。实际冲晒出来的相片\r\n\ 与电脑显示会有少许差异,如颜色较深或亮度偏暗等。"; } CString info1, info2, info3; int newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info1 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); } newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info2 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); info3 = m_edit9; } m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.top += 15; StrRect.bottom += 15; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12) + " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); int dy = load.m_rcarray.ElementAt(25).top - load.m_rcarray.ElementAt(27).top; StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"选片签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"看样签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"取件签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawRect2(StrRect, 2); PrintPreview dlg; dlg.m_mode = 2; dlg.m_name = name; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintFlowChart3(CString strOrderNumber) // 选片打单 风格2; { #ifdef LKAY_VERSION PrintFlowChart3LKAY(strOrderNumber); return; #endif int i = 0; int j = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { BOOL bSecondPage = 0; int nPrintedPos = 0; for (int bb = 0; bb < 2; bb++) { if (bb && bSecondPage == 0)break; CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) // 58-[version].[setcheck1] ==1,使用默认打印机; { m_Print.InitToPrint(NULL, 1); } else // 否则使用指定的打印机; { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); // 64-[version].[printer2] 制作单打印机; if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("18.lia"); load.SetMargins(10, 0); if (!load.Load())return; CString str; int rcpos = -1; // ■■■■■■从18.lia获取到第一个区域大小 - 1.显示店名; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); if ((bb == 0 && bSecondPage == 0)) { m_Print.SetFontFace(25, 1, "宋体"); // 10-[version].[info1] 店名; m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "制作单明细"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(15, 1, "宋体"); // ■■■■■■从18.lia获取第二个区域大小 - 2.显示"基本资料"; StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"基本资料", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); } ////////////////////////////////////////////////////////////// CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "' and kind<>'2';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 54; // dindan; g_sendhead.code[1] = 223; // dindanspview2; shangpin+dindansp; g_sendhead.code[2] = 52; // client; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &sparray, &clientarray); CString spno; CStringArray sparray2; for ( i = 0; i < sparray.GetSize(); i++) { // if(sparray.ElementAt (i).ElementAt (6).IsEmpty ())continue; if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册"&&sparray.ElementAt(i).ElementAt(5) == "入底"&&sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; // 136 - [version].[reverse1] // 6 - [dindansp].[no] if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5)); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(6)); } for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; // 136 - [version].[reverse1] // 6 - [dindansp].[no] if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5) + "+"); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(6)); } CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); CString m_name1 = g_List1array.ElementAt(0).ElementAt(1); CString m_name2 = g_List1array.ElementAt(0).ElementAt(2); CString m_phone1 = g_List1array.ElementAt(0).ElementAt(3); CString m_phone2 = g_List1array.ElementAt(0).ElementAt(4); CString m_urgent = g_List1array.ElementAt(0).ElementAt(5); CString m_time2 = g_List1array.ElementAt(0).ElementAt(6); CString m_time4 = g_List1array.ElementAt(0).ElementAt(7); CString m_time5 = g_List1array.ElementAt(0).ElementAt(8); CString m_takezs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxizs = g_List1array.ElementAt(0).ElementAt(10); CString m_choosezs = g_List1array.ElementAt(0).ElementAt(11); CString m_ren = g_List1array.ElementAt(0).ElementAt(12); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(13); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(14); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(15); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(16); // 17=客人备注bz3; 29=bz4单张相片备注,以空格分隔; 23=bz; CString m_bz = g_List1array.ElementAt(0).ElementAt(17) + " " + g_List1array.ElementAt(0).ElementAt(29); m_bz += ";" + g_List1array.ElementAt(0).ElementAt(23); CString m_money3 = g_List1array.ElementAt(0).ElementAt(18); CString m_money1 = g_List1array.ElementAt(0).ElementAt(19); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(20); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(21); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(22); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(24); CString m_time6 = g_List1array.ElementAt(0).ElementAt(26); CString m_sum3; m_sum3.Format("%0.2f", atof(m_taoxijiage) + atof(m_payed4) - (atof(m_payed5) + atof(m_money1))); ::ConvertToPrice(m_sum3); if (m_money3.IsEmpty())m_money3 = "0"; int dty = 0; CString name; if (!m_name1.IsEmpty()) name = m_name1 + ","; name += m_name2; name.TrimRight(","); CString phone; if (!m_phone1.IsEmpty()) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); if (IsHasRights2new(31) == 0) phone = "***"; CStringArray strarray; CArrayrcarray; CStringArray strarray2; CArrayrc2array; int bottom; if ((bb == 0 && bSecondPage == 0)) { #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add("姓名/性别"); else strarray.Add("姓名/性别/年龄"); #else strarray.Add("客人姓名"); // 第3.1区域 -3.显示客人姓名; #endif strarray.Add("电话"); strarray.Add("单号"); strarray.Add("套系"); strarray.Add("选样"); strarray.Add("余款/加挑"); strarray.Add("选片/日期"); #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add(name + "/" + m_sex); else { int year = atoi(g_date.Left(4)) - atoi(m_birthday.Left(4)); m_birthday.Format("%d", year + 1); strarray.Add(name + "/" + m_sex + "/" + m_birthday); } #else strarray.Add(name); // 第4.1区域 -3.显示客人姓名; #endif strarray.Add(phone); strarray.Add(strOrderNumber); strarray.Add(m_taoxiname); str.Format("应选:%d,加挑:%d", atoi(m_taoxizs), atoi(m_choosezs)); strarray.Add(str); str.Format("%d/%d", atoi(m_sum3), atoi(m_money3)); strarray.Add(str); strarray.Add(m_waiter3 + "/" + m_time4);//m_time5 for (i = 3; i <= 16; i++) { // ■■■■■■从18.lia中获取第3~16的区域大小; StrRect = load.m_rcarray.ElementAt(i - 1); if (i < 10) { m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 3), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } } // ■■■■■■从18.lia中获取第30的区域大小; StrRect = load.m_rcarray.ElementAt(29); m_Print.DrawRect2(StrRect, 1); BOOL bPrintDate = 1; #ifdef DDF_VERSION // bPrintDate=0; #else if (m_time5 == "" && m_time6 == "") bPrintDate = 0; #endif if (bPrintDate) m_Print.DrawText((LPTSTR)(LPCTSTR)"看样/取件", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else { #ifdef CHILD_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"摄影/引导", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #else m_Print.DrawText((LPTSTR)(LPCTSTR)"摄影/化妆", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif } if (atoi(g_cominfoarray.ElementAt(0).ElementAt(138))) // [version].[reverse3] { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); // Jeff二维码的区域不是从18.lia里获取的,是固定在右上角指定区域; if (pImg) { StrRect.left = 485; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } // CArrayrcarray; // CStringArray strarray2; // ■■■■■■从18.lia中获取第10的区域大小; for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(strarray.ElementAt(7 + i - 10)); } if (1) { // ■■■■■■从18.lia中获取第31的区域大小; StrRect = load.m_rcarray.ElementAt(30); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); if (bPrintDate) strarray2.Add(m_time6 + "/" + m_time5); else { strarray2.Add(m_waiter1 + "/" + m_waiter2); } } INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_HCENTER); for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i == 10) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); } if (1) { StrRect = load.m_rcarray.ElementAt(30); StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); StrRect.top += 2; } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(16); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"指定制作", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } int curypos = 0; int oldpos = 0; if (bb == 1) { dty = -100; oldpos = nPrintedPos; if (oldpos == 0)oldpos = 10000; } m_Print.SetFontFace(9, 1, "宋体"); strarray.RemoveAll(); if ((oldpos != 10000 && oldpos < sparray2.GetSize()) || bb == 0) { strarray.Add("产品名称"); strarray.Add("数量"); strarray.Add("照片编号"); for (i = 18; i <= 20; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 18), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left -= 2; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rc2array.Add(StrRect); } } for (i = oldpos; i < sparray2.GetSize(); i += 3) { rcarray.RemoveAll(); strarray2.RemoveAll(); for ( j = 0; j < 3; j++) { StrRect = rc2array.ElementAt(j); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON if (2 == j) { CString strImg = sparray2.ElementAt(i + 2); int nImgCount = strImg.Replace(SEPS_VEB, SEPS_VEB); if (nImgCount != 0) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), nImgCount + 1); else if (!strImg.IsEmpty()) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), 1); strarray2.Add(strImg); } else strarray2.Add(sparray2.ElementAt(i + j)); #else strarray2.Add(sparray2.ElementAt(i + j)); #endif } bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); rcarray.RemoveAll(); for (j = 0; j < 3; j++) { StrRect = rc2array.ElementAt(j); if (j == 0) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rcarray.Add(StrRect); } rc2array.RemoveAll(); rc2array.Copy(rcarray); if (bottom > 750) { bSecondPage = 1; nPrintedPos = i + 3; break; } } if ((bb == 0 && bSecondPage == 0) || (bb == 1 && bSecondPage == 1)) { m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); dty = curypos - StrRect.bottom + 35; StrRect.top += dty; StrRect.bottom += dty; if (StrRect.bottom > 700 && bb == 0) { bSecondPage = 1; } else { m_Print.DrawText((LPTSTR)(LPCTSTR)"调修要求", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); rcarray.RemoveAll(); strarray2.RemoveAll(); StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON // 17=客人备注bz3; 29=bz4单张相片备注,以空格分隔; 23=bz; strarray2.RemoveAll(); CString strFind = "要求:"; CString strbz3 = g_List1array.ElementAt(0).ElementAt(17); do { int nIndex = strbz3.Find(strFind, 1); if (nIndex != -1) { CString strbz = strbz3.Left(nIndex); strbz3 = strbz3.Mid(nIndex); strarray2.Add(strbz); } else { strarray2.Add(strbz3); strbz3 = ""; } } while (strbz3.Find(strFind) != -1); strarray2.Add(g_List1array.ElementAt(0).ElementAt(29)); strarray2.Add(g_List1array.ElementAt(0).ElementAt(23)); bottom = CalHeight_01(StrRect, &strarray2, &m_Print, FORMAT_LEFT); #else strarray2.Add(m_bz); bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); #endif StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; dty += bottom - StrRect.bottom; StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(22); dty = curypos - StrRect.bottom + 25; StrRect.top += dty; StrRect.bottom += dty; CString m_edit9 = (g_cominfoarray.ElementAt(0).ElementAt(135)); if (m_edit9.IsEmpty()) { m_edit9 = "\ 经确认后的照片均排入制作流程,\r\n\ 恕不接受更改及退费。实际冲晒出来的相片\r\n\ 与电脑显示会有少许差异,如颜色较深或亮度偏暗等。"; } CString info1, info2, info3; int newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info1 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); } newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info2 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); info3 = m_edit9; } #ifdef QCH_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (24); StrRect.top +=dty;StrRect.bottom +=dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.top +=15; StrRect.bottom +=15; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12) + " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); #else if (1) { m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else { m_Print.DrawText((LPTSTR)(LPCTSTR)"经确认后的照片均排入制作流程,", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"恕不接受更改及退费。实际冲晒出来的相片", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"与电脑显示会有少许差异,如颜色较深或亮度偏暗等。", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect.top += 15; StrRect.bottom += 15; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12) + " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); #endif int dy = load.m_rcarray.ElementAt(25).top - load.m_rcarray.ElementAt(27).top; StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"选片签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"看样签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"取件签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawRect2(StrRect, 2); } } PrintPreview dlg; dlg.m_mode = 2; dlg.m_name = name; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } } void CMainFrame::PrintFlowChart3_20151116(CString strOrderNumber) // 选片打单 风格2; { #ifdef LKAY_VERSION PrintFlowChart3LKAY(strOrderNumber); return; #endif int i = 0; int j = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { BOOL bSecondPage = 0; int nPrintedPos = 0; for (int bb = 0; bb < 3; bb++) { if (bb && bSecondPage == 0)break; CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) // 58-[version].[setcheck1] ==1,使用默认打印机; { m_Print.InitToPrint(NULL, 1); } else // 否则使用指定的打印机; { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); // 64-[version].[printer2] 制作单打印机; if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("18.lia"); load.SetMargins(10, 0); if (!load.Load())return; CString str; int rcpos = -1; // ■■■■■■从18.lia获取到第一个区域大小 - 1.显示店名; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); if ((bb == 0 && bSecondPage == 0)) { m_Print.SetFontFace(25, 1, "宋体"); // 10-[version].[info1] 店名; m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "制作单明细"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(15, 1, "宋体"); // ■■■■■■从18.lia获取第二个区域大小 - 2.显示"基本资料"; StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"基本资料", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); } ////////////////////////////////////////////////////////////////////////// // 获取打印所需要的数据,并布局好; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "' and kind<>'2';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 54; // dindan; g_sendhead.code[1] = 223; // dindanspview2; shangpin+dindansp; g_sendhead.code[2] = 52; // client; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &sparray, &clientarray); CString spno; CStringArray sparray2; for ( i = 0; i < sparray.GetSize(); i++) { // if(sparray.ElementAt (i).ElementAt (6).IsEmpty ())continue; if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册"&&sparray.ElementAt(i).ElementAt(5) == "入底"&&sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; // 136 - [version].[reverse1] // 6 - [dindansp].[no] if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5)); // 商品名称; sparray2.Add(sparray.ElementAt(i).ElementAt(3)); // 商品数量; sparray2.Add(sparray.ElementAt(i).ElementAt(6)); // 选中的相片串; sparray2.Add(sparray.ElementAt(i).ElementAt(10)); // 商品备注; } for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; // 136 - [version].[reverse1] // 6 - [dindansp].[no] if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5) + "+"); // 商品名称; sparray2.Add(sparray.ElementAt(i).ElementAt(3)); // 商品数量; sparray2.Add(sparray.ElementAt(i).ElementAt(6)); // 选中的相片串; sparray2.Add(sparray.ElementAt(i).ElementAt(10)); // 商品备注; } CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); CString m_name1 = g_List1array.ElementAt(0).ElementAt(1); CString m_name2 = g_List1array.ElementAt(0).ElementAt(2); CString m_phone1 = g_List1array.ElementAt(0).ElementAt(3); CString m_phone2 = g_List1array.ElementAt(0).ElementAt(4); CString m_urgent = g_List1array.ElementAt(0).ElementAt(5); CString m_time2 = g_List1array.ElementAt(0).ElementAt(6); CString m_time4 = g_List1array.ElementAt(0).ElementAt(7); CString m_time5 = g_List1array.ElementAt(0).ElementAt(8); CString m_takezs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxizs = g_List1array.ElementAt(0).ElementAt(10); CString m_choosezs = g_List1array.ElementAt(0).ElementAt(11); CString m_ren = g_List1array.ElementAt(0).ElementAt(12); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(13); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(14); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(15); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(16); // 17=客人备注bz3; 29=bz4单张相片备注,以空格分隔; 23=bz; CString m_bz = g_List1array.ElementAt(0).ElementAt(17) + " " + g_List1array.ElementAt(0).ElementAt(29); m_bz += ";" + g_List1array.ElementAt(0).ElementAt(23); CString m_money3 = g_List1array.ElementAt(0).ElementAt(18); CString m_money1 = g_List1array.ElementAt(0).ElementAt(19); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(20); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(21); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(22); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(24); CString m_time6 = g_List1array.ElementAt(0).ElementAt(26); CString m_sum3; m_sum3.Format("%0.2f", atof(m_taoxijiage) + atof(m_payed4) - (atof(m_payed5) + atof(m_money1))); ::ConvertToPrice(m_sum3); if (m_money3.IsEmpty())m_money3 = "0"; int dty = 0; CString name; if (!m_name1.IsEmpty()) name = m_name1 + ","; name += m_name2; name.TrimRight(","); CString phone; if (!m_phone1.IsEmpty()) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); if (IsHasRights2new(31) == 0) phone = "***"; CStringArray strarray; CArrayrcarray; CStringArray strarray2; CArrayrc2array; int bottom; ////////////////////////////////////////////////////////////////////////// // 开始画打印DC; if ((bb == 0 && bSecondPage == 0)) { #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add("姓名/性别"); else strarray.Add("姓名/性别/年龄"); #else strarray.Add("客人姓名"); // 第3.1区域 -3.显示客人姓名; #endif strarray.Add("电话"); strarray.Add("单号"); strarray.Add("套系"); strarray.Add("选样"); strarray.Add("余款/加挑"); strarray.Add("选片/日期"); #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add(name + "/" + m_sex); else { int year = atoi(g_date.Left(4)) - atoi(m_birthday.Left(4)); m_birthday.Format("%d", year + 1); strarray.Add(name + "/" + m_sex + "/" + m_birthday); } #else strarray.Add(name); // 第4.1区域 -3.显示客人姓名; #endif strarray.Add(phone); strarray.Add(strOrderNumber); strarray.Add(m_taoxiname); str.Format("应选:%d,加挑:%d", atoi(m_taoxizs), atoi(m_choosezs)); strarray.Add(str); str.Format("%d/%d", atoi(m_sum3), atoi(m_money3)); strarray.Add(str); strarray.Add(m_waiter3 + "/" + m_time4);//m_time5 for (i = 3; i <= 16; i++) { // ■■■■■■从18.lia中获取第3~16的区域大小; StrRect = load.m_rcarray.ElementAt(i - 1); if (i < 10) { m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 3), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } } // ■■■■■■从18.lia中获取第30的区域大小; StrRect = load.m_rcarray.ElementAt(29); m_Print.DrawRect2(StrRect, 1); BOOL bPrintDate = 1; #ifdef DDF_VERSION // bPrintDate=0; #else if (m_time5 == "" && m_time6 == "") bPrintDate = 0; #endif if (bPrintDate) m_Print.DrawText((LPTSTR)(LPCTSTR)"看样/取件", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else { #ifdef CHILD_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"摄影/引导", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #else m_Print.DrawText((LPTSTR)(LPCTSTR)"摄影/化妆", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif } if (atoi(g_cominfoarray.ElementAt(0).ElementAt(138))) // [version].[reverse3] { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); // Jeff二维码的区域不是从18.lia里获取的,是固定在右上角指定区域; if (pImg) { StrRect.left = 485; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } // CArrayrcarray; // CStringArray strarray2; // ■■■■■■从18.lia中获取第10的区域大小; for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(strarray.ElementAt(7 + i - 10)); } if (1) { // ■■■■■■从18.lia中获取第31的区域大小; StrRect = load.m_rcarray.ElementAt(30); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); if (bPrintDate) strarray2.Add(m_time6 + "/" + m_time5); else { strarray2.Add(m_waiter1 + "/" + m_waiter2); } } int bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_HCENTER); for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i == 10) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); } if (1) { StrRect = load.m_rcarray.ElementAt(30); StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); StrRect.top += 2; } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(16); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"指定制作", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } int curypos = 0; int oldpos = 0; if (bb == 1) { dty = -100; oldpos = nPrintedPos; if (oldpos == 0)oldpos = 10000; } m_Print.SetFontFace(9, 1, "宋体"); strarray.RemoveAll(); if ((oldpos != 10000 && oldpos < sparray2.GetSize()) || bb == 0) { strarray.Add("产品名称"); strarray.Add("数量"); strarray.Add("照片编号"); strarray.Add(_T("备注")); CRect mycr[4] = { CRect(39,172,130,189), // 产品名称; CRect(130,172,157,189), // 产品数量; CRect(157,172,407,189), // 相片; CRect(407,172,546,189) // 备注; }; for (i = 0; i <= 3; i++) { StrRect = mycr[i]; StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left -= 2; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rc2array.Add(StrRect); } } for (i = oldpos; i < sparray2.GetSize(); i += 4) { rcarray.RemoveAll(); strarray2.RemoveAll(); for ( j = 0; j < 4; j++) { StrRect = rc2array.ElementAt(j); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON if (2 == j) { CString strImg = sparray2.ElementAt(i + 2); //int nImgCount = strImg.Replace(",", ","); int nImgCount = strImg.Replace(SEPS_VEB, SEPS_VEB); if (nImgCount != 0) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), nImgCount + 1); else if (!strImg.IsEmpty()) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), 1); strarray2.Add(strImg); } else strarray2.Add(sparray2.ElementAt(i + j)); #else strarray2.Add(sparray2.ElementAt(i + j)); #endif } bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); rcarray.RemoveAll(); for (j = 0; j < 4; j++) { StrRect = rc2array.ElementAt(j); if (j == 0) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rcarray.Add(StrRect); } rc2array.RemoveAll(); rc2array.Copy(rcarray); if (bottom > 750) { bSecondPage = 1; nPrintedPos = i + 3; break; } } if ((bb == 0 && bSecondPage == 0) || (bb == 1 && bSecondPage == 1)) { m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); dty = curypos - StrRect.bottom + 35; StrRect.top += dty; StrRect.bottom += dty; if (StrRect.bottom > 700 && bb == 0) { bSecondPage = 1; } else { m_Print.DrawText((LPTSTR)(LPCTSTR)"调修要求", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); rcarray.RemoveAll(); strarray2.RemoveAll(); StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON // 17=客人备注bz3; 29=bz4单张相片备注,以空格分隔; 23=bz; strarray2.RemoveAll(); CString strFind = "要求:"; CString strbz3 = g_List1array.ElementAt(0).ElementAt(17); do { int nIndex = strbz3.Find(strFind, 1); if (nIndex != -1) { CString strbz = strbz3.Left(nIndex); strbz3 = strbz3.Mid(nIndex); strarray2.Add(strbz); } else { strarray2.Add(strbz3); strbz3 = ""; } } while (strbz3.Find(strFind) != -1); strarray2.Add(g_List1array.ElementAt(0).ElementAt(29)); strarray2.Add(g_List1array.ElementAt(0).ElementAt(23)); bottom = CalHeight_01(StrRect, &strarray2, &m_Print, FORMAT_LEFT); #else strarray2.Add(m_bz); bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); #endif StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; dty += bottom - StrRect.bottom; StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(22); dty = curypos - StrRect.bottom + 25; StrRect.top += dty; StrRect.bottom += dty; CString m_edit9 = (g_cominfoarray.ElementAt(0).ElementAt(135)); if (m_edit9.IsEmpty()) { m_edit9 = "\ 经确认后的照片均排入制作流程,\r\n\ 恕不接受更改及退费。实际冲晒出来的相片\r\n\ 与电脑显示会有少许差异,如颜色较深或亮度偏暗等。"; } CString info1, info2, info3; int newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info1 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); } newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info2 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); info3 = m_edit9; } #ifdef QCH_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (24); StrRect.top +=dty;StrRect.bottom +=dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.top +=15; StrRect.bottom +=15; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12) + " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); #else if (1) { m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else { m_Print.DrawText((LPTSTR)(LPCTSTR)"经确认后的照片均排入制作流程,", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"恕不接受更改及退费。实际冲晒出来的相片", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"与电脑显示会有少许差异,如颜色较深或亮度偏暗等。", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect.top += 15; StrRect.bottom += 15; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12) + " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); #endif int dy = load.m_rcarray.ElementAt(25).top - load.m_rcarray.ElementAt(27).top; StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"选片签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty - dy; StrRect.bottom += dty - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"看样签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 - dy; StrRect.bottom += dty + 15 - dy; m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawText((LPTSTR)(LPCTSTR)"取件签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty + 15 * 2 - dy; StrRect.bottom += dty + 15 * 2 - dy; m_Print.DrawRect2(StrRect, 2); } } PrintPreview dlg; dlg.m_mode = 2; dlg.m_name = name; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } } //void CMainFrame::PrintFlowChart4(CString m_id) // 选设计打单函数; void CMainFrame::PrintFlowChart4(CString strOrderNumber) // 选设计打单函数,使用18.lia文件; { int i = 0; int j = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("18.lia"); load.SetMargins(10, 0); if (!load.Load())return; CString str; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(25, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "制作单明细"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"基本资料", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); ////////////////////////////////////////////////////////////// CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "' and kind<>'2';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 54; g_sendhead.code[1] = 223; g_sendhead.code[2] = 52; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &sparray, &clientarray); CString spno; CStringArray sparray2; for ( i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册"&&sparray.ElementAt(i).ElementAt(5) == "入底"&&sparray.ElementAt(i).ElementAt(8).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5)); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(8)); } for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; sparray2.Add(sparray.ElementAt(i).ElementAt(5) + "+"); sparray2.Add(sparray.ElementAt(i).ElementAt(3)); sparray2.Add(sparray.ElementAt(i).ElementAt(8)); } CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); CString m_name1 = g_List1array.ElementAt(0).ElementAt(1); CString m_name2 = g_List1array.ElementAt(0).ElementAt(2); CString m_phone1 = g_List1array.ElementAt(0).ElementAt(3); CString m_phone2 = g_List1array.ElementAt(0).ElementAt(4); CString m_urgent = g_List1array.ElementAt(0).ElementAt(5); CString m_time2 = g_List1array.ElementAt(0).ElementAt(6); CString m_time5 = g_List1array.ElementAt(0).ElementAt(8); CString m_takezs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxizs = g_List1array.ElementAt(0).ElementAt(10); CString m_choosezs = g_List1array.ElementAt(0).ElementAt(11); CString m_ren = g_List1array.ElementAt(0).ElementAt(12); CString m_waiter3 = g_List1array.ElementAt(0).ElementAt(13); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(14); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(15); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(16); CString m_bz = g_List1array.ElementAt(0).ElementAt(17); m_bz += ";" + g_List1array.ElementAt(0).ElementAt(25); CString m_money3 = g_List1array.ElementAt(0).ElementAt(18); CString m_money1 = g_List1array.ElementAt(0).ElementAt(19); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(20); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(21); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(22); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(24); CString m_time6 = g_List1array.ElementAt(0).ElementAt(26); CString m_waiter8 = g_List1array.ElementAt(0).ElementAt(27); CString m_replace = g_List1array.ElementAt(0).ElementAt(28); if (!m_replace.IsEmpty()) { m_replace = "设计替换照片:" + m_replace; m_replace.Replace("$", ";"); m_replace.TrimLeft(";"); m_bz += ";"; m_bz += m_replace; } CString m_sum3; m_sum3.Format("%0.2f", atof(m_taoxijiage) + atof(m_payed4) - (atof(m_payed5) + atof(m_money1))); ::ConvertToPrice(m_sum3); if (m_money3.IsEmpty())m_money3 = "0"; int dty = 0; CString name; if (!m_name1.IsEmpty()) name = m_name1 + ","; name += m_name2; name.TrimRight(","); CString phone; if (!m_phone1.IsEmpty()) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); if (IsHasRights2new(31) == 0) phone = "***"; CStringArray strarray; #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add("姓名/性别"); else strarray.Add("姓名/性别/年龄"); #else strarray.Add("客人姓名"); #endif strarray.Add("电话"); strarray.Add("单号"); strarray.Add("套系"); strarray.Add(""); strarray.Add("余款/加挑"); strarray.Add("看设计/日期"); #ifdef CHILD_VERSION if (m_birthday.IsEmpty()) strarray.Add(name + "/" + m_sex); else { int year = atoi(g_date.Left(4)) - atoi(m_birthday.Left(4)); m_birthday.Format("%d", year + 1); strarray.Add(name + "/" + m_sex + "/" + m_birthday); } #else strarray.Add(name); #endif strarray.Add(phone); strarray.Add(strOrderNumber); strarray.Add(m_taoxiname); str.Format("应选:%d,加挑:%d", atoi(m_taoxizs), atoi(m_choosezs)); strarray.Add(""); str.Format("%d/%d", atoi(m_sum3), atoi(m_money3)); strarray.Add(str); strarray.Add(m_waiter8 + "/" + m_time6); ////////////////////////////////////////////// if (1) { StrRect = load.m_rcarray.ElementAt(6); int addwid = StrRect.Width() / 6; for (i = 3; i <= 6; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += (i - 3)*addwid; StrRect.right += (i - 2)*addwid; load.m_rcarray.SetAt(i - 1, StrRect); } StrRect.left = StrRect.right = -1; load.m_rcarray.SetAt(6, StrRect); for (i = 10; i <= 13; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += (i - 10)*addwid; StrRect.right += (i - 9)*addwid; load.m_rcarray.SetAt(i - 1, StrRect); } StrRect.left = StrRect.right = -1; load.m_rcarray.SetAt(13, StrRect); StrRect = load.m_rcarray.ElementAt(7); int rcwid = StrRect.Width(); StrRect.left = load.m_rcarray.ElementAt(5).right; StrRect.right = StrRect.left + rcwid + addwid; load.m_rcarray.SetAt(7, StrRect); StrRect = load.m_rcarray.ElementAt(8); StrRect.left = load.m_rcarray.ElementAt(7).right; StrRect.right = load.m_rcarray.ElementAt(29).left; load.m_rcarray.SetAt(8, StrRect); StrRect = load.m_rcarray.ElementAt(14); rcwid = StrRect.Width(); StrRect.left = load.m_rcarray.ElementAt(12).right; StrRect.right = StrRect.left + rcwid + addwid; load.m_rcarray.SetAt(14, StrRect); StrRect = load.m_rcarray.ElementAt(15); StrRect.left = load.m_rcarray.ElementAt(14).right; StrRect.right = load.m_rcarray.ElementAt(29).left; load.m_rcarray.SetAt(15, StrRect); } //////////////////////////////////////////////// for (i = 3; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i < 10) { m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 3), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } } StrRect = load.m_rcarray.ElementAt(29); m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"取件", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); if (atoi(g_cominfoarray.ElementAt(0).ElementAt(138))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 485; StrRect.top = 12; StrRect.right = StrRect.left + 60; StrRect.bottom = StrRect.top + 60; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } CArrayrcarray; CStringArray strarray2; for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); strarray2.Add(strarray.ElementAt(7 + i - 10)); } INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_HCENTER); for (i = 10; i <= 16; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); if (i == 10) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); } StrRect = load.m_rcarray.ElementAt(30); StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); StrRect.top += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)m_time5, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(16); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"指定制作", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); strarray.RemoveAll(); strarray.Add("产品名称"); strarray.Add("数量"); strarray.Add("照片编号"); CArrayrc2array; for (i = 18; i <= 20; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 1); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 18), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left -= 2; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rc2array.Add(StrRect); } int curypos = 0; for (i = 0; i < sparray2.GetSize(); i += 3) { rcarray.RemoveAll(); strarray2.RemoveAll(); for ( j = 0; j < 3; j++) { StrRect = rc2array.ElementAt(j); StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON if (2 == j) { CString strImg = sparray2.ElementAt(i + 2); //int nImgCount = strImg.Replace(",", ","); int nImgCount = strImg.Replace(SEPS_VEB, SEPS_VEB); if (nImgCount != 0) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), nImgCount + 1); else if (!strImg.IsEmpty()) strImg.Format("%s; 共 %d 张", sparray2.ElementAt(i + 2), 1); strarray2.Add(strImg); } else strarray2.Add(sparray2.ElementAt(i + j)); #else strarray2.Add(sparray2.ElementAt(i + j)); #endif } INT bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); rcarray.RemoveAll(); for (j = 0; j < 3; j++) { StrRect = rc2array.ElementAt(j); if (j == 0) { dty += bottom - StrRect.bottom; } StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; StrRect.top = StrRect.bottom; StrRect.bottom += 18; rcarray.Add(StrRect); } rc2array.RemoveAll(); rc2array.Copy(rcarray); } m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); dty = curypos - StrRect.bottom + 35; StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"调修要求", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); rcarray.RemoveAll(); strarray2.RemoveAll(); StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; StrRect.left += 2; StrRect.right -= 2; StrRect.top += 2; rcarray.Add(StrRect); #if JEFF_TEST_ON // 17=客人备注bz3; 29=bz4单张相片备注,以空格分隔; 23=bz; strarray2.RemoveAll(); CString strFind = "要求:"; CString strbz3 = g_List1array.ElementAt(0).ElementAt(17); do { int nIndex = strbz3.Find(strFind, 1); if (nIndex != -1) { CString strbz = strbz3.Left(nIndex); strbz3 = strbz3.Mid(nIndex); strarray2.Add(strbz); } else { strarray2.Add(strbz3); strbz3 = ""; } } while (strbz3.Find(strFind) != -1); strarray2.Add(g_List1array.ElementAt(0).ElementAt(25)); if (!m_replace.IsEmpty()) { m_replace = "设计替换照片:" + m_replace; m_replace.Replace("$", ";"); m_replace.TrimLeft(";"); } strarray2.Add(m_replace); bottom = CalHeight_01(StrRect, &strarray2, &m_Print, FORMAT_LEFT); #else strarray2.Add(m_bz); bottom = CalcHeight(rcarray, strarray2, &m_Print, FORMAT_LEFT); #endif StrRect = load.m_rcarray.ElementAt(21); StrRect.top += dty; StrRect.bottom += dty; dty += bottom - StrRect.bottom; StrRect.bottom = bottom; m_Print.DrawRect2(StrRect, 1); curypos = StrRect.bottom; m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(22); dty = curypos - StrRect.bottom + 25; StrRect.top += dty; StrRect.bottom += dty; CString m_edit9 = (g_cominfoarray.ElementAt(0).ElementAt(135)); if (m_edit9.IsEmpty()) { m_edit9 = "\ 经确认后的照片均排入制作流程,\r\n\ 恕不接受更改及退费。实际冲晒出来的相片\r\n\ 与电脑显示会有少许差异,如颜色较深或亮度偏暗等。"; } CString info1, info2, info3; int newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info1 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); } newlinepos = m_edit9.Find("\r\n"); if (newlinepos != -1) { info2 = m_edit9.Left(newlinepos); m_edit9 = m_edit9.Right(m_edit9.GetLength() - newlinepos - 2); info3 = m_edit9; } if (1) { m_Print.DrawText((LPTSTR)(LPCTSTR)info1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)info3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else { m_Print.DrawText((LPTSTR)(LPCTSTR)"经确认后的照片均排入制作流程,", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"恕不接受更改及退费。实际冲晒出来的相片", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"与电脑显示会有少许差异,如颜色较深或亮度偏暗等。", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(25); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)"贵宾签名:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(26); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawRect2(StrRect, 2); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(27); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)("地址:" + g_cominfoarray.ElementAt(0).ElementAt(12)), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(28); StrRect.top += dty; StrRect.bottom += dty; m_Print.DrawText((LPTSTR)(LPCTSTR)("电话:" + g_cominfoarray.ElementAt(0).ElementAt(11)), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); PrintPreview dlg;//dlg.m_mode=2; dlg.m_name = name; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } /* void CMainFrame::PrintFlowChart(CString m_id) { CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); // CRect StrRect(0,0,560,818); LoadRect load; load.SetLiaPath ("4.lia"); load.SetMargins(-14,-14); if(!load.Load ())return; LoadRect load2; load2.SetMargins(-14,472+27-14); load2.SetLiaPath ("5.lia"); if(!load2.Load ())return; ////////////////////////////////////////////////////////////// CString filter="id='"+m_id+"';id='"+m_id+"'"; g_sendhead.code[0]=54; g_sendhead.code[1]=50; g_sendhead.tabcount=2; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; CArraysparray; DataToArray(&g_List1array,&sparray); CString spno; for(int i=0; i=19&&i<=21) m_Print.DrawRect2(StrRect, 2); else if(i==26) { CRect rc=StrRect; CRect rc2=rc; rc.right -=rc2.Width ()/2; m_Print.DrawRect2(rc, 1); rc2.left +=rc.Width (); m_Print.DrawRect2(rc2, 1); } else m_Print.DrawRect2(StrRect, 1); if(i==18) { StrRect.left +=5; m_Print.DrawText((LPTSTR)(LPCTSTR)"全部套系内容:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } } ////////////////////////////////////// rcpos=-1; for( i=0; i<8; i++) { StrRect=load2.m_rcarray .ElementAt (++rcpos); m_Print.DrawRect2(StrRect, 1); } CString title2[4]={"化妆师:","摄影师:","数码设计师:","顾客签名:"}; for( i=0; i<4; i++) { StrRect=load2.m_rcarray .ElementAt (++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)title2[i], StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for( i=0; i<4; i++) { StrRect=load2.m_rcarray .ElementAt (++rcpos); m_Print.DrawRect2(StrRect, 2); } /////////////////////////////////////////// for( i=19; i<=31; i++) { StrRect=load.m_rcarray .ElementAt (i-1); StrRect.left +=4; if(i==31) { if(m_phone1.IsEmpty ()==0 && m_phone2.IsEmpty ()==0) { StrRect.top +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_UP); StrRect.top +=8; m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-19), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else if((i-19)==7) { CRect rc=StrRect; CRect rc2=rc; rc.right -=rc2.Width ()/2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-19), rc, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left +=rc.Width ()+3; m_Print.DrawText((LPTSTR)(LPCTSTR)m_sum3, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } else m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-19), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } strarray.RemoveAll (); strarray.Add (m_waiter2); strarray.Add (m_waiter1); strarray.Add (m_waiter4); for( i=13; i<=15; i++) { StrRect=load2.m_rcarray .ElementAt (i-1); StrRect.left +=4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-13), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } ///////////spno CRect sprc[14]; for(i=0; i<14; i++) { if(i<7) { if(i==0) { StrRect=load.m_rcarray .ElementAt (17);StrRect.left +=94;StrRect.right -=3; } else { StrRect=load.m_rcarray .ElementAt (30+i);StrRect.left +=4;StrRect.right -=3; } } else { StrRect=load2.m_rcarray .ElementAt (i-7);StrRect.left +=4;StrRect.right -=3; } sprc[i]=StrRect; // m_Print.DrawText((LPTSTR)(LPCTSTR)"xxx", sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } CString temp,tempspno,tempbz; CSize size; BOOL bRun=0; int fontsize=12; ll: tempspno=spno; tempbz=m_bz; m_Print.SetFontFace(fontsize, 1, "宋体"); for( i=0; i<14; i++) { if(!tempspno.IsEmpty ()) { temp=tempspno; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right=0; CRect temprc=sprc[i]; while(size.cx>temprc.Width ()) { right++; temp=tempspno.Left (tempspno.GetLength ()-(right)); if(GIsHalfHZ(temp)) { right++; temp.Delete (temp.GetLength ()-1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if(bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempspno=tempspno.Right (tempspno.GetLength ()-temp.GetLength ()); if(tempspno.IsEmpty ())i++; } else if(!tempbz.IsEmpty ()) { temp=tempbz; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right=0; CRect temprc=sprc[i]; while(size.cx>temprc.Width ()) { right++; temp=tempbz.Left (tempbz.GetLength ()-(right)); if(GIsHalfHZ(temp)) { right++; temp.Delete (temp.GetLength ()-1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if(bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempbz=tempbz.Right (tempbz.GetLength ()-temp.GetLength ()); } } if(tempspno.IsEmpty ()==0 || tempbz.IsEmpty ()==0) { fontsize--; goto ll; } if(bRun==0) { bRun=1; goto ll; } PrintPreview dlg; m_Print.GetWidHei(dlg.m_w , dlg.m_h ); dlg.m_pDC =m_Print.GetPDC() ; if(dlg.DoModal ()!=IDOK)return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } void CMainFrame::SetSelFolder(int pos) { m_wndToolBar2.SetSelFolder(pos); }*/ void CMainFrame::ToPhotoPrint() { UINT nID = 1; LPSTR pName; pName = (LPSTR)(LPCSTR)"相片冲印资料"; OPEN_MENU(PhotoPrintFrom); } void CMainFrame::GetOcx() { char path[MAX_PATH]; ::GetSystemDirectory(path, MAX_PATH); CString syspath = path; try { if (!::PathFileExists(syspath + "\\MSCHRT20.OCX")) { g_sendhead.bsql = 0; g_sendhead.code[0] = 103; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return; CFile fp; if (fp.Open(syspath + "\\MSCHRT20.OCX", CFile::modeWrite | CFile::modeCreate)) { fp.Write(g_pData, g_nLeng); fp.Close(); ::Sleep(1000); } } CString temp; temp.Format(_T(" -s %s\\MSCHRT20.OCX"), syspath); ShellExecute(NULL, _T("Open"), _T("Regsvr32"), temp, NULL, SW_HIDE); } catch (...) { } try { CString temp; temp.Format(_T(" -s %s\\MSCHRT20.OCX"), syspath); ShellExecute(NULL, _T("Open"), _T("Regsvr32"), temp, NULL, SW_HIDE); } catch (...) { } } void CMainFrame::OnServer() { // TODO: Add your command handler code here DBConfig dlg; dlg.DoModal(); } void CMainFrame::OnPath() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; SetPathDlg2 dlg; dlg.DoModal(); } void CMainFrame::OnShowhis() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(52) == 0)return; CMenu *pMenu = GetMenu(); CMenu* submenu = pMenu->GetSubMenu(2); UINT status = submenu->GetMenuState(IDM_SHOWHIS, MF_BYCOMMAND); if (status&MF_CHECKED) { submenu->CheckMenuItem(IDM_SHOWHIS, MF_BYCOMMAND | MF_UNCHECKED); g_bShowOK = 1; } else { submenu->CheckMenuItem(IDM_SHOWHIS, MF_BYCOMMAND | MF_CHECKED); g_bShowOK = 0; } m_Mdi.CloseAll(); } void CMainFrame::AddHistoryMenu(CArray*hisyeararray) // 添加历史数据库菜单; { #ifdef NEW_SKIN CMenu* m_menuXP = GetMenu(); CMenu* submenu = m_menuXP->GetSubMenu(2); // 删除原有菜单; int i = 0; for ( i = 0; i < 100; i++) { submenu->DeleteMenu(1000 + i, MF_BYCOMMAND); } // 重创菜单,从资源ID1000开始; for (i = 0; i < hisyeararray->GetSize(); i++) { submenu->AppendMenu(MF_STRING, 1000 + i, "查看历史数据:" + hisyeararray->ElementAt(i).ElementAt(0)); // 第一项菜单项; } g_nYearpos = -1; #else HMENU hMenu = ::GetMenu(m_hWnd); m_menuXP.Attach(hMenu); BCMenu* submenu = (BCMenu*)m_menuXP.GetSubMenu(2); for (int i = 0; i < 100; i++) { submenu->DeleteMenu (1000+i, MF_BYCOMMAND); } for( i=0; iGetSize (); i++) { submenu->AppendMenu(MF_STRING, 1000+i, "查看历史数据:"+hisyeararray->ElementAt (i).ElementAt (0)); // 第一项菜单项 } m_menuXP.Detach (); g_nYearpos = -1; #endif } /************************************************************************/ /* Jeff 函数:AddBranchMenu() 参数:CArray *branchArray 返回:void 注意: 调用关系: */ /************************************************************************/ void CMainFrame::AddBranchMenu(CArray*branchArray) { //WriteTextLog("AddBranchMenu,添加集团版菜单"); #ifdef ENTERPRISE_VERSION CMenu *m_menuXP = GetMenu(); CMenu* submenu = m_menuXP->GetSubMenu(0); int i = 0; for ( i = 0; i < 100; i++) { submenu->DeleteMenu(2000 + i, MF_BYCOMMAND); } g_menubranchname.RemoveAll(); CString name; int a = 0; #if 0 // Jeff.add for test CString strCount; strCount.Format("历史数据库个数=%d", branchArray->GetSize()); WriteTextLog(strCount); #endif for (i = 0; i < branchArray->GetSize() - 1; i++) { //WriteTextLog("111"); //WriteTextLog(hisyeararray->ElementAt(i).ElementAt(0)); //WriteTextLog(name); if (name == "") { name = branchArray->ElementAt(i).ElementAt(0); #ifndef SQLSERVER_VERSION submenu->AppendMenu(MF_STRING, 2000 + a, "查看分店数据:" + name + "(使用本机缓存,速度快)"); a++; #endif submenu->AppendMenu(MF_STRING, 2000 + a, "操作分店数据:" + name + "(实时访问分店,需网络通畅)"); a++; g_menubranchname.Add(name); continue; } else if (branchArray->ElementAt(i).ElementAt(0).Find(name) != -1 && ((branchArray->ElementAt(i).ElementAt(0).GetLength() - name.GetLength()) == 4)) { continue; } name = branchArray->ElementAt(i).ElementAt(0); #ifndef SQLSERVER_VERSION submenu->AppendMenu(MF_STRING, 2000 + a, "查看分店数据:" + name + "(使用本机缓存,速度快)"); a++; #endif submenu->AppendMenu(MF_STRING, 2000 + a, "操作分店数据:" + name + "(实时访问分店,需网络通畅)"); g_menubranchname.Add(name); a++; //WriteTextLog("222"); } if ((branchArray->GetSize() - 1) > 0) { if (branchArray->ElementAt(0).ElementAt(3) == "总店") submenu->AppendMenu(MF_STRING, 2000 + a, "多店数据汇总"); } #endif } // Jeff:如果选择了历史数据库,则开单的数据会录入到该历史数据库中,而非当前数据库; // g_nYearpos==-1,表示当前主数据库,其他>=0的值表示历史数据库在g_historydb中的索引值; void CMainFrame::OnHistory(UINT nID) // 选择历史数据库菜单响应; { CMenu* pMenu = GetMenu(); CMenu* submenu = pMenu->GetSubMenu(2); UINT status = submenu->GetMenuState(nID, MF_BYCOMMAND); if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(52) == 0)return; m_Mdi.CloseAll(); for (int i = 0; i < 100; i++) { submenu->CheckMenuItem(1000 + i, MF_BYCOMMAND | MF_UNCHECKED); } if (status&MF_CHECKED) { g_nYearpos = -1; status = submenu->GetMenuState(IDM_SHOWHIS, MF_BYCOMMAND); if (status&MF_CHECKED) g_bShowOK = 0; else g_bShowOK = 1; } else { submenu->CheckMenuItem(nID, MF_BYCOMMAND | MF_CHECKED); g_nYearpos = nID - 1000; g_bShowOK = 1; } } void CMainFrame::OnBranchData(UINT nID) { #ifdef ENTERPRISE_VERSION #ifdef SQLSERVER_VERSION OnBranchData2(nID); return; #endif #endif } void CMainFrame::OnBranchData2(UINT nID) { #ifdef ENTERPRISE_VERSION g_bAllBranch = 0; m_Mdi.CloseAll(); OnDisconnect(); CMenu *pMenu = GetMenu(); CMenu* submenu = pMenu->GetSubMenu(0); UINT status = submenu->GetMenuState(nID, MF_BYCOMMAND); for (int i = 0; i < 100; i++) { submenu->CheckMenuItem(2000 + i, MF_BYCOMMAND | MF_UNCHECKED); } if (status&MF_CHECKED) { g_branchname.Empty(); g_branchip.Empty(); g_bBranchModify = 0; g_user.bLongin = 0; if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } g_pMainWnd2->RefreshOutlookBar(); g_pMainWnd2->DrawLogin(); g_path1 = g_path1bak; g_path2 = g_path2bak; g_path3 = g_path3bak; g_path4 = g_path4bak; g_path5 = g_path5bak; g_path6 = g_path6bak; g_path7 = g_path7bak; g_pMainWnd2->EnableBtns(1); } else { BOOL bNeedCheckRights = 1; if (g_user.bLongin && g_branchname == "")//无需登陆本店判断其访问分店权限 { bNeedCheckRights = 0; } #ifndef SQLSERVER_VERSION if ((g_menubranchname.GetSize() * 2) == nID - 2000)//多店数据汇总 #else if ((g_menubranchname.GetSize()) == nID - 2000)//多店数据汇总 #endif { g_branchname.Empty(); g_branchip.Empty(); g_bBranchModify = 0; if (bNeedCheckRights) { g_user.bLongin = 0; if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } } if (IsHasRightsnew(28) == 0) { return; } g_bAllBranch = 1; g_pMainWnd2->ShowBar(0); g_pMainWnd2->RefreshOutlookBar2(); submenu->CheckMenuItem(nID, MF_BYCOMMAND | MF_CHECKED); g_branchname.Empty(); g_branchip.Empty(); g_bBranchModify = 0; g_pMainWnd2->DrawLogin(); g_pMainWnd2->EnableBtns(0); g_path1 = g_path1bak; g_path2 = g_path2bak; g_path3 = g_path3bak; g_path4 = g_path4bak; g_path5 = g_path5bak; g_path6 = g_path6bak; g_path7 = g_path7bak; } else { if (bNeedCheckRights) { g_branchname.Empty(); g_branchip.Empty(); g_bBranchModify = 0; submenu->CheckMenuItem(nID, MF_BYCOMMAND | MF_UNCHECKED); g_user.bLongin = 0; if (g_pMainWnd2) { g_pMainWnd2->DrawLogin(); g_pMainWnd2->ShowBar(0); } if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(28) == 0) { return; } submenu->CheckMenuItem(nID, MF_BYCOMMAND | MF_CHECKED); #ifndef SQLSERVER_VERSION if (nID % 2 == 0) g_branchname = g_menubranchname.ElementAt((nID - 2000) / 2); else g_branchname = g_menubranchname.ElementAt((nID - 2001) / 2); #else g_branchname = g_menubranchname.ElementAt(nID - 2000); #endif //printf("选择分店:%s\n", g_branchname); g_branchip.Empty(); CString domainname = ""; for (int i = 0; i < g_brancharray.GetSize(); i++) { /* for(int j=0; jyeararray; for( i=0; iRefreshOutlookBar(); m_Mdi.CloseAll(); if (g_pMainWnd2) { g_pMainWnd2->DrawLogin(); g_pMainWnd2->ShowBar(0); } if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; if (g_pMainWnd2)g_pMainWnd2->ShowBar(1); } g_pMainWnd2->DrawLogin(); g_pMainWnd2->EnableBtns(1); } g_nYearpos = -1; } #endif } void CMainFrame::OnStaffAchievementShow() //Jeff:此机只用于员工看业绩; { // TODO: Add your command handler code here if (g_user.bLongin == 0) // 是否登陆系统; { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return;// 是否有权限进行设置; CMenu *pMenu = GetMenu(); CMenu* submenu = pMenu->GetSubMenu(1); UINT status = submenu->GetMenuState(IDM_StaffAchievementShow, MF_BYCOMMAND); if (status&MF_CHECKED) { submenu->CheckMenuItem(IDM_StaffAchievementShow, MF_BYCOMMAND | MF_UNCHECKED); AfxGetApp()->WriteProfileInt(LYFZVERSION, "status2", 0); g_bStaffAchievementShow = 0; TCHAR szKey[MAX_PATH]; TCHAR szDir[MAX_PATH]; ::GetModuleFileName(NULL, szDir, MAX_PATH); HKEY hKey = 0; DWORD disp = 0; lstrcpy(szKey, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); int lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &disp); if (lResult == ERROR_SUCCESS) { RegDeleteValue(hKey, "YLGLMAINAUTORUN"); RegDeleteKey(hKey, "YLGLMAINAUTORUN"); RegCloseKey(hKey); } } else { submenu->CheckMenuItem(IDM_StaffAchievementShow, MF_BYCOMMAND | MF_CHECKED); AfxGetApp()->WriteProfileInt(LYFZVERSION, "status2", 1); g_bStaffAchievementShow = 1; TCHAR szKey[MAX_PATH]; TCHAR szDir[MAX_PATH]; ::GetModuleFileName(NULL, szDir, MAX_PATH); HKEY hKey = 0; DWORD disp = 0; lstrcpy(szKey, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); int lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, NULL, REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &disp); if (lResult == ERROR_SUCCESS) { lResult = RegSetValueEx(hKey, "YLGLMAINAUTORUN", 0, REG_SZ, (const unsigned char*)szDir, lstrlen(szDir)); RegCloseKey(hKey); } StaffAchievementSet dlg; dlg.DoModal(); } } void CMainFrame::PrintDinDan2(CString m_id) { #ifdef MODERN_VERSION SelContent seldlg; if (seldlg.DoModal() != IDOK)return; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); // CRect StrRect(0,0,560,818); LoadRect load; LoadRect load2; LoadRect load3; load.SetLiaPath ("9.lia"); load.SetMargins(-14,0); if(!load.Load ())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter="id='"+m_id+"';id='"+m_id+"';id='"+m_id+"';id='"+m_id+"';id='"+m_id+"'"; g_sendhead.code[0]=11; g_sendhead.code[1]=52; g_sendhead.code[2]=50; g_sendhead.code[3]=38; g_sendhead.code[4]=27; g_sendhead.tabcount=5; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArraybukuan2array; CArraybukuanarray; DataToArray(&g_List1array, &clientarray, &sparray, &bukuan2array, &bukuanarray); CTime tm=CTime::GetCurrentTime (); CString str; CString m_money1 = g_List1array.ElementAt (0).ElementAt (1); CString m_money2 = g_List1array.ElementAt (0).ElementAt (2); CString m_money3 = g_List1array.ElementAt (0).ElementAt (3); CString m_name1 = g_List1array.ElementAt (0).ElementAt (4); CString m_name2 = g_List1array.ElementAt (0).ElementAt (5); CString m_taoxiname= g_List1array.ElementAt (0).ElementAt (7); CString m_taoxijiage = g_List1array.ElementAt (0).ElementAt (8); CString m_zs = g_List1array.ElementAt (0).ElementAt (9); CString m_time1 = g_List1array.ElementAt (0).ElementAt (10); CString m_time2 = g_List1array.ElementAt (0).ElementAt (11); CString m_time3 = g_List1array.ElementAt (0).ElementAt (12); CString m_ren = g_List1array.ElementAt (0).ElementAt (14); CString m_discount = g_List1array.ElementAt (0).ElementAt (15); CString m_payed1 = g_List1array.ElementAt (0).ElementAt (16); CString m_payed2 = g_List1array.ElementAt (0).ElementAt (17); CString m_payed3 = g_List1array.ElementAt (0).ElementAt (18); CString m_payed4 = g_List1array.ElementAt (0).ElementAt (19); CString m_payed5 = g_List1array.ElementAt (0).ElementAt (20); CString m_time4 = g_List1array.ElementAt (0).ElementAt (21); CString m_time5 = g_List1array.ElementAt (0).ElementAt (22); CString m_clothescount = g_List1array.ElementAt (0).ElementAt (26); CString m_clothescount2 = g_List1array.ElementAt (0).ElementAt (27); CString m_outside = g_List1array.ElementAt (0).ElementAt (28); CString m_outside2 = g_List1array.ElementAt (0).ElementAt (29); CString m_style = g_List1array.ElementAt (0).ElementAt (30); CString m_waiter1 = g_List1array.ElementAt (0).ElementAt (34); CString m_waiter2 = g_List1array.ElementAt (0).ElementAt (35); CString m_waiter4 = g_List1array.ElementAt (0).ElementAt (37); CString m_bz = g_List1array.ElementAt (0).ElementAt (38); CString m_phone1=clientarray.ElementAt (0).ElementAt (3); CString m_phone2=clientarray.ElementAt (0).ElementAt (4); CString m_addr1=clientarray.ElementAt (0).ElementAt (7); CString m_addr2=clientarray.ElementAt (0).ElementAt (8); CString m_occupation1=clientarray.ElementAt (0).ElementAt (9); CString m_occupation2=clientarray.ElementAt (0).ElementAt (10); filter="name='"+m_ren+"'"; g_sendhead.code[0]=5; g_sendhead.tabcount=1; g_sendhead.bsql=0; int g_nYearposTemp=g_nYearpos; g_nYearpos=-1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos=g_nYearposTemp; if(g_bSendOK==0)return; DataToArray(&phonearray); m_money2.Format ("%f", atof(m_payed5)+atof(m_money1)); m_money1.Format ("%f", atof(m_taoxijiage)+atof(m_payed4)); m_money3.Format ("%f", atof(m_money1)-atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos=-1; CRect StrRect=load.m_rcarray .ElementAt (++rcpos); Image *pImg=NULL; ::LoadImageFromBuf (&pImg, g_mainpath+"\\skin\\logo2.jpg"); if(seldlg.m_bFrame) m_Print.DrawImage(pImg, StrRect); delete pImg; m_Print.SetFontFace(16, 1, "黑体"); StrRect=load.m_rcarray .ElementAt (++rcpos); if(seldlg.m_bFrame) ///////////////////////////////不用改 m_Print.DrawText((LPTSTR)(LPCTSTR)"摩登新娘工作流程单", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(10, 1, "宋体"); for( i=3; i<=6; i++) { StrRect=load.m_rcarray .ElementAt (i-1); if(seldlg.m_bFrame) m_Print.DrawRect2(StrRect, 1); } CStringArray strarray; if(seldlg.m_bBooking==0) { m_name1.Empty (); m_name2.Empty (); m_phone1.Empty (); m_phone2.Empty (); m_addr1.Empty (); m_addr2.Empty (); m_taoxiname.Empty (); m_taoxijiage.Empty (); } if(seldlg.m_bFrame ) { strarray.Add("新郎:"+m_name1); strarray.Add("H"); strarray.Add("O"); strarray.Add("手机:"+m_phone1); strarray.Add("新娘:"+m_name2); strarray.Add("H"); strarray.Add("O"); strarray.Add("手机:"+m_phone2); } else { strarray.Add(" "+m_name1); strarray.Add(""); strarray.Add(""); strarray.Add(" "+m_phone1); strarray.Add(" "+m_name2); strarray.Add(""); strarray.Add(""); strarray.Add(" "+m_phone2); } for( i=7; i<=14; i++) { StrRect=load.m_rcarray .ElementAt (i-1); StrRect.left +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-7), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect=load.m_rcarray .ElementAt (3); StrRect.left +=2; if(seldlg.m_bFrame) str="地址:"+m_addr1; else str=" "+m_addr1; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (5); StrRect.left +=2; if(seldlg.m_bFrame) str="地址:"+m_addr2; else str=" "+m_addr2; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); ////////////////////////////////////////////////////// StrRect=load.m_rcarray .ElementAt (14); str="预\r\n约"; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect.top +=46; StrRect.left +=2; if(seldlg.m_bFrame)AutoDraw(m_Print, StrRect, str, 1.4); m_Print.SetFontFace(10, 1, "宋体"); StrRect=load.m_rcarray .ElementAt (15); if(seldlg.m_bFrame) str="套系名称:"+m_taoxiname; else str=" "+m_taoxiname; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect.left +=4; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (16); if(seldlg.m_bFrame) str="单价:"+m_taoxijiage; else str=" "+m_taoxijiage; StrRect.left +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (21); if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); str="新人签名:"; StrRect.left +=2; if(seldlg.m_bFrame)m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (22); if(seldlg.m_bBooking==0) { if(seldlg.m_bFrame) str="未付款:"; else str=" "; } else { if(seldlg.m_bFrame) str="未付款:"+m_money3; else str=" "+m_money3; } StrRect.left +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (23); str="结婚秘书:"; StrRect.left +=2; if(seldlg.m_bFrame)m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (24); if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect.left +=3; StrRect.top +=3; StrRect.right -=2; StrRect.bottom -=2; int realpos=0;str=""; for(i=0; i6)break; str=bukuanarray.ElementAt (i).ElementAt (1); ftotal+=atof(str); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (bukuanarray.ElementAt (i).ElementAt (4)); } } while(strarray2.GetSize ()<36) strarray2.Add (""); str.Format ("%f", ftotal); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (""); //拍照 ftotal=0; realcount=0; if(seldlg.m_bTake) { for(i=0; i6)break; str=bukuanarray.ElementAt (i).ElementAt (1); ftotal+=atof(str); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (bukuanarray.ElementAt (i).ElementAt (4)); } } while(strarray2.GetSize ()<42+36) strarray2.Add (""); str.Format ("%f", ftotal); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (""); //选片 ftotal=0; realcount=0; if(seldlg.m_bChoose) { for(i=0; i6)break; str=bukuanarray.ElementAt (i).ElementAt (1); ftotal+=atof(str); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (bukuanarray.ElementAt (i).ElementAt (4)); } } while(strarray2.GetSize ()<42*2+36) strarray2.Add (""); str.Format ("%f", ftotal); strarray2.Add (GetW(str)); strarray2.Add (GetK(str)); strarray2.Add (GetB(str)); strarray2.Add (GetS(str)); strarray2.Add (GetG(str)); strarray2.Add (""); ///////////////////////////// CRect temprc; for(int n=0; n<4; n++) { StrRect=load.m_rcarray .ElementAt (17); StrRect.top +=n*122; StrRect.bottom +=n*122; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect=load.m_rcarray .ElementAt (18); if(n) { StrRect.left +=36; StrRect.right +=36; } StrRect.top +=n*122; StrRect.bottom +=n*122; if(seldlg.m_bFrame) str.Format("%d年", tm.GetYear ()); else str.Format("%d ", tm.GetYear ()); if( (seldlg.m_bBooking==0 && n==3) ||(seldlg.m_bBooking==0 && n==0) || (seldlg.m_bTake==0 && n==1) || (seldlg.m_bChoose==0 && n==2)) { if(seldlg.m_bFrame) str=" 年"; else str=" "; } m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (19); if(n) { StrRect.left +=38; StrRect.right +=38; } StrRect.top +=n*122; StrRect.bottom +=n*122; if(seldlg.m_bFrame) str.Format("%02d月", tm.GetMonth ()); else str.Format("%02d ", tm.GetMonth ()); if( (seldlg.m_bBooking==0 && n==3) ||(seldlg.m_bBooking==0 && n==0) || (seldlg.m_bTake==0 && n==1) || (seldlg.m_bChoose==0 && n==2)) { if(seldlg.m_bFrame) str=" 月"; else str=" "; } m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (20); if(n) { StrRect.left +=36; StrRect.right +=36; } StrRect.top +=n*122; StrRect.bottom +=n*122; if(seldlg.m_bFrame) str.Format("%02d日", tm.GetDay ()); else str.Format("%02d ", tm.GetDay ()); if( (seldlg.m_bBooking==0 && n==3) ||(seldlg.m_bBooking==0 && n==0) || (seldlg.m_bTake==0 && n==1) || (seldlg.m_bChoose==0 && n==2)) { if(seldlg.m_bFrame) str=" 日"; else str=" "; } m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); for(i=26; i<=32; i++) { StrRect=load.m_rcarray .ElementAt (i-1); StrRect.bottom -=14; for(int j=0; j<8; j++) { StrRect.top=StrRect.bottom; if(j>2) { StrRect.bottom =StrRect.top+14; } else { StrRect.bottom =StrRect.top+13; } temprc=StrRect; StrRect.top +=n*122; StrRect.bottom +=n*122; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); if(i==26 && j==4 && seldlg.m_bFrame) m_Print.DrawText((LPTSTR)(LPCTSTR)"合计", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else if(i==26 && j==5 && seldlg.m_bFrame) m_Print.DrawText((LPTSTR)(LPCTSTR)"付款", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else if(i==26 && j==7 && seldlg.m_bFrame) m_Print.DrawText((LPTSTR)(LPCTSTR)"合计", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else if(j==0) m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt (i-26), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); else if(j && i>26 && n<3) { m_Print.DrawText((LPTSTR)(LPCTSTR)strarray2.ElementAt ((j-1)*6+(i-27)+n*42), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } StrRect=temprc; } } } if(seldlg.m_bFrame) { StrRect=load.m_rcarray .ElementAt (32); str="注\r\n意\r\n事\r\n项"; StrRect.top +=367; StrRect.bottom +=367; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect.top +=17; StrRect.left +=2; AutoDraw(m_Print, StrRect, str, 1.4); StrRect=load.m_rcarray .ElementAt (33); str="1: 本预约单自预定日期起一年内有效.定金在拍照套系金额中扣出.预定金一概不退\r\n\ 2: 多拍照片只供筛选.恕不奉送.版权所有.不得私自拷贝\r\n\ 3: 拍照款请于拍照时一次付清\r\n\ 4: 新娘装AM8:00前钟点费另计.婚纱礼服出租押金500-2000元\r\n\ 5: 本公司设有豪华VIP礼服区.及皇家御用礼服展区.但需另外加价.详情请咨本店人员\r\n\ 6: 安瓶, 美甲一次性化妆用具等均属增值服务部分,则需另外加价,详情咨询本店工作人员\r\n\ 7: 本电脑机械故障导致文件资料丢失.本公司只提供补拍服务\r\n\ 8: 每次前来请务必携带本单交给工作人员.本单是您在摩登新娘拍照的凭证.办理有关手续凭本单办理盖\r\n\ 章后方可生效"; StrRect.top +=367; StrRect.bottom +=367; if(seldlg.m_bFrame)m_Print.DrawRect2(StrRect, 1); StrRect.top +=4; StrRect.left +=2; AutoDraw(m_Print, StrRect, str, 1.0); StrRect=load.m_rcarray .ElementAt (34); str="第\r\n一\r\n联\r\n:\r\n存\r\n根\r\n(\r\n白\r\n色\r\n)\r\n \r\n \r\n \r\n第\r\n二\r\n联\r\n:\r\n客\r\n户\r\n联\r\n(\r\n红\r\n色\r\n)\r\n \r\n \r\n \r\n第\r\n三\r\n联\r\n:\r\n作\r\n业\r\n联\r\n(\r\n绿\r\n色\r\n)"; AutoDraw(m_Print, StrRect, str, 1.0); m_Print.SetFontFace(13, 1, "宋体"); StrRect=load.m_rcarray .ElementAt (35); str="地 址: 汉口 . 解放大道 . 头道街东部购物公园C栋二,三层"; StrRect.top +=367; StrRect.bottom +=367; StrRect.left +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect=load.m_rcarray .ElementAt (36); str="喜讯热线: 027-81888799 81888599 81888699"; StrRect.top +=367; StrRect.bottom +=367; StrRect.left +=2; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } PrintPreview dlg; m_Print.GetWidHei(dlg.m_w , dlg.m_h ); dlg.m_pDC =m_Print.GetPDC() ; if(dlg.DoModal ()!=IDOK)return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); #endif } extern CString GetHMoney(CString str); void CMainFrame::PrintReceipt3(CString strOrderNumber, CStringArray *pArray, float money) { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.tabcount = 1; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("15.lia"); load.SetMargins(0, 0); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.tabcount = 2; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &clientarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7);//+" 张数:"+g_List1array.ElementAt (0).ElementAt (9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); CString m_qq1 = clientarray.ElementAt(0).ElementAt(5); CString m_qq2 = clientarray.ElementAt(0).ElementAt(6); CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_birthday1 = clientarray.ElementAt(0).ElementAt(11); CString m_birthday2 = clientarray.ElementAt(0).ElementAt(12); CString m_addr = m_addr1 + ";"; m_addr.TrimLeft(";"); m_addr += m_addr2; CString m_qq = m_qq1 + ";"; m_qq.TrimLeft(";"); m_qq += m_qq2; m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top -= 0; StrRect.bottom -= 10; StrRect.left -= 140; StrRect.right = StrRect.left + 48; m_Print.SetFontFace(15, 1, "宋体"); m_Print.SetColor(0xffffff); m_Print.DrawRect(StrRect, 0); m_Print.DrawText((LPTSTR)(LPCTSTR)" Honey", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 48; m_Print.DrawRect(StrRect, RGB(255, 0, 0)); m_Print.SetColor(0, RGB(255, 0, 0)); m_Print.DrawText((LPTSTR)(LPCTSTR)" 挚 爱 ", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetColor(0); m_Print.SetFontFace(12, 1, "宋体"); StrRect.left -= 48; int hei = StrRect.Height(); StrRect.top = StrRect.bottom + 2; StrRect.bottom += hei + 2; m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top = StrRect.bottom - 2; StrRect.bottom += hei - 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"www.gzhoney.com", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(12, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"收款单", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(9, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)("客户编号:" + strOrderNumber), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"先生姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"预约地点:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_outside, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); //////////// StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"女士姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"开单日期:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)g_date, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); for (i = 19; i < 49; i++) { if (i >= 44) { StrRect = load.m_rcarray.ElementAt(i - 5); int hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; } else StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } float fmoney = 0; for (i = 19; i < 49; i++) { if (i >= 44) { StrRect = load.m_rcarray.ElementAt(i - 5); int hei = StrRect.Height(); StrRect.top += hei; StrRect.bottom += hei; } else StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; /* if((i-19)%5==2) { fmoney+=atof(pArray->ElementAt (i-19)); }*/ m_Print.DrawText((LPTSTR)(LPCTSTR)(pArray->ElementAt(i - 19)), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } m_money2.Format("%f", money); ConvertToPrice(m_money2); StrRect = load.m_rcarray.ElementAt(44); CString str; str.Format("金额(大写): %s 萬 %s 仟 %s 佰 %s 拾 %s 元整 实收¥: %s 元 收银员: %s", \ GetHMoney(GetW(m_money2)), GetHMoney(GetK(m_money2)), GetHMoney(GetB(m_money2)), GetHMoney(GetS(m_money2)), GetHMoney(GetG(m_money2)), \ m_money2, g_user.name); m_Print.DrawRect2(StrRect, 1); StrRect.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(46); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客确认签名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(47); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(48); m_Print.DrawText((LPTSTR)(LPCTSTR)"地址: 广州市越秀区流花路120号东方宾馆一号楼首层 喜事热线: 020-8666 8233 020-8667 8166", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(45); str = "\ 顾客须知\r\n\ 首先感谢您选择挚爱婚纱摄影,进入本公司场所,请勿带摄影器材(面斥不雅)为了更好的服务更愉快的流程,请仔细阅读以下事项\r\n\ 1. 核对清楚套系内容,有任何特殊要求请与工作人员沟通,以文字注明生效.\r\n\ 2. 拍摄前请付清套系全款,另购买其它产品款项购买当天付清。\r\n\ 3. 拍摄完毕后15天内公司专人电话通知选相片,为了更好更专业的选出您要制作的产品,请不要带陪同(意见不一不便照顾)。\r\n\ 4. 选样文件因空间有限保留时间为60天删除(拍摄日起)成品以取件日后保管30天,30天后未来取件需收第天5天保管费,\ 为了对您负责请本人持单据取件,委托他人取件需带单据和委托人身份证。\r\n\ 5. 认真对待合同意义确认套系内容与制作内容一致,超出内容的自愿消费项目签名确认消费,恕不退还。\r\n\ 6. 产品取件日期为45天(选相片那天算起)如要提前属急件,提前30天内需收10%的加急费。"; AutoDraw(m_Print, StrRect, str, 1.8); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintReceipt2(CString strOrderNumber) { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.tabcount = 1; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(126)) + 1); CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("14.lia"); load.SetMargins(0, 0); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "';id='" + strOrderNumber + "'"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 93; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArraymoneyarray; DataToArray(&g_List1array, &clientarray, &moneyarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_taoxiname = g_List1array.ElementAt(0).ElementAt(7);//+" 张数:"+g_List1array.ElementAt (0).ElementAt (9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); CString m_qq1 = clientarray.ElementAt(0).ElementAt(5); CString m_qq2 = clientarray.ElementAt(0).ElementAt(6); CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_birthday1 = clientarray.ElementAt(0).ElementAt(11); CString m_birthday2 = clientarray.ElementAt(0).ElementAt(12); CString m_addr = m_addr1 + ";"; m_addr.TrimLeft(";"); m_addr += m_addr2; CString m_qq = m_qq1 + ";"; m_qq.TrimLeft(";"); m_qq += m_qq2; m_money1.Format("%f", atof(m_taoxijiage)); m_money2 = "0"; for (i = 0; i < moneyarray.GetSize(); i++) { if (moneyarray.ElementAt(i).ElementAt(5) == "预约收款") m_money2 = moneyarray.ElementAt(i).ElementAt(1); } m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top -= 0; StrRect.bottom -= 10; StrRect.left -= 140; StrRect.right = StrRect.left + 48; m_Print.SetFontFace(15, 1, "宋体"); m_Print.SetColor(0xffffff); m_Print.DrawRect(StrRect, 0); m_Print.DrawText((LPTSTR)(LPCTSTR)" Honey", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 48; m_Print.DrawRect(StrRect, RGB(255, 0, 0)); m_Print.SetColor(0, RGB(255, 0, 0)); m_Print.DrawText((LPTSTR)(LPCTSTR)" 挚 爱 ", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetColor(0); m_Print.SetFontFace(12, 1, "宋体"); StrRect.left -= 48; int hei = StrRect.Height(); StrRect.top = StrRect.bottom + 2; StrRect.bottom += hei + 2; m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top = StrRect.bottom - 2; StrRect.bottom += hei - 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"www.gzhoney.com", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(12, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"定金单", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(9, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)("客户编号:" + strOrderNumber), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"先生姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"预约地点:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_outside, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); //////////// StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"女士姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"生日:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"开单日期:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)g_date, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客地址:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_addr, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"大婚时间:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time3, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"QQ/MSN:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_qq, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); CStringArray strarray; strarray.Add("套系名称"); strarray.Add("总 额"); strarray.Add("定 金"); strarray.Add("余 款"); strarray.Add("摄影日期"); strarray.Add(m_taoxiname); strarray.Add(m_money1); strarray.Add(m_money2); strarray.Add(m_money3); strarray.Add(m_time2); for (i = 25; i < 37; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } for (i = 25; i < 35; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 25), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } StrRect = load.m_rcarray.ElementAt(35); StrRect.left += 5; StrRect.top += 5; m_Print.DrawText((LPTSTR)(LPCTSTR)" 备 注:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(36); CString str; str.Format("金额(大写): %s 萬 %s 仟 %s 佰 %s 拾 %s 元整 ¥: %s 元 收银员: %s", \ GetHMoney(GetW(m_money2)), GetHMoney(GetK(m_money2)), GetHMoney(GetB(m_money2)), GetHMoney(GetS(m_money2)), GetHMoney(GetG(m_money2)), \ m_money2, g_user.name); StrRect.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(38); m_Print.DrawText((LPTSTR)(LPCTSTR)"营业员:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(39); m_Print.DrawText((LPTSTR)(LPCTSTR)m_ren, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(40); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客确认签名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(41); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(42); m_Print.DrawText((LPTSTR)(LPCTSTR)"地址: 广州市越秀区流花路120号东方宾馆一号楼首层 喜事热线: 020-8666 8233 020-8667 8166", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(37); str = "\ 顾客须知\r\n\ 首先感谢您选择挚爱婚纱摄影,进入本公司场所,请勿带摄影器材(面斥不雅)为了更好的服务更愉快的流程,请仔细阅读以下事项\r\n\ 1. 核对清楚套系内容,有任何特殊要求请与工作人员沟通,以文字注明生效.\r\n\ 2. 拍摄前请付清套系全款,另购买其它产品款项购买当天付清。\r\n\ 3. 拍摄完毕后15天内公司专人电话通知选相片,为了更好更专业的选出您要制作的产品,请不要带陪同(意见不一不便照顾)。\r\n\ 4. 选样文件因空间有限保留时间为60天删除(拍摄日起)成品以取件日后保管30天,30天后未来取件需收第天5天保管费,\ 为了对您负责请本人持单据取件,委托他人取件需带单据和委托人身份证。\r\n\ 5. 认真对待合同意义确认套系内容与制作内容一致,超出内容的自愿消费项目签名确认消费,恕不退还。\r\n\ 6. 产品取件日期为45天(选相片那天算起)如要提前属急件,提前30天内需收10%的加急费。"; AutoDraw(m_Print, StrRect, str, 1.8); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::OnAutodelphoto() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; DelPhotoSet dlg; dlg.DoModal(); } void CMainFrame::Onphotomanage() // 客照管理中心; { if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; ShowPic3 dlg; dlg.DoModal(); } void CMainFrame::OnCompanyinfo() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; CompanyInfo dlg; dlg.DoModal(); } void CMainFrame::OnTaoxifg() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; TXFG dlg; dlg.DoModal(); } void CMainFrame::OnHelpfile() { // TODO: Add your command handler code here // ShellExecute(NULL, _T("open"), _T(g_mainpath+"\\帮助文档.chm"), "", NULL, SW_SHOWNORMAL); // if(::PathFileExists (g_mainpath+"\\zx.dll")) // ShellExecute(NULL, _T("open"), _T("www.zcsmkj.com"), "", NULL, SW_SHOWNORMAL); // else ShellExecute(NULL, _T("open"), _T("www.lyfz.net"), "", NULL, SW_SHOWNORMAL); } void CMainFrame::OnPhotobak() { // TODO: Add your command handler code here if (g_user.bLongin == 0) { if (g_bNoLoginLia) { Login dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } else { Login3 dlg; dlg.SetLiaPath("5.lia"); dlg.DoModal(); } if (g_user.bLongin == 0)return; } if (IsHasRightsnew(49) == 0)return; PhotoBak dlg; dlg.DoModal(); } //客户报表 void CMainFrame::OnClose2() { // TODO: Add your message handler code here and/or call default if (AfxMessageBox("是否退出系统?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return; if(g_user.bLongin) WriteLog("退出系统!", "退出系统!"); g_bShowBar = 0; if (m_Mdi.MainClose()) CMDIFrameWnd::OnClose(); } // void CMainFrame::ResetTimer() { } void CMainFrame::LinkClick(CString str, int nParent) { g_pMainWnd2->m_bar.LinkClick(str); } void CMainFrame::PrintFlowChart2(CString m_id) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(64); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("16.lia"); load.SetMargins(0, 0); if (!load.Load())return; LoadRect load2; load2.SetLiaPath("17.lia"); load2.SetMargins(0, 660); if (!load2.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + m_id + "';id='" + m_id + "';id='" + m_id + "' and kind<>'2'"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 223; g_sendhead.tabcount = 3; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; DataToArray(&g_List1array, &clientarray, &sparray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_photocount = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = "客人要求: " + g_List1array.ElementAt(0).ElementAt(39) + g_List1array.ElementAt(0).ElementAt(75); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); CString spno; for (i = 0; i < sparray.GetSize(); i++) { // if(sparray.ElementAt (i).ElementAt (6).IsEmpty ())continue; if (sparray.ElementAt(i).ElementAt(4) == "4" && sparray.ElementAt(i).ElementAt(5) != "入册" && sparray.ElementAt(i).ElementAt(5) != "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册"&&sparray.ElementAt(i).ElementAt(5) == "入底"&&sparray.ElementAt(i).ElementAt(6).IsEmpty())continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; spno += sparray.ElementAt(i).ElementAt(5); if (sparray.ElementAt(i).ElementAt(6).IsEmpty()) spno += "; "; else { spno += ":"; spno += sparray.ElementAt(i).ElementAt(6); spno += "; "; } } spno += " 加挑:"; for (i = 0; i < sparray.GetSize(); i++) { if (sparray.ElementAt(i).ElementAt(4) != "4")continue; if (sparray.ElementAt(i).ElementAt(5) == "入册")continue; if (sparray.ElementAt(i).ElementAt(5) == "入底")continue; if (sparray.ElementAt(i).ElementAt(5) == "底片光盘")continue; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(136)) && sparray.ElementAt(i).ElementAt(6) == "")continue; spno += sparray.ElementAt(i).ElementAt(5); if (sparray.ElementAt(i).ElementAt(6).IsEmpty()) spno += "; "; else { spno += ":"; spno += sparray.ElementAt(i).ElementAt(6); spno += "; "; } } if (spno.Right(6) == " 加挑:") { spno = spno.Left(spno.GetLength() - 6); } //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top -= 0; StrRect.bottom -= 10; StrRect.left -= 140; StrRect.right = StrRect.left + 48; m_Print.SetFontFace(15, 1, "宋体"); m_Print.SetColor(0xffffff); m_Print.DrawRect(StrRect, 0); m_Print.DrawText((LPTSTR)(LPCTSTR)" Honey", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 48; m_Print.DrawRect(StrRect, RGB(255, 0, 0)); m_Print.SetColor(0, RGB(255, 0, 0)); m_Print.DrawText((LPTSTR)(LPCTSTR)" 挚 爱 ", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetColor(0); m_Print.SetFontFace(12, 1, "宋体"); StrRect.left -= 48; int hei = StrRect.Height(); StrRect.top = StrRect.bottom + 2; StrRect.bottom += hei + 2; m_Print.DrawText((LPTSTR)(LPCTSTR)"挚爱婚纱精品摄影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.top = StrRect.bottom - 2; StrRect.bottom += hei - 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"www.gzhoney.com", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(12, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"加做取件单", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(11, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)("客户编号:" + m_id), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"先生姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"选片日期:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time4, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"取件日期:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time5, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); //////////// StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"女士姓名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_name2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"电话:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_phone2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"赠送张数:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_photocount, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)"开单日期:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)m_time1, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); //////////// ///////////spno CRect sprc[22]; StrRect = load.m_rcarray.ElementAt(19); StrRect.left += 4; StrRect.right -= 3; hei = StrRect.Height(); for (i = 0; i < 22; i++) { sprc[i] = StrRect; m_Print.DrawRect2(StrRect, 1); if (i == 0) { StrRect.left += 5; m_Print.DrawText((LPTSTR)(LPCTSTR)"全部套系内容:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect.left -= 5; } StrRect.top = StrRect.bottom; StrRect.bottom = StrRect.top + hei; sprc[i].left += 4; sprc[i].right -= 3; } StrRect.bottom = StrRect.top + 60; m_Print.DrawRect2(StrRect, 1); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 3; StrRect.bottom -= 3; AutoDraw(m_Print, StrRect, m_bz, 1.8); CString temp, tempspno, tempbz; CSize size; BOOL bRun = 0; int fontsize = 12; ll: tempspno = spno; m_Print.SetFontFace(fontsize, 1, "宋体"); for (i = 1; i<22; i++) { if (!tempspno.IsEmpty()) { temp = tempspno; m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); int right = 0; CRect temprc = sprc[i]; while (size.cx>temprc.Width()) { right++; temp = tempspno.Left(tempspno.GetLength() - (right)); if (GIsHalfHZ(temp)) { right++; temp.Delete(temp.GetLength() - 1); } m_Print.GetStrSize((LPTSTR)(LPCTSTR)temp, size); } if (bRun) m_Print.DrawText((LPTSTR)(LPCTSTR)temp, sprc[i], 0, 0, FORMAT_LEFT | FORMAT_VCENTER); tempspno = tempspno.Right(tempspno.GetLength() - temp.GetLength()); if (tempspno.IsEmpty())i++; } } if (tempspno.IsEmpty() == 0)//|| tempbz.IsEmpty ()==0) { fontsize--; goto ll; } if (bRun == 0) { bRun = 1; goto ll; } m_Print.SetFontFace(12, 1, "宋体"); StrRect = load2.m_rcarray.ElementAt(1); m_Print.DrawText((LPTSTR)(LPCTSTR)"喜事热线: 020-8666 8233 020-8667 8166", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(2); m_Print.DrawText((LPTSTR)(LPCTSTR)"地址: 广州市越秀区流花路120号东方宾馆一号楼首层 www.gzhoney.com", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(3); m_Print.DrawText((LPTSTR)(LPCTSTR)"顾客确认签名:", StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(4); m_Print.DrawRect2(StrRect, 2); StrRect = load2.m_rcarray.ElementAt(0); CString str = "\ 爱心提示:如对制作有任何要求请清楚列出,所有制作内容一经确认将按要求制作。\r\n\ 选样文件从拍摄日期计算将保留二个月;套相成品按取件日期保留三个月,逾期不做保留。\r\n\ 产品取件日期为45天(选相片那天算起)如要提前属急件,提前30天内需收10%的加急费。"; AutoDraw(m_Print, StrRect, str, 1.8); PrintPreview dlg; dlg.m_mode = 2; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (dlg.DoModal() != IDOK)return; //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } //分店 CString CMainFrame::GetDanWei(CString name, CArray*array) { for (int i = 0; i < array->GetSize(); i++) { if (name == array->ElementAt(i).ElementAt(1)) return array->ElementAt(i).ElementAt(2); } return ""; } //g_sendhead int CMainFrame::GetPort() { static int aaa = -1; if (aaa == -1) { aaa = CTime::GetCurrentTime().GetSecond() % 7; } aaa++; if (aaa >= 7)aaa = 0; return 8387 + aaa; } void CMainFrame::OnShowBakState() { // TODO: Add your command handler code here g_sendhead.bsql = 0; g_sendhead.code[0] = 171; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0) { return; } CArrayg_bakstatearray; DataToArray(&g_bakstatearray); while (g_bakstatearray.GetSize() > 7) { g_bakstatearray.RemoveAt(0); } int photocount = 0; int infocount = 0; for (int i = 0; i < g_bakstatearray.GetSize(); i++) { if (g_bakstatearray.ElementAt(i).ElementAt(1) != "1")photocount++; if (g_bakstatearray.ElementAt(i).ElementAt(2) != "1")infocount++; } ShowBakState dlg; dlg.m_pArray = &g_bakstatearray; dlg.DoModal(); } void CMainFrame::PrintReceipt2(CStringArray *pArray) { int i = 0; int printcot = 1; for (int aa = 0; aa < printcot; aa++) { g_sendhead.bsql = 0; g_sendhead.code[0] = 24; g_sendhead.tabcount = 1; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; if (0 == g_bSendOK)return; DataToArray(&g_cominfoarray); CString SerialNo; SerialNo.Format("SerialNo.%05d", atoi(g_cominfoarray.ElementAt(0).ElementAt(127)) + 1); CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; BOOL bSmall = 0; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单 { bSmall = 1; load.SetLiaPath("20.lia"); } else load.SetLiaPath("10.lia"); if (bSmall) load.SetMargins(-10, 0); else load.SetMargins(10, 0); if (!load.Load())return; int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); Image *pImg = NULL; #ifdef MNLS_VERSION LoadImageFromRes(&pImg, MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); #else ::LoadImageFromBuf(&pImg, g_mainpath + "\\图片\\logo.jpg"); #endif // m_Print.DrawImage(pImg, StrRect); delete pImg; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(139))) { Image *pImg = NULL; g_nSendCode = 31; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(1); g_nYearpos = g_nYearposTemp; g_nSendCode = 0; if (g_bSendOK == 0)return; ::LoadImageFromBuf(&pImg, g_pData, g_nLeng); if (pImg) { StrRect.left = 65; if (bSmall)StrRect.left = 55; StrRect.top = 10; StrRect.right = StrRect.left + 58; StrRect.bottom = StrRect.top + 58; m_Print.DrawImage(pImg, StrRect); delete pImg; pImg = NULL; } } if (bSmall) { m_Print.SetFontFace(18, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(6, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 8; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); m_Print.SetFontFace(10, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); for ( i = 7; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } for (i = 9; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } m_Print.SetFontFace(6, 1, "宋体"); for (i = 24; i < 26; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; if (i == 24) m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); else m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); } } else//大单 { m_Print.SetFontFace(20, 1, "黑体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); // StrRect=load.m_rcarray .ElementAt (++rcpos); // m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt (rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.right -= 15; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); int hei = StrRect.Height(); StrRect.bottom = StrRect.top; StrRect.top -= 10; m_Print.DrawText((LPTSTR)(LPCTSTR)SerialNo, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_BOTTOM); m_Print.SetFontFace(8, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); m_Print.SetFontFace(13, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(rcpos), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.SetFontFace(11, 1, "宋体"); for ( i = 7; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } for (i = 9; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } m_Print.SetFontFace(8, 1, "宋体"); for (i = 24; i < 27; i++) { StrRect = load.m_rcarray.ElementAt(i); StrRect.left += 2; m_Print.DrawText((LPTSTR)(LPCTSTR)pArray->ElementAt(i), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } } PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); SerialNo.Format("%d", atoi(g_cominfoarray.ElementAt(0).ElementAt(127)) + 1); CString sql; sql.Format("update version set [serialno2]='%s'", SerialNo); g_sendhead.bsql = 1; g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(sql); g_nYearpos = g_nYearposTemp; } } //出生年月 //第一联 void CMainFrame::OnLog() { // TODO: Add your command handler code here OnShowBakState if (IsHasRightsnew(49) == 0)return; ShowLOg dlg; dlg.DoModal(); } // www.lyfz.net 8888 void CMainFrame::PrintDinDan6(CString m_id) { // TODO: Add your control notification handler code here 预约订单 int printcot = 1; for (int aa = 0; aa < printcot; aa++) { PrintPreview dlg; CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(63); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } if (atoi(g_cominfoarray.ElementAt(0).ElementAt(66)) == 3) { m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("6.lia"); load.SetMargins(-14, 15); if (!load.Load())return; LoadRect load2; load2.SetLiaPath("7.lia"); load2.SetMargins(-14, 216 + 15); if (!load2.Load())return; LoadRect load3; load3.SetLiaPath("8.lia"); load3.SetMargins(-14, 705 + 15); if (!load3.Load())return; int i; ////////////////////////////////////////////////////////////// CStringArray txarray; CString filter = "id='" + m_id + "';id='" + m_id + "';id='" + m_id + "' and name<>'入册' and name<>'入底';id='" + m_id + "';;"; g_sendhead.code[0] = 11; g_sendhead.code[1] = 52; g_sendhead.code[2] = 50; g_sendhead.code[3] = 150; g_sendhead.code[4] = 77; g_sendhead.code[5] = 4; g_sendhead.tabcount = 6; g_sendhead.bsql = 0; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return; CArraysparray; CArrayclientarray; CArrayphonearray; CArrayfgarray; CArraydanweiarray; CArrayjdarray; DataToArray(&g_List1array, &clientarray, &sparray, &jdarray, &fgarray, &danweiarray); CString m_money1 = g_List1array.ElementAt(0).ElementAt(1); CString m_money2 = g_List1array.ElementAt(0).ElementAt(2); CString m_money3 = g_List1array.ElementAt(0).ElementAt(3); CString m_name1 = g_List1array.ElementAt(0).ElementAt(4); CString m_name2 = g_List1array.ElementAt(0).ElementAt(5); CString m_zs = g_List1array.ElementAt(0).ElementAt(9); CString m_taoxiname; if (m_zs.Find("\\") != -1) m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 入底\\入册:" + g_List1array.ElementAt(0).ElementAt(9); else m_taoxiname = g_List1array.ElementAt(0).ElementAt(7) + " 入底:" + g_List1array.ElementAt(0).ElementAt(9); CString m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8); CString m_time1 = g_List1array.ElementAt(0).ElementAt(10); CString m_time2 = g_List1array.ElementAt(0).ElementAt(11); CString m_time3 = g_List1array.ElementAt(0).ElementAt(12); CString m_ren = g_List1array.ElementAt(0).ElementAt(14); CString m_discount = g_List1array.ElementAt(0).ElementAt(15); CString m_payed1 = g_List1array.ElementAt(0).ElementAt(16); CString m_payed2 = g_List1array.ElementAt(0).ElementAt(17); CString m_payed3 = g_List1array.ElementAt(0).ElementAt(18); CString m_payed4 = g_List1array.ElementAt(0).ElementAt(19); CString m_payed5 = g_List1array.ElementAt(0).ElementAt(20); CString m_time4 = g_List1array.ElementAt(0).ElementAt(21); CString m_time5 = g_List1array.ElementAt(0).ElementAt(22); CString m_clothescount = g_List1array.ElementAt(0).ElementAt(26); CString m_clothescount2 = g_List1array.ElementAt(0).ElementAt(27); CString m_outside = g_List1array.ElementAt(0).ElementAt(28); CString m_outside2 = g_List1array.ElementAt(0).ElementAt(29); CString m_style = g_List1array.ElementAt(0).ElementAt(30); CString m_waiter1 = g_List1array.ElementAt(0).ElementAt(34); CString m_waiter2 = g_List1array.ElementAt(0).ElementAt(35); CString m_waiter4 = g_List1array.ElementAt(0).ElementAt(37); CString m_bz = g_List1array.ElementAt(0).ElementAt(38); if (jdarray.GetSize()) { if (m_bz.IsEmpty() == 0) m_bz = "\r\n" + m_bz; m_bz += "景点:"; } for (i = 0; i < jdarray.GetSize(); i++) { m_bz += jdarray.ElementAt(i).ElementAt(1) + ";"; } m_bz.TrimRight(";"); CString m_phone1 = clientarray.ElementAt(0).ElementAt(3); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); if (IsHasRights2new(31) == 0) { m_phone1 = "***"; m_phone2 = "***"; } CString m_addr1 = clientarray.ElementAt(0).ElementAt(7); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_occupation1 = clientarray.ElementAt(0).ElementAt(9); CString m_occupation2 = clientarray.ElementAt(0).ElementAt(10); CString m_sex = clientarray.ElementAt(0).ElementAt(18); CString m_birthday = clientarray.ElementAt(0).ElementAt(11); filter = "name='" + m_ren + "'"; g_sendhead.code[0] = 5; g_sendhead.tabcount = 1; g_sendhead.bsql = 0; int g_nYearposTemp = g_nYearpos; g_nYearpos = -1; g_pMainWnd->ProcessChatMessageRequest2(filter); g_nYearpos = g_nYearposTemp; if (g_bSendOK == 0)return; DataToArray(&phonearray); m_money1.Format("%f", atof(m_taoxijiage)); m_money2.Format("%f", atof(m_payed1)); m_money3.Format("%f", atof(m_money1) - atof(m_money2)); ConvertToPrice(m_money1); ConvertToPrice(m_money2); ConvertToPrice(m_money3); //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; Image *pImg = NULL; #ifdef MNLS_VERSION LoadImageFromRes(&pImg, MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); #else ::LoadImageFromBuf(&pImg, g_mainpath + "\\图片\\logo.jpg"); #endif m_Print.DrawImage(pImg, StrRect); delete pImg; m_Print.SetFontFace(11, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(20); StrRect.right = load.m_rcarray.ElementAt(23).right; StrRect.top -= 18; StrRect.bottom -= 18; CString str = "地址:" + g_cominfoarray.ElementAt(0).ElementAt(12); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); str = "电话:" + g_cominfoarray.ElementAt(0).ElementAt(11); m_Print.DrawText((LPTSTR)(LPCTSTR)str, StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"婚 纱 摄 影", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; #ifdef MNLS_VERSION m_Print.DrawRect(StrRect); #endif m_Print.SetFontFace(7, 1, "黑体"); m_Print.SetColor(0xffffff); #ifdef MNLS_VERSION m_Print.DrawText((LPTSTR)(LPCTSTR)"佳 美 女 人 坊 艺 术 摄 影 机 构", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif m_Print.SetColor(0); m_Print.SetFontFace(15, 1, "宋体"); StrRect = load.m_rcarray.ElementAt(++rcpos); StrRect.top -= 15; StrRect.bottom -= 15; m_Print.DrawText((LPTSTR)(LPCTSTR)"(套系合同拍摄单)", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); CStringArray strarray; strarray.Add("NO: " + m_id); CString date; date.Format("%s年%s月%s日", g_date.Mid(0, 4), g_date.Mid(5, 2), g_date.Mid(8, 2)); strarray.Add(date); strarray.Add("喜爱"); strarray.Add("格调"); if (fgarray.GetSize() == 12) { for (int i = 0; i < 12; i++) strarray.Add(fgarray.ElementAt(i).ElementAt(0)); } else { strarray.Add("复古典雅"); strarray.Add("温文尔雅"); strarray.Add("豪华艳丽"); strarray.Add("传统大方"); strarray.Add("新潮个性"); strarray.Add("浪漫奔放"); strarray.Add("简单素雅"); strarray.Add("活泼俏丽"); strarray.Add("妩媚温馨"); strarray.Add("温柔贤惠"); strarray.Add("成熟感性"); strarray.Add("清纯可爱"); } strarray.Add("姓名"); // strarray.Add("职业"); strarray.Add(""); strarray.Add("地址"); strarray.Add("电话"); #ifdef CHILD_VERSION strarray.Add("家长"); strarray.Add("宝宝"); #else strarray.Add("先生"); strarray.Add("女士"); #endif m_Print.SetFontFace(11, 1, "宋体"); for (i = 0; i < strarray.GetSize(); i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); if (i < 2) { StrRect.top -= 15; StrRect.bottom -= 15; } if (i>15) m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 29; i <= 40; i++) { if (m_style.GetLength() <= (i - 29))continue; if (m_style.GetAt(i - 29) != '1')continue; StrRect = load.m_rcarray.ElementAt(i - 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"√", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 27; i <= 48; i++) { StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 1); } #ifdef CHILD_VERSION StrRect = load.m_rcarray.ElementAt(45); StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"性别", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)m_sex, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)"出生日期", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect.left = StrRect.right; StrRect.right = StrRect.left + 62; m_Print.DrawRect2(StrRect, 1); m_Print.DrawText((LPTSTR)(LPCTSTR)m_birthday, StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); #endif ///////////////////////// strarray.RemoveAll(); CString temp; temp.Format("拍摄 选 %d 款,其中", atoi(m_outside) + atoi(m_outside2)); strarray.Add(temp); temp.Format("内景 %d 款,外景 %d 款.", atoi(m_outside2), atoi(m_outside)); strarray.Add(temp); strarray.Add("化妆"); strarray.Add("造型"); #ifdef CHILD_VERSION strarray.Add(""); #else strarray.Add("婚纱"); #endif strarray.Add("服饰"); strarray.Add("配"); strarray.Add("置"); strarray.Add("其"); strarray.Add("它"); strarray.Add("套系名称"); strarray.Add("镜款"); strarray.Add("套系总价"); strarray.Add("主摄影师"); strarray.Add("拍摄日期"); strarray.Add("定金"); #ifdef CHILD_VERSION strarray.Add("主引导师"); #else strarray.Add("主化妆师"); #endif strarray.Add("看样日期"); strarray.Add("补 余 款"); strarray.Add("总监"); strarray.Add("取件日期"); rcpos = -1; for (i = 0; i < strarray.GetSize(); i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); if (i>9) m_Print.DrawRect2(StrRect, 1); #ifdef CHILD_VERSION if (i == 5) StrRect.top -= StrRect.Height(); #endif m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } for (i = 22; i <= 41; i++) { StrRect = load2.m_rcarray.ElementAt(++rcpos); m_Print.DrawRect2(StrRect, 1); } ///////////////////////////// strarray.RemoveAll(); #ifdef CHILD_VERSION strarray.Add("顾客方 家长:"); strarray.Add("宝宝:"); #else strarray.Add("顾客方 先生:"); strarray.Add("女士:"); #endif strarray.Add("电话:"); strarray.Add("影楼方 店长:"); strarray.Add("接单人:"); strarray.Add("电话:"); rcpos = -1; for (i = 0; i < strarray.GetSize(); i++) { StrRect = load3.m_rcarray.ElementAt(++rcpos); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); } for (i = 7; i <= 12; i++) { StrRect = load3.m_rcarray.ElementAt(++rcpos); // if(i!=10) m_Print.DrawRect2(StrRect, 2); } ////////////////////////////////////// //开始打数据 strarray.RemoveAll(); strarray.Add(m_name1); strarray.Add(m_name2); strarray.Add(""); strarray.Add(""); strarray.Add(m_addr1); #ifdef CHILD_VERSION strarray.Add(""); #else strarray.Add(m_addr2); #endif strarray.Add(m_phone1); strarray.Add(m_phone2); for (i = 41; i <= 48; i++) { StrRect = load.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 41), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } /////////////////////////////// strarray.RemoveAll(); strarray.Add(m_money1); strarray.Add(m_waiter1); strarray.Add(m_time2); strarray.Add(m_money2); strarray.Add(m_waiter2); strarray.Add(m_time4); strarray.Add(m_money3); strarray.Add(""); strarray.Add(m_time5); for (i = 32; i <= 40; i++) { StrRect = load2.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 32), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } /////////////////////////////// strarray.RemoveAll(); strarray.Add("");//m_name1); strarray.Add("");//m_name2); CString phone; if (m_phone1.IsEmpty() == 0) phone = m_phone1 + ","; phone += m_phone2; phone.TrimRight(","); strarray.Add("");//phone); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(14)); strarray.Add(m_ren); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(11)); for (i = 7; i <= 12; i++) { StrRect = load3.m_rcarray.ElementAt(i - 1); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 7), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); } StrRect = load2.m_rcarray.ElementAt(26); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_taoxiname, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(27); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount2, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); StrRect = load2.m_rcarray.ElementAt(28); StrRect.left += 4; m_Print.DrawText((LPTSTR)(LPCTSTR)m_clothescount, StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); ////////////////////////////// //开始画文字 StrRect = load2.m_rcarray.ElementAt(30); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; AutoDraw(m_Print, StrRect, m_bz, 1.4); StrRect = load2.m_rcarray.ElementAt(29); StrRect.left += 3; StrRect.top += 3; StrRect.right -= 2; StrRect.bottom -= 2; str = ""; for (i = 0; i < sparray.GetSize(); i++) { str += sparray.ElementAt(i).ElementAt(5); str += " 数量:"; str += sparray.ElementAt(i).ElementAt(3); str += GetDanWei(sparray.ElementAt(i).ElementAt(5), &danweiarray); str += "\r\n"; } str.TrimRight("\r\n"); AutoDraw(m_Print, StrRect, str, 1.4); StrRect = load2.m_rcarray.ElementAt(40); StrRect.top += 8; m_Print.SetFontFace(12, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)"温馨提示", StrRect, 0, 0, FORMAT_HCENTER | FORMAT_UP); StrRect.left += 3; StrRect.top += 30; StrRect.right -= 2; StrRect.bottom -= 2; str = g_cominfoarray.ElementAt(0).ElementAt(37); if (str.IsEmpty()) { str = "\ 1. 感谢您俩对我影楼的信任与青睐, 为了给您俩设\ 计好整体形象, 保证您俩拍摄效果的完善, 请配合我们\ 严谨的工作态度, 仔细阅读顾客须知.\r\n\ 2. 接近拍照日期请勿多晒太阳, 不要劳累, 尽量保\ 持良好的心境.\r\n\ 3. 拍照前一晚请少喝水, 睡眠一定要充足, 洗干净\ 头发, 勿使用任何发胶, 发膏. 先生请刮胡子.\r\n\ 4. 拍照当天请勿化妆, 女士应穿前开口上衣, 勿穿\ 套头上衣, 以免换婚纱时影响化好的妆与做好的发型.\r\n\ 5. 拍照时请勿带贵重物品, 以免丢失, 随行人员请\ 勿进影室, 以免影响拍摄.\r\n\ 6. 拍照时如有特殊要求或有异议时, 请当面与摄影\ 师或店长沟通.\r\n\ 7. 为了您俩有更大的选择款式, 本影楼所拍片该套\ 系所定数量多出一倍左右, 多片您俩若也要, 每款__\ 元. 其余照片和存底本影楼只保存__个月.\r\n\ 8. 配置内容应由所预约套系款数里挑选.\r\n\ 9. 本合同余额欠款须在拍照前付清.\r\n\ 10. 本合同预约单加盖本影楼公章方有效, 顾客方\ 签名后视为有效合同. 预约__个月内有效, 预约金不退\ 还."; } AutoDraw(m_Print, StrRect, str, 1.8); } m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); dlg.m_mode = 1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::InsideMsg() { ///内部消息 CString str; g_sendhead.bsql = 0; g_sendhead.code[0] = 126; g_sendhead.tabcount = 1; g_bNoConnDlg = 1; g_pMainWnd->ProcessChatMessageRequest2(1); g_bNoConnDlg = 0; if (g_bSendOK == 0)return; CArraym_List1array; DataToArray(&g_List1array);//, &m_List1array); int i = 0; m_List1array.SetSize(g_List1array.GetSize()); for ( i = 0; i < g_List1array.GetSize(); i++) { m_List1array.ElementAt(i).Copy(g_List1array.ElementAt(i)); } str = "," + g_user.name + ","; for (i = g_List1array.GetSize() - 1; i >= 0; i--) { CString receivers2 = g_List1array.ElementAt(i).ElementAt(4); receivers2.TrimLeft(","); receivers2.TrimRight(","); receivers2 = "," + receivers2 + ","; CString receivers = g_List1array.ElementAt(i).ElementAt(3); receivers.TrimLeft(","); receivers.TrimRight(","); receivers = "," + receivers + ","; if (receivers.Find(str) == -1) g_List1array.RemoveAt(i); else if (receivers2.Find(str) != -1) g_List1array.RemoveAt(i); } if (g_List1array.GetSize()) { ShowMsg dlg; dlg.DoModal(); } for (i = m_List1array.GetSize() - 1; i >= 0; i--) { CString receivers2 = m_List1array.ElementAt(i).ElementAt(4); receivers2.TrimLeft(","); receivers2.TrimRight(","); receivers2 = "," + receivers2 + ","; CString receivers = m_List1array.ElementAt(i).ElementAt(3); if (receivers != "") m_List1array.RemoveAt(i); else if (receivers2.Find(str) != -1) m_List1array.RemoveAt(i); } if (m_List1array.GetSize()) { SendInsideMsg2 dlg; dlg.m_bShow = 1; dlg.m_pArray = &m_List1array; dlg.DoModal(); } } //定金 /************************************************************************/ /* 函数:PrintHireDress 描述:打印礼服出租单; 参数: strOrderNumber 礼服订单号; 注意: */ /************************************************************************/ void CMainFrame::PrintHireDress(CString strOrderNumber) // 打印礼服出租单; { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("21.lia"); load.SetMargins(0, 0); if (!load.Load()) { return; } int i; ////////////////////////////////////////////////////////////// //CString filter="id='"+strOrderNumber+"';id='"+strOrderNumber+"';id='"+strOrderNumber+"'"; CString strFilter; strFilter.Format("id='%s';id='%s';id='%s'", strOrderNumber, strOrderNumber, strOrderNumber); g_sendhead.bsql = 0; g_sendhead.code[0] = 73; g_sendhead.code[1] = 74; g_sendhead.code[2] = 52; g_sendhead.tabcount = 3; g_pMainWnd->ProcessChatMessageRequest2(strFilter); if (g_bSendOK == 0) { return; } CArraydresshirearray; CArraydresshiredataarray; CArrayclientarray; DataToArray(&dresshirearray, &dresshiredataarray, &clientarray); if (dresshirearray.GetSize() == 0) { return; } CString m_remark = dresshirearray.ElementAt(0).ElementAt(10); CString m_date1 = dresshirearray.ElementAt(0).ElementAt(7); CString m_date2 = dresshirearray.ElementAt(0).ElementAt(8); CString m_inputdate = dresshirearray.ElementAt(0).ElementAt(6); if (clientarray.GetSize() == 0) { return; } //AfxMessageBox("打印礼服出租单-()"); CString m_name2 = clientarray.ElementAt(0).ElementAt(2); CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); CString m_time3 = clientarray.ElementAt(0).ElementAt(20); //#if JEFF_TEST // if ( dresshiredataarray.GetSize() == 0 ) // { // AfxMessageBox("没衣服"); // } //#endif CString sItem; for (i = 0; i < dresshiredataarray.GetSize(); i++) { sItem += "编号:"; sItem += dresshiredataarray.ElementAt(i).ElementAt(1); sItem += " "; sItem += " 名称:"; sItem += dresshiredataarray.ElementAt(i).ElementAt(2); sItem += " 数量:"; sItem += dresshiredataarray.ElementAt(i).ElementAt(3) + "\r\n"; } sItem += "金额:"; sItem += dresshirearray.ElementAt(0).ElementAt(1); sItem += " "; sItem += " 押金:"; sItem += dresshirearray.ElementAt(0).ElementAt(2) + "\r\n"; //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "礼服单"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(10, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(strOrderNumber), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); CStringArray strarray; strarray.Add("客户姓名"); strarray.Add("客户电话"); strarray.Add("预定日期"); strarray.Add("结婚日期"); strarray.Add("取件日期"); strarray.Add("归还日期"); strarray.Add("本店地址"); strarray.Add("电 话"); strarray.Add("客户地址"); strarray.Add("客户签名"); for (i = 2; i < 12; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 2), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_name2); strarray.Add(m_phone2); strarray.Add(m_inputdate); strarray.Add(m_time3); strarray.Add(m_date1); strarray.Add(m_date2); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(12)); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(11)); strarray.Add(m_addr2); strarray.Add(""); for (i = 12; i < 22; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 12), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); } for (i = 25; i < 30; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } StrRect = load.m_rcarray.ElementAt(22); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"服务项目:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"备 注:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"注意事项:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(25); StrRect.left += 75; StrRect.top += 5; AutoDraw(m_Print, StrRect, sItem, 1.5); StrRect = load.m_rcarray.ElementAt(26); StrRect.left += 75; StrRect.top += 5; AutoDraw(m_Print, StrRect, m_remark, 1.5); StrRect = load.m_rcarray.ElementAt(27); StrRect.left += 75; StrRect.top += 5; CString str = (g_cominfoarray.ElementAt(0).ElementAt(132)); if (str.IsEmpty()) { str = "\ 1. 承租者必须持本人身份证,另交押金伍佰-壹仟元整.\r\n\ 2. 承租时间从结婚日上午八点到下午九点,超时费每小时贰拾圆.\r\n\ 3. 本店婚纱礼服及其它项目一经定出不可退换.\r\n\ 4. 如有破损酌情赔偿."; } AutoDraw(m_Print, StrRect, str, 1.5); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintHireDress_01(CString strOrderNumber) // 打印礼服出租单,无法改变结构,需要修改21.lia才能改变打印的布局; { int printcot = 1; for (int aa = 0; aa < printcot; aa++) { CPrintRX m_Print; if (atoi(g_cominfoarray.ElementAt(0).ElementAt(58))) { m_Print.InitToPrint(NULL, 1); } else { CString name = g_cominfoarray.ElementAt(0).ElementAt(65); if (name.IsEmpty()) m_Print.InitToPrint(NULL, 1); else { int nret = m_Print.InitToPrint((char*)(LPCTSTR)name, 1); if (nret == -1 && aa == 0) { AfxMessageBox("没有此找到打印机, 将使用默认打印机!"); m_Print.InitToPrint(NULL, 1); } } } m_Print.StartPrint(); m_Print.StartPage(); LoadRect load; load.SetLiaPath("21.lia"); load.SetMargins(0, 0); if (!load.Load())return; int i; ////////////////////////////////////////////////////////////// CString filter = "id='" + strOrderNumber + "';id='" + strOrderNumber + "';id='" + strOrderNumber + "'"; g_sendhead.bsql = 0; g_sendhead.code[0] = 73; // dresshire表; g_sendhead.code[1] = 74; // dresshiredata表; g_sendhead.code[2] = 52; // client表; g_sendhead.tabcount = 3; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0) { return; } CArraydresshirearray; CArraydresshiredataarray; CArrayclientarray; DataToArray(&dresshirearray, &dresshiredataarray, &clientarray); if (dresshirearray.GetSize() == 0)return; // dresshire; CString m_remark = dresshirearray.ElementAt(0).ElementAt(10); // 备注; CString m_date1 = dresshirearray.ElementAt(0).ElementAt(7); // 取衣日期; CString m_date2 = dresshirearray.ElementAt(0).ElementAt(8); // 还衣日期; CString m_inputdate = dresshirearray.ElementAt(0).ElementAt(6); // 记录日期; CString strPrice = dresshirearray.ElementAt(0).ElementAt(1); // 金额; CString strDeposit = dresshirearray.ElementAt(0).ElementAt(2); // 押金; // client表; if (clientarray.GetSize() == 0)return; CString m_name2 = clientarray.ElementAt(0).ElementAt(2); // 女宾姓名; CString m_phone2 = clientarray.ElementAt(0).ElementAt(4); // 女宾手机; CString m_addr2 = clientarray.ElementAt(0).ElementAt(8); // 女宾地址; CString m_time3 = clientarray.ElementAt(0).ElementAt(20); // 婚期; // dresshiredata表; CString sItem; for (i = 0; i < dresshiredataarray.GetSize(); i++) { sItem += dresshiredataarray.ElementAt(i).ElementAt(1); // 礼服编号; sItem += " "; sItem += dresshiredataarray.ElementAt(i).ElementAt(2); // 礼服名称; sItem += " 数量:"; sItem += dresshiredataarray.ElementAt(i).ElementAt(3) + "\r\n"; // 礼服数量; } sItem += " 金额:"; sItem += dresshirearray.ElementAt(0).ElementAt(1); // 出租金额; sItem += " 押金:"; sItem += dresshirearray.ElementAt(0).ElementAt(2) + "\r\n"; // 押金; //////////////////////////////////////////////////////////////// int rcpos = -1; CRect StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(17, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(g_cominfoarray.ElementAt(0).ElementAt(10) + "礼服单"), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); StrRect = load.m_rcarray.ElementAt(++rcpos); m_Print.SetFontFace(10, 1, "宋体"); m_Print.DrawText((LPTSTR)(LPCTSTR)(strOrderNumber), StrRect, 0, 0, FORMAT_RIGHT | FORMAT_VCENTER); CStringArray strarray; strarray.Add("客户姓名"); // 1. strarray.Add("客户电话"); strarray.Add("预定日期"); strarray.Add("结婚日期"); strarray.Add("取件日期"); // 5. strarray.Add("归还日期"); strarray.Add("本店地址"); strarray.Add("电 话"); strarray.Add("客户地址"); strarray.Add("客户签名"); // 10. //strarray.Add("金额"); //strarray.Add("押金"); for( i=2; i<12; i++) //for (i = 2; i < 14; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 2), StrRect, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); } strarray.RemoveAll(); strarray.Add(m_name2); strarray.Add(m_phone2); strarray.Add(m_inputdate); strarray.Add(m_time3); strarray.Add(m_date1); strarray.Add(m_date2); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(12)); strarray.Add(g_cominfoarray.ElementAt(0).ElementAt(11)); strarray.Add(m_addr2); strarray.Add(""); strarray.Add(strPrice); // 金额; strarray.Add(strDeposit); // 押金; for( i=12; i<22; i++) //for (i = 14; i < 24; i++) { StrRect = load.m_rcarray.ElementAt(i); //m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i-12), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawText((LPTSTR)(LPCTSTR)strarray.ElementAt(i - 14), StrRect, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); m_Print.DrawRect2(StrRect, 2); } for (i = 25; i < 30; i++) { StrRect = load.m_rcarray.ElementAt(i); m_Print.DrawRect2(StrRect, 1); } StrRect = load.m_rcarray.ElementAt(22); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"服务项目:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(23); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"备 注:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(24); StrRect.top += 7; m_Print.DrawText((LPTSTR)(LPCTSTR)"注意事项:", StrRect, 0, 0, FORMAT_RIGHT | FORMAT_UP); StrRect = load.m_rcarray.ElementAt(25); StrRect.left += 75; StrRect.top += 5; AutoDraw(m_Print, StrRect, sItem, 1.5); StrRect = load.m_rcarray.ElementAt(26); StrRect.left += 75; StrRect.top += 5; AutoDraw(m_Print, StrRect, m_remark, 1.5); StrRect = load.m_rcarray.ElementAt(27); StrRect.left += 75; StrRect.top += 5; CString str = (g_cominfoarray.ElementAt(0).ElementAt(132)); if (str.IsEmpty()) { str = "\ 1. 承租者必须持本人身份证,另交押金伍佰-壹仟元整.\r\n\ 2. 承租时间从结婚日上午八点到下午九点,超时费每小时贰拾圆.\r\n\ 3. 本店婚纱礼服及其它项目一经定出不可退换.\r\n\ 4. 如有破损酌情赔偿."; } AutoDraw(m_Print, StrRect, str, 1.5); PrintPreview dlg; m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); if (aa == 0) { if (dlg.DoModal() != IDOK) return; printcot = dlg.m_num; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } // **************************************************************************** // Jeff: // 函数:PrintHireDress2 // 无参; // 调用者:DinDanFrom.cpp // void DinDanFrom::GetData(),订单报表调用时,判断订单数是否大于1000 // 当订单数大于1000,设置连接公司服务器开关量为真; // ----------------------------------------------------------------------------- // 修改:Jeff // 时间:2014.10.18 // 内容:将 g_ncot 比较值改为100; // **************************************************************************** void CMainFrame::PrintHireDress2() { if (g_ncot > 100) g_bSendLYFZ = 1; // g_pMainWnd->SetTimer (7, 3000, NULL); } void CMainFrame::PrintTakeForm2(CArray*Listarray) { CString title = g_cominfoarray.ElementAt(0).ElementAt(10) + "选片客人明细表"; int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); CString str; int wid[5] = { 200, 110, 70, 85, 62 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<5; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintTakeForm3(CArray*Listarray) { CString title = g_cominfoarray.ElementAt(0).ElementAt(10) + "看设计客人明细表"; int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); CString str; int wid[5] = { 200, 110, 70, 85, 62 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<5; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintTakeForm4(CArray*Listarray) { CString title = g_cominfoarray.ElementAt(0).ElementAt(10) + "取件客人明细表"; int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(9, 1, "宋体"); CString str; int wid[5] = { 200, 110, 70, 85, 62 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<5; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintTakeForm5(CArray*Listarray) { CString title = g_cominfoarray.ElementAt(0).ElementAt(10) + "婚庆客人明细表"; int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(8, 1, "宋体"); CString str; int wid[7] = { 165, 90, 90, 45, 45, 60, 35 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<7; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::PrintTakeForm1(CArray*Listarray) { CString title = g_cominfoarray.ElementAt(0).ElementAt(10) + "拍照客人明细表"; int pages = Listarray->GetSize() / 46; if (Listarray->GetSize() % 46)pages++; for (int aa = 0; aa < pages; aa++) { PrintPreview dlg; CPrintRX m_Print; m_Print.InitToPrint(NULL, 1); m_Print.StartPrint(); m_Print.StartPage(); CRect mainrc(0, 0, 560, 793); float fscale; { int w, h; m_Print.GetWidHei(w, h); fscale = (float)w / (float)h; } mainrc.DeflateRect(25, 40, 10, 0); CRect rc, rc2; rc = mainrc; rc.bottom = rc.top; rc.top -= 20; m_Print.SetFontFace(16, 1, "黑体"); m_Print.DrawText((LPTSTR)(LPCTSTR)title, rc, 0, 0, FORMAT_HCENTER | FORMAT_VCENTER); m_Print.SetFontFace(8, 1, "宋体"); CString str; int wid[7] = { 165, 60, 90, 60, 60, 60, 35 }; int hei = 16; if (fscale > 0.71)hei = 15; rc = mainrc; rc.bottom = rc.top + hei; for (int i = 0; i < 47; i++) { rc2.top = rc.top + i*hei; rc2.bottom = rc.bottom + i*hei; rc2.left = rc.left; rc2.right = rc.left + wid[0]; if ((!(Listarray->GetSize() > aa * 46 + i)) || i == 46)break; for (int j = 0; j<7; j++) { m_Print.DrawRect2(rc2, 1); if (Listarray->GetSize()>aa * 46 + i) { str = Listarray->ElementAt(aa * 46 + i).ElementAt(j); rc2.left += 3; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_LEFT | FORMAT_VCENTER); rc2.left -= 3; } rc2.left += wid[j]; rc2.right = rc2.left + wid[j + 1]; } } rc2.top += 2; rc2.left += 2; rc2.right = mainrc.right + 4; m_Print.SetFontFace(8, 1, "宋体"); str.Format(" 页:%d/%d", aa + 1, pages); str = "制表:" + g_user.name + " 日期:" + g_date + str; m_Print.DrawText((LPTSTR)(LPCTSTR)str, rc2, 0, 0, FORMAT_RIGHT | FORMAT_UP); m_Print.GetWidHei(dlg.m_w, dlg.m_h); dlg.m_pDC = m_Print.GetPDC(); // dlg.m_mode=1; if (aa == 0) { if (dlg.DoModal() != IDOK) return; } //结束打印 m_Print.EndPage(); m_Print.EndPrint(); } } void CMainFrame::ShowMonthForm2() { } // dlg;