住房公积金筹集管理系统_第1页
住房公积金筹集管理系统_第2页
住房公积金筹集管理系统_第3页
住房公积金筹集管理系统_第4页
住房公积金筹集管理系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010-2011学 年第一学期 Web框架课程设计报告 软件职业技术学院 CCUTSOFT I 目 录 一、团队构成及分工 .1 二、进度计划 .2 三、需求分析 .3 3.1 需求描述 3 3.2 用况建模 3 四、项目功能设计 .4 4.1 总体设计 4 4.2 算法设计 5 五、项目数据设计 .6 5.1 数据逻辑设计 6 5.2 数据表设计 7 六、系统实现 .7 七、关键代码 .17 八、课程设计总结 .41 1 一、团队构成及分工 指导教师签字: 年 月 日 二、进度计划 序号 任务名称 开始时间 完成时间 持续时间 1 分工、系统设计 1-3 1-4 一天 2 系统原型搭建 1-4 1-5 一天 3 模块编码开题答辩 1-5 1-6 一天 4 模块编码 1- 6 1-11 六天 5 进行系统测试 1-11 1-12 一天 2 6 程序的打包和发布、 整理文档 1-12 1-13 一天 7 撰写课程设计报告、 答辩 1-13 1-14 一天 3 三、需求分析 3.1 需求描述 筹集管理系统主要包括相关客户信息(单位开户、个人开户、单位资料修改、 个人资料修改) 、变更业务(封存、启封、比例变更、基数变更) 、缴存登记入账 (汇缴、补缴) 、提取及销户(提取、个人注销、单位注销) 、业务查询、凭证打印 等业务。 3.2 用况建模 个个个 个个个 个个个 个 个个个 个个个 个个 图 3. 1 用例图 4 四、项目功能设计 4.1 总体设计 柜员登录 单位开户 个 人 开 户 单位资料管理 单位资料修改 个 人 资 料 管 理 单位资料查询 个人资料修改 个人注销 个人资料查询 图 4. 1 层次方框图 5 4.2 算法设计 个 个个 个个个个个 个个个 个个 个个个 个个 个 个个 图 4.2 活动图 6 五、项目数据设计 5.1 数据逻辑设计 图 5.1 数据库表 7 5.2 数据表设计 表 5-1 用户信息表 列名 中文名 列类型 列注释 可否为空 USERID 用户号 DOUBLE 主键自增 不可以 USERNAME 用户姓名 CHARACHER 不可以 USERPASS 用户密码 DOUBLE 不可以 LIMIT 权限 CHARACHER 不可以 表 5-2 系统参数表 列名 中文名 列类型 列注释 可否为空 默认值 SEQNAME 键值信息 CHARACTER(20) 可自定义序号 键值信息,按 此产生序号。 不可以 SEQ 当前序号 INTEGER 从 1 开始,每 次取完递增 不可以 MAXSEQ 最大序号 INTEGER 不可以 9999999 DESC 描述 CHARACTER(40) 不可以 FREEUSE1 备用 1 CHARACTER(20) 可以 表 5-3 单位信息表 列名 中文名 列类型 列注释 可否为空 默认值 UNITACCNUM 单位公积金 账号 CHARACTER(12) UNITACCNAME 单位名称 CHARACTER(100) 不可以 UNITADDR 单位地址 CHARACTER(60) 不可以 ORGCODE 组织机构代 码 CHARACTER(20) 不可以 UNITCHAR 单位类别 CHARACTER(1) 1-企业 2-事业 3-机关 4-团体 不可以 8 5-其他 UNITKIND 企业类型 CHARACTER(3) 110-国有经 济 120-集体经 济 130-股份合 作企业 140-联营企 业 150-有限责 任公司 160-股份有 限公司 170-私营企 业 190-其他企 业 200-港、澳、 台商投资企 业 300-外商投 资企业 900-其他 不可以 SALARYDATE 发薪日期 CHARACTER(2) 可以 UNITPHONE 联系电话 CHARACTER(20) 不可以 UNITLINKMAN 单位联系人 CHARACTER(24) 不可以 UNITAGENTPAPNO 经办人身份 证号码 CHARACTER(20) 可以 ACCSTATE 账户状态 CHARACTER(1) 0正 常 9销户 不可以 BALANCE 公积金余额 DECIMAL(16,2) 不可以 BASENUMBER 缴存基数 DECIMAL(16,2) 不可以 UNITPROP 单位比例 DECIMAL(6,3) 不可以 PERPROP 个人比例 DECIMAL(6,3) 不可以 UNITPAYSUM 单位月应缴 额 DECIMAL(16,2) 不可以 PERPAYSUM 个人月应缴 DECIMAL(16,2) 不可以 9 额 PERSNUM 单位人数 INTEGER 非销户人数 不可以 LASTPAYDATE 最后汇缴月 DATE 不可以 1899-12-01 INSTCODE 机构代码 CHARACTER(8) 不可以 默认为 0110 OP 柜员 CHARACTER(4) 不可以 默认为 111111 CREATDATE 建立日期 DATE 不可以 REMARK 备注 CHARACTER(64) 可以 表 5-4 个人信息表 列名 中文名 列类型 列注释 可否为空 默认值 ACCNUM 个人公积金账号 CHARACTER(12) 0 不可以 UNITACCNUM 单位公积金账号 CHARACTER(12) 0 不可以 OPENDATE 开户日期 DATE BALANCE 公积金余额 DECIMAL(16,2) PERACCSTATE 个人账户状态 CHARACTER(1) BASENUMBER 缴存基数 DECIMAL(16,2) UNITPROP 单位比例 DECIMAL(6,3) INDIPROP 个人比例 DECIMAL(6,3) LASTPAYDATE 最后汇缴月 DATE 1899-12- 01 UNITMONPAYSUM 单位月应缴额 DECIMAL(16,2) PERMONPAYSUM 个人月应缴额 YPAYAMT 本年汇补缴额 DECIMAL(16,2) 自然年 度 YDRAWAMT 年提取额 DECIMAL(16,2) 自然年 度 YINTERESTBAL 年度结息 DECIMAL(16,2) INSTCODE 机构代码 CHARACTER(8) 不可以 默认为 0110 OP 柜员 CHARACTER(4) 不可以 默认为 111111 REMARK 备注 CHARACTER(64) 可以 10 六、系统实现 1、柜员登录界面,柜员输入用户名、密码进入系统主页。如图 6-1: 图 6-1 登录 2、成功登录后,进入主页面。如图 6-2: 图 6-2 主页 11 3、点击单位业务,进入单位业务主页面。如图 6-3: 图 6-3 单位业务页面 4、点击单位开户链接,进入单位开户页面。如图 6-4: 图 6-4 开户页面 12 5、选择按单位公积金帐号搜索,并输入帐号,显示单位名及帐号。如图 6-5: 图 6-5 精确搜索 6、选择按单位名称模糊搜索,输入“R” ,显示含“R”单位。如图 6-6: 图 6-6 模糊搜索含“R”单位 13 7、点击单位名称,显示单位详细资料。如图 6-7: 图 6-7 单位详细资料 8、点击显示所有员工,显示所有员工姓名及帐号。如图 6-8: 图 6-8 显示所有员工 14 9、点击员工姓名,可查到关于员工的基本信息。如图:6-9 图 6-9 显示员工信息 10、在单位资料页面,点击批量导入,进入批量导入页面。如图 6-10: 图 6-10 Excel 批量导入员工 15 11、点击浏览,输入 excel 路径后,点击 excel 批量导入个人用户,进入成功页面。 如图 6-11: 图 6-11 导入成功 12、在主页面点击个人业务,进入个人业务主页。如图 6-12: 图 6-12 个人业务主页 16 13、点击个人开户,进入个人开户页面。如图 6-13: 图 6-13 个人开户 14、在个人业务主页点击查询个人帐户情况,进入个人帐户搜索页。如图 6-14: 图 6-14 个人帐户搜索 17 15、个人帐户搜索页,输入个人帐号后,显示个人信息。如图:6-15 图 6-15 搜索到的个人信息页面 16、在个人信息修改页面,输入个人帐号,进入个人资料修改页面。如图 6-16: 图 6-16 个人资料修改 18 七、关键代码 1、 LoginAction package fund.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import fund.domain.User; import fund.service.UserFacade; import fund.service.UserFacadeImpl; public class LoginAction extends ActionSupport implements LoginActionImpl private String username; private String userpass; public String getUsername() return username; public void setUsername(String username) this.username = username; public String getUserpass() return userpass; public void setUserpass(String userpass) this.userpass = userpass; private UserFacadeImpl userFacadeImpl; public LoginAction() userFacadeImpl= new UserFacade(); public String login() boolean flag = false; User user=new User(); user.setUsername(getUsername(); user.setUserpass(getUserpass(); try flag = userFacadeImpl.login(user); if (flag = true) ActionContext.getContext().getSession().put(“op“, user); return “loginSuccess“; else return “loginError“; 19 catch (Exception e) e.printStackTrace(); return “Error“; 2、 UnitAddAction package fund.action; import java.sql.SQLException; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Unit; import fund.service.UnitAddFacade; import fund.service.UnitAddFacadeImpl; public class UnitAddAction extends ActionSupport implements UnitAddActionImpl private Unit unit; private UnitAddFacadeImpl unitAddFacadeImpl; public Unit getUnit() return unit; public void setUnit(Unit unit) this.unit = unit; public UnitAddAction() unitAddFacadeImpl=new UnitAddFacade(); public String unitAdd() boolean flag=false; try flag=unitAddFacadeImpl.unitAdd(unit); System.out.print(“gf“); catch (SQLException e) e.printStackTrace(); if(flag=true) return “unitaddsuccess“; else return “unitaddfail“; 20 3、 UnitSearchAction package fund.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Unit; import fund.service.UnitSearchFacade; import fund.service.UnitSearchFacadeImpl; public class UnitSearchAction extends ActionSupport implements UnitSearchActionImpl private String searchID; private String searchText; private List unitlist; private UnitSearchFacadeImpl unitSearchFacadeImpl; public String getSearchID() return searchID; public void setSearchID(String searchID) this.searchID = searchID; public String getSearchText() return searchText; public void setSearchText(String searchText) this.searchText = searchText; public List getUnitlist() Unit unit=new Unit(); unit.setSearchID(getSearchID(); unit.setSearchText(getSearchText(); return unitSearchFacadeImpl.unitSearch(unit); public void setUnitlist(List unitlist) this.unitlist = unitlist; public UnitSearchAction() unitSearchFacadeImpl=new UnitSearchFacade(); public String unitSearch() if(getUnitlist().size()0) 21 System.out.println(getUnitlist().get(0)+“); return “unitsearchsuccess“; else return “unitsearchfail“; 4、 UnitSearch2Action package fund.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Unit; import fund.service.UnitSearch2Facade; import fund.service.UnitSearch2FacadeImpl; public class UnitSearch2Action extends ActionSupport implements UnitSearch2ActionImpl private String searchID; public String getSearchID() return searchID; public void setSearchID(String searchID) this.searchID = searchID; public String getSearchText() return searchText; public void setSearchText(String searchText) this.searchText = searchText; private String searchText; private List unitlist; public List getUnitlist() Unit unit=new Unit(); unit.setSearchID(getSearchID(); unit.setSearchText(getSearchText(); return unitSearch2FacadeImpl.unitSearch(unit); public void setUnitlist(List unitlist) this.unitlist = unitlist; private UnitSearch2FacadeImpl unitSearch2FacadeImpl; 22 public UnitSearch2Action() unitSearch2FacadeImpl=new UnitSearch2Facade(); public String unitSearch() if(getUnitlist().size()0) return “unitsearchsuccess“; else return “unitsearchfail“; 5、 UnitUpdateAction package fund.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Unit; import fund.service.UnitSearchFacade; import fund.service.UnitSearchFacadeImpl; public class UnitUpdateAction extends ActionSupport implements UnitUpdateActionImpl private String searchID; private String searchText; private List unitlist; private UnitSearchFacadeImpl unitSearchFacadeImpl; public String getSearchID() return searchID; public void setSearchID(String searchID) this.searchID = searchID; public String getSearchText() return searchText; public void setSearchText(String searchText) this.searchText = searchText; public List getUnitlist() Unit unit=new Unit(); unit.setSearchID(getSearchID(); unit.setSearchText(getSearchText(); return unitSearchFacadeImpl.unitSearch(unit); 23 public void setUnitlist(List unitlist) this.unitlist = unitlist; public UnitUpdateAction() unitSearchFacadeImpl=new UnitSearchFacade(); public String unitUpdate() if(getUnitlist().size()0) System.out.println(getUnitlist().get(0)+“); return “unitupdatesuccess“; else return “unitupdatefail“; 6、 UnitUpdate2Action package fund.action; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Unit; import fund.service.UnitUpdateFacade; import fund.service.UnitUpdateFacadeImpl; public class UnitUpdate2Action extends ActionSupport implements UnitUpdate2ActionImpl private Unit unit; public Unit getUnit() return unit; public void setUnit(Unit unit) this.unit = unit; private UnitUpdateFacadeImpl unitUpdateFacadeImpl; public UnitUpdate2Action() unitUpdateFacadeImpl=new UnitUpdateFacade(); public String unitUpdate() System.out.print(“khskdjh$#$#$#$“); System.out.print(unit.getUnitaccnum(); System.out.print(unit.getOrgcode(); System.out.print(unit.getSalarydate(); 24 boolean flag=false; flag=unitUpdateFacadeImpl.unitUpdate(unit); if(flag=true)return “unitupdatesuccess“; elsereturn “unitupdatefail“; 7、 ShowAllPersonAction package fund.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Person; import fund.domain.Unit; import fund.service.ShowAllPersonFacade; import fund.service.ShowAllPersonFacadeImpl; public class ShowAllPersonAction extends ActionSupport implements ShowAllPersonActionImpl private ShowAllPersonFacadeImpl showAllPersonFacadeImpl; private String unitaccnum; public String getUnitaccnum() return unitaccnum; public void setUnitaccnum(String unitaccnum) this.unitaccnum = unitaccnum; private List personlist; public List getPersonlist() Unit unit=new Unit(); unit.setUnitaccnum(getUnitaccnum(); return showAllPersonFacadeImpl.showAllPerson(unit); public void setPersonlist(List personlist) this.personlist = personlist; public ShowAllPersonAction() showAllPersonFacadeImpl=new ShowAllPersonFacade(); public String showAllPerson() if(getPersonlist().size()0) return “showallpersonsuccess“; 25 else return “showallpersonfail“; 8、PersonAddAction package fund.action; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Person; import fund.service.PersonAddFacade; import fund.service.PersonAddFacadeImpl; public class PersonAddAction extends ActionSupport implements PersonAddActionImpl private Person person; public Person getPerson() return person; public void setPerson(Person person) this.person = person; private PersonAddFacadeImpl personAddFacadeImpl; public PersonAddAction() personAddFacadeImpl=new PersonAddFacade(); public String personAdd() boolean flag=false; try flag =personAddFacadeImpl.personAdd(person); if(flag!=false) return “addSuccess“; else return “addError“; catch (Exception e) e.printStackTrace(); return “Error“; 26 9、PersonSearchAction package fund.action; import java.util.List; import fund.domain.Person; import fund.service.PersonSearchFacade; import fund.service.PersonSearchFacadeImpl; public class PersonSearchAction private List list; Person person; public Person getPerson() return person; public void setPerson(Person person) this.person = person; private PersonSearchFacadeImpl personSearchFacadeImpl; public PersonSearchAction() personSearchFacadeImpl= new PersonSearchFacade(); public String personSearch() try list = personSearchFacadeImpl.personSearch(person); if (list.size()0) return “searchSuccess“; else return “searchError“; catch (Exception e) e.printStackTrace(); return “Error“; public List getList() return personSearchFacadeImpl.personSearch(person); public void setList(List list) this.list = list; 27 10、PersonUpdateAction package fund.action; import java.util.List; import fund.domain.Person; import fund.service.PersonUpdateFacade; import fund.service.PersonUpdateFacadeImpl; public class PersonUpdateAction private Person person; private List list; public Person getPerson() return person; public void setPerson(Person person) this.person = person; private PersonUpdateFacadeImpl personUpdateFacadeImpl; public PersonUpdateAction() personUpdateFacadeImpl=new PersonUpdateFacade(); public String personUpdate() try list = personUpdateFacadeImpl.personUpdate(person); if (list.size()0) return “updateSuccess“; else return “updateError“; catch (Exception e) e.printStackTrace(); return “Error“; public List getList() return list; public void setList(List list) this.list = list; 11、PersonUpdateInfoAction 28 package fund.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import fund.domain.Person; import fund.service.PersonUpdateInfoFacade; import fund.service.PersonUpdateInfoFacadeImpl; public class PersonUpdateInfoAction extends ActionSupport implements PersonUpdateInfoActionImpl private List list; private Person person; public Person getPerson() return person; public void setPerson(Person person) this.person = person; private PersonUpdateInfoFacadeImpl personUpdateInfoFacadeImpl; public PersonUpdateInfoAction() personUpdateInfoFacadeImpl=new PersonUpdateInfoFacade(); public String personUpdateInfo() try list = personUpdateInfoFacadeImpl.personUpdateInfo(person); if (list.size()0) return “showSuccess“; else return “showError“; catch (Exception e) e.printStackTrace(); return “Error“; public List getList() return personUpdateInfoFacadeImpl.personUpdateInfo(person); public void setList(List list) this.list = list; 12、PersonalOpenAccount 29 package fund.action; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.List; import jxl.Sheet; import jxl.Workbook; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import fund.domain.Parameter; import fund.domain.Person; import fund.domain.Unit; import fund.util.HibernateSessionFactory; public class PersonalOpenAccount implements IPersonalOpenAccount public boolean lotOpenAccount(String excel, String unitaccnum, String op) boolean flag=false; Workbook wwb = null; Sheet ws = null; Person infor = null; int index; String accnum=null; String name=null; String cardid=null; Date opendate=new Date(); Double balance=0.0; String peraccstate=“0“; Double basenumber=null; Double unitprop=null; Double indiprop=null; Date lastpaydate=new Date(); Double unitmonpaysum=null; Double permonpaysum=null; Double ypayamt=0.0; Double ydrawamt=0.0; Double yinterestbal=0.0; String instcode=“0110“; String remark=“ “; Unit u=new Unit(); String s; Double ubalance; 30 Double ubasenumber; Double uunitpaysum; Double uperpaysum; int persnum; List unit=null; try Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); wwb = Workbook.getWorkbook(new File(excel); ws = wwb.getSheet(0); Query query=session.createQuery(“from Parameter as s where s.seqname=?“); query.setString(0, “peraccnum“); index=(Parameter) query.list().get(0).getSeq(); query=session.createQuery(“from Unit as u where u.unitaccnum=?“); query.setString(0, unitaccnum); unit=(List)query.list(); if(unit.size()0) u=unit.get(0); unitprop=u.getUnitprop(); indiprop=u.getPerprop(); for (int i = 1; i 0) continue; unitmonpaysum=basenumber*unitprop/100; permonpaysum=basenumber*indiprop/100; s=“000000000000“+index; accnum=s.substring(s.length()-12); index+; System.out.println(i); infor=new Person(); infor.setAccnum(accnum); infor.setIDCard(cardid); 31 infor.setName(name); infor.setBalance(balance); infor.setBasenumber(basenumber); infor.setIndiprop(indiprop); infor.setInstcode(instcode); infor.setLastpaydate(lastpaydate); infor.setOp(op); infor.setOpendate(opendate); infor.setPeraccstate(peraccstate); infor.setPermonpaysum(permonpaysum); infor.setRemark(remark); infor.setUnitaccnum(unitaccnum); infor.setUnitmonpaysum(unitmonpaysum); infor.setUnitprop(unitprop); infor.setYdrawamt(ydrawamt); infor.setYinterestbal(yinterestbal); infor.setYpayamt(ypayamt); System.out.println(i+1); session.save(infor); System.out.println(i+2); ubalance=u.getBalance()+balance; ubasenumber=u.getBasenumber()+basenumber; uunitpaysum=u.getUnitpaysum()+unitmonpaysum; uperpaysum=u.getPerpaysum()+permonpaysum; persnum=u.getPersnum()+1; query=session.createQuery(“update Unit as u set u.balance=?,u.unitpaysum=? ,u.basenumber=?,u.perpaysum=? ,u.persnum=? where u.unitaccnum=?“); query.setDouble(0, ubalance); query.setDouble(1, uunitpaysum); query.setDouble(2, ubasenumber); query.setDouble(3, uperpaysum); query.setInteger(4, persnum); query.setString(5, unitaccnum); query.executeUpdate(); query=session.createQuery(“update Parameter as s set s.seq=? where s.seqname=?“); query.setInteger(0, index); query.setString(1, “peraccnum“); query.executeUpdate(); flag=true; mit(); 32 HibernateSessionFactory.closeSession(); return flag; catch (Exception e) e.printStackTrace(); return false; 13、LotPersonalAccountAction package fund.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import fund.domain.User; public class LotPersonalAccountAction extends ActionSupport private static final long serialVersionUID = 1L; String excel; String unitaccname; String unitaccnum; public String getExcel() return excel; public void setExcel(String excel) this.excel = excel; public String getUnitaccname() return unitaccname; public void setUnit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论