EquipTypePlaceDlg.cpp 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // EquipTypePlaceDlg.cpp: 实现文件
  2. //
  3. #include "pch.h"
  4. #include "DMS.h"
  5. #include "EquipTypePlaceDlg.h"
  6. #include "afxdialogex.h"
  7. #include "DmsDoc.h"
  8. #include "EquipTypePlace.h"
  9. #include "EquipTypePlaceManager.h"
  10. #include "CppSQLite3.h"
  11. #include "resource.h"
  12. // EquipTypePlaceDlg 对话框
  13. IMPLEMENT_DYNAMIC(EquipTypePlaceDlg, CDialogEx)
  14. EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent /*=nullptr*/)
  15. : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent)
  16. , m_szEquipTypeCode(_T(""))
  17. , m_szEquipTypePlace(_T(""))
  18. , m_szPlace(_T(""))
  19. , m_iAct(1) // 新增
  20. , m_szPointStart(_T(""))
  21. , m_szPointEnd(_T(""))
  22. {
  23. }
  24. EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent, LPCTSTR szEquipTypeCode)
  25. : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent)
  26. , m_iAct(1) // 编辑
  27. , m_szEquipTypeCode(szEquipTypeCode)
  28. , m_szPlace(_T(""))
  29. , m_szPointStart(_T(""))
  30. , m_szPointEnd(_T(""))
  31. {
  32. }
  33. EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent, LPCTSTR szEquipTypeCode, LPCTSTR szEquipTypePlace)
  34. : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent)
  35. , m_iAct(2)
  36. , m_szEquipTypeCode(szEquipTypeCode)
  37. , m_szEquipTypePlace(szEquipTypePlace)
  38. , m_szPlace(szEquipTypePlace)
  39. , m_szPointStart(_T(""))
  40. , m_szPointEnd(_T(""))
  41. {
  42. }
  43. EquipTypePlaceDlg::~EquipTypePlaceDlg()
  44. {
  45. }
  46. void EquipTypePlaceDlg::DoDataExchange(CDataExchange* pDX)
  47. {
  48. CDialogEx::DoDataExchange(pDX);
  49. DDX_Text(pDX, IDC_EDIT_EQUIPTYPE_PLACE, m_szEquipTypePlace);
  50. DDX_Text(pDX, IDC_POINT_START, m_szPointStart);
  51. DDX_Text(pDX, IDC_POINT_END, m_szPointEnd);
  52. DDX_Control(pDX, IDC_BTN_DEL, m_BtnCtrl_Del);
  53. }
  54. // 获取文档对象
  55. CDmsDoc *EquipTypePlaceDlg::GetDocument()
  56. {
  57. CFrameWnd *pFrm = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
  58. ASSERT(pFrm);
  59. CView *pView = pFrm->GetActiveView();
  60. CDmsDoc *pDoc = (CDmsDoc *)(pView->GetDocument());
  61. ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CDmsDoc)));
  62. return pDoc;
  63. }
  64. BEGIN_MESSAGE_MAP(EquipTypePlaceDlg, CDialogEx)
  65. ON_BN_CLICKED(IDOK, &EquipTypePlaceDlg::OnBnClickedOk)
  66. ON_BN_CLICKED(IDC_BTN_DEL, &EquipTypePlaceDlg::OnBnClickedBtnDel)
  67. ON_BN_CLICKED(ID_BTN_SAVE, &EquipTypePlaceDlg::OnBnClickedBtnSave)
  68. END_MESSAGE_MAP()
  69. // EquipTypePlaceDlg 消息处理程序
  70. void EquipTypePlaceDlg::OnBnClickedOk()
  71. {
  72. this->UpdateData(TRUE);
  73. CDialogEx::OnOK();
  74. }
  75. BOOL EquipTypePlaceDlg::OnInitDialog()
  76. {
  77. CDialogEx::OnInitDialog();
  78. //创建图标
  79. HICON icon;
  80. //加载图标
  81. icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  82. SetIcon(icon, true);
  83. SetIcon(icon, false);
  84. // 编辑
  85. if (m_iAct == 2) {
  86. m_BtnCtrl_Del.ShowWindow(SW_SHOW);
  87. InitData();
  88. }
  89. else
  90. {
  91. m_BtnCtrl_Del.ShowWindow(SW_HIDE);
  92. }
  93. return TRUE;
  94. }
  95. /**************************************************************************************************
  96. 函 数 名 :InitData
  97. 功能描述 :初始化数据
  98. 输入参数 :无
  99. 输出参数 :无
  100. 返 回 值 :void
  101. **************************************************************************************************/
  102. void EquipTypePlaceDlg::InitData()
  103. {
  104. CDmsDoc *pDoc = GetDocument();
  105. EquipTypePlaceManager* pManager = pDoc->GetEquipTypePlaceManager();
  106. CppSQLite3Query q = pManager->Query(m_szEquipTypeCode, m_szEquipTypePlace);
  107. if (!q.eof()) {
  108. m_szPointStart.Format("%s", q.getStringField("point_start"));
  109. m_szPointEnd.Format("%s", q.getStringField("point_end"));
  110. }
  111. q.finalize();
  112. this->UpdateData(FALSE);
  113. }
  114. /**************************************************************************************************
  115. 函 数 名 :OnBnClickedBtnDel
  116. 功能描述 :事件处理-删除
  117. 输入参数 :无
  118. 输出参数 :无
  119. 返 回 值 :void
  120. **************************************************************************************************/
  121. void EquipTypePlaceDlg::OnBnClickedBtnDel()
  122. {
  123. CDmsDoc *pDoc = this->GetDocument();
  124. EquipTypePlaceManager *pManager = pDoc->GetEquipTypePlaceManager();
  125. pManager->Delete(m_szEquipTypeCode, m_szPlace);
  126. this->OnOK();
  127. }
  128. /**************************************************************************************************
  129. 函 数 名 :OnBnClickedBtnSave
  130. 功能描述 :事件处理-保存
  131. 输入参数 :无
  132. 输出参数 :无
  133. 返 回 值 :void
  134. **************************************************************************************************/
  135. void EquipTypePlaceDlg::OnBnClickedBtnSave()
  136. {
  137. this->UpdateData(TRUE);
  138. if (m_szEquipTypePlace.IsEmpty())
  139. {
  140. MessageBox("分机名称不能为空!");
  141. return;
  142. }
  143. CDmsDoc *pDoc = this->GetDocument();
  144. EquipTypePlaceManager *pManager = pDoc->GetEquipTypePlaceManager();
  145. BOOL bRet = FALSE;
  146. EquipTypePlace equipTypePlace;
  147. equipTypePlace.SetEquipTypeCode(m_szEquipTypeCode);
  148. equipTypePlace.SetEquipTypePlace(m_szEquipTypePlace);
  149. equipTypePlace.SetPointS(m_szPointStart);
  150. equipTypePlace.SetPointE(m_szPointEnd);
  151. if (m_iAct == 1) {
  152. bRet = pManager->IsExist(m_szEquipTypeCode, m_szEquipTypePlace);
  153. if (bRet)
  154. {
  155. CString szMsg;
  156. szMsg.Format("%s已存在!", m_szEquipTypePlace);
  157. MessageBox(szMsg);
  158. return;
  159. }
  160. pManager->Add(equipTypePlace);
  161. }else{
  162. pManager->Update(m_szPlace, equipTypePlace);
  163. }
  164. this->OnOK();
  165. }