固定资产管理系统

  • 格式:doc
  • 大小:563.00 KB
  • 文档页数:93

目录一.摘要............................... 错误!未定义书签。

1.背景说明.......................... 错误!未定义书签。

2.设计目的.......................... 错误!未定义书签。

3.需求分析.......................... 错误!未定义书签。

二.固定资产管理系统概述............... 错误!未定义书签。

1.设计内容.......................... 错误!未定义书签。

2.设计特点.......................... 错误!未定义书签。

三.固定资产管理系统数据库分析与设计... 错误!未定义书签。

1.系统的功能模块图.................. 错误!未定义书签。

2.数据库结构设计.................... 错误!未定义书签。

3.概念模型设计(E-R图)............. 错误!未定义书签。

四.窗体实现与设计. (8)1.登陆界面 (8)2.主界面............................ 错误!未定义书签。

3.部门信息管理界面.................. 错误!未定义书签。

4.资产类别管理界面.................. 错误!未定义书签。

5.固定资产信息编辑界面.............. 错误!未定义书签。

6.固定资产信息管理界面.............. 错误!未定义书签。

7.固定资产分配界面.................. 错误!未定义书签。

8.固定资产变更界面.................. 错误!未定义书签。

9.固定资产折旧界面.................. 错误!未定义书签。

10.固定资产报废界面................. 错误!未定义书签。

11.用户管理界面..................... 错误!未定义书签。

12.修改密码界面 (39)五.结论与体会......................... 错误!未定义书签。

一.摘要1.背景说明随着社会经济的不断发展,企业规模越来越大,资产越来越多,资产管理就显得非常困难。

固定资产成为每个企业不可缺少的重要部分,加强固定资产管理,可以优化企业资源配置,本系统适用与中小型企业及政府机关、学校等。

主要维护固定资产的登记、清理、借出和还入、维修、折旧等信息,实现设备的日常管理功能,通过一系列查询功能,可方便获知每一件固定资产的状态及当前所处位置,具有操作简单,界面友善,灵活性好,系统安全性高,运行稳定等特点,保证了企业中的每一件物品发挥其最大效力。

2.设计目的在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。

在结构化程序设计中关键是如何将问题域中的行为(即操作)抽取出来,作为C++程序中的函数。

由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。

而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。

3.需求分析基本信息的添加、修改、删除和查询。

基本信息包括部门信息和固定资产类型信息。

资产信息管理包括固定资产的录入、分配、变更、折旧和报废等功能。

统计查询功能包括部门资产统计表和分类资产统计表。

二.固定资产管理系统概述1.设计内容(1) 系统信息设置模块:包括部门管理,类别管理和退出系统(2) 固定资产管理模块理模块,包括信息编辑,资产分配,资产变更,资产折旧,资产报废等(3) 系统用户管理模块,包括用户管理和修改密码2.设计特点后台数据库使用SQL Server,前台开发工具使用Visual C++。

本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。

这也是本系统的特色和优势。

三.固定资产管理系统数据库分析与设计1.系统的功能模块图图2.1 固定资产管理系统功能模块示意图2.数据库结构设计数据库中包含6个表,即部门信息表Departments、资产分类信息表Types、资产信息表Assets、资产分配表Distribute、设备报废表Discard和用户信息表Users等。

表Assets表Departments表Discard表Distribute表Types表Users3.概念模型设计(E-R图)四.窗体实现与设计1.登陆界面代码设计#include"stdafx.h"#include"AssetsMan.h"#include"LoginDlg.h"#include"Users.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/): CDialog(CLoginDlg::IDD, pParent){count = 0;m_Pwd = _T("");m_UserName = _T("");void CLoginDlg::DoDataExchange(CDataExchange* pDX) {CDialog::DoDataExchange(pDX);DDX_Text(pDX, IDC_PWD_EDIT, m_Pwd);DDX_Text(pDX, IDC_USERNAME_EDIT, m_UserName);}BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)ON_EN_CHANGE(IDC_USERNAME_EDIT,&CLoginDlg::OnEnChangeUsernameEdit)ON_EN_CHANGE(IDC_PWD_EDIT,&CLoginDlg::OnEnChangePwdEdit)END_MESSAGE_MAP()void CLoginDlg::OnOK(){UpdateData(TRUE);if (m_UserName == ""){MessageBox("请输入用户名?");return;}if (m_Pwd == ""){MessageBox("请输入密码");return;}CUsers user;user.GetData(m_UserName);if (erPwd != m_Pwd){MessageBox("用户信息不正确,无法登录!");count++;if(count >= 3){MessageBox("已经连续3次登录失败,将退出系统");OnCancel();}return;}CDialog::OnOK();}void CLoginDlg::OnEnChangeUsernameEdit(){}void CLoginDlg::OnEnChangePwdEdit(){}2.主界面代码设计#include"stdafx.h"#include"AssetsMan.h" #include"Assets.h"#include"ADOConn.h" #ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__; #define new DEBUG_NEW#endifCAssets::CAssets(){Aid = "";Aname = "";Model = "";Producer = "";UsedYear = 1;OrgPrice = 0;Ratio = 0;Status = "未使用";AddWay = "";IsAudit = 0;IsDiscount = 0;}CAssets::~CAssets(){}void CAssets::sql_Insert(){try{ADOConn m_AdoConn;CStringcSql,cDate,cOrgPrc,cRatio,cTypeId,cYear;_bstr_t bSql;cOrgPrc.Format("%f",OrgPrice);cRatio.Format("%f",Ratio);cTypeId.Format("%d",TypeId);cYear.Format("%d",UsedYear);CTime t = CTime::GetCurrentTime();cDate.Format(_T("%04d-%02d-%02d"),t.GetYear(),t.GetMonth(),t.GetDay());cSql = "Insert IntoAssets(Aid,Aname,TypeId,Model,Producer,";cSql += "UseDate,UsedYear,OrgPrice,Ratio,";cSql += "Status,AddWay,IsAudit,PostDate, IsDiscount) Values('";cSql +=Aid+"','"+Aname+"',"+cTypeId+",'"+Model+"','"+Producer+ "','";cSql += UseDate+"',"+cYear+","+cOrgPrc+",";cSql += cRatio+",'未使用','"+AddWay+"',0,'"+cDate+"', 0)";bSql = (LPCTSTR)(_bstr_t)cSql;m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}void CAssets::sql_Update(CString cId){try{ADOConn m_AdoConn;CStringcDate,cOrgPrc,cRatio,cTypeId,cYear;_bstr_t bSql;cOrgPrc.Format("%f",OrgPrice);cRatio.Format("%f",Ratio);cTypeId.Format("%d",TypeId);cYear.Format("%d",UsedYear);CTime t = CTime::GetCurrentTime();cDate.Format(_T("%04d-%02d-%02d"),t.GetYear(),t.GetM onth(),t.GetDay());bSql = "Update Assets SetAid='"+Aid+"',Aname='"+Aname+"',"+"TypeId="+cTypeId+",Model='"+Model+"',Producer='"+P roducer+"',"+"UseDate='"+UseDate+"',UsedYear="+cYear+",OrgPrice= "+cOrgPrc+","+"Ratio="+cRatio+", AddWay='"+AddWay+"',"+"PostDate='"+cDate+"' Where Aid='"+cId + "'";m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}void CAssets::sql_Delete(CString cId){try{ADOConn m_AdoConn;_bstr_t bSql;bSql = "Delete From Assets Where Aid='" + cId + "'";m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}void CAssets::sql_Change(CString cId){try{ADOConn m_AdoConn;CString cRatio, cYear;_bstr_t bSql;cRatio.Format("%f",Ratio);cYear.Format("%d",UsedYear);bSql = "Update Assets Set UsedYear="+ cYear + ", Ratio=" + cRatio + ","+ " IsAudit=2 Where Aid='" + cId + "'";m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}void CAssets::sql_Audit(CString cId){try{ADOConn m_AdoConn;_bstr_t bSql;bSql = "Update Assets Set IsAudit=1 Where Aid='"+cId+"'";m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}void CAssets::sql_Status(CString cId){try{ADOConn m_AdoConn;_bstr_t bSql;bSql = "Update Assets Set Status='"+ Status + "' Where Aid='"+cId+"'";m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}}int CAssets::HaveAid(CString cAid){try{long lRscnt = 0;_RecordsetPtr m_pRecordset;ADOConn m_AdoConn;_bstr_t bSQL;bSQL = "Select * From Assets Where Aid='" + cAid + "'";m_pRecordset =m_AdoConn.GetRecordSet(bSQL);if (m_pRecordset->adoEOF)return -1;elsereturn 1;m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}return -1;}int CAssets::HaveName(CString cAname){try{long lRscnt = 0;_RecordsetPtr m_pRecordset;ADOConn m_AdoConn;_bstr_t bSQL;bSQL = "Select * From Assets Where Aname='" + cAname + "'";m_pRecordset = m_AdoConn.GetRecordSet(bSQL);if (m_pRecordset->adoEOF)return -1;elsereturn 1;m_AdoConn.ExitConnect();}catch(_com_error e){AfxMessageBox(e.Description());}return -1;}void CAssets::BeginDiscount(CString cId){try。