《财务管理系统报告(共27页).doc》由会员分享,可在线阅读,更多相关《财务管理系统报告(共27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上财务管理系统报告课程设计报告系 别: 计算机与电子系 专业班级: 计科0801班 学生姓名: 刘阳 指导教师: 定会 (课程设计时间:2011年6月27日2011年7月8日)华中科技大学武昌分校课程设计报告撰写内容、格式与成绩评定一、课程设计报告的撰写内容与要求1.课程设计总结报告应包括:前言、基本原理或理论、设计计算书或实验报告、结论、图纸(框图、流程图)、参考资料等;或调查、访谈报告、调查问卷、调查提纲等。2.课程设计总结报告应书写工整,文句通顺、精炼、逻辑性强,图纸和曲线的绘制应符合规范。3.调查型课程设计应根据调查结果撰写调查报告。调查报告内容包括:题目、参加
2、时间、地点、方式、过程、调查对象一般情况、调查内容、发现的问题、调查结果和调查分析及体会等。调查报告要求语言简练、准确;叙述清楚、明白;数据、资料可靠;结论有理、有据。4.图纸应布局合理,比例恰当,线条分明,字体工整,符合国家制图标准。5.课程设计报告字数要求:理工、艺术类不少于2000字,其他专业不少于3000字。二、课程设计成绩评定1.学生的课程设计成绩由平时成绩、业务考核成绩两部分组成,均为百分制记分,其中平时成绩占总成绩的30%,业务考核成绩占70%。业务考核含设计报告(计算说明书、调查提纲、调查问卷等)、绘制的图纸、编制的软件、制作的模型、撰写的论文或问卷统计、调查分析等的完成及质量
3、情况;平时成绩含设计表现、到课率等。2. 教师按学生实际成绩(百分制,含平时成绩和业务考核成绩两部分)登记并录入教务MIS系统,由系统自动转化为“优秀(90100分)、良好(8089分)、中等(7079分)、及格(6069分)和不及格(60分以下)”五等。目 录1课程设计目的页码2课程设计题目描述和要求 页码3课程设计报告内容页码3.1页码3.2页码3.4页码3.5页码3.6页码3.7页码3.8页码4总结页码参考文献 页码(要求:目录题头用三号黑体字居中书写,隔行书写目录内容。目录中各级题序及标题用小四号黑体)1.课程设计目的(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级大标题靠左,
4、加粗。二级大标题靠左,不加粗。分自然段,段前一定要空两格。)2.课程设计题目描述和要求(对实现的系统进行说明,并详细描述其功能,如下示例。要求详细具体,不能寥寥几笔带过。)财务管理系统在每个公司都很重要,并通过使用财务管理系统,公司的管理者可以随时掌握公司的收支状况,同时可以通过财务管理系统对公司的经营状况分析,对公司的经营投资的决策提供财务方面的相关资料。该财务系统中主要功能分为:系统管理、帐套系统管理、凭证管理和记账管理。(1)系统管理建立和修改账套:建立帐套信息,记录有关帐套的基本信息,确定帐套主管,删除帐套,修改帐套信息。结转上年数据:将上年的数据汇总到下一年的会计科目里。权限及用户:
5、用户管理,用户的增加,用户的修改,用户的删除,权限管理,增删改权限,给用户增删改权限。(2)帐套系统管理会计期间:设置会计期间,修改会计期间。会计科目:设置会计科目级别(设置完成后不能修改),增加会计科目(选择是否部门核算、员工核算、往来关系核算),修改会计科目,删除会计科目。期初余额管理:录入余额管理,修改余额管理,试算平衡,借方余额要和贷方余额相等。部门档案:增加部门档案,修改部门档案,删除部门档案。职员档案:增加职员档案,修改职员档案,删除职员档案。客户档案:增加客户档案,修改客户档案,删除客户档案。供应商档案:增加供应商档案,修改供应商档案,删除供应商档案。(3)凭证管理:生成凭证编号
6、:编号原则,年+月+编号(四位),例如,。选择科目编号:提供模糊查询功能以及根据编号录入,判断该科目是否选择部门核算、员工来往核算,如,选择提示输入部门、员工、客户或供应商。借贷平衡:在添加凭证或修改凭证最后提交时需要试算借贷平衡,若借贷双方不平衡就需要提示,不能进行凭证的保存。修改凭证:修改凭证的前提是还没有审核凭证。冲销凭证:对以前做过的凭证进行冲销。删除凭证:删除凭证的前提是还没有审核凭证。凭证审核:自己不能审核自己的凭证,但可以在凭证中添加审核人的信息。(4)记账管理记账备份:记账前要备份,以便保存记账前数据。记账检查:检查上月是否结账,未结账不能记账,检查本月凭证是否审核,审核过才能
7、记账。3.课程设计报告内容(以下分节为参考,请根据需要重点论述你完成的工作,并在总结总说明)3.1 需求分析每个公司都有财务工作,随着公司业务不断扩大,公司对财务工作的要求越来越高,手工完成工作已经不能满足要求了,所以出现了各种各样的财务软件。本财务管理系统和一般的财务软件不同之处就是该系统是基于B/S架构的,只要财务人员和公司管理人员能访问Web服务器,就可以用IE使用相应的财务软件进行工作。 图3-1 系统功能结构图 (接下来说明你在该系统中具体负责哪个模块的实现,完成哪些子功能,包含哪几个页面文件。) (图的表示方法:图题写在图下方居中:如“图3-1 *图”,表示是第3章的第一张图,依次
8、类推) (表的表示方法:表题写在表上方居中:如“表3-1 *表”,表示是第3章的第二张表,依次类推) (图表应居中,每张图表不允许跨页,图题或者表题应与图表在同一页!) (如果此节还要继续往下分节,可以有如“3.1.1 *”“3.1.2 *”等,如此节往下分点论述,无小标题,则分段为(1)(2)(3)等,若再往下分为等)3.2 数据库设计(从需求分析出发,给出数据库E-R图,以及各数据表结构,表结构如下图示例) 表3-1 会计科目表列名数据类型长度说明会计年度nvarchar4主键科目编码nvarchar20主键科目名称nvarchar20上级科目编码nvarchar20类别nvarchar1
9、科目方向nvarchar2科目级别Int是否明细nvarchar1是否现金核算nvarchar1是否部门核算nvarchar1是否员工核算nvarchar1是否往来户核算nvarchar1停用标记nvarchar1是否已经使用nvarchar1 表3-2 会计科目级别表列名数据类型长度说明科目级别Int长度Int 表3-3 会计期间表列名数据类型长度说明机构代码nvarchar3主键会计年度nvarchar4主键会计期间编号nvarchar2主键开始日期Datetime结束日期Datetime帐套启用日期nvarchar1结转标记nvarchar1当前期间标记nvarchar1 表3-4 凭证
10、表列名数据类型长度说明凭证编号nvarchar4主键会计年度nvarchar4主键会计期间nvarchar2主键凭证类型nvarchar11:收款凭证2:付款凭证3:转账凭证机构代码nvarchar3主键原始票据类型Int1原始票据编号nvarchar20制单人nvarchar50制单日期Datetime审核人nvarchar50审核日期Datetime过账人nvarchar50过账日期Datetime过账标志nvarchar1可管理标志nvarchar1对冲标志nvarchar1对冲凭证编号nvarchar20 表3-5 凭证细目表列名数据类型长度说明凭证编号nvarchar4主键会计年度n
11、varchar4主键会计期间nvarchar2主键机构代码nvarchar3主键序号Int主键摘要nvarchar40会计年度nvarchar4 会计科目nvarchar20借方金额Float 贷方金额Float部门编号nvarchar50 员工编号nvarchar50 往来户类型nvarchar11:客户2:供应商3:机构4:人员往来户编号nvarchar50 表3-6 科目余额表列名数据类型长度说明会计科目nvarchar20主键会计年度nvarchar4主键会计期间nvarchar2主键机构代码nvarchar3主键期初余额Float借方发生额Float贷方发生额Float表3-7 结账
12、损益表列名数据类型长度说明损益科目nvarchar20会计年度nvarchar4主键转出科目nvarchar20主键启用状态nvarchar1表3-8 现金日记账表列名数据类型长度说明机构代码nvarchar3主键会计年度nvarchar4主键会计期间nvarchar2主键记账日期Datetime会计科目nvarchar20主键票据号nvarchar20摘要nvarchar40对方科目nvarchar20凭证号nvarchar20借方金额Float贷方金额Float表3-9 资产结转状态表列名数据类型长度说明机构代码nvarchar3主键会计年度nvarchar4主键会计期间nvarchar2
13、主键表3-10 用户表列名数据类型长度说明用户代码Varchar50主键用户口令Varchar50创建日期Datetime8最后登录日期Datetime8登录次数Int4用户类型代码Varchar50 表3-11 部门表列名数据类型长度说明部门编号Nvarchar50主键部门名称Nvarchar50部门简称Nvarchar50所属机构Nvarchar20级别Int4上级编号Nvarchar50创建时间Datetime电话Nvarchar8传真Nvarchar50邮编Nvarchar50地址Nvarchar255表3-12 人员表列名数据类型长度说明人员编号Nvarchar50主键姓名Nvarc
14、har50主键性别Nvarchar50生日Datetime8EMAINvarchar50电话1Nvarchar50电话2Nvarchar50传真Nvarchar50手机号Nvarchar50地址Nvarchar50市Nvarchar50省Nvarchar50国家Nvarchar50邮编Nvarchar50开始工作日期Nvarchar50退休Nvarchar50教育程度Nvarchar50有效标记Int4主键表3-13 客户用户表列名数据类型长度说明客户代码Nvarchar20主键客户全称Nvarchar100客户简称Nvarchar50机构代码Nvarchar3销售员Nvarchar50客户类
15、型Nvarchar4联系人Nvarchar100联系电话Nvarchar100联系传真Nvarchar100联系地址Nvarchar200联系邮编Nvarchar20EMAILNvarchar100所在城市Nvarchar30公司主页Nvarchar30开户银行Nvarchar50银行账号Nvarchar50税号Nvarchar50信用级别代码Nvarchar20是否使用Int0:可用 1:不可用 3.3 程序设计 (可按如下方式展开)3.3.1 设置数据库连接信息 (描述Web.Config配置文件中数据库连接信息的设置,并对各参数进行说明,所有程序设计部分不能只有代码而无注释。可参照课设第
16、一天所给范例。)3.3.2 访问数据库公共类(1)BaseClass.cs类的创建 (描述创建方法) (2)BaseClass.cs的主要代码及其解释 (对代码进行解释说明)3.3.3 *页面(应包括页面截图,该页面所包含的控件及其说明,后台代码页的主要代码及其解释,如下示例)3.3.3新增会计科目信息页面(KJKM_ADD.aspx)(1)单击主页的科目设置管理,进入新增会计科目信息页面,如图3-2所示。 图3-2 新增会计科目信息页面该页面使用了7个DropDownList控件和一个CheckBox控件。第一个控件就是构造下拉列表,用于搜集用户的选择信息,用户可以从中选择一个选项。后一个控
17、件用来确定复选框有没有被选中。(2)KJKM_ADD.aspx.cs的主要代码及其解释创建CW_KJKM类和CW_KJKMMgr类的对象,目的是使用数据库操作的方法。Com.Ascs.Plp.CW.CW_KJKM thisKJKM = new CW_KJKM();Com.Ascs.Plp.CW.CW_KJKMMgr thisKJKMMgr = new CW_KJKMMgr();根据是否有选择复选框,触发CheckBox1_CheckedChanged事件。protected void CheckBox1_CheckedChanged(object sender, System.EventArg
18、s e)ViewStateSJKM = SJKM.Text;if(CheckBox1.Checked = true)SJKM.Text = ;elseSJKM.Text = 0;/确定要新增的会计科目的长度KMBM.MaxLength = GetLength(Label1.Text, SJKM.Text);if(KMBM.Text.Length KMBM.MaxLength)KMBM.Text = KMBM.Text.Substring(0,KMBM.MaxLength);单击确定按钮出发LinkButton1_Click事件。protected void LinkButton1_Click(
19、object sender, System.EventArgs e)trythisKJKM.KJND = Label1.Text;thisKJKM.KMBM = KMBM.Text;thisKJKM.KMMC = kmmc.Text;thisKJKM.SJKMBM = SJKM.Text;thisKJKM.LB = DDL_KMLB.SelectedItem.Value;thisKJKM.KMFX = DDL_KMFX.SelectedItem.Value;thisKJKM.KMJB = GetLevel(thisKJKM.KJND, thisKJKM.SJKMBM);thisKJKM.SFM
20、X = DDL_SFMX.SelectedItem.Value;thisKJKM.SFXJHS = DDL_SFXJ.SelectedItem.Value;thisKJKM.SFBMHS = DDL_SFBM.SelectedItem.Value;thisKJKM.SFYGHS = DDL_SFYG.SelectedItem.Value;thisKJKM.SFWLHHS = DDL_SFWL.SelectedItem.Value;thisKJKM.TYBJ = 0;thisKJKM.SFYJSY = 0;Prompt prt = new Prompt();prt = ValidCheck(th
21、isKJKM);if(prt.Flag !=1 & prt.Flag != 2)prt.ShowPrompt(this);return;elseSqlConnection SqlCn = new SqlConnection (mon.Configuration.GetDBConnectionString();SqlCn.Open();SqlTransaction SqlTrans = SqlCn.BeginTransaction();SqlCommand cmd = SqlCn.CreateCommand();cmd.Transaction = SqlTrans;if(thisKJKMMgr.
22、AddCW_KJKM(cmd, thisKJKM) = false)SqlTrans.Rollback();SqlCn.Close();Prompt.PromptError(this, 新增会计科目时产生异常。);return;elseSqlTrans.Commit();Prompt.PromptMessage(this, 会计科目添加成功!);this.SessionKJND = thisKJKM.KJND;this.SessionKMLX = thisKJKM.LB;CommonService.Return(this);catch(Exception e1)LogService.Write
23、 (添加会计科目时产生异常。);LogService.Write (e1.Message);Prompt.PromptError(this,新增会计科目时产生异常。);3.3.4 修改会计科目信息页面(KJKM_MOD.aspx)(1)单击主页的会计科目管理,进入修改会计科目信息页面,如图3-3所示。 图3-3 修改会计科目信息页面该页面使用了6个DropDownList控件。该控件就是构造下拉列表,用于搜集用户的选择信息,用户可以从中选择一个选项。(2)KJKM_MOD.aspx.cs的主要代码及其解释创建CW_KJKM类和CW_KJKMMgr类的对象,目的是使用数据库操作的方法。Com.A
24、scs.Plp.CW.CW_KJKM thisKJKM = new CW_KJKM();Com.Ascs.Plp.CW.CW_KJKMMgr thisKJKMMgr = new CW_KJKMMgr();单击确定按钮触发LinkButton1_Click(object sender, System.EventArgs e)事件。protected void LinkButton1_Click(object sender, System.EventArgs e)trystring pks = CommonService.GetCurrentPks(this);thisKJKM.KJND = pk
25、s0;thisKJKM.KMBM = pks1;thisKJKM = thisKJKMMgr.GetCW_KJKM(thisKJKM.KJND, thisKJKM.KMBM);thisKJKM.KMMC = KMMC.Text;thisKJKM.KMFX = DDL_KMFX.SelectedItem.Value;thisKJKM.SFXJHS = DDL_SFXJ.SelectedItem.Value;thisKJKM.SFBMHS = DDL_SFBM.SelectedItem.Value;thisKJKM.SFYGHS = DDL_SFYG.SelectedItem.Value;this
26、KJKM.SFWLHHS = DDL_SFWL.SelectedItem.Value;thisKJKM.SFMX = DDL_SFMX.SelectedItem.Value;/检查会计科目对象的合法性Prompt prt = new Prompt();prt = ValidCheck(thisKJKM);prt.ShowPrompt(this);/根据检查结果进行不同处理if(prt.Flag !=1 & prt.Flag != 2)return;else/定义SqlConnection, SqlCommand, Transaction等对象SqlConnection SqlCn = new
27、SqlConnection (mon.Configuration.GetDBConnectionString();SqlCn.Open();/开始事务SqlTransaction SqlTrans = SqlCn.BeginTransaction();SqlCommand cmd = SqlCn.CreateCommand();cmd.Transaction = SqlTrans;/执行向会计科目表的修改操作if(thisKJKMMgr.UpdateCW_KJKM(cmd, thisKJKM) = false)SqlTrans.Rollback();SqlCn.Close();Prompt.P
28、romptError(this, 修改会计科目时产生异常。);return;else/如果全部成功,先提交,然后给出成功提示SqlTrans.Commit();Prompt.PromptMessage(this, 会计科目修改成功!);/成功后将会计年度和科目类别写入Session并刷新父页面this.SessionKJND = thisKJKM.KJND;this.SessionKMLX = thisKJKM.LB;CommonService.Return(this);catch(Exception e1)LogService.Write (修改会计科目时产生异常。);LogService.
29、Write (e1.Message);Prompt.PromptError(this,修改会计科目时产生异常。);3.3.5 修改凭证细目信息页面(PZMX_MOD.aspx)(1)单击主页的凭证管理,进入修改凭证细目信息页面,如图3-4所示。 图3-4 修改凭证细目信息页面 该页面使用了4个DropDownList控件和2个RangerValidator控件。第一个控件就是构造下拉列表,用于搜集用户的选择信息,用户可以从中选择一个选项。后一个控件用来控制借贷金额和贷方金额输入数字在正确范围内。(2)PZMX_MOD.aspx.cs的主要代码及其解释创建CW_PZXM类、CW_PZXMMgr类
30、、CW_PZMgr类、CW_PZ类的对象,目的是使用数据库操作的方法。Com.Ascs.Plp.CW.CW_PZXM CW_PZXM=new Com.Ascs.Plp.CW.CW_PZXM();Com.Ascs.Plp.CW.CW_PZXMMgr CW_PZXMMgr=new Com.Ascs.Plp.CW.CW_PZXMMgr();Com.Ascs.Plp.CW.CW_PZMgr CW_PZMgr = new Com.Ascs.Plp.CW.CW_PZMgr();Com.Ascs.Plp.CW.CW_PZ CW_PZ = new Com.Ascs.Plp.CW.CW_PZ();单击确定按钮触
31、发LinkButton1_Click(object sender, System.EventArgs e)事件。protected void LinkButton1_Click(object sender, System.EventArgs e)try/对表对象进行赋值trythis.CW_PZXM.ZY=this.tb_ZY.Text;this.CW_PZXM.KJKM=this.KMMC.Text.Trim();string sReturn=this.CHECKKJKM(this.CW_PZXM.KJND,this.CW_PZXM.KJKM,this.DDL_GSBM.SelectedIn
32、dex,this.DDL_GSYG.SelectedIndex,this.DDL_WLH.SelectedIndex,this.DDL_WLHLX.SelectedIndex);if(sReturn!=string.Empty)this.Response.Write(alert(+sReturn+);return;if(this.DDL_GSBM.SelectedIndex-1)CW_PZXM.BMBH=this.DDL_GSBM.SelectedItem.Value;elseCW_PZXM.BMBH=string.Empty;if(this.DDL_GSYG.SelectedIndex-1)
33、CW_PZXM.YGBH=this.DDL_GSYG.SelectedItem.Value;elseCW_PZXM.BMBH=string.Empty;if(this.DDL_WLH.SelectedIndex-1)CW_PZXM.WLHBM = this.DDL_WLH.SelectedItem.Value;elseCW_PZXM.WLHBM=string.Empty;if(this.DDL_WLHLX.SelectedIndex-1)CW_PZXM.WLHLX = this.DDL_WLHLX.SelectedItem.Value;elseCW_PZXM.WLHLX=string.Empt
34、y;if(this.tb_JFJE.Text.Trim()!=string.Empty)this.CW_PZXM.JFJE=Convert.ToDecimal(this.tb_JFJE.Text);elseCW_PZXM.JFJE=0;if(this.tb_DFJE.Text.Trim()!=string.Empty)this.CW_PZXM.DFJE=Convert.ToDecimal(this.tb_DFJE.Text);elseCW_PZXM.DFJE=0;catch(Exception e1)LogService.Write(e1.Message);this.Response.Redi
35、rect(././Publics/Error.aspx?errmsg=未能获取凭证细目的完整信息。); return;cn.Open();SqlCommand mySqlCommand = new SqlCommand();mySqlCommand.Connection=cn;SqlTransaction myTrans = .BeginTransaction();/建立事务mySqlCommand.Transaction = myTrans;/绑定事务/调用修改方法进行修改bool Flag = this.CW_PZXMMgr.UpdateCW_PZXM(mySqlCommand,this.
36、CW_PZXM);string ReturnURL=PLP.CWZZ.PZGL.PZMX_ADD.PZXMADD_CreatReturnURL(this,CW_PZXM);/执行完毕,提示后返回if(Flag = true)this.MODKJKM_SYBJ(this.CW_PZXM.KJND,this.CW_PZXM.KJKM);/刷新父页面并关闭本窗口Response.Write(window.opener.location= + ReturnURL + ;window.close(););myTrans.Commit();else/重定向到错误页面Response.Write(window.opener.location=././Publics/Error.aspx?errmsg=凭证细目未能成功修改。;); myTrans.Rollback();cn.Clos