




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一摘要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.设计目的 在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。在结构化程序设计中关键是如何将问题域中的行为(即操作)抽取出来,作为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列名数据类型允许为空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列名数据类型允许为空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)允许表Types列名数据类型允许为空TypeIdint不允许TypeNamevarchar(30)不允许表Users列名数据类型允许为空UseraName varchar(40)不允许EmpNamevarchar(40)允许UserPwdvarchar(40)允许UserTypevarchar(20)允许3.概念模型设计(E-R图)资产编号固定资产资产名称类型状态型号生产厂商使用日期使用年限用户用户名用户密码用户类别部门部门名称负责人部门固定资产管理1m固定资产变更分配折旧报废部门用户创建日期残值率使用月份报废原因状态mnmnmn四窗体实现与设计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 (user.UserPwd != 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()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: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+,;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,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=+cTypeId+,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(CString 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,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 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.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_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_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)tryADOConn m_AdoConn;_bstr_t bSql;bSql = Update Assets Set IsDiscount=1 Where Aid=+cId+;m_AdoConn.ExecuteSQL(bSql);m_AdoConn.ExitConnect();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:IDD, 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, OnAddButton)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 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 = )MessageBox(请输入部门名称);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() = )MessageBox(请选择要修改的部门名称);return;if (m_DeptName = )MessageBox(请输入部门名称);return;if(cDepNameOld != m_DeptName)CDepartments cDept;cDept.DepName = m_DeptName;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.资产类别管理界面代码设计#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* 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_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() 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(此类别名称已经存在!);elseobj.sql_Insert();m_AdoType.Refresh();void CTypeDlg:OnModiButton() UpdateData(TRUE);if (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() CTypes 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(CAssetsEditDlg: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: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, IDC_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(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025除尘器配套设备采购合同范本
- 常州期末考试化学试题及答案
- 2025高考英语试题分类汇编:动词的时态、语态、情态动词、虚拟语气含解析
- 常德初三历史中考试卷及答案
- 2025简易货物运输合同范本
- 现代汉语语汇题目及答案
- 2025年高考化学试题分类汇编:物质结构与性质晶胞的分析与计算(含解析)
- 葡萄沟课件教学课件
- 2025购销合同终止协议示范文本
- 2025年3月生物技术习题库+答案
- 气象法律、法规讲稿一全课件
- GB/T 6344-2008软质泡沫聚合材料拉伸强度和断裂伸长率的测定
- GB/T 39201-2020高铝粉煤灰提取氧化铝技术规范
- GB/T 3836.4-2021爆炸性环境第4部分:由本质安全型“i”保护的设备
- GB/T 20801.6-2020压力管道规范工业管道第6部分:安全防护
- GB/T 19355.2-2016锌覆盖层钢铁结构防腐蚀的指南和建议第2部分:热浸镀锌
- 核心素养视角下教师专业发展课件
- 企业信用信息公告系统年度报告模板:非私营其他企业
- 施工员钢筋工程知识培训(培训)课件
- 质量管理体系审核中常见的不合格项
- 共用水电费分割单模板
评论
0/150
提交评论