⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientstaffform.cpp

📁 关于客户关系管理系统的源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// ClientStaffForm.cpp : implementation file
//

#include "stdafx.h"
#include "ClientRelationship.h"
#include "ClientStaffForm.h"
#include "ClientStaff.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CClientStaffForm dialog


CClientStaffForm::CClientStaffForm(CWnd* pParent /*=NULL*/)
	: CDialog(CClientStaffForm::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClientStaffForm)
	m_staffID = _T("");
	m_staffName = _T("");
	m_sex = _T("");
	m_birthday = COleDateTime::GetCurrentTime();
	m_nationality = _T("");
	m_marriageCondition = _T("");
	m_partyFeature = _T("");
	m_educationLevel = _T("");
	m_graduateSchool = _T("");
	m_telephone = _T("");
	m_postCode = _T("");
	m_mobile = _T("");
	m_QQ = _T("");
	m_eMail = _T("");
	m_department = _T("");
	m_positionTitle = _T("");
	m_duty = _T("");
	m_address = _T("");
	m_favourit = _T("");
	m_remark = _T("");
	//}}AFX_DATA_INIT
}


void CClientStaffForm::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClientStaffForm)
	DDX_Control(pDX, IDC_LIST2, m_staffList);
	DDX_Control(pDX, IDC_department, m_departmentCombo);
	DDX_Control(pDX, IDC_LIST1, m_clientList);
	DDX_Text(pDX, IDC_staffID, m_staffID);
	DDX_Text(pDX, IDC_staffName, m_staffName);
	DDX_CBString(pDX, IDC_sex, m_sex);
	DDX_DateTimeCtrl(pDX, IDC_birthday, m_birthday);
	DDX_CBString(pDX, IDC_nationality, m_nationality);
	DDX_CBString(pDX, IDC_marriageCondition, m_marriageCondition);
	DDX_CBString(pDX, IDC_partyFeature, m_partyFeature);
	DDX_CBString(pDX, IDC_educationLevel, m_educationLevel);
	DDX_Text(pDX, IDC_graduateSchool, m_graduateSchool);
	DDX_Text(pDX, IDC_telephone, m_telephone);
	DDX_Text(pDX, IDC_postcode, m_postCode);
	DDX_Text(pDX, IDC_mobile, m_mobile);
	DDX_Text(pDX, IDC_QQ, m_QQ);
	DDX_Text(pDX, IDC_eMail, m_eMail);
	DDX_CBString(pDX, IDC_department, m_department);
	DDX_Text(pDX, IDC_positionTitle, m_positionTitle);
	DDX_Text(pDX, IDC_duty, m_duty);
	DDX_Text(pDX, IDC_address, m_address);
	DDX_Text(pDX, IDC_favourit, m_favourit);
	DDX_Text(pDX, IDC_remark, m_remark);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClientStaffForm, CDialog)
	//{{AFX_MSG_MAP(CClientStaffForm)
	ON_BN_CLICKED(IDC_add, OnAdd)
	ON_BN_CLICKED(IDC_delete, OnDelete)
	ON_BN_CLICKED(IDC_modify, OnModify)
	ON_BN_CLICKED(IDC_save, OnSave)
	ON_BN_CLICKED(IDC_cancelation, OnCancelation)
	ON_BN_CLICKED(IDC_exit, OnExit)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickStaffList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClientStaffForm message handlers

BOOL CClientStaffForm::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//设定客户列表框的样式,表格线,整行选择
	DWORD style;
	style=m_clientList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_clientList.SetExtendedStyle(style);
	//为客户列表框增加列并设定列标题
	m_clientList.InsertColumn(0,"客户编码",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(1,"单位名称",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(2,"联系人",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(3,"登记日期",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(4,"客户级别",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(5,"地区",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(6,"地址",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(7,"邮编",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(8,"电话",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(9,"传真",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(10,"网站",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(11,"eMail",LVCFMT_LEFT,100);
	m_clientList.InsertColumn(12,"备注",LVCFMT_LEFT,100);

	int i=0;
	CString strSQL;
	_RecordsetPtr m_pClientRecordset;	
	_RecordsetPtr m_pRecordset;
	HRESULT hTRes;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	//为部门组合框添加数据项
	strSQL="select distinct departmentName from department";//查询的SQL语句	
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果数据集
	while(!(m_pRecordset->adoEOF))
	{
		//添加数据项
		m_departmentCombo.InsertString(i,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("departmentName")));
		m_pRecordset->MoveNext();  //数据集指针向后移动
		i++;
	}
	m_pRecordset->Close();
	i=0;
	strSQL="select * from client";  //查询客户信息的sql语句
	hTRes = m_pClientRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pClientRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
		while(!(m_pClientRecordset->adoEOF))
		{
			m_clientList.InsertItem(i,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));//客户编号
			m_clientList.SetItemText(i,1,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientName"))); //单位名称
			m_clientList.SetItemText(i,2,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("contactPerson"))); //联系人
			m_clientList.SetItemText(i,3,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("bookinDate"))); //登记日期
			m_clientList.SetItemText(i,4,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientLevel"))); //客户级别
			m_clientList.SetItemText(i,5,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("areaID"))); //地区
			m_clientList.SetItemText(i,6,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("address"))); //地址
			m_clientList.SetItemText(i,7,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("postcode"))); //邮编
			m_clientList.SetItemText(i,8,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("telephone"))); //电话
			m_clientList.SetItemText(i,9,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("fax"))); //传真
			m_clientList.SetItemText(i,10,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("webSite"))); //网址
			m_clientList.SetItemText(i,11,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("eMail"))); //eMail
			m_clientList.SetItemText(i,12,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("remark"))); //备注

			
			i++;
			m_pClientRecordset->MoveNext();//记录集指针向后移动
		}
	}
    //设定员工列表框的样式
	style=m_staffList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_staffList.SetExtendedStyle(style);
	//为员工列表框增加列,并设定列标题
	m_staffList.InsertColumn(0,"人员编号",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(1,"姓名",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(2,"性别",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(3,"出生日期",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(4,"民族",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(5,"婚否",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(6,"政治面貌",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(7,"文化水平",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(8,"毕业院校",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(9,"联系电话",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(10,"邮编",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(11,"手机",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(12,"QQ",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(13,"eMail",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(14,"部门",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(15,"职称",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(16,"职务",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(17,"住址",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(18,"特长爱好",LVCFMT_LEFT,100);
	m_staffList.InsertColumn(19,"备注",LVCFMT_LEFT,100);

	//为对话框控件可用性控制变量赋值
	tx_staffID=GetDlgItem(IDC_staffID);
	tx_staffName=GetDlgItem(IDC_staffName);
	tx_sex=GetDlgItem(IDC_sex);
	tx_birthday=GetDlgItem(IDC_birthday);
	tx_nationality=GetDlgItem(IDC_nationality);
	tx_marriageCondition=GetDlgItem(IDC_marriageCondition);
	tx_partyFeature=GetDlgItem(IDC_partyFeature);
	tx_educationLevel=GetDlgItem(IDC_educationLevel);
	tx_graduateSchool=GetDlgItem(IDC_graduateSchool);
	tx_telephone=GetDlgItem(IDC_telephone);
	tx_postCode=GetDlgItem(IDC_postcode);
	tx_mobile=GetDlgItem(IDC_mobile);
	tx_QQ=GetDlgItem(IDC_QQ);
	tx_eMail=GetDlgItem(IDC_eMail);
	tx_department=GetDlgItem(IDC_department);
	tx_positionTitle=GetDlgItem(IDC_positionTitle);
	tx_duty=GetDlgItem(IDC_duty);
	tx_address=GetDlgItem(IDC_address);
	tx_favourit=GetDlgItem(IDC_favourit);
	tx_remark=GetDlgItem(IDC_remark);

	bt_add=GetDlgItem(IDC_add);
	bt_delete=GetDlgItem(IDC_delete);
	bt_modify=GetDlgItem(IDC_modify);
	bt_cancelation=GetDlgItem(IDC_cancelation);
	bt_save=GetDlgItem(IDC_save);
    //设定初始对话框的编辑控件均不可用
	tx_staffID->EnableWindow(false);
	tx_staffName->EnableWindow(false);
	tx_sex->EnableWindow(false);
	tx_birthday->EnableWindow(false);
	tx_nationality->EnableWindow(false);
	tx_marriageCondition->EnableWindow(false);
	tx_partyFeature->EnableWindow(false);
	tx_educationLevel->EnableWindow(false);
	tx_graduateSchool->EnableWindow(false);
	tx_telephone->EnableWindow(false);
	tx_postCode->EnableWindow(false);
	tx_mobile->EnableWindow(false);
	tx_QQ->EnableWindow(false);
	tx_eMail->EnableWindow(false);
	tx_department->EnableWindow(false);
	tx_positionTitle->EnableWindow(false);
	tx_duty->EnableWindow(false);
	tx_address->EnableWindow(false);
	tx_favourit->EnableWindow(false);
	tx_remark->EnableWindow(false);

	bt_add->EnableWindow(true);  //添加按钮可用
	bt_delete->EnableWindow(false); //删除按钮不可用
	bt_modify->EnableWindow(false); //修改按钮不可用
	bt_cancelation->EnableWindow(false); //取消按钮不可用
	bt_save->EnableWindow(false); //保存按钮不可用
	
	return TRUE; 
}

void CClientStaffForm::OnAdd() 
{
	CString m_formID;
	int formID=((CClientRelationshipApp*)AfxGetApp())->m_pIDRecordset->GetCollect("clientStaffID").intVal;
	if(formID<10)
		m_formID.Format("KHYG0000%d",formID);
	else if(formID<100&&formID>9)
		m_formID.Format("KHYG000%d",formID);
	else if(formID<1000&&formID>99)
		m_formID.Format("KHYG00%d",formID);

	CString str;
	str.Format("%d",formID+1);
	((CClientRelationshipApp*)AfxGetApp())->m_pIDRecordset->PutCollect("clientStaffID",_variant_t(str));
	((CClientRelationshipApp*)AfxGetApp())->m_pIDRecordset->Update();

	m_staffID=m_formID;
	m_staffName = _T("");
	m_sex = _T("");
	m_birthday = COleDateTime::GetCurrentTime();
	m_nationality = _T("");
	m_marriageCondition = _T("");
	m_partyFeature = _T("");
	m_educationLevel = _T("");
	m_graduateSchool = _T("");
	m_telephone = _T("");
	m_postCode = _T("");
	m_mobile = _T("");
	m_QQ = _T("");
	m_eMail = _T("");
	m_department = _T("");
	m_positionTitle = _T("");
	m_duty = _T("");
	m_address = _T("");
	m_favourit = _T("");
	m_remark = _T("");
	
	tx_staffID->EnableWindow(false);
	tx_staffName->EnableWindow(true);
	tx_sex->EnableWindow(true);
	tx_birthday->EnableWindow(true);
	tx_nationality->EnableWindow(true);
	tx_marriageCondition->EnableWindow(true);
	tx_partyFeature->EnableWindow(true);
	tx_educationLevel->EnableWindow(true);
	tx_graduateSchool->EnableWindow(true);
	tx_telephone->EnableWindow(true);
	tx_postCode->EnableWindow(true);
	tx_mobile->EnableWindow(true);
	tx_QQ->EnableWindow(true);
	tx_eMail->EnableWindow(true);
	tx_department->EnableWindow(true);
	tx_positionTitle->EnableWindow(true);
	tx_duty->EnableWindow(true);
	tx_address->EnableWindow(true);
	tx_favourit->EnableWindow(true);
	tx_remark->EnableWindow(true);

	bt_add->EnableWindow(false);
	bt_delete->EnableWindow(false);
	bt_modify->EnableWindow(false);
	bt_cancelation->EnableWindow(true);
	bt_save->EnableWindow(true);

	flag=1;

	UpdateData(false);
	
}

void CClientStaffForm::OnDelete() 
{
	UpdateData(true);
	
	CClientStaff clientStaff;
	clientStaff.sqlDelete(m_clientID,m_staffID);

	m_staffID="";
	m_staffName = _T("");
	m_sex = _T("");
	m_birthday = COleDateTime::GetCurrentTime();
	m_nationality = _T("");
	m_marriageCondition = _T("");
	m_partyFeature = _T("");
	m_educationLevel = _T("");
	m_graduateSchool = _T("");
	m_telephone = _T("");
	m_postCode = _T("");
	m_mobile = _T("");
	m_QQ = _T("");
	m_eMail = _T("");
	m_department = _T("");
	m_positionTitle = _T("");
	m_duty = _T("");
	m_address = _T("");
	m_favourit = _T("");
	m_remark = _T("");

	Refresh();
	
	tx_staffID->EnableWindow(false);
	tx_staffName->EnableWindow(false);
	tx_sex->EnableWindow(false);
	tx_birthday->EnableWindow(false);
	tx_nationality->EnableWindow(false);
	tx_marriageCondition->EnableWindow(false);
	tx_partyFeature->EnableWindow(false);
	tx_educationLevel->EnableWindow(false);
	tx_graduateSchool->EnableWindow(false);
	tx_telephone->EnableWindow(false);
	tx_postCode->EnableWindow(false);
	tx_mobile->EnableWindow(false);
	tx_QQ->EnableWindow(false);
	tx_eMail->EnableWindow(false);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -