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

📄 distributemandlg.cpp

📁 固定资产管理系统,VC++做的,很有参考价值,源码也说明文档都有.
💻 CPP
字号:
// DistributeManDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AssetsMan.h"
#include "DistributeManDlg.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "_recordset.h"
#include "DistributeEditDlg.h"
#include "Distribute.h"
#include "Assets.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDistributeManDlg dialog


CDistributeManDlg::CDistributeManDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDistributeManDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDistributeManDlg)
	//}}AFX_DATA_INIT
}


void CDistributeManDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDistributeManDlg)
	DDX_Control(pDX, IDC_TYPE_COMBO, m_type);
	DDX_Control(pDX, IDC_ADODC1, m_adodc1);
	DDX_Control(pDX, IDC_ADODC2, m_adodc2);
	DDX_Control(pDX, IDC_SEARCH_DATACOMBO, m_search);
	DDX_Control(pDX, IDC_DATAGRID1, m_DataGrid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDistributeManDlg, CDialog)
	//{{AFX_MSG_MAP(CDistributeManDlg)
	ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
	ON_CBN_SELCHANGE(IDC_TYPE_COMBO, OnSelchangeTypeCombo)
	ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
	ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
	ON_BN_CLICKED(IDC_AUDIT_BUTTON, OnAuditButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDistributeManDlg message handlers
// 刷新DataGrid数据,显示所有固定资产信息
void CDistributeManDlg::RefreshData()
{
	UpdateData(TRUE);	
	CString csql;
	csql = "SELECT a.Aid AS 资产编号,a.Aname AS 资产名称, d1.DepName AS 分配部门,"
		" d.EmpName AS 负责人, d.CreateDate AS 创建日期, a.Status AS 状态, d1.DepId"
		" FROM Assets a,Departments d1,Types t, Distribute d "
		" WHERE a.TypeId=t.TypeId AND d.DepId=d1.DepId AND d.Aid=a.Aid And a.IsAudit=1";
	// 判断查询条件
	if (cSearchValue == "")
		cSearchValue = "0";
	if(m_type.GetCurSel() == 1)			//按类别查询
		csql = csql + " AND a.TypeId=" + cSearchValue;
	else if(m_type.GetCurSel() == 2)		//按部门查询
		csql = csql + " AND d.DepId=" + cSearchValue;

	//设置记录源
	m_adodc1.SetRecordSource(csql);
	m_adodc1.Refresh();

	//设置列宽度
	_variant_t vIndex;
	vIndex = long(0);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(1);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(2);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(3);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(4);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(5);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(6);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	//根据当前记录的状态决定按钮控件的情况
	ButtonEnable();
}

void CDistributeManDlg::ButtonEnable()
{
	// 如果此记录已经审批,则编辑、删除和审核功能失效
	// 如果此记录已经变更,则编辑和删除功能失效
	if (!m_adodc1.GetRecordset().GetEof()) 
	{
		if(m_DataGrid.GetItem(5)=="未使用")
		{
			GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(TRUE);
			GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(TRUE);
			GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(TRUE);
		}
		else if(m_DataGrid.GetItem(5)=="使用中")
		{
			GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(FALSE);
			GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(FALSE);
			GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(FALSE);
		}
	}
	else
	{
		GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(FALSE);
		GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(FALSE);
		GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(FALSE);
	}
	// 普通用户没有审核权限
	if(curUser.UserType == "普通用户")
		GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(FALSE);
}


void CDistributeManDlg::OnAddButton() 
{
	// 定义固定资产对象并设置变量cId为空字符串
	CDistributeEditDlg dlg;
	dlg.cAid = "";
	if(dlg.DoModal()==IDOK)
		RefreshData();	
}

BOOL CDistributeManDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// 显示全部固定资产信息
	m_type.SetCurSel(0);
	// 全部情况下隐藏列表 
	GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_HIDE);
	// 刷新列表
	RefreshData();	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDistributeManDlg::OnSelchangeTypeCombo() 
{
	UpdateData(TRUE);	
	int iSel;
	iSel = m_type.GetCurSel();  //读取选择的查询类别	
	// 置查询列表初始为空
	m_search.SetText("");
	if (iSel == 1)			// 按类别查询
	{
		// 设置数据源(为查询列表提供数据源)
		m_adodc2.SetRecordSource("SELECT * FROM Types");
		m_adodc2.Refresh();
		// 设置显示列和绑定列
		m_search.SetListField("TypeName");
		m_search.SetBoundColumn("TypeId");
		m_search.Refresh();
		// 显示列表
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_SHOW);
	}
	else if (iSel == 2)		// 按部门查询
	{
		// 设置数据源(为查询列表提供数据源)
		m_adodc2.SetRecordSource("SELECT * FROM Departments");
		m_adodc2.Refresh();
		// 设置显示列和绑定列
		m_search.SetListField("DepName");
		m_search.SetBoundColumn("DepId");
		m_search.Refresh();
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_SHOW);
	}
	else					// 显示全部资产记录
	{
		// 隐藏列表 
		GetDlgItem(IDC_SEARCH_DATACOMBO)->ShowWindow(SW_HIDE);
	}
	cSearchValue = m_search.GetBoundText();
	UpdateData(FALSE);
	//刷新记录
	RefreshData();	
}

void CDistributeManDlg::OnModiButton() 
{
	if (m_adodc1.GetRecordset().GetEof()) 
	{
		MessageBox("没有数据");
		return;
	}
	// 定义固定资产分配对话框对象并设置成员变量
	CDistributeEditDlg dlg;
	dlg.cAid = m_DataGrid.GetItem(0);		// 记录编号
	dlg.m_aid = m_DataGrid.GetItem(0);
	dlg.cDepId = m_DataGrid.GetItem(6);		// 部门编号
	dlg.cDepName = m_DataGrid.GetItem(2);	// 部门名称
	dlg.m_assets = m_DataGrid.GetItem(1);	// 资产名称
	dlg.m_name = m_DataGrid.GetItem(3);		// 负责人
	dlg.cDate = m_DataGrid.GetItem(4);		// 创建日期
	if(dlg.DoModal()==IDOK)
		RefreshData();		
}

void CDistributeManDlg::OnDelButton() 
{
	if (m_adodc1.GetRecordset().GetEof()) 
	{
		MessageBox("请选择要删除的数据");
		return;
	}
	//要求用户确认是否删除记录
	if (MessageBox("是否删除当前记录?","请确认", MB_YESNO) == IDYES)
	{
		CDistribute dis;
		dis.sql_Delete(m_DataGrid.GetItem(0));
		RefreshData();
	}	
}

void CDistributeManDlg::OnAuditButton() 
{
	if (m_adodc1.GetRecordset().GetEof()) 
	{
		MessageBox("请选择要审核的数据");
		return;
	}
	// 将记录状态更新为使用中
	CAssets ast;
	ast.Status = "使用中";
	ast.sql_Status(m_DataGrid.GetItem(0));
	RefreshData();
}

BEGIN_EVENTSINK_MAP(CDistributeManDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CDistributeManDlg)
	ON_EVENT(CDistributeManDlg, IDC_DATAGRID1, -600 /* Click */, OnClickDatagrid1, VTS_NONE)
	ON_EVENT(CDistributeManDlg, IDC_SEARCH_DATACOMBO, -600 /* Click */, OnClickSearchDatacombo, VTS_I2)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CDistributeManDlg::OnClickDatagrid1() 
{
	// TODO: Add your control notification handler code here
	ButtonEnable();
}

void CDistributeManDlg::OnClickSearchDatacombo(short Area) 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	cSearchValue = m_search.GetBoundText();
	RefreshData();
}

⌨️ 快捷键说明

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