#include "stdafx.h" #include "ylgl.h" #include "SatisfactionCfg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif static const CString g_strMaxScore = _T("5"); SatisfactionCfg::SatisfactionCfg(CWnd* pParent) : CDialog(SatisfactionCfg::IDD, pParent) , m_strSelCfgID(_T("")) { } void SatisfactionCfg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_TYPENAME_LIST, m_NameList); DDX_Control(pDX, IDC_SCORE_LIST, m_ScoreList); DDX_Control(pDX, IDC_SURVEYCFG_LIST, m_CfgList); } BEGIN_MESSAGE_MAP(SatisfactionCfg, CDialog) ON_WM_DESTROY() ON_BN_CLICKED(IDC_ADDSURVEYTYPE_BTN, OnAddSurveyTypeBtn) ON_BN_CLICKED(IDC_DESURVEYTYPEL_BTN, OnDelSurveyTypeBtn) ON_BN_CLICKED(IDC_ADDSCORETYPE_BTN, OnAddScoreTypeBtn) ON_BN_CLICKED(IDC_DELSCORETYPE_BTN, OnDelScoreTypeBtn) ON_BN_CLICKED(IDC_ADDSURVEYCFG_BTN, OnAddSurveyCfgBtn) ON_BN_CLICKED(IDC_EDITCFG_BTN, OnEditCfgBtn) ON_BN_CLICKED(IDC_DELSURVEY_BTN, OnDelSurveyBtn) ON_NOTIFY(NM_CLICK, IDC_TYPENAME_LIST, OnNMClickList1) ON_NOTIFY(NM_CLICK, IDC_SCORE_LIST, OnNMClickList2) ON_NOTIFY(NM_CLICK, IDC_SURVEYCFG_LIST, OnNMClickList3) END_MESSAGE_MAP() BOOL SatisfactionCfg::OnInitDialog() { CDialog::OnInitDialog(); m_NameList.InsertColumn( 0, _T("ID"), LVCFMT_LEFT, 40 );//插入列 m_NameList.InsertColumn( 1, _T("类型"), LVCFMT_LEFT, 90 );//插入列 m_NameList.SetExtendedStyle(m_NameList.GetExtendedStyle() | LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP); m_ScoreList.InsertColumn( 0, _T("ID"), LVCFMT_LEFT, 40 );//插入列 m_ScoreList.InsertColumn( 1, _T("类型"), LVCFMT_LEFT, 70 );//插入列 /* m_ScoreList.InsertColumn( 2, _T("分数范围1"), LVCFMT_LEFT, 40 );//插入列 m_ScoreList.InsertColumn( 3, _T("分数范围2"), LVCFMT_LEFT, 40 );//插入列 m_ScoreList.InsertColumn( 4, _T("分数范围3"), LVCFMT_LEFT, 40 );//插入列 m_ScoreList.InsertColumn( 5, _T("分数范围4"), LVCFMT_LEFT, 40 );//插入列 m_ScoreList.InsertColumn( 6, _T("分数范围5"), LVCFMT_LEFT, 40 );//插入列 */ m_ScoreList.SetExtendedStyle(m_ScoreList.GetExtendedStyle() | LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP); m_CfgList.InsertColumn( 0, _T("ID"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 1, _T("调查类型"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 2, _T("类型名称"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 3, _T("最高分数"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 4, _T("评分类型"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 5, _T("是否有效"), LVCFMT_LEFT, 70 );//插入列 m_CfgList.InsertColumn( 6, _T("调查事项"), LVCFMT_LEFT, 200 );//插入列 m_CfgList.SetExtendedStyle(m_CfgList.GetExtendedStyle() | LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP); GetData(); FillGrid(); ((CEdit*)GetDlgItem(IDC_MAXSCORE_EDIT))->SetWindowText(g_strMaxScore); this->CenterWindow (g_pMainWnd); return TRUE; } /*---------------------------------------- 函数名: GetData 描述: 获取数据 参数: 返回值: ----------------------------------------*/ void SatisfactionCfg::GetData() { CString strfilter = _T(""); //获取服务类别 g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; strfilter = _T("SvrKind@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if(g_bSendOK == 0) return; DataToArray(&m_kindArr); //获取分数类型 g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; strfilter = _T("GetScoreType@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if(g_bSendOK == 0) return; DataToArray(&m_ScoreTypeArr); //获取配置信息 g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; strfilter = _T("SatisfactionCfg@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if (g_bSendOK == 0) return; DataToArray(&m_cfgArr); } /*---------------------------------------- 函数名: FillGrid 描述: 填充表格 参数: 返回值: ----------------------------------------*/ void SatisfactionCfg::FillGrid() { int i=0; for(i=0; iGetWindowText(strSurveyType); if(strSurveyType == _T("")) { MessageBox(_T("请输入调查类型")); return; } BOOL bIsExist = FALSE; for(int i=0; iProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; //更新调查类型 UpdateSurveyType(); } void SatisfactionCfg::UpdateSurveyType() { //获取服务类别 m_kindArr.RemoveAll(); g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; CString strfilter = _T("SvrKind@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if(g_bSendOK == 0) return; DataToArray(&m_kindArr); m_NameList.DeleteAllItems(); for(int i=0; iGetWindowText(strSurveyTypeID); if(strSurveyTypeID == _T("")) { MessageBox(_T("请选要删除的类型")); return; } int nIdx = -1; int nCount = m_NameList.GetItemCount() - 1; while(nCount >= 0) { CString strTypeID = m_NameList.GetItemText(nCount, 0); if(strTypeID == strSurveyTypeID) { nIdx = nCount; break; } --nCount; } if(nIdx == -1) return; if(MessageBox(_T("是否删除"), _T("提示"), MB_YESNO|MB_ICONQUESTION) == IDNO) return; CString strID = m_NameList.GetItemText(nIdx, 0); CString strSql = _T("DELETE FROM SatisfactionSvrKind WHERE SvrKind=") + strID; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; ((CEdit*)GetDlgItem(IDC_SURVEYTYPEID_EDIT))->SetWindowText(_T("")); //更新调查类型 UpdateSurveyType(); } //添加评分类型 void SatisfactionCfg::OnAddScoreTypeBtn() { CString strScoreTypeName = _T(""); ((CEdit*)GetDlgItem(IDC_SCORETYPENAME_EDIT))->GetWindowText(strScoreTypeName); if(strScoreTypeName == _T("")) { MessageBox(_T("请输入评分类型名")); return; } CString strScoreRange1(_T("")), strScoreRange2(_T("")), strScoreRange3(_T("")), strScoreRange4(_T("")), strScoreRange5(_T("")); ((CEdit*)GetDlgItem(IDC_SCORERANGE1_EDIT))->GetWindowText(strScoreRange1); ((CEdit*)GetDlgItem(IDC_SCORERANGE2_EDIT))->GetWindowText(strScoreRange2); ((CEdit*)GetDlgItem(IDC_SCORERANGE3_EDIT))->GetWindowText(strScoreRange3); ((CEdit*)GetDlgItem(IDC_SCORERANGE4_EDIT))->GetWindowText(strScoreRange4); ((CEdit*)GetDlgItem(IDC_SCORERANGE5_EDIT))->GetWindowText(strScoreRange5); //是否存在 BOOL bIsExist = FALSE; for(int i=0; iProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; //更新评分类型 UpdateScoreType(); } //更新评分类型 void SatisfactionCfg::UpdateScoreType() { //获取分数类型 m_ScoreTypeArr.RemoveAll(); g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; CString strfilter = _T("GetScoreType@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if(g_bSendOK == 0) return; DataToArray(&m_ScoreTypeArr); m_ScoreList.DeleteAllItems(); for(int i=0; iGetWindowText(strScoreTypeID); if(strScoreTypeID == _T("")) { MessageBox(_T("请选择要删除的评分类型")); return; } int nIdx = -1; int nCount = m_ScoreList.GetItemCount() - 1; while(nCount >= 0) { CString strTypeID = m_ScoreList.GetItemText(nCount, 0); if(strTypeID == strScoreTypeID) { nIdx = nCount; break; } --nCount; } if(nIdx == -1) return; if(MessageBox(_T("是否删除"), _T("提示"), MB_YESNO|MB_ICONQUESTION) == IDNO) return; CString strID = m_ScoreList.GetItemText(nIdx, 0); CString strSql = _T("DELETE FROM SatisfactionScoreType WHERE TypeID=") + strID; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->SetWindowText(_T("")); UpdateScoreType(); } //添加调查配置 void SatisfactionCfg::OnAddSurveyCfgBtn() { CString strKindID = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYTYPEID_EDIT))->GetWindowText(strKindID); if(strKindID == _T("")) { MessageBox(_T("请选择调查类型")); return; } CString strKindName = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYTYPE_EDIT2))->GetWindowText(strKindName); if(strKindName == _T("")) { MessageBox(_T("请选择调查类型")); return; } CString strMaxScore = _T(""); ((CEdit*)GetDlgItem(IDC_MAXSCORE_EDIT))->GetWindowText(strMaxScore); if(strMaxScore == _T("")) { MessageBox(_T("请输入最高分数")); return; } CString strScoreTypeID = _T(""); ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->GetWindowText(strScoreTypeID); if(strScoreTypeID == _T("")) { MessageBox(_T("请选择评分类型")); return; } CString strSurveyContent = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYCONTENT_EDIT))->GetWindowText(strSurveyContent); if(strSurveyContent == _T("")) { MessageBox(_T("请输入调查内容")); return; } CString strCheck = _T(""); strCheck.Format(_T("%d"), ((CButton*)GetDlgItem(IDC_ISENABLE_CHECK))->GetCheck()); CString strSql = _T("INSERT INTO SatisfactionCfg VALUES (") + strKindID + _T(",'") + strKindName + _T("',") + strMaxScore + _T(",") + strScoreTypeID + _T(",") + strCheck + _T(",'") + strSurveyContent + _T("')"); g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; UpdateCfg(); } //编辑 void SatisfactionCfg::OnEditCfgBtn() { if(m_strSelCfgID == _T("")) { MessageBox(_T("选择错误")); return; } CString strKindID = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYTYPEID_EDIT))->GetWindowText(strKindID); CString strKindName = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYTYPE_EDIT2))->GetWindowText(strKindName); CString strMaxScore = _T(""); ((CEdit*)GetDlgItem(IDC_MAXSCORE_EDIT))->GetWindowText(strMaxScore); CString strTypeID = _T(""); ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->GetWindowText(strTypeID); CString strIsEnable = _T(""); strIsEnable.Format(_T("%d"), ((CButton*)GetDlgItem(IDC_ISENABLE_CHECK))->GetCheck()); CString strContent = _T(""); ((CEdit*)GetDlgItem(IDC_SURVEYCONTENT_EDIT))->GetWindowText(strContent); CString strSql = _T("UPDATE SatisfactionCfg SET SvrKind=") + strKindID + _T(",KindName='") + strKindName + _T("',MaxScore=") + strMaxScore + _T(",TypeID=") + strTypeID; strSql += _T(",IsEnable=") + strIsEnable + _T(",sfncfgDesc='") + strContent + _T("' where cfgID=") + m_strSelCfgID; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; ClearEditData(); UpdateCfg(); MessageBox(_T("编辑成功")); } //删除调查配置 void SatisfactionCfg::OnDelSurveyBtn() { if(m_strSelCfgID == _T("")) { MessageBox(_T("选择错误")); return; } if(MessageBox(_T("是否删除"), _T("提示"), MB_YESNO|MB_ICONQUESTION) == IDNO) return; CString strSql = _T("DELETE FROM SatisfactionCfg where cfgID=") + m_strSelCfgID; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(strSql); if(g_bSendOK == 0) return; ClearEditData(); UpdateCfg(); MessageBox(_T("删除成功")); } //更新配置 void SatisfactionCfg::UpdateCfg() { //获取配置信息 m_cfgArr.RemoveAll(); g_sendhead.bsql = 0; g_sendhead.code[0] = 234; g_sendhead.tabcount = 1; CString strfilter = _T("SatisfactionCfg@"); g_pMainWnd->ProcessChatMessageRequest2(strfilter); if (g_bSendOK == 0) return; DataToArray(&m_cfgArr); m_CfgList.DeleteAllItems(); for(int i=0; iSetWindowText(_T("")); ((CEdit*)GetDlgItem(IDC_SURVEYTYPE_EDIT2))->SetWindowText(_T("")); ((CEdit*)GetDlgItem(IDC_MAXSCORE_EDIT))->SetWindowText(_T("")); ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->SetWindowText(_T("")); ((CButton*)GetDlgItem(IDC_ISENABLE_CHECK))->SetCheck(FALSE); ((CEdit*)GetDlgItem(IDC_SURVEYCONTENT_EDIT))->SetWindowText(_T("")); } void SatisfactionCfg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { CString strKindID = m_NameList.GetItemText(pNMListView->iItem, 0); CString strSurveyTypeName = m_NameList.GetItemText(pNMListView->iItem, 1); if(strSurveyTypeName == _T("")) return; if(strKindID == _T("")) return; ((CEdit*)GetDlgItem(IDC_SURVEYTYPEID_EDIT))->SetWindowText(strKindID); ((CEdit*)GetDlgItem(IDC_SURVEYTYPE_EDIT2))->SetWindowText(strSurveyTypeName); } *pResult = 0; } void SatisfactionCfg::OnNMClickList2(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { CString strScoreTypeID = m_ScoreList.GetItemText(pNMListView->iItem, 0); if(strScoreTypeID == _T("")) return; ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->SetWindowText(strScoreTypeID); } *pResult = 0; } void SatisfactionCfg::OnNMClickList3(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { m_strSelCfgID = m_CfgList.GetItemText(pNMListView->iItem, 0); CString strKindID = m_CfgList.GetItemText(pNMListView->iItem, 1); CString strKindName = m_CfgList.GetItemText(pNMListView->iItem, 2); CString strMaxScore = m_CfgList.GetItemText(pNMListView->iItem, 3); CString strTypeID = m_CfgList.GetItemText(pNMListView->iItem, 4); BOOL bIsEnable = _ttoi(m_CfgList.GetItemText(pNMListView->iItem, 5)); CString strContent = m_CfgList.GetItemText(pNMListView->iItem, 6); ((CEdit*)GetDlgItem(IDC_SURVEYTYPEID_EDIT))->SetWindowText(strKindID); ((CEdit*)GetDlgItem(IDC_SURVEYTYPE_EDIT2))->SetWindowText(strKindName); ((CEdit*)GetDlgItem(IDC_MAXSCORE_EDIT))->SetWindowText(strMaxScore); ((CEdit*)GetDlgItem(IDC_SCORETYPE_EDIT4))->SetWindowText(strTypeID); ((CButton*)GetDlgItem(IDC_ISENABLE_CHECK))->SetCheck(bIsEnable); ((CEdit*)GetDlgItem(IDC_SURVEYCONTENT_EDIT))->SetWindowText(strContent); } *pResult = 0; }