固定资产管理系统.docx

上传人:牧羊曲112 文档编号:1667546 上传时间:2022-12-13 格式:DOCX 页数:41 大小:308.95KB
返回 下载 相关 举报
固定资产管理系统.docx_第1页
第1页 / 共41页
固定资产管理系统.docx_第2页
第2页 / 共41页
固定资产管理系统.docx_第3页
第3页 / 共41页
固定资产管理系统.docx_第4页
第4页 / 共41页
固定资产管理系统.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《固定资产管理系统.docx》由会员分享,可在线阅读,更多相关《固定资产管理系统.docx(41页珍藏版)》请在三一办公上搜索。

1、 目录一摘要21.背景说明22.设计目的23.需求分析2二固定资产管理系统概述31.设计内容32.设计特点3三固定资产管理系统数据库分析与设计31.系统的功能模块图32.数据库结构设计43.概念模型设计(E-R图)6四窗体实现与设计81.登陆界面82.主界面103.部门信息管理界面154.资产类别管理界面185.固定资产信息编辑界面206.固定资产信息管理界面247.固定资产分配界面288.固定资产变更界面309.固定资产折旧界面3210.固定资产报废界面3511.用户管理界面3712.修改密码界面39五结论与体会41一摘要1. 背景说明随着社会经济的不断发展,企业规模越来越大,资产越来越多,

2、资产管理就显得非常困难。固定资产成为每个企业不可缺少的重要部分,加强固定资产管理,可以优化企业资源配置,本系统适用与中小型企业及政府机关、学校等。主要维护固定资产的登记、清理、借出和还入、维修、折旧等信息,实现设备的日常管理功能,通过一系列查询功能,可方便获知每一件固定资产的状态及当前所处位置,具有操作简单,界面友善,灵活性好,系统安全性高,运行稳定等特点,保证了企业中的每一件物品发挥其最大效力。2.设计目的 在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。在结构化程序设计中关键是如何将问题域中的行为(即操作)抽取出来,作为C+程序中的函数

3、。由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C+程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。3.需求分析基本信息的添加、修改、删除和查询。基本信息包括部门信息和固定资产类型信息。 资产信息管理包括固定资产的录入、分配、变更、折旧和报废等功能。统计查询功能包括部门资产统计表和分类资产统计表。二固定资产管理系统概述1.设计内容 (1) 系统信息设置模块:包括部门管理,类别管理和退出系统 (2) 固定资产管理模块理模块,包括信息编辑,资产分配,资产变更,资产

4、折旧,资产报废等(3) 系统用户管理模块,包括用户管理和修改密码2.设计特点后台数据库使用SQL Server,前台开发工具使用Visual C+。本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作 封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。这也是本系统的特色和优势。三固定资产管理系统数据库分析与设计1.系统的功能模块图 图2.1 固定资产管理系统功能模块示意图 2.数据库结构设计 数据库中包含6个表,即部门信息表Departments、资产分类信息表Types、资产信息表Assets、资产分配表Distribute、设备报废表Discar

5、d和用户信息表Users等。 表Assets列名数据类型允许为空Aidvarchar(30)不允许Anamevarchar(50)不允许TypeIdint允许Modelvarchar(30)允许Producervarchar(100)允许UseDatevarchar(20)允许UsedYearint允许OrgPricedecimal(15,2)允许Ratiodecimal(7,5)允许Statusvarchar(30)允许AddWayvarchar(30)允许IsAuditint允许PostDateVarchar(20)允许IsDiscounttinyint允许 表Departments列名数

6、据类型允许为空DepIdint不允许DepNamevarchar(40)不允许 表Discard列名数据类型允许为空Aidvarchar(30)允许DSumfloat允许Reasonvarchar(200)允许CreateDatevarchar(30)允许EmpNamevarchar(40)允许Checkervarchar(40)允许CheckDatevarchar(40)允许StatusChar(4)允许表Distribute列名数据类型允许为空Aidvarchar(30)允许DepIdint允许EmpNamevarchar(50)允许CreateDatevarchar(30)允许表Type

7、s列名数据类型允许为空TypeIdint不允许TypeNamevarchar(30)不允许表Users列名数据类型允许为空UseraName varchar(40)不允许EmpNamevarchar(40)允许UserPwdvarchar(40)允许UserTypevarchar(20)允许3.概念模型设计(E-R图)资产编号固定资产资产名称类型状态型号生产厂商使用日期使用年限用户用户名用户密码用户类别部门部门名称负责人部门固定资产管理1m固定资产变更分配折旧报废部门用户创建日期残值率使用月份报废原因状态mnmnmn四窗体实现与设计1.登陆界面代码设计#include stdafx.h#inc

8、lude 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*

9、 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 CLogin

10、Dlg:OnOK() UpdateData(TRUE);if (m_UserName = )MessageBox(请输入用户名?);return;if (m_Pwd = )MessageBox(请输入密码);return;CUsers user;user.GetData(m_UserName);if (user.UserPwd != m_Pwd)MessageBox(用户信息不正确,无法登录!);count+;if(count = 3)MessageBox(已经连续3次登录失败,将退出系统);OnCancel();return;CDialog:OnOK();void CLoginDlg:OnE

11、nChangeUsernameEdit()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

12、;Ratio = 0;Status = 未使用;AddWay = ;IsAudit = 0;IsDiscount = 0;CAssets:CAssets()void CAssets:sql_Insert()tryADOConn m_AdoConn;CString cSql,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 = C

13、Time:GetCurrentTime();cDate.Format(_T(%04d-%02d-%02d),t.GetYear(),t.GetMonth(),t.GetDay();cSql = Insert Into Assets(Aid,Aname,TypeId,Model,Producer,;cSql += UseDate,UsedYear,OrgPrice,Ratio,;cSql += Status,AddWay,IsAudit,PostDate, IsDiscount) Values(;cSql += Aid+,+Aname+,+cTypeId+,+Model+,+Producer+,

14、;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)tryADOConn m_AdoConn;CString cDate,cOrgPrc,cRatio,cTyp

15、eId,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();bSql = Update Assets Set Aid=+Aid+,Aname=+Aname+,+TypeId=+cTypeId+,Model

16、=+Model+,Producer=+Producer+,+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)tryADOConn

17、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)tryADOConn m_AdoConn;CString cRatio, cYear;_bstr_t bSql;cRatio.Format(%f,Ratio);cYear.Format(%d

18、,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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets

19、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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets Set Status= + Status + Where Aid=+cId+;m_AdoConn.ExecuteSQL(bSql);m_AdoConn.Exi

20、tConnect();catch(_com_error e)AfxMessageBox(e.Description();int CAssets:HaveAid(CString cAid)trylong 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;els

21、ereturn 1;m_AdoConn.ExitConnect();catch(_com_error e)AfxMessageBox(e.Description();return -1;int CAssets:HaveName(CString cAname)trylong lRscnt = 0;_RecordsetPtr m_pRecordset;ADOConn m_AdoConn;_bstr_t bSQL;bSQL = Select * From Assets Where Aname= + cAname + ;m_pRecordset = m_AdoConn.GetRecordSet(bSQ

22、L);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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets Set IsDiscount=1 Where Aid=+cId+;m_AdoConn.ExecuteSQL(bSql);m_AdoConn.Exi

23、tConnect();catch(_com_error e)AfxMessageBox(e.Description();3.部门信息管理界面代码设计#include stdafx.h#include AssetsMan.h#include DeptDlg.h#include Departments.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifCDeptDlg:CDeptDlg(CWnd* pParent /*=NULL*/): CDialog(CDeptDlg:I

24、DD, pParent)m_DeptName = _T();void CDeptDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);DDX_Control(pDX, IDC_ADODC1, m_AdoDept);DDX_Text(pDX, IDC_EDIT1, m_DeptName);DDX_Control(pDX, IDC_DATALIST1, m_DataDept);BEGIN_MESSAGE_MAP(CDeptDlg, CDialog)ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddBu

25、tton)ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)ON_EN_CHANGE(IDC_EDIT1, &CDeptDlg:OnEnChangeEdit1)END_MESSAGE_MAP()BEGIN_EVENTSINK_MAP(CDeptDlg, CDialog)ON_EVENT(CDeptDlg, IDC_DATALIST1, -600 /* Click */, OnClickDatalist1, VTS_NONE)END_EVENTSINK_MAP()void C

26、DeptDlg:OnClickDatalist1() m_DeptName = m_DataDept.GetText();cDepId = m_DataDept.GetBoundText();cDepNameOld = m_DataDept.GetText();UpdateData(FALSE);void CDeptDlg:OnAddButton() UpdateData(TRUE);if (m_DeptName = )MessageBox(请输入部门名称);return;CDepartments cDep;cDep.DepName = m_DeptName;if (cDep.HaveName

27、(m_DeptName) = 1)MessageBox(已经存在此部门信息!);elsecDep.sql_Insert();m_AdoDept.Refresh();void CDeptDlg:OnModiButton() UpdateData(TRUE);if (m_DataDept.GetText() = )MessageBox(请选择要修改的部门名称);return;if (m_DeptName = )MessageBox(请输入部门名称);return;if(cDepNameOld != m_DeptName)CDepartments cDept;cDept.DepName = m_De

28、ptName;if (cDept.HaveName(m_DeptName) = 1)MessageBox(新的部门名称已经存在);elsecDept.sql_Update(cDepId);m_AdoDept.Refresh();void CDeptDlg:OnDelButton() if (m_DataDept.GetText() = )MessageBox(请选择要删除的部门名称);return;CDepartments cDep;cDep.sql_Delete(cDepId);m_AdoDept.Refresh();void CDeptDlg:OnEnChangeEdit1()4.资产类别

29、管理界面代码设计#include stdafx.h#include AssetsMan.h#include TypeDlg.h#include Types.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifCTypeDlg:CTypeDlg(CWnd* pParent /*=NULL*/): CDialog(CTypeDlg:IDD, pParent)m_TypeName = _T();void CTypeDlg:DoDataExchange(CDataExchange

30、* pDX)CDialog:DoDataExchange(pDX);DDX_Control(pDX, IDC_ADODC1, m_AdoType);DDX_Control(pDX, IDC_DATALIST1, m_DataType);DDX_Text(pDX, IDC_EDIT1, m_TypeName);BEGIN_MESSAGE_MAP(CTypeDlg, CDialog)ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)ON_BN_CLICKED(IDC_DEL_B

31、UTTON, OnDelButton)END_MESSAGE_MAP()BEGIN_EVENTSINK_MAP(CTypeDlg, CDialog)ON_EVENT(CTypeDlg, IDC_DATALIST1, -600 /* Click */, OnClickDatalist1, VTS_NONE)END_EVENTSINK_MAP()void CTypeDlg:OnClickDatalist1() m_TypeName = m_DataType.GetText();cTypeId = m_DataType.GetBoundText();cTypeNameOld = m_DataType

32、.GetText();UpdateData(FALSE);void CTypeDlg:OnAddButton() UpdateData(TRUE);if (m_TypeName = )MessageBox(请输入类别名称);return;CTypes obj;obj.TypeName = m_TypeName;if(obj.HaveName(m_TypeName) = 1)MessageBox(此类别名称已经存在!);elseobj.sql_Insert();m_AdoType.Refresh();void CTypeDlg:OnModiButton() UpdateData(TRUE);if

33、 (m_DataType.GetText() = )MessageBox(请选择要修改的类别名称);return;if (m_TypeName = )MessageBox(请输入类别名称);return;if(cTypeNameOld!=m_TypeName)CTypes obj;obj.TypeName = m_TypeName;if (obj.HaveName(m_TypeName) = 1)MessageBox(此类别名称已经存在!);elseobj.sql_Update(cTypeId);m_AdoType.Refresh();void CTypeDlg:OnDelButton() C

34、Types obj;obj.sql_Delete(cTypeId);m_AdoType.Refresh();5.固定资产信息编辑界面代码设计#include stdafx.h#include AssetsMan.h#include AssetsEditDlg.h#include Assets.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifCAssetsEditDlg:CAssetsEditDlg(CWnd* pParent /*=NULL*/): CDialog(C

35、AssetsEditDlg:IDD, pParent)m_Aid = _T();m_Aname = _T();m_Model = _T();m_Producer = _T();m_RepPerson = _T();m_UseYear = 0;m_OrgPrice = 0.0f;m_Ratio = 0.0f;m_PostDate = _T();m_UseDate = COleDateTime:GetCurrentTime();m_Status = _T();void CAssetsEditDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataEx

36、change(pDX);DDX_Control(pDX, IDC_ADDWAY_COMBO, m_AddWay);DDX_Control(pDX, IDC_ADODC1, m_adodc1);DDX_Text(pDX, IDC_AID_EDIT, m_Aid);DDX_Text(pDX, IDC_ANAME_EDIT, m_Aname);DDX_Control(pDX, IDC_TYPE_DATACOMBO, m_Type);DDX_Text(pDX, IDC_MODEL_EDIT, m_Model);DDX_Text(pDX, IDC_PRODUCER_EDIT, m_Producer);D

37、DX_Text(pDX, IDC_USEYEAR_EDIT, m_UseYear);DDX_Text(pDX, IDC_ORGPRICE_EDIT, m_OrgPrice);DDX_Text(pDX, IDC_RATIO_EDIT, m_Ratio);DDX_Text(pDX, IDC_POSTDATE_STATIC, m_PostDate);DDX_DateTimeCtrl(pDX, IDC_USEDATE, m_UseDate);DDX_Text(pDX, IDC_STATUS_EDIT, m_Status);BEGIN_MESSAGE_MAP(CAssetsEditDlg, CDialo

38、g)ON_EN_CHANGE(IDC_AID_EDIT, &CAssetsEditDlg:OnEnChangeAidEdit)END_MESSAGE_MAP()BOOL CAssetsEditDlg:OnInitDialog() CDialog:OnInitDialog();if(cAid = )CTime t = CTime:GetCurrentTime();CString cDate;cDate.Format(_T(%04d-%02d-%02d),t.GetYear(),t.GetMonth(),t.GetDay();m_PostDate = cDate;m_UseDate.SetDate

39、(t.GetYear(),t.GetMonth(),t.GetDay();m_AddWay.SetCurSel(0);elseCString cItem;cItem = ;for(int i = 0; i m_AddWay.GetCount(); i+) m_AddWay.GetLBText(i,cItem);if(cItem = strAddWay)m_AddWay.SetCurSel(i);break;COleVariant vtime(strUseDate);vtime.ChangeType(VT_DATE);COleDateTime time4(vtime);m_UseDate.SetDate(time4.GetYear(),time4.GetMonth(),time4.GetDay();m_Type.SetBoundText(strTypeId);UpdateData(FALSE);return TRUE; void CAssetsEditDlg:OnOK() CStri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号