#pragma once #include "afxcmn.h" #include <vector> #include "afxdtctl.h" #include "Lock.h" class CSC_DelfilesFactory; interface ISC_DelFilesInterface; typedef struct SPickupInfo { CString strName; // �ֵ��� CString strBranchid; // �ֵ�id CString strOrder; // ������ BOOL bTakestatus; // ȡ��״̬:falseδȡ,true��ȡ CString strTaketime; // ����������ȡ��ʱ�� BOOL bOpdel; // ԭƬɾ��״̬ BOOL bOpNeedDel; // ԭƬ�Ƿ���Ҫɾ�� BOOL bEpdel; // ����ɾ��״̬ BOOL bEpNeedDel; // �����Ƿ���Ҫɾ�� BOOL bFpdel; // ����ɾ��״̬ BOOL bFpNeedDel; // �����Ƿ���Ҫɾ�� BOOL bDpdel; // ���ɾ��״̬ BOOL bDpNeedDel; // ����Ƿ���Ҫɾ�� BOOL bOpbdel; // ԭƬ����ɾ��״̬ BOOL bOpbNeedDel; // ԭƬ�����Ƿ���Ҫɾ�� BOOL bEpbdel; // ���ޱ���ɾ��״̬ BOOL bEpbNeedDel; // ���ޱ����Ƿ���Ҫɾ�� BOOL bFpbdel; // ���ޱ���ɾ��״̬ BOOL bFpbNeedDel; // ���ޱ����Ƿ���Ҫɾ�� BOOL bDpbdel; // ��Ʊ���ɾ��״̬ BOOL bDpbNeedDel; // ��Ʊ����Ƿ���Ҫɾ�� CString strOpdeltm; // ԭƬɾ��ʱ�� CString strEpdeltm; // ����ɾ��ʱ�� CString strFpdeltm; // ����ɾ��ʱ�� CString strDpdeltm; // ���ɾ��ʱ�� CString strOpbdeltm; // ԭƬ����ɾ��ʱ�� CString strEpbdeltm; // ���ޱ���ɾ��ʱ�� CString strFpbdeltm; // ���ޱ���ɾ��ʱ�� CString strDpbdeltm; // ��Ʊ���ɾ��ʱ�� SPickupInfo() { strName = _T(""); strBranchid = _T(""); strOrder = _T(""); bTakestatus = FALSE; strTaketime = _T(""); bOpdel = FALSE; // ԭƬɾ��״̬ bOpNeedDel = FALSE; // ԭƬ�Ƿ���Ҫɾ�� bEpdel = FALSE; // ����ɾ��״̬ bEpNeedDel = FALSE; // �����Ƿ���Ҫɾ�� bFpdel = FALSE; // ����ɾ��״̬ bFpNeedDel = FALSE; // �����Ƿ���Ҫɾ�� bDpdel = FALSE; // ���ɾ��״̬ bDpNeedDel = FALSE; // ����Ƿ���Ҫɾ�� bOpbdel = FALSE; // ԭƬ����ɾ��״̬ bOpbNeedDel = FALSE; // ԭƬ�����Ƿ���Ҫɾ�� bEpbdel = FALSE; // ���ޱ���ɾ��״̬ bEpbNeedDel = FALSE; // ���ޱ����Ƿ���Ҫɾ�� bFpbdel = FALSE; // ���ޱ���ɾ��״̬ bFpbNeedDel = FALSE; // ���ޱ����Ƿ���Ҫɾ�� bDpbdel = FALSE; // ��Ʊ���ɾ��״̬ bDpbNeedDel = FALSE; // ��Ʊ����Ƿ���Ҫɾ�� strOpdeltm = _T(""); strEpdeltm = _T(""); strFpdeltm = _T(""); strDpdeltm = _T(""); strOpbdeltm = _T(""); strEpbdeltm = _T(""); strFpbdeltm = _T(""); strDpbdeltm = _T(""); } }SPICKUPINFO, *LPSPICKUPINFO; typedef struct _SBakDirInfo { BYTE byPhotoType; CString strDir; }SBAKDIRINFO, *LPSBAKDIRINFO; // CPhotoDelMgr �Ի��� class CPhotoDelMgr : public CDialog { DECLARE_DYNAMIC(CPhotoDelMgr) public: CPhotoDelMgr(CWnd* pParent = NULL); // �����캯�� virtual ~CPhotoDelMgr(); // �Ի������� enum { IDD = IDD_PHOTODELMGR_DLG }; virtual BOOL OnInitDialog(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧�� afx_msg void OnDestroy(); afx_msg void OnBnClickedStartdelBtn(); afx_msg void OnBnClickedSelectallBtn(); afx_msg void OnBnClickedDeletelogBtn(); afx_msg void OnBnClickedUnallselBtn(); afx_msg void OnBnClickedSetAutodelBtn(); afx_msg void OnBnClickedRefreshBtn(); afx_msg void OnNMClickDelinfoList(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMClickDeltypeList(NMHDR *pNMHDR, LRESULT *pResult); afx_msg LRESULT ShowPrompting(WPARAM wParam,LPARAM lParam); DECLARE_MESSAGE_MAP() public: void FillData(); void GetShareBackupDir(); void LoadListData(); int OpenDb(IN LPCTSTR lpConnect); void CleareLog(IN std::vector<LPSPICKUPINFO>& vLog); int LoadDelPhotoModule(IN HINSTANCE hInstance); void FillPhotoType(IN const int nIdx); void FillPhotoType(IN const LPSPICKUPINFO lp); int GetTimeField(OUT CString& strField); void AddDelData(IN LPCTSTR lpDomain, IN LPCTSTR lpOrder, IN const BYTE nType); void GetBranchInfo(OUT CArray<CStringArray, CStringArray>& arr); void ClearBakDirInfo(); static CString GetBranchNameForDomain(IN CArray<CStringArray, CStringArray>* pArr, IN const CString& strDomain); static CString GetDomainForBranchName(IN CArray<CStringArray, CStringArray>* pArr, IN const CString& strName); //ɾ����Ƭ��ɻص����� static int WINAPI DelFinish(IN LPVOID lpParam1, IN LPVOID lpParam2, IN LPVOID lpParam3, IN LPVOID lpParam4, IN LPVOID lpParam5, IN LPVOID lpParam6); int WINAPI DelFinishPro(IN LPVOID lpParam1, IN LPVOID lpParam2, IN LPVOID lpParam3, IN LPVOID lpParam4, IN LPVOID lpParam5, IN LPVOID lpParam6); void MakeBackupDir(IN CONST int nType, IN CONST CString& str, OUT CString& strPath); public: CListCtrl m_DelList; //��ȡ���б� CListCtrl m_PhotoTypeList; //��Ƭ���� CDateTimeCtrl m_StartTime; //��ʼʱ��(�Խ���ʱ������ǰһ����ʱ��) CDateTimeCtrl m_EndTime; //����ʱ��(����Ϊ����ʱ��) std::vector<LPSPICKUPINFO> m_vPickupLog; //��ȡ���ļ�¼ std::vector<LPSPICKUPINFO> m_vCurrSelLog; //��ǰѡ���ҹ�ѡ�ļ�¼�� LPSPICKUPINFO m_lpCurrSel; //��ǰѡ���ҹ�ѡ�ļ�¼ CSC_DelfilesFactory* m_pFactory; ISC_DelFilesInterface* m_pInterface; CArray<CStringArray, CStringArray> m_BranchArr; //�ֵ���Ϣ std::vector<LPSBAKDIRINFO> m_vBackupDirInfos; //����Ŀ¼ TCHAR m_szConnect[MAX_PATH]; //���ݿ����� CLock m_lock; CDatabase* m_pdb; CRichEditCtrl m_DelTips; };