// EquipTypePlaceDlg.cpp: 实现文件 // #include "pch.h" #include "DMS.h" #include "EquipTypePlaceDlg.h" #include "afxdialogex.h" #include "DmsDoc.h" #include "EquipTypePlace.h" #include "EquipTypePlaceManager.h" #include "CppSQLite3.h" #include "resource.h" // EquipTypePlaceDlg 对话框 IMPLEMENT_DYNAMIC(EquipTypePlaceDlg, CDialogEx) EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent) , m_szEquipTypeCode(_T("")) , m_szEquipTypePlace(_T("")) , m_szPlace(_T("")) , m_iAct(1) // 新增 , m_szPointStart(_T("")) , m_szPointEnd(_T("")) { } EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent, LPCTSTR szEquipTypeCode) : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent) , m_iAct(1) // 编辑 , m_szEquipTypeCode(szEquipTypeCode) , m_szPlace(_T("")) , m_szPointStart(_T("")) , m_szPointEnd(_T("")) { } EquipTypePlaceDlg::EquipTypePlaceDlg(CWnd* pParent, LPCTSTR szEquipTypeCode, LPCTSTR szEquipTypePlace) : CDialogEx(IDD_DLG_EQUIPTYPE_PLACE, pParent) , m_iAct(2) , m_szEquipTypeCode(szEquipTypeCode) , m_szEquipTypePlace(szEquipTypePlace) , m_szPlace(szEquipTypePlace) , m_szPointStart(_T("")) , m_szPointEnd(_T("")) { } EquipTypePlaceDlg::~EquipTypePlaceDlg() { } void EquipTypePlaceDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_EQUIPTYPE_PLACE, m_szEquipTypePlace); DDX_Text(pDX, IDC_POINT_START, m_szPointStart); DDX_Text(pDX, IDC_POINT_END, m_szPointEnd); DDX_Control(pDX, IDC_BTN_DEL, m_BtnCtrl_Del); } // 获取文档对象 CDmsDoc *EquipTypePlaceDlg::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; } BEGIN_MESSAGE_MAP(EquipTypePlaceDlg, CDialogEx) ON_BN_CLICKED(IDOK, &EquipTypePlaceDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BTN_DEL, &EquipTypePlaceDlg::OnBnClickedBtnDel) ON_BN_CLICKED(ID_BTN_SAVE, &EquipTypePlaceDlg::OnBnClickedBtnSave) END_MESSAGE_MAP() // EquipTypePlaceDlg 消息处理程序 void EquipTypePlaceDlg::OnBnClickedOk() { this->UpdateData(TRUE); CDialogEx::OnOK(); } BOOL EquipTypePlaceDlg::OnInitDialog() { CDialogEx::OnInitDialog(); //创建图标 HICON icon; //加载图标 icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); SetIcon(icon, true); SetIcon(icon, false); // 编辑 if (m_iAct == 2) { m_BtnCtrl_Del.ShowWindow(SW_SHOW); InitData(); } else { m_BtnCtrl_Del.ShowWindow(SW_HIDE); } return TRUE; } /************************************************************************************************** 函 数 名 :InitData 功能描述 :初始化数据 输入参数 :无 输出参数 :无 返 回 值 :void **************************************************************************************************/ void EquipTypePlaceDlg::InitData() { CDmsDoc *pDoc = GetDocument(); EquipTypePlaceManager* pManager = pDoc->GetEquipTypePlaceManager(); CppSQLite3Query q = pManager->Query(m_szEquipTypeCode, m_szEquipTypePlace); if (!q.eof()) { m_szPointStart.Format("%s", q.getStringField("point_start")); m_szPointEnd.Format("%s", q.getStringField("point_end")); } q.finalize(); this->UpdateData(FALSE); } /************************************************************************************************** 函 数 名 :OnBnClickedBtnDel 功能描述 :事件处理-删除 输入参数 :无 输出参数 :无 返 回 值 :void **************************************************************************************************/ void EquipTypePlaceDlg::OnBnClickedBtnDel() { CDmsDoc *pDoc = this->GetDocument(); EquipTypePlaceManager *pManager = pDoc->GetEquipTypePlaceManager(); pManager->Delete(m_szEquipTypeCode, m_szPlace); this->OnOK(); } /************************************************************************************************** 函 数 名 :OnBnClickedBtnSave 功能描述 :事件处理-保存 输入参数 :无 输出参数 :无 返 回 值 :void **************************************************************************************************/ void EquipTypePlaceDlg::OnBnClickedBtnSave() { this->UpdateData(TRUE); if (m_szEquipTypePlace.IsEmpty()) { MessageBox("分机名称不能为空!"); return; } CDmsDoc *pDoc = this->GetDocument(); EquipTypePlaceManager *pManager = pDoc->GetEquipTypePlaceManager(); BOOL bRet = FALSE; EquipTypePlace equipTypePlace; equipTypePlace.SetEquipTypeCode(m_szEquipTypeCode); equipTypePlace.SetEquipTypePlace(m_szEquipTypePlace); equipTypePlace.SetPointS(m_szPointStart); equipTypePlace.SetPointE(m_szPointEnd); if (m_iAct == 1) { bRet = pManager->IsExist(m_szEquipTypeCode, m_szEquipTypePlace); if (bRet) { CString szMsg; szMsg.Format("%s已存在!", m_szEquipTypePlace); MessageBox(szMsg); return; } pManager->Add(equipTypePlace); }else{ pManager->Update(m_szPlace, equipTypePlace); } this->OnOK(); }