#if !defined(AFX_TakeFrom_H__ACD9E9EA_B724_4711_9C6F_DE3ADA090E2E__INCLUDED_) #define AFX_TakeFrom_H__ACD9E9EA_B724_4711_9C6F_DE3ADA090E2E__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TakeFrom.h : header file // ///////////////////////////////////////////////////////////////////////////// // TakeFrom form view #ifndef __AFXEXT_H__ #include #endif // 门市流程 - 拍照视窗; class TakeFrom : public MyFormView { int m_nAdd; CArraym_List1array; // case 25,视图takeview的数据; CArraym_List1arrayBak; protected: TakeFrom(); // protected constructor used by dynamic creation DECLARE_DYNCREATE(TakeFrom) // Form Data public: //{{AFX_DATA(TakeFrom) enum { IDD = IDD_DLGTakeFrom }; CComboBox m_combo1; CSortListCtrl2 m_List1; CStatic m_static1; CString m_filter; //}}AFX_DATA // Attributes public: // Operations public: void GetData(); void HidePrice(); void FillGrid(BOOL bStatus=0); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(TakeFrom) public: virtual void OnInitialUpdate(); virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: virtual ~TakeFrom(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions //{{AFX_MSG(TakeFrom) afx_msg void OnBUTclose(); afx_msg void OnButton1(); // 查询按钮; afx_msg void OnSelchangeCombo1(); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnBUTimportphoto(); // 导入原片按钮; afx_msg void OnBUTshowphoto(); // 查看原片按钮; afx_msg void OnBUTmoney(); // 今拍按钮; afx_msg void OnBTNaddsp(); afx_msg void OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnButton2(); // 客人头像按钮; afx_msg void OnClickList2(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnBtnsearchfilter(); afx_msg void OnBUTprint3(); //}}AFX_MSG DECLARE_MESSAGE_MAP() #if JEFF_TEST_OFF typedef struct _STSceneryInfo_ { BOOL bSelected; // 被选中; CString strScenery; // 景点; CString strStatus; // 拍照状态; CString strTime; // 拍照时间; CString strLensman; // 摄影师; CString strLensmanAssistant; // 摄影师助理; CString strBootDivision; // 引导师; CString strBootDivisionAssistant; // 引导师; _STSceneryInfo_() { bSelected = FALSE; } }STSceneryInfo; typedef struct _STOrederInfo_ { CString strOrderNumber; // 订单号; CString strImageNumber; // 相片编号; CString strName1; // 姓名1; CString strName2; // 姓名2; CString strClerk; // 接单人; CString strPhone; // 手机; CString strTelPhone; // 座机; std::vector vtOrderScenery; // 订单景点; }STOrederInfo; // 选择行,获取订单的完整信息; int GetOrderInfo(STOrederInfo &OrederInfo,STSceneryInfo &tSceneryInfo) { // 可以从数据库中获得订单完整信息,只需要知道选中的是哪个景点就ok了。 // 目前没这么做,直接从列表里获取。 //ASSERT(m_List1 != NULL); POSITION pos = m_List1.GetFirstSelectedItemPosition(); if (pos == NULL) { AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION); return 0; } else { int nSelectedItem = m_List1.GetNextSelectedItem(pos); int nOrderNumberItem = nSelectedItem; // 判断选中行是否是头景点行(订单号不为空的行); while (m_List1.GetItemText(nOrderNumberItem, 0 + m_nAdd) == "") { // 将选中行以上的景点行添加到容器中; STSceneryInfo tagSceneryInfo; tagSceneryInfo.bSelected = (nOrderNumberItem == nSelectedItem) ? TRUE : FALSE; tagSceneryInfo.strScenery = m_List1.GetItemText(nOrderNumberItem, 4 + m_nAdd); tagSceneryInfo.strStatus = m_List1.GetItemText(nOrderNumberItem, 5 + m_nAdd); tagSceneryInfo.strTime = m_List1.GetItemText(nOrderNumberItem, 6 + m_nAdd); tagSceneryInfo.strLensman = m_List1.GetItemText(nOrderNumberItem, 7 + m_nAdd); tagSceneryInfo.strLensmanAssistant = m_List1.GetItemText(nOrderNumberItem, 8 + m_nAdd); tagSceneryInfo.strBootDivision = m_List1.GetItemText(nOrderNumberItem, 9 + m_nAdd); tagSceneryInfo.strBootDivisionAssistant = m_List1.GetItemText(nOrderNumberItem, 10 + m_nAdd); if ( nOrderNumberItem == nSelectedItem ) { memcpy(&tSceneryInfo,&tagSceneryInfo,sizeof(STSceneryInfo)); } OrederInfo.vtOrderScenery.push_back(tagSceneryInfo); --nOrderNumberItem; } // 用头景点行初始化订单信息; OrederInfo.strOrderNumber = m_List1.GetItemText(nOrderNumberItem, 0 + m_nAdd); OrederInfo.strName1 = m_List1.GetItemText(nOrderNumberItem, 1 + m_nAdd); OrederInfo.strName2 = m_List1.GetItemText(nOrderNumberItem, 2 + m_nAdd); OrederInfo.strImageNumber = m_List1.GetItemText(nOrderNumberItem, 3 + m_nAdd); OrederInfo.strClerk = m_List1.GetItemText(nOrderNumberItem, 11 + m_nAdd); OrederInfo.strPhone = m_List1.GetItemText(nOrderNumberItem, 14 + m_nAdd); OrederInfo.strTelPhone = m_List1.GetItemText(nOrderNumberItem, 15 + m_nAdd); // 将选中行以下的景点行添加到容器中; int nTheRestItem = nSelectedItem + 1; while (m_List1.GetItemText(nTheRestItem, 0 + m_nAdd) == "") { // 将选中行以下的非头景点行添加到容器中; STSceneryInfo tagSceneryInfo; //SceneryInfo.bSelected = (nOrderNumberItem == nSelectedItem) ? TRUE : FALSE; tagSceneryInfo.strScenery = m_List1.GetItemText(nTheRestItem, 4 + m_nAdd); tagSceneryInfo.strStatus = m_List1.GetItemText(nTheRestItem, 5 + m_nAdd); tagSceneryInfo.strTime = m_List1.GetItemText(nTheRestItem, 6 + m_nAdd); tagSceneryInfo.strLensman = m_List1.GetItemText(nTheRestItem, 7 + m_nAdd); tagSceneryInfo.strLensmanAssistant = m_List1.GetItemText(nTheRestItem, 8 + m_nAdd); tagSceneryInfo.strBootDivision = m_List1.GetItemText(nTheRestItem, 9 + m_nAdd); tagSceneryInfo.strBootDivisionAssistant = m_List1.GetItemText(nTheRestItem, 10 + m_nAdd); OrederInfo.vtOrderScenery.push_back(tagSceneryInfo); ++nTheRestItem; } // 止此,订单景点信息获取完毕; return nTheRestItem - nOrderNumberItem; } return 0; } STSceneryInfo& GetSelectedSceneryInfo(STOrederInfo &OrederInfo) { //STSceneryInfo *pSceneryInfo = NULL; std::vector::iterator it; for (it = OrederInfo.vtOrderScenery.begin(); it != OrederInfo.vtOrderScenery.end(); it++) { if ( it->bSelected ) { return *it; } } //return *pSceneryInfo; } #endif public: afx_msg void OnBnClickedMicroshare(); }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_TakeFrom_H__ACD9E9EA_B724_4711_9C6F_DE3ADA090E2E__INCLUDED_)