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

📄 contract.cpp

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

#include "stdafx.h"
#include "ClientRelationship.h"
#include "Contract.h"
#include "ContractClass.h"

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

/////////////////////////////////////////////////////////////////////////////
// CContract dialog


CContract::CContract(CWnd* pParent /*=NULL*/)
	: CDialog(CContract::IDD, pParent)
{
	//{{AFX_DATA_INIT(CContract)
	m_contractID = _T("");
	m_contractName = _T("");
	m_formDate = COleDateTime::GetCurrentTime();
	m_productName = _T("");
	m_standard = _T("");
	m_model = _T("");
	m_unit = _T("");
	m_total = 0.0f;
	m_clientName = _T("");
	m_clientStaff = _T("");
	m_ourStaff = _T("");
	m_thirdStaff = _T("");
	m_effectiveDate = COleDateTime::GetCurrentTime();
	m_endDate = COleDateTime::GetCurrentTime();
	m_remark = _T("");

	is_search=0;
	//}}AFX_DATA_INIT
}


void CContract::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CContract)
	DDX_Control(pDX, IDC_thirdStaff, m_thirdStaffCombo);
	DDX_Control(pDX, IDC_ourStaff, m_ourStaffCombo);
	DDX_Control(pDX, IDC_clientStaff, m_clientStaffCombo);
	DDX_Control(pDX, IDC_clientName, m_clientNameCombo);
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_contractID, m_contractID);
	DDX_Text(pDX, IDC_contractName, m_contractName);
	DDX_DateTimeCtrl(pDX, IDC_formDate, m_formDate);
	DDX_Text(pDX, IDC_productName, m_productName);
	DDX_Text(pDX, IDC_standard, m_standard);
	DDX_Text(pDX, IDC_model, m_model);
	DDX_CBString(pDX, IDC_unit, m_unit);
	DDX_Text(pDX, IDC_total, m_total);
	DDX_CBString(pDX, IDC_clientName, m_clientName);
	DDX_CBString(pDX, IDC_clientStaff, m_clientStaff);
	DDX_CBString(pDX, IDC_ourStaff, m_ourStaff);
	DDX_CBString(pDX, IDC_thirdStaff, m_thirdStaff);
	DDX_DateTimeCtrl(pDX, IDC_effectiveDate, m_effectiveDate);
	DDX_DateTimeCtrl(pDX, IDC_endDate, m_endDate);
	DDX_Text(pDX, IDC_remark, m_remark);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CContract, CDialog)
	//{{AFX_MSG_MAP(CContract)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	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)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CContract message handlers

void CContract::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{	
	UpdateData(true);
	POSITION pos = m_list.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);
		m_contractID=m_list.GetItemText(nFirstSelItem,0);
	}

	CContractClass contract;

	contract.GetData(m_contractID);

	m_contractName = contract.GetContractName();
	m_formDate = contract.GetFormDate();
	m_productName = contract.GetProductName();
	m_standard = contract.GetStandard();
	m_model = contract.GetModel();
	m_unit = contract.GetUnit();
	m_total = contract.GetTotal();
	m_clientName = contract.GetClientName();
	m_clientStaff = contract.GetClientStaff();
	m_ourStaff = contract.GetOurStaff();
	m_thirdStaff = contract.GetThirdStaff();
	m_effectiveDate = contract.GetEffectiveDate();
	m_endDate = contract.GetEndDate();
	m_remark = contract.GetRemark();

	tx_contractID->EnableWindow(false);
	tx_contractName->EnableWindow(false);
	tx_formDate->EnableWindow(false);
	tx_productName->EnableWindow(false);
	tx_standard->EnableWindow(false);
	tx_model->EnableWindow(false);
	tx_unit->EnableWindow(false);
	tx_total->EnableWindow(false);
	tx_clientName->EnableWindow(false);
	tx_clientStaff->EnableWindow(false);
	tx_ourStaff->EnableWindow(false);
	tx_thirdStaff->EnableWindow(false);
	tx_effectiveDate->EnableWindow(false);
	tx_endDate->EnableWindow(false);
	tx_remark->EnableWindow(false);

	bt_add->EnableWindow(true);
	bt_delete->EnableWindow(true);
	bt_modify->EnableWindow(true);
	bt_save->EnableWindow(false);
	bt_cancelation->EnableWindow(false);
	
	*pResult = 0;
	UpdateData(false);
}

BOOL CContract::OnInitDialog() 
{
	CDialog::OnInitDialog();

	DWORD style;
	style=m_list.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_list.SetExtendedStyle(style);
	
	m_list.InsertColumn(0,"合同编码",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"合同名称",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"签订日期",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"产品名称",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"规格",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"型号",LVCFMT_LEFT,100);
	m_list.InsertColumn(6,"计量单位",LVCFMT_LEFT,100);
	m_list.InsertColumn(7,"合同金额",LVCFMT_LEFT,100);
	m_list.InsertColumn(8,"客户名称",LVCFMT_LEFT,100);
	m_list.InsertColumn(9,"客户代表",LVCFMT_LEFT,100);
	m_list.InsertColumn(10,"我方代表",LVCFMT_LEFT,100);
	m_list.InsertColumn(11,"第三方代表",LVCFMT_LEFT,100);
	m_list.InsertColumn(12,"生效日期",LVCFMT_LEFT,100);
	m_list.InsertColumn(13,"到期日期",LVCFMT_LEFT,100);
	m_list.InsertColumn(14,"合同备注",LVCFMT_LEFT,100);

	tx_contractID=GetDlgItem(IDC_contractID);
	tx_contractName=GetDlgItem(IDC_contractName);
	tx_formDate=GetDlgItem(IDC_formDate);
	tx_productName=GetDlgItem(IDC_productName);
	tx_standard=GetDlgItem(IDC_standard);
	tx_model=GetDlgItem(IDC_model);
	tx_unit=GetDlgItem(IDC_unit);
	tx_total=GetDlgItem(IDC_total);
	tx_clientName=GetDlgItem(IDC_clientName);
	tx_clientStaff=GetDlgItem(IDC_clientStaff);
	tx_ourStaff=GetDlgItem(IDC_ourStaff);
	tx_thirdStaff=GetDlgItem(IDC_thirdStaff);
	tx_effectiveDate=GetDlgItem(IDC_effectiveDate);
	tx_endDate=GetDlgItem(IDC_endDate);
	tx_remark=GetDlgItem(IDC_remark);

	bt_add=GetDlgItem(IDC_add);
	bt_delete=GetDlgItem(IDC_delete);
	bt_modify=GetDlgItem(IDC_modify);
	bt_save=GetDlgItem(IDC_save);
	bt_cancelation=GetDlgItem(IDC_cancelation);

	
	CString strSQL;
	_RecordsetPtr m_pRecordset;
	HRESULT hTRes;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));	
	strSQL="select distinct clientName from client";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
	int i=0;
	while(!(m_pRecordset->adoEOF))
	{
		m_clientNameCombo.InsertString(i,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("clientName")));
		m_pRecordset->MoveNext();
		i++;
	}
	m_pRecordset->Close();
	
	strSQL="select distinct staffName from staff";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
	i=0;
	while(!(m_pRecordset->adoEOF))
	{
		m_ourStaffCombo.InsertString(i,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("staffName")));
		m_pRecordset->MoveNext();
		i++;
	}
	m_pRecordset->Close();

	strSQL="select distinct staffName from clientStaff";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
	i=0;
	while(!(m_pRecordset->adoEOF))
	{
		m_clientStaffCombo.InsertString(i,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("staffName")));
		m_pRecordset->MoveNext();
		i++;
	}
	m_pRecordset->Close();

	strSQL="select * from contract ";
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));				
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CClientRelationshipApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
	i=0;
	while(!(m_pRecordset->adoEOF))
	{
		CString str;
		m_list.InsertItem(i, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("contractID")));
		m_list.SetItemText(i,1, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("contractName")));
		COleDateTime formDate = m_pRecordset->GetCollect("formDate");
		str.Format("%d-%d-%d",formDate.GetYear(),formDate.GetMonth(),formDate.GetDay());
		m_list.SetItemText(i,2,str);
		m_list.SetItemText(i,3,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("productName")));
		m_list.SetItemText(i,4, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("standard")));
		m_list.SetItemText(i,5, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("model")));
		m_list.SetItemText(i,6, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("unit")));
		m_list.SetItemText(i,7, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("total")));
		m_list.SetItemText(i,8, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("clientName")));
		m_list.SetItemText(i,9, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("clientStaff")));
		m_list.SetItemText(i,10, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("ourStaff")));
		m_list.SetItemText(i,11, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("thirdStaff")));
		m_list.SetItemText(i,12, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("effectiveDate")));
		m_list.SetItemText(i,13, ((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("endDate")));
		m_list.SetItemText(i,14,((CClientRelationshipApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("remark")));
		
		
		i++;
		m_pRecordset->MoveNext();
	}
	if(is_search==0)
	{
		bt_add->EnableWindow(true);
		bt_delete->EnableWindow(false);
		bt_modify->EnableWindow(false);
		bt_save->EnableWindow(false);
		bt_cancelation->EnableWindow(false);
	}
	else if(is_search==1)
	{
		CContractClass contract;
		contract.GetData(m_contractID);

		m_contractName = contract.GetContractName();
		m_formDate = contract.GetFormDate();
		m_productName = contract.GetProductName();
		m_standard = contract.GetStandard();
		m_model = contract.GetModel();
		m_unit = contract.GetUnit();
		m_total = contract.GetTotal();
		m_clientName = contract.GetClientName();
		m_clientStaff = contract.GetClientStaff();
		m_ourStaff = contract.GetOurStaff();
		m_thirdStaff = contract.GetThirdStaff();
		m_effectiveDate = contract.GetEffectiveDate();
		m_endDate = contract.GetEndDate();
		m_remark = contract.GetRemark();

		bt_add->EnableWindow(true);
		bt_delete->EnableWindow(true);
		bt_modify->EnableWindow(true);
		bt_save->EnableWindow(false);
		bt_cancelation->EnableWindow(false);
	}
	
	
	
	
	tx_contractID->EnableWindow(false);
	tx_contractName->EnableWindow(false);
	tx_formDate->EnableWindow(false);
	tx_productName->EnableWindow(false);
	tx_standard->EnableWindow(false);
	tx_model->EnableWindow(false);
	tx_unit->EnableWindow(false);
	tx_total->EnableWindow(false);
	tx_clientName->EnableWindow(false);
	tx_clientStaff->EnableWindow(false);
	tx_ourStaff->EnableWindow(false);
	tx_thirdStaff->EnableWindow(false);
	tx_effectiveDate->EnableWindow(false);
	tx_endDate->EnableWindow(false);
	tx_remark->EnableWindow(false);

	UpdateData(false);
	

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE

⌨️ 快捷键说明

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