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

📄 assetschgdlg.cpp

📁 用VC和SQL Server开发的固定资产管理系统
💻 CPP
字号:
// AssetsChgDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AssetsMan.h"
#include "AssetsChgDlg.h"
#include "Assets.h"
#include "AssetsEditDlg.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "_recordset.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAssetsChgDlg dialog


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


void CAssetsChgDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAssetsChgDlg)
	DDX_Control(pDX, IDC_TYPE_COMBO, m_type);
	DDX_Control(pDX, IDC_ADODC1, m_Adodc);
	DDX_Control(pDX, IDC_DATAGRID, m_DataGrid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAssetsChgDlg, CDialog)
	//{{AFX_MSG_MAP(CAssetsChgDlg)
	ON_BN_CLICKED(IDC_AUDIT_BUTTON, OnAuditButton)
	ON_BN_CLICKED(IDC_CHANGE_BUTTON, OnChangeButton)
	ON_CBN_SELCHANGE(IDC_TYPE_COMBO, OnSelchangeTypeCombo)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAssetsChgDlg message handlers

BOOL CAssetsChgDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	// 显示审核和变更的固定资产信息
	m_type.SetCurSel(0);
	// 刷新列表
	RefreshData();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAssetsChgDlg::RefreshData()
{
	CString csql;
	csql = "SELECT a.Id AS 编号,a.AId AS 资产编号,a.AName AS 资产名称,a.TypeId,";
	csql += "t.TypeName AS 类型,a.Status AS 状态,a.Model AS 型号,a.Producer AS 生产厂商,";
	csql += "UseDate AS 使用日期,UsedYear AS 使用年限,OrgPrice AS 原值,Ratio AS 残值率,";
	csql += "a.DeptId,d.DeptName AS 使用部门,a.RepPerson AS 负责人,";
	csql += "a.AddWay AS 增加方式,a.PostDate AS 提交日期,";
	csql += "a.IsAudit,(CASE WHEN a.IsAudit=1 THEN '已审核' ELSE '已变更' END) AS 是否变更";
	csql += " FROM Assets a,Departments d,Type t ";
	csql += " Where a.TypeId=t.TypeId AND a.DeptId=d.DeptId AND a.IsAudit<>0";
	// 判断查询条件
	if(m_type.GetCurSel() == 1)
		csql = csql + " AND a.IsAudit=1";
	else if(m_type.GetCurSel() == 2)
		csql = csql + " AND a.IsAudit=2";
//	MessageBox(csql);
	m_Adodc.SetRecordSource(csql);
	m_Adodc.Refresh();
	// 设置列宽度
	_variant_t vIndex;
	vIndex = long(0);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(1);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(2);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(3);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(4);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(5);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(6);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(7);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(100);
	vIndex = long(8);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(70);
	vIndex = long(9);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(10);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(11);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(12);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(13);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);
	vIndex = long(14);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(15);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	vIndex = long(16);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(70);
	vIndex = long(17);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(18);
	m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(60);
	ButtonEnable();
}

void CAssetsChgDlg::ButtonEnable()
{
	// 如果此记录已经审核,则审核功能失效
	if (!m_Adodc.GetRecordset().GetEof()) 
 		if(atoi(m_DataGrid.GetItem(17))==1) // 审核
 			GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(FALSE);
 		else if(atoi(m_DataGrid.GetItem(17))==2) // 变更
 			GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(TRUE);
	else
		GetDlgItem(IDC_AUDIT_BUTTON)->EnableWindow(FALSE);
}

BEGIN_EVENTSINK_MAP(CAssetsChgDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CAssetsChgDlg)
	ON_EVENT(CAssetsChgDlg, IDC_DATAGRID, -600 /* Click */, OnClickDatagrid, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

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

void CAssetsChgDlg::OnChangeButton() 
{
	// TODO: Add your control notification handler code here
	if (m_Adodc.GetRecordset().GetEof() == 1) 
	{
		MessageBox("没有数据");
		return;
	}

	// 变更固定资产,更改数据库表Assets中字段IsAudit为2
	CAssetsEditDlg dlg;
	dlg.cAudit = "2";
	dlg.cId = m_DataGrid.GetItem(0);
	dlg.m_Aid = m_DataGrid.GetItem(1);
	dlg.m_Aname = m_DataGrid.GetItem(2);
	// 设置类别编号和状态
	dlg.strTypeId = m_DataGrid.GetItem(3);
	dlg.strStatus = m_DataGrid.GetItem(5);	
	dlg.m_Model = m_DataGrid.GetItem(6);
	dlg.m_Producer = m_DataGrid.GetItem(7);
	// 设置使用日期
	dlg.strUseDate = m_DataGrid.GetItem(8);
	dlg.m_UseYear = atoi(m_DataGrid.GetItem(9));
	dlg.m_OrgPrice = atof(m_DataGrid.GetItem(10));
	dlg.m_Ratio = atof(m_DataGrid.GetItem(11));
	// 设置部门编号
	dlg.strDeptId = m_DataGrid.GetItem(12);
	dlg.m_RepPerson = m_DataGrid.GetItem(14);
	// 设置增加方式
	dlg.strAddWay = m_DataGrid.GetItem(15);
	dlg.m_PostDate = m_DataGrid.GetItem(16);
	UpdateData(FALSE);
	
	if(dlg.DoModal()==IDOK)
		RefreshData();
	ButtonEnable();
}

void CAssetsChgDlg::OnAuditButton() 
{
	if (m_Adodc.GetRecordset().GetEof() == 1) 
	{
		MessageBox("没有数据");
		return;
	}

	// 审核固定资产,更改数据库表Assets中字段IsAudit为1
	CAssets cAst;
	cAst.sql_Audit(m_DataGrid.GetItem(0));
	RefreshData();
	ButtonEnable();
}

void CAssetsChgDlg::OnSelchangeTypeCombo() 
{
	RefreshData();	
}

⌨️ 快捷键说明

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