| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- /**************************************************************************************************
- 版本所有(C), 2020-2022, 北京普达迪泰
- ***************************************************************************************************
- 文 件 名: ReportManage.cpp
- 功能描述: 历史报告
- 版 本 号: 1.00初版
- 作 者: HYF
- 生成日期; 2021-12-20
- 最近修改:
- 函数列表:
- 修改历史:
- 1.日 期 :2021-12-20
- 作 者 : HYF
- 修改内容 : 创建文件
- **************************************************************************************************/
- // ReportManage.cpp: 实现文件
- //
- #include "pch.h"
- #include "Dms.h"
- #include "ReportView.h"
- #include "TaskManager.h"
- #include "CppSQLite3.h"
- #include "afxdialogex.h"
- #include "resource.h"
- #include "DmsDoc.h"
- #include "StaticReport.h"
- #include "DynamicReport.h"
- // ReportView 对话框
- IMPLEMENT_DYNAMIC(ReportView, CDialogEx)
- ReportView::ReportView(CWnd* pParent /*=nullptr*/)
- : CDialogEx(IDD_DLG_REPORT_VIEW, pParent)
- {
- }
- ReportView::~ReportView()
- {
- }
- void ReportView::DoDataExchange(CDataExchange* pDX)
- {
- CDialogEx::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_STATIC_REPORT_TITLE, m_Static_ReportTitle);
- DDX_Control(pDX, IDC_LIST_TASK_DATA, m_ListCtrl_TaskData);
- }
- BEGIN_MESSAGE_MAP(ReportView, CDialogEx)
- ON_NOTIFY(NM_DBLCLK, IDC_LIST_TASK_DATA, &ReportView::OnDblclkListTaskData)
- END_MESSAGE_MAP()
- // 获取文档对象
- CDmsDoc *ReportView::GetDocument()
- {
- CFrameWnd *pFrm = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
- ASSERT(pFrm);
- CView *pView = pFrm->GetActiveView();
- CDmsDoc *pDoc = (CDmsDoc *)(pView->GetDocument());
- ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CDmsDoc)));
- return pDoc;
- }
- /**************************************************************************************************
- 函 数 名 :OnInitDialog
- 功能描述 :初始化UI显示
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- BOOL ReportView::OnInitDialog()
- {
- CDialogEx::OnInitDialog();
- //创建图标
- HICON icon;
- //加载图标
- icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- SetIcon(icon, true);
- SetIcon(icon, false);
- m_Static_ReportTitle.SetFontSize(16);
- m_Static_ReportTitle.SetFontBold(TRUE);
- InitTaskRecordList();
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :InitTaskRecordList
- 功能描述 :初始化任务记录显示
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void ReportView::InitTaskRecordList()
- {
- int iCount;
- CHeaderCtrl *pHeadCtrl = m_ListCtrl_TaskData.GetHeaderCtrl();
- if (pHeadCtrl != NULL)
- {
- iCount = pHeadCtrl->GetItemCount();
- for (int i = 0; i < iCount; i++)
- {
- m_ListCtrl_TaskData.DeleteColumn(0);
- }
- m_ListCtrl_TaskData.DeleteAllItems();
- }
- m_ListCtrl_TaskData.SetExtendedStyle(m_ListCtrl_TaskData.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
- m_ListCtrl_TaskData.InsertColumn(0, _T("任务ID"), LVCFMT_CENTER, 60);
- LVCOLUMN lvc;
- lvc.mask = LVCF_FMT;
- m_ListCtrl_TaskData.GetColumn(0, &lvc);
- lvc.fmt &= ~LVCFMT_JUSTIFYMASK;
- lvc.fmt |= LVCFMT_CENTER;
- m_ListCtrl_TaskData.SetColumn(0, &lvc);
- m_ListCtrl_TaskData.InsertColumn(1, _T("任务名称"), LVCFMT_LEFT, 200);
- m_ListCtrl_TaskData.InsertColumn(2, _T("执行时间"), LVCFMT_CENTER, 150);
- m_ListCtrl_TaskData.InsertColumn(3, _T("类别"), LVCFMT_CENTER, 80);
- m_ListCtrl_TaskData.InsertColumn(4, _T("设备型号"), LVCFMT_CENTER, 100);
- m_ListCtrl_TaskData.InsertColumn(5, _T("设备编号"), LVCFMT_CENTER, 100);
- m_ListCtrl_TaskData.InsertColumn(6, _T("说明"), LVCFMT_LEFT, 220);
- CDmsDoc *pDoc = this->GetDocument();
- TaskManager *pManager = pDoc->GetTaskManager();
- int i = 1;
- CString szTaskId;
- CString szTaskTime;
- CString szEquipTypeCode;
- CString szTaskType1 = "静态测量";
- CString szTaskType2 = "动态测量";
- CString szEquipCode;
- CString szTaskTitle;
- CString szTaskDesc;
- CppSQLite3Query q = pManager->Query();
- while (!q.eof()) {
- DWORD taskId = q.getIntField("task_id");
- szTaskId.Format("%d", taskId);
- int nItem = m_ListCtrl_TaskData.InsertItem(i, (LPCTSTR)szTaskId);
- szTaskTitle = q.getStringField("task_title");
- m_ListCtrl_TaskData.SetItemText(nItem, 1, (LPCTSTR)szTaskTitle);
- szTaskTime = q.getStringField("task_time");
- m_ListCtrl_TaskData.SetItemText(nItem, 2, (LPCTSTR)szTaskTime);
- DWORD dwTaskType = q.getIntField("task_type");
- if (dwTaskType == 0)
- m_ListCtrl_TaskData.SetItemText(nItem, 3, szTaskType1);
- else
- m_ListCtrl_TaskData.SetItemText(nItem, 3, szTaskType2);
- szEquipTypeCode = q.getStringField("equip_type_code");
- m_ListCtrl_TaskData.SetItemText(nItem, 4, (LPCTSTR)szEquipTypeCode);
- szEquipCode = q.getStringField("equip_code");
- m_ListCtrl_TaskData.SetItemText(nItem, 5, (LPCTSTR)szEquipCode);
- szTaskDesc = q.getStringField("task_desc");
- m_ListCtrl_TaskData.SetItemText(nItem, 6, (LPCTSTR)szTaskDesc);
- i++;
- q.nextRow();
- }
- q.finalize();
- }
- /**************************************************************************************************
- 函 数 名 :OnDblclkListTaskData
- 功能描述 :事件处理-双击任务记录
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void ReportView::OnDblclkListTaskData(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
-
- int nItem = pNMItemActivate->iItem;
- if (nItem >= 0 && nItem < m_ListCtrl_TaskData.GetItemCount())
- {
- CString szTaskId = m_ListCtrl_TaskData.GetItemText(nItem, 0);
- CString szTaskType = m_ListCtrl_TaskData.GetItemText(nItem, 3);
- DWORD taskId = _tstoi(szTaskId);
- if (szTaskType.Compare("静态测量") == 0)
- {
- StaticReport dlg1(this, taskId);
- dlg1.DoModal();
- }
- else
- {
- DynamicReport dlg2(this, taskId);
- dlg2.DoModal();
- }
- }
- *pResult = 0;
- }
|