123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 |
- // PhotoDelLog.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "DBServer.h"
- #include "PhotoDelLog.h"
- #include "PhotoDelMgr.h"
- // PhotoDelLog 对话框
- IMPLEMENT_DYNAMIC(PhotoDelLog, CDialog)
- PhotoDelLog::PhotoDelLog(CWnd* pParent /*=NULL*/)
- : CDialog(PhotoDelLog::IDD, pParent)
- {
- m_pBranchArr = NULL;
- m_pdb = NULL;
- m_plock = NULL;
- }
- PhotoDelLog::~PhotoDelLog()
- {
- m_pBranchArr = NULL;
- m_pdb = NULL;
- m_plock = NULL;
- }
- void PhotoDelLog::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_DELLOG_LIST, m_LogList);
- DDX_Control(pDX, IDC_DelLog_Start_Btn, m_StartT);
- DDX_Control(pDX, IDC_DelLog_End_Btn, m_EndT);
- }
- BEGIN_MESSAGE_MAP(PhotoDelLog, CDialog)
- ON_BN_CLICKED(IDC_DELLOG_FIND_BTN, &PhotoDelLog::OnBnClickedDellogFindBtn)
- END_MESSAGE_MAP()
- BOOL PhotoDelLog::OnInitDialog()
- {
- CDialog::OnInitDialog();
- #ifndef ENTERPRISE_VERSION
- m_LogList.InsertColumn( 0, TEXT("主机名"), LVCFMT_LEFT, 100 );
- #else
- m_LogList.InsertColumn( 0, TEXT("店名"), LVCFMT_LEFT, 100 );
- #endif
- m_LogList.InsertColumn( 1, TEXT("域名"), LVCFMT_LEFT, 200 );
- m_LogList.InsertColumn( 2, TEXT("订单号"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 3, TEXT("取件"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 4, TEXT("取件时间"), LVCFMT_LEFT, 70 );
- m_LogList.InsertColumn( 5, TEXT("原片"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 6, TEXT("初修"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 7, TEXT("精修"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 8, TEXT("设计"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 9, TEXT("原片备份"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 10, TEXT("初修备份"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 11, TEXT("精修备份"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 12, TEXT("设计备份"), LVCFMT_LEFT, 40 );
- m_LogList.InsertColumn( 13, TEXT("原片时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 14, TEXT("初修时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 15, TEXT("精修时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 16, TEXT("设计时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 17, TEXT("原片备份时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 18, TEXT("初修备份时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 19, TEXT("精修备份时间"), LVCFMT_LEFT, 90 );
- m_LogList.InsertColumn( 20, TEXT("设计备份时间"), LVCFMT_LEFT, 90 );
- m_LogList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES);
- CTime currtime = CTime::GetCurrentTime();
- m_EndT.SetTime(&currtime);
- CTimeSpan timespan(30,0,0,0);
- CTime endtime = currtime - timespan;
- m_StartT.SetTime(&endtime);
- return TRUE;
- }
- // PhotoDelLog 消息处理程序
- //查询
- void PhotoDelLog::OnBnClickedDellogFindBtn()
- {
- // TODO: 在此添加控件通知处理程序代码
- std::vector<LPSPICKUPINFO> vData;
- LoadListData(vData);
- FillLogList(vData);
- CleareLog(vData);
- }
- /************************************************************************/
- /*
- 函数:LoadListData
- 描述:加载列表数据
- 参数:
- 返回:
- */
- /************************************************************************/
- void PhotoDelLog::LoadListData(std::vector<LPSPICKUPINFO>& vData)
- {
- m_plock->lock();
- if(m_pdb == NULL)
- {
- m_plock->unlock();
- return;
- }
- //获取时间条件
- CString strTimeFielded = _T("");
- if(!GetTimeField(strTimeFielded))
- {
- m_plock->unlock();
- return;
- }
- //已取件记录
- CString sql = _T("");
- sql = _T("SELECT [branchid],[order],[takestatus],[taketime],\
- [opdel],[epdel],[fpdel],[dpdel],\
- [opbdel],[epbdel],[fpbdel],[dpbdel],\
- [opdeltm],[epdeltm],[fpdeltm],[dpdeltm],\
- [opbdeltm],[epbdeltm],[fpbdeltm],[dpbdeltm] FROM [PhotoManager] \
- where [takestatus]='True' and ([opdel]=1 or [epdel]=1 or [fpdel]=1 or [dpdel]=1 or [opbdel]=1 or [epbdel]=1 or [fpbdel]=1 or [dpbdel]=1) and ") + strTimeFielded;
- try
- {
- CRecordset myset;
- myset.m_pDatabase = m_pdb;
- myset.Open(CRecordset::forwardOnly, sql);
- int ii = 0;
- while (!myset.IsEOF())
- {
- LPSPICKUPINFO lp = new SPICKUPINFO;
- CString strValue = _T("");
- myset.GetFieldValue(_T("branchid"), lp->strBranchid); /* 分店id 域名*/
- lp->strName = CPhotoDelMgr::GetBranchNameForDomain(m_pBranchArr, lp->strBranchid); /* 分店名 */
- myset.GetFieldValue(_T("order"), lp->strOrder); /* 主键订单号(唯一) */
- myset.GetFieldValue(_T("takestatus"), strValue); /* 取件状态:0未取,1已取 */
- lp->bTakestatus = _ttoi(strValue);
- myset.GetFieldValue(_T("taketime"), lp->strTaketime); /* 整个订单的取件时间 */
- myset.GetFieldValue(_T("opdel"), strValue); /* 原片删除状态 */
- lp->bOpdel = _ttoi(strValue);
- myset.GetFieldValue(_T("epdel"), strValue); /* 初修删除状态 */
- lp->bEpdel = _ttoi(strValue);
- myset.GetFieldValue(_T("fpdel"), strValue); /* 精修删除状态 */
- lp->bFpdel = _ttoi(strValue);
- myset.GetFieldValue(_T("dpdel"), strValue); /* 设计删除状态 */
- lp->bDpdel = _ttoi(strValue);
- myset.GetFieldValue(_T("opbdel"), strValue); /* 原片备份删除状态 */
- lp->bOpbdel = _ttoi(strValue);
- myset.GetFieldValue(_T("epbdel"), strValue); /* 初修备份删除状态 */
- lp->bEpbdel = _ttoi(strValue);
- myset.GetFieldValue(_T("fpbdel"), strValue); /* 精修备份删除状态 */
- lp->bFpbdel = _ttoi(strValue);
- myset.GetFieldValue(_T("dpbdel"), strValue); /* 设计备份删除状态 */
- lp->bDpbdel = _ttoi(strValue);
- myset.GetFieldValue(_T("opdeltm"), lp->strOpdeltm); /* 原片删除时间 */
- myset.GetFieldValue(_T("epdeltm"), lp->strEpdeltm); /* 初修删除时间 */
- myset.GetFieldValue(_T("fpdeltm"), lp->strFpdeltm); /* 精修删除时间 */
- myset.GetFieldValue(_T("dpdeltm"), lp->strDpdeltm); /* 设计删除时间 */
- myset.GetFieldValue(_T("opbdeltm"), lp->strOpbdeltm); /* 原片备份删除时间 */
- myset.GetFieldValue(_T("epbdeltm"), lp->strEpbdeltm); /* 初修备份删除时间 */
- myset.GetFieldValue(_T("fpbdeltm"), lp->strFpbdeltm); /* 精修备份删除时间 */
- myset.GetFieldValue(_T("dpbdeltm"), lp->strDpbdeltm); /* 设计备份删除时间 */
- //是否已取件
- if(!lp->bTakestatus)
- {
- delete lp;
- continue;
- }
- vData.push_back(lp);
- myset.MoveNext();
- }
- }
- catch (CException* e)
- {
- m_plock->unlock();
- CleareLog(vData);
- TCHAR szError[1024] = { 0 };
- e->GetErrorMessage(szError, 1024);
- WriteLogin(CString(szError));
- e->Delete();
- }
- m_plock->unlock();
- }
- /************************************************************************/
- /*
- 函数:FillLogList
- 描述:填充记录列表
- 参数:
- 返回:
- */
- /************************************************************************/
- void PhotoDelLog::FillLogList(std::vector<LPSPICKUPINFO>& vData)
- {
- if(vData.size() == 0)
- return;
- m_LogList.DeleteAllItems();
- std::vector<LPSPICKUPINFO>::iterator it = vData.begin();
- for(;it != vData.end();)
- {
- LPSPICKUPINFO lp = (*it);
- if(lp != NULL)
- {
- CString str = _T("");
- int nRow = m_LogList.InsertItem(LVIF_TEXT|LVIF_PARAM, 0, lp->strName,0,0,2,0);
- m_LogList.SetItemText(nRow, 1, lp->strBranchid);
- m_LogList.SetItemText(nRow, 2, lp->strOrder);
-
- m_LogList.SetItemText(nRow, 3, (lp->bTakestatus == TRUE)?_T("已取"):_T("未取"));
- m_LogList.SetItemText(nRow, 4, lp->strTaketime);
- m_LogList.SetItemText(nRow, 5, (lp->bOpdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 6, (lp->bEpdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 7, (lp->bFpdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 8, (lp->bDpdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 9, (lp->bOpbdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 10, (lp->bEpbdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 11, (lp->bFpbdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 12, (lp->bDpbdel == TRUE)?_T("已删"):_T("未删"));
- m_LogList.SetItemText(nRow, 13, lp->strOpdeltm);
- m_LogList.SetItemText(nRow, 14, lp->strEpdeltm);
- m_LogList.SetItemText(nRow, 15, lp->strFpdeltm);
- m_LogList.SetItemText(nRow, 16, lp->strDpdeltm);
- m_LogList.SetItemText(nRow, 17, lp->strOpbdeltm);
- m_LogList.SetItemText(nRow, 18, lp->strEpbdeltm);
- m_LogList.SetItemText(nRow, 19, lp->strFpbdeltm);
- m_LogList.SetItemText(nRow, 20, lp->strDpbdeltm);
- }
- ++it;
- }
- }
- /************************************************************************/
- /*
- 函数:GetTimeField
- 描述:获取日期限制条件
- 参数:
- OUT CString& strField 输出条件
- 返回:
- */
- /************************************************************************/
- int PhotoDelLog::GetTimeField(OUT CString& strField)
- {
- CTime startTime, endTime, currTime;
- CString strStart(_T("")), strEnd(_T(""));
- m_StartT.GetTime(startTime);
- strStart = startTime.Format(_T("%Y-%m-%d"));
- m_EndT.GetTime(endTime);
- strEnd = endTime.Format(_T("%Y-%m-%d"));
- currTime = CTime::GetCurrentTime();
- if(startTime > currTime || endTime > currTime)
- {
- MessageBox(_T("设置的日期不能比当前大"));
- return 0;
- }
- if(startTime > endTime)
- {
- MessageBox(_T("起始日期不能比结束日期"));
- return 0;
- }
- strField = _T("taketime>='") + strStart + _T("' and taketime<='") + strEnd + _T("'");
- return 1;
- }
- /************************************************************************/
- /*
- 函数:CleareLog
- 描述:清除
- 参数:
- N std::vector<LPSPICKUPINFO>& vLog 清除已取件集
- 返回:
- */
- /************************************************************************/
- void PhotoDelLog::CleareLog(IN std::vector<LPSPICKUPINFO>& vLog)
- {
- std::vector<LPSPICKUPINFO>::iterator iter = vLog.begin();
- for(;iter != vLog.end();)
- {
- if((*iter) != NULL)
- delete (*iter);
- ++iter;
- }
- vLog.clear();
- }
|