| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- /**************************************************************************************************
- 版本所有(C), 2020-2022, 北京普达迪泰
- ***************************************************************************************************
- 文 件 名: EquipmentTypeDlg.cpp
- 功能描述: 设备型号
- 版 本 号: 1.00初版
- 作 者: HYF
- 生成日期; 2021-12-20
- 最近修改:
- 函数列表:
- 修改历史:
- 1.日 期 :2021-12-20
- 作 者 : HYF
- 修改内容 : 创建文件
- **************************************************************************************************/
- // EquipmentDlg.cpp: 实现文件
- //
- #include "pch.h"
- #include "Dms.h"
- #include "resource.h"
- #include "DmsDoc.h"
- #include "EquipTypeDlg.h"
- #include "afxdialogex.h"
- #include "EquipTypeView.h"
- #include "CppSQLite3.h"
- #include "EquipTypePlaceManager.h"
- #include "EquipTypePlaceDlg.h"
- #include "EquipTypePlace.h"
- // EquipTypeDlg 对话框
- IMPLEMENT_DYNAMIC(EquipTypeDlg, CDialogEx)
- EquipTypeDlg::EquipTypeDlg(CWnd* pParent)
- : CDialogEx(IDD_DLG_EQUIPTYPE, pParent)
- , m_iType(1)
- , m_szEquipTypeTitle(_T(""))
- , m_szEquipTypeCode(_T(""))
- , m_szEquipTypeDesc(_T(""))
- , m_pkCode(_T(""))
- {
- }
- EquipTypeDlg::EquipTypeDlg(CWnd* pParent, int iType, LPCTSTR szCode, LPCTSTR szName, LPCTSTR szDesc)
- : CDialogEx(IDD_DLG_EQUIPMENT, pParent)
- , m_iType(iType)
- , m_szEquipTypeTitle(szName)
- , m_szEquipTypeCode(szCode)
- , m_szEquipTypeDesc(szDesc)
- , m_pkCode(szCode)
- {
- }
- EquipTypeDlg::~EquipTypeDlg()
- {
- }
- void EquipTypeDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialogEx::DoDataExchange(pDX);
- DDX_Text(pDX, IDC_EDIT_EQUIP_TYPE_NAME, m_szEquipTypeTitle);
- DDV_MaxChars(pDX, m_szEquipTypeTitle, 127);
- DDX_Text(pDX, IDC_EDIT_EQUIP_TYPE_CODE, m_szEquipTypeCode);
- DDV_MaxChars(pDX, m_szEquipTypeCode, 128);
- DDX_Text(pDX, IDC_EDIT_EQUIP_TYPE_DESC, m_szEquipTypeDesc);
- DDV_MaxChars(pDX, m_szEquipTypeDesc, 511);
- DDX_Control(pDX, IDC_BTN_DELETE, m_btnDelete);
- DDX_Control(pDX, IDC_PLACE_LIST, m_Ctrl_PlaceList);
- DDX_Control(pDX, IDC_PLACE_ADD, m_BtnCtrl_Add);
- DDX_Control(pDX, IDC_STATIC_PLACE, m_Label_Place);
- DDX_Control(pDX, IDC_PLACE_NOTE, m_Label_PlaceNote);
- }
- BEGIN_MESSAGE_MAP(EquipTypeDlg, CDialogEx)
- ON_BN_CLICKED(IDOK, &EquipTypeDlg::OnBnClickedOk)
- ON_BN_CLICKED(IDC_BTN_DELETE, &EquipTypeDlg::OnBnClickedBtnDelete)
- ON_BN_CLICKED(IDC_PLACE_ADD, &EquipTypeDlg::OnBnClickedPlaceAdd)
- ON_NOTIFY(NM_DBLCLK, IDC_PLACE_LIST, &EquipTypeDlg::OnNMDblclkPlaceList)
- END_MESSAGE_MAP()
- // 获取文档对象
- CDmsDoc *EquipTypeDlg::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;
- }
- // EquipTypeDlg 消息处理程序
- BOOL EquipTypeDlg::OnInitDialog()
- {
- CDialogEx::OnInitDialog();
- //创建图标
- HICON icon;
- //加载图标
- icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- SetIcon(icon, true);
- SetIcon(icon, false);
- //
- ShowFieldStatus();
- return TRUE;
- }
- void EquipTypeDlg::ShowFieldStatus()
- {
- if (m_iType == 1)
- {
- this->SetWindowText(_T("新增型号"));
- m_btnDelete.ShowWindow(SW_HIDE);
- m_Label_PlaceNote.ShowWindow(SW_SHOW);
- m_BtnCtrl_Add.ShowWindow(SW_HIDE);
- m_Label_Place.ShowWindow(SW_HIDE);
- m_Ctrl_PlaceList.ShowWindow(SW_HIDE);
- }
- else
- {
- this->SetWindowText(_T("编辑型号"));
- m_btnDelete.ShowWindow(SW_SHOW);
- m_Label_PlaceNote.ShowWindow(SW_HIDE);
- m_BtnCtrl_Add.ShowWindow(SW_SHOW);
- m_Label_Place.ShowWindow(SW_SHOW);
- m_Ctrl_PlaceList.ShowWindow(SW_SHOW);
- initPlaceList();
- }
- }
- /**************************************************************************************************
- 函 数 名 :initPlaceList
- 功能描述 :初始化分机列表
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void EquipTypeDlg::initPlaceList()
- {
- int iCount;
- CHeaderCtrl *pHeadCtrl = m_Ctrl_PlaceList.GetHeaderCtrl();
- if (pHeadCtrl != NULL)
- {
- iCount = pHeadCtrl->GetItemCount();
- for (int i = 0; i < iCount; i++)
- {
- m_Ctrl_PlaceList.DeleteColumn(0);
- }
- m_Ctrl_PlaceList.DeleteAllItems();
- }
- m_Ctrl_PlaceList.SetExtendedStyle(m_Ctrl_PlaceList.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
- m_Ctrl_PlaceList.InsertColumn(0, _T("分机"), LVCFMT_LEFT, 140);
- CDmsDoc *pDoc = this->GetDocument();
- EquipTypePlaceManager *pManager = pDoc->GetEquipTypePlaceManager();
- int i = 1;
- CString szTitle;
- CppSQLite3Query q = pManager->Query(m_szEquipTypeCode);
- while (!q.eof()) {
- szTitle = q.getStringField("equip_type_place");
- int nItem = m_Ctrl_PlaceList.InsertItem(i, (LPCTSTR)szTitle);
- i++;
- q.nextRow();
- }
- q.finalize();
- }
- /**************************************************************************************************
- 函 数 名 :OnBnClickedOk
- 功能描述 :事件处理-保存
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void EquipTypeDlg::OnBnClickedOk()
- {
- UpdateData(TRUE);
- if (m_szEquipTypeTitle.IsEmpty()) {
- MessageBox(_T("设备型号名称不能为空"));
- return;
- }
- if (m_szEquipTypeCode.IsEmpty()) {
- MessageBox(_T("设备型号编码不能为空"));
- return;
- }
- CDialogEx::OnOK();
- }
- /**************************************************************************************************
- 函 数 名 :OnBnClickedBtnDelete
- 功能描述 :事件处理-删除
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void EquipTypeDlg::OnBnClickedBtnDelete()
- {
- EndDialog(101);
- return;
- }
- /**************************************************************************************************
- 函 数 名 :OnBnClickedPlaceAdd
- 功能描述 :事件处理-新增
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void EquipTypeDlg::OnBnClickedPlaceAdd()
- {
- EquipTypePlaceDlg dlg(this, m_szEquipTypeCode);
- if (dlg.DoModal() == IDOK)
- {
- this->initPlaceList();
- }
- }
- /**************************************************************************************************
- 函 数 名 :OnNMDblclkPlaceList
- 功能描述 :事件处理-双击
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :void
- **************************************************************************************************/
- void EquipTypeDlg::OnNMDblclkPlaceList(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
- // TODO: 在此添加控件通知处理程序代码
- int nItem = pNMItemActivate->iItem;
- if (nItem >= 0 && nItem < m_Ctrl_PlaceList.GetItemCount())
- {
- CString szEquipTypePlace = m_Ctrl_PlaceList.GetItemText(nItem, 0);
- // 编辑型号分机
- EquipTypePlaceDlg dlg(this, m_szEquipTypeCode, szEquipTypePlace);
- INT_PTR iRet = dlg.DoModal();
- if (iRet == IDOK)
- {
- this->initPlaceList();
- }
- }
- *pResult = 0;
- }
|