版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一摘要 错误 !未定义书签。1. 背景说明 错误!未定义书签。2. 设计目的 错误 !未定义书签。3. 需求分析 错误 ! 未定义书签。二固定资产管理系统概述 错误 !未定义书签。1. 设计内容 错误 !未定义书签。2. 设计特点 错误 !未定义书签。三固定资产管理系统数据库分析与设计 错误!未定义书签。1. 系统的功能模块图 错误!未定义书签。2. 数据库结构设计 错误!未定义书签。3. 概念模型设计( E-R 图) 错误!未定义书签。四窗体实现与设计 81. 登陆界面 82. 主界面 错误 !未定义书签。3. 部门信息管理界面 错误 !未定义书签。4. 资产类别管理界面 错误 !未定义
2、书签。5. 固定资产信息编辑界面 错误 !未定义书签。6. 固定资产信息管理界面 错误 !未定义书签。7. 固定资产分配界面 错误!未定义书签。8. 固定资产变更界面 错误 !未定义书签。9. 固定资产折旧界面 错误 !未定义书签。10. 固定资产报废界面 错误!未定义书签。11. 用户管理界面 错误!未定义书签。12. 修改密码界面 39五结论与体会 错误 !未定义书签。一摘要1. 背景说明随着社会经济的不断发展, 企业规模越来越大, 资产越来越多, 资产管理就 显得非常困难。固定资产成为每个企业不可缺少的重要部分, 加强固定资产管理, 可以优化企业资源配置, 本系统适用与中小型企业及政府机
3、关、 学校等。 主要维 护固定资产的登记、清理、借出和还入、维修、折旧等信息,实现设备的日常管 理功能,通过一系列查询功能, 可方便获知每一件固定资产的状态及当前所处位 置,具有操作简单,界面友善,灵活性好,系统安全性高,运行稳定等特点,保 证了企业中的每一件物品发挥其最大效力。2. 设计目的在程序设计中,可以用两种方法解决问题: 一是传统的结构化程序设计方法, 二是更先进的面向对象程序设计方法。在结构化程序设计中关键是如何将问题域中的行为 (即操作) 抽取出来,作 为 C+ 程序中的函数。 由于多个函数均需要访问某些数据, 这些数据常被设计为 全局变量。而在面向对象程序设计中关键是如何将问题
4、域中的实体(即日常所见的概 念)抽取出来,作为C+程序中的类,而属性与行为作为类的两类要素通常是必 不可少的,甚至还应考虑类必须满足的约束。3. 需求分析基本信息的添加、 修改、删除和查询。 基本信息包括部门信息和固定资产类 型信息。资产信息管理包括固定资产的录入、分配、变更、折旧和报废等功能。统计查询功能包括部门资产统计表和分类资产统计表。二.固定资产管理系统概述1. 设计内容(1) 系统信息设置模块:包括部门管理,类别管理和退出系统(2) 固定资产管理模块理模块,包括信息编辑,资产分配,资产变更,资产 折旧,资产报废等(3) 系统用户管理模块,包括用户管理和修改密码2. 设计特点后台数据库
5、使用SQL Server,前台开发工具使用 Visual C+。本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段 和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。这也是本系统的特色和优势。.固定资产管理系统数据库分析与设计1. 系统的功能模块图固定资产管理系统系统用户管理资产信息管理基本信息管理修改用户密码用户信息管理固定资产报废固定资产折旧固定资产变更分类信息管理部门信息管理图2.1固定资产管理系统功能模块示意图2. 数据库结构设计数据库中包含6个表,即部门信息表Departments资产分类信息表Types资产信息表Assets、资产分配表
6、Distribute、设备报废表 Discard和用户信息表Users 等。表 Assets列名数据类型允许为空Aidvarchar(30)不允许An amevarchar(50)不允许TypeIdint允许Modelvarchar(30)允许Producervarchar(100)允许UseDatevarchar(20)允许UsedYearint允许OrgPricedecimal(15,2)允许Ratiodecimal(7,5)允许Statusvarchar(30)允许AddWayvarchar(30)允许IsAuditint允许PostDateVarchar(20)允许IsDisco un
7、ttin yi nt允许表 Departments列名数据类型允许为空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)允
8、许CreateDatevarchar(30)允许表 Types列名数据类型允许为空TypeIdint不允许TypeNamevarchar(30)不允许表 Users列名数据类型允许为空UseraNamevarchar(40)不允许EmpNamevarchar(40)允许UserPwdvarchar(40)允许UserTypevarchar(20)允许3.概念模型设计(E-R图)四.窗体实现与设计1.登陆界面代码设计#include stdafx.h#inelude AssetsMan.h#include LoginDlg.h#include Users.h#ifdef _DEBUG#defin
9、e new DEBUG_NEW#un def THIS_FILEstatic char THIS_FILE = _FILE_;#en difCLoginDlg:CLoginDlg(CWnd* pParent /*=NULL*/ ):CDialog(CLoginDlg:IDD, pParent) cou nt = 0;m_Pwd = _T();m_UserName = _T();void CLogi nDlg:DoDataExcha nge(CDataExcha nge* pDX) CDialog:DoDataExcha nge(pDX);DDX_Text(pDX, IDC_PWD_EDIT,
10、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( 请
11、输入用户名 ?); return;if (m_Pwd = )MessageBox(请输入密码); return;CUsers user;user.GetData(m_UserName);if (user.UserPwd != m_Pwd)M e s s a g e B ox (用户信息不正确,无法登录! ); count+;if (count = 3)MessageBox(已经连续3次登录失败,将退岀系统); OnCancel(); return;CDialog:OnOK();void CLoginDlg:OnEnChangeUsernameEdit() void CLoginDlg:OnEn
12、ChangePwdEdit()2.主界面址巖i*曲但朋,泄 应工”雹& H电*豐!S代码设计#include stdafx.h#inelude AssetsMan.h#inelude Assets.h#inelude ADOConn.h#ifdef _DEBUG#un def THIS_FILEstatic char THIS_FILE=_FILE_;#define new DEBUG_NEW#en difCAssets:CAssets()Aid =;Aname =;Model =;Producer =;UsedYear = 1;OrgPrice = 0;Ratio = 0;Status =
13、未使用 ; 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 = CTime:GetCur
14、rentTime(); 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+,
15、; cSql += UseDate+,+cYear+,+cOrgPrc+,;cSql += cRatio+,未使用,+AddWay+ ,O,+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,
16、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();bSql = Update Assets Set Aid=+Aid+ ,Aname= +Aname+, +TypeId= +c
17、TypeId+ ,Model= +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(C
18、String cId)tryADOConn 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
19、 ,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)tryADOConn m_AdoConn;_bstr_t
20、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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets Set Status=+ Status + Where Aid= +cId+ ;m_AdoConn.
21、ExecuteSQL(bSql);m_AdoConn.ExitConnect();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_
22、pRecordset-adoEOF)return -1;elsereturn 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_pRecordse
23、t = 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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets Set IsDiscount=1 Where Aid= +cId+ ; m_Ad
24、oConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect(); catch(_com_error e)AfxMessageBox(e.Description(); 3. 部门信息管理界面和服硏部部 事户品务寿 人容庐财保修刪除返回1代码设计#inelude stdafx.h#inelude AssetsMan.h#inelude DeptDIg.h#inelude Departments.h#ifdef _DEBUG#define new DEBUG_NEW#un def THIS_FILEstatic char THIS_FILE = _FILE_;#en d
25、ifCDeptDlg:CDeptDlg(CWnd* pParent /*=NULL*/ ):CDialog(CDeptDlg:IDD, pPare nt)m_DeptName = _T(); void CDeptDlg:DoDataExcha nge(CDataExcha nge* pDX)CDialog:DoDataExcha nge(pDX);DDX_C on trol(pDX, IDC_ADODC1, m_AdoDept);DDX_Text(pDX, IDC_EDIT1, m_DeptName);DDX_C on trol(pDX, IDC_DATALIST1, m_DataDept);
26、BEGIN_MESSAGE_MAP(CDeptDlg, CDialog)ON_BN_CLICKED(IDC_ADD_BUTTON, On AddButt on) ON_BN_CLICKED(IDC_MODI_BUTTON, OnM odiButt on) ON_BN_CLICKED(IDC_DEL_BUTTON, On DelButt on)ON EN CHANGE(IDC EDIT1, &CDeptDlg:OnEnChangeEdit1)END_MESSAGE_MAP()BEGIN_EVENTSINK_MAP(CDeptDlg, CDialog)ON_EVENT(CDeptDlg, IDC_
27、DATALIST1, -600 /* Click */ , OnClickDatalist1, VTS_NONE)END_EVENTSINK_MAP()void CDeptDlg:OnClickDatalist1()m_DeptName = m_DataDept.GetText();cDepId = m_DataDept.GetBoundText();cDepNameOld = m_DataDept.GetText();UpdateData(FALSE); void CDeptDlg:OnAddButton()UpdateData(TRUE);if (m_DeptName = )Message
28、Box( 请输入部门名称 );return;CDepartments cDep;cDep.DepName = m_DeptName;if (cDep.HaveName(m_DeptName) = 1)MessageBox(已经存在此部门信息!);elsecDep.sql_Insert();m_AdoDept.Refresh();void CDeptDlg:OnModiButton()UpdateData(TRUE);if (m_DataDept.GetText() = )MessageBoxC请选择要修改的部门名称);return;if (m_DeptName = )MessageBox(请输
29、入部门名称);return;if(cDepNameOld != m_DeptName)CDepartme nts cDept;cDept.DepName = m_DeptName;if (cDept.HaveName(m_DeptName) = 1) MessageBox(新的部门名称已经存在);elsecDept.sql_Update(cDepld); m_AdoDept.Refresh();void CDeptDlg:O nDelButt on()if (m_DataDept.GetText()=)MessageBox(请选择要删除的部门名称); return;CDepartme nts
30、cDep;cDep.sql_Delete(cDepld); m_AdoDept.Refresh();void CDeptDlg:O nEn Cha ngeEdit1()4. 资产类别管理界面代码设计#include stdafx.h#include AssetsMan.h#include TypeDlg.h#include Types.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILE static char THIS_FILE = _FILE_;#endifCTypeDlg:CTypeDlg(CWnd* pParent /*=NULL*/
31、): CDialog(CTypeDlg:IDD, pParent) m_TypeName = _T( );void CTypeDlg:DoDataExchange(CDataExchange* 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
32、(IDC_ADD_BUTTON, OnAddButton)ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)ON_BN_CLICKED(IDC_DEL_BUTTON, 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
33、() m_TypeName = m_DataType.GetText(); cTypeId = m_DataType.GetBoundText(); cTypeNameOld = m_DataType.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
34、(此类别名称已经存在!);elseobj.sql_Insert();m_AdoType.Refresh();void CTypeDlg:OnModiButton()UpdateData(TRUE);if (m_DataType.GetText() = )MessageBoxC请选择要修改的类别名称);return;if (m_TypeName = )MessageBox(请输入类别名称);return;if(cTypeNameOld!=m_TypeName)CTypes obj;obj.TypeName = m_TypeName;if (obj.HaveName(m_TypeName) = 1
35、)MessageBox(此类别名称已经存在!);elseobj.sql_Update(cTypeId); m_AdoType.Refresh();void CTypeDlg:OnDelButton()CTypes obj;obj.sql_Delete(cTypeId);m_AdoType.Refresh();5. 固定资产信息编辑界面代码设计#include stdafx.h#inelude AssetsMan.h#inelude AssetsEditDIg.h#inelude Assets.h#ifdef _DEBUG#define new DEBUG_NEW#un def THIS_FIL
36、Estatic char THIS_FILE = _FILE_;#en difCAssetsEditDlg:CAssetsEditDlg(CWnd* pParent /*=NULL*/ ):CDialog(CAssetsEditDlg:IDD, pPare nt)m_Aid = _T();m_An ame = _T();m_Model = _T();m_Producer = _T();m_RepPers on = _T();m_UseYear = 0;m_OrgPrice = O.Of;m_Ratio = O.Of;m_PostDate = _T();m_UseDate = COleDateT
37、ime:GetCurre ntTime(); m_Status = _T(); void CAssetsEditDlg:DoDataExcha nge(CDataExcha nge* pDX)CDialog:DoDataExchange(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, I
38、DC_TYPE_DATACOMBO, m_Type);DDX_Text(pDX, IDC_MODEL_EDIT, m_Model);DDX_Text(pDX, IDC_PRODUCER_EDIT, m_Producer);DDX_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_DateTimeCtr
39、l(pDX, IDC_USEDATE, m_UseDate);DDX_Text(pDX, IDC_STATUS_EDIT, m_Status);BEGIN_MESSAGE_MAP(CAssetsEditDlg, CDialog)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.SetDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博弈与子博弈演讲课件
- 编译原理苏州大学课件
- 大学物理静电学82N
- (2026年)幼儿园教育收费自查自纠报告
- 师德师风自查报告
- 居里夫人两次荣获诺贝尔奖的伟大科学家
- 山东省第四届大学生电影节11.28完整招商版
- 国际会计学第六版chapter
- 动脉硬化血栓病理心理学
- 学校建筑和设备卫生妇幼保健
- 《中华人民共和国农产品质量安全法》培训与解读课件
- 2025山东大学生乡村医生专项计划招聘49人笔试模拟试题及答案解析
- 妇科疾病中医特色疗法
- 65756-李延喜-财务管理(微课版第3版)-习题参考答案
- 2025安徽省科创投资有限公司社会招聘10人笔试参考题库附带答案详解
- 硫酸仓库管理制度
- 三农村居民休闲娱乐服务体系建设方案
- GB/T 3920-2024纺织品色牢度试验耐摩擦色牢度
- 23G409先张法预应力混凝土管桩
- 2024-2025学年广东省“金太阳联考”高二(上)期中考试数学试题(含答案)
- 椎动脉起始部狭窄血管内介入治疗中国专家共识(2024版)
评论
0/150
提交评论