基于Delphi编程和OracIe数据库的物业管理商用软件开发

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:peng1589955
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  (无锡科技职业学院,江苏无锡214028)
  摘 要:基于国家物业管理技术规范,就目前农贸批发市场物业管理中收费类型复杂多变的现状和需求.采用Delphi编程和Oracle数据库技术,实现了可以自由设置人性化收费的通用农贸市场综合物业管理系统。该系统模块设计、结构灵活,便于与农贸市场电子结算系统集成。
  关键词:数据库;Delphi;Oracle;物业管理;系统分析;系统设计
  中文分类号:TP315 文献标识码:A 文章编号:1009—3044(2007)02-10043-03
  
  1 引言
  
  农贸市场管理主要是物业管理,货主进场交易就会涉及与物业关联的场地设备、租赁合同、附加合同、费用类型、计费、收费等与物业有关事项。由于费用类型繁多,计费周期和标准各有不同,使物业管理中传统的计收费工作变得繁重而复杂,而且还容易出现错收、漏收、重复收、欠费金额不准确等现象,造成经济损失和纠纷,如果能对各种计收费工作进行归类分析,形成一种通用的计收费框架,则可以为物业管理带来极大的便利,对提高行业的管理水平具有重要的意义,为此,本文设计并实现以通用的汁费模式为核心,可灵活处理各类计收费任务的综合物业管理系统。
  系统开发工具选择开发语言采用Delphi6.0,操作系统采用windows2000/xp,后台数据库采用Oracle:系统软件平台使用LIN-UX,以提高系统的安全可靠性和系统运行效率。数据库平台采用数据库系统采用大型关系型数据库,系统的事务处理能力强,有很高的数据安全性。
  
  2 系统总体结构分析与设计
  
  2.1需求分析
  综合物业管理系统主要解决的问题是根据承租人的租赁合同处理各种类型得应收费。我们通过对农贸市场物业管理中的应收费进行分析归纳后。发现可以将所有应收费工作分为4种类型:(1)周期性计收费:包括场地租赁费、设备租赁费、物业费、会员费等。这些费用得计费周期不一,承租人的计费标准不同,能否定义出一种灵活的框架,统一这类费用的计费处理,是完成收费通用处理的关键所在。(2)不定期收费:(3)一次性计收费:各种需要一次性计收的费用。这类计收费丁作既要对农贸市场中所有承租人按各种特征分批处理,还要能够进行单个承租人的修改。(4)预收费(押金):许多承租人会不定期缴纳不定数额的押金,需要对各承租人进行资金管理。
  
  2.2系统功能分析
  系统的开发设计以满足物业信息管理的总体要求,模块化的程序设计为目标,系统各种功能能组合、修改、扩展和维护,达到操作过程直观、方便、实用、安全等要求。采用了各个主档(包括设施主档、物业主档、承租人主档、附加合同主档、费用类型主档等)分开管理模式,通过租赁合同和收费进行关联,以报表查询方式对各个租赁合同、承租人收费的统计和查询,管理收费的操作。可以根据不同的条件实现内容查询,数据导出、报表打印等功能.提高物业管理的信息化管理效率、工作效率,从而提高其经济效益。系统提供相应的安全性和保密性措施。
  
  2.3功能功能模块设计
  综合物业管理息系统主要主档管理模块、租赁合同管理模块、收费管理模块、报表查询模块。
  2.3.1主档管理模块。是综合物业管理系统中最基本的模块,负责管理整个综合物业管理系统中的一些基本信息,也是租赁合同管理和收费管理的一个数据来源和基础。该模块包括设备主档、物业主档、承租人主档、费用类型主档、附加合同主档的信息管理和维护。在物业主档维护中实现物业主档和设备主档之间的关联。
  2.3.2租赁合同管理模块。是综合物业管理系统中的调控模块,是收费管理的基础。该模块主要是现实每个租赁合同的详细的合同信息数据维护。租赁合同管理要求每一个租赁合同号对应相应的费用、证照、附加合同,主档管理模块中各主档信息是租赁合同选择的项目,采用下拉列表的形式供用户自由选择。设计时必须注意租赁合同管理模块与各主档模块信息的同步,租赁合同管理模块与收费管理模块数据的协调。
  2.3.3收费管理模块。收费管理是综合物业管理系统的核心,也是用户最常用最直接的界面操作。包括应收费用管理、缴费管理、实收费管理(了解承租人的缴费情况,进行相应的收费)、收费向导(供用户选择收费对象和收费的类型)四个功能。应收费用(计费)管理是用来管理每条租赁合同的计费数据,根据租赁合同定义的周期性计费、仪表类计费、一次性计费生成每个租赁合同的应收费用:缴费管理是对每个承租人每次缴费情况进行管理;实收费用是定期对承租人应该缴费的管理;应收费用向导是根据用户选择费用类型来确定承租人和租赁合同应缴费情况。具体的流程如图2所示。
  2.3.4报表查询模块。包括应收费用报表查询、收费汇总查询。提供人性化组合查询方式,对查询数据可以导入到Excel中保存或者直接打印。
  2.3.5用户登陆。包括一个用户名和密码进入综合物业管理系统,其操作记录将被记录在数据库日志表中。系统登录过程包括三个步骤:主程序的运行(系统初始化设置)、登录界面的运行(提供用户登录接口)及主界面程序的调用(进入工作界面)。
  
  3 数据库设计
  
  在对系统功能分析的基础上,建立各主档数据表作为基础数据,租赁合同合同表为核心数据,应收费(计费)表为目标数据,实现物业的收费。数据库结构如图3所示。
  
  4 系统数据流图设计
  
  根据业务流程结合系统功能、模块的设计和对数据存储的要求,系统数据流图如图4所示。
  
  5 关键问题处理方法
  
  5.1租赁合同管理模块与各主档模块和收费管理模块信息的同步
  租赁合同管理对承租人的租赁合同进行增、删、改、查。新增时根据赁合同要求选取应各主档信息。确定所对应的物业、设备、租赁费用类型、需要缴纳费用及租赁合同中有哪些证照和附加合同。
  在租赁合同中维护中当点击保存按钮的事件时.如是“新增”,按租赁合同选取各主档信息,如主档信息需更正,则将所有数据保存到相应的数据表的同时,修改主档信息;如是“删除”,则要判断收费模块中应收费用表中费用是否已缴清,否则不能删除;如是“修改”,则首先判断租赁合同号是否修改过。如修改了则要把费用清单、证照管理、附加合同对应的关联表中的租赁合同号作同步修改;其次判断费用编号在应收费用表中是否存在,如不存在这条记录要插入到应收费用表中。所有数据表中租赁合同号唯一。
  
  5.2费用项属性设计
  在费用类型主档管理中采用费用项属性设计,它是应收费用管理的关键。(1)费用名称。可以任意定义和增删,在有应收费记录后不能随意修改;(2)收费周期。包括一次性、定期(一月、一季、半年、一年等)、不定期,该属性包含综合物业管理中所有可能的周 期,每种费用可根据情况灵活选取各自的周期;(3)费用价值;(4)计算公式,包括:费用价值+周期,固定价格等。这种设计覆盖了综合物业管理中全部收费项目。
  
  5.3应收费用功能实现
  应收费用是按照租赁合同的租赁合同表和费用类型表自动生成应收费清单。要考虑的是应收费用的结算时间与当前的系统结算时间不一致时数据处理的问题。设计程序把字段控件作为一个单独的Panel控件,在每次窗体加载时判断一下该记录的系统结算时间是否在当前系统结算时间之前,如果是使其Panel的Enabled属性设为false。
  对于数据的检索采取需查询SQL的语句写在Query中.具体的操作代码如下所示:
  procedure TfmPayableList.FormCreate(Senden TObiect);
  const
  SQL TEXT=’select*from ZACBA02_PAYABLE’:
  SQLLEASE=’select*from ZACBA01_LEASE’;
  begin
  DataMD.qrypayable.SQL.Text:=SQL_TEXT:
  DataMD.qryLease.SQL.Text:=SQL_LEASE;
  DataMD.qrvpavable.Ooen:
  DataMD.qryLease.Open;
  DataMD.qryFeetype.Open;
  DataMD.qryRenter.Open;
  end;
  
  5.4收费向导做到人性化处理应收费用
  收费向导主要是让用户实现人性化手动地选择收费日期、收费金额、费用名称、收费对象来生成应收费清单。其中费用名称为一个下拉的列表,收费日期调用数据模块的系统结算时间:Fee-Date.DateTime:=DataMD.GetSLIPDate
  选择好条件以后点击下一步。其中对于不同的收费对象所选择的数据插入源是不一样的。一般通过SQL语句SQL_TEXT=′se-lect*from ZACBA01_LEASE where ZACBA01一MTNTYP<′′′2′and ZACBAOl_STATE=′′0′′′查询租赁合同表和费用清单表,判断费用类型和收费日期把这些数据插入应收费数据中去。
  特别是手动选择收费对象时,要根据费用名称判断收费类别。采用四个函数来处理不同的费用费用类型:
  function TfmFeGuide.checkfeetype(feetype:string):boolean;
  begin
  case strtoint(feetype)of
  1:Result:=once;
  2:Result:=put;
  3:Result:=unput;
  4:Result:=deposit;
  end:
  end:
  如是一次性费用则:
  function TfmFeeGuide.once:boolean;
  const
  SQL_TEXT=′select*from ZACBA02_PAYABLE where ZA-CBA02_LEASEID=′′%PassLease%′′and ZAC-BA02_FEEID=′′%PassFeeID%′′and ZACBA02_MTNTYP<′′2′′′;
  var
  aSql:string;
  begin
  aSQL:=AnsiReplaceStr (SQL_TEXT,′%PasLeaseID%′,PasskaseID);
  aSQL:=AnsiReplaceStr(aSQL,′%PassFeeID%′,PassFeeID);
  DataMD.qryTmp.SQL.Text:=aSQL;
  DataMD.qryTmp.Open;
  if DataMD.qryTmp.IsEmpty then
  begin
  Result:=true;
  end
  else
  begin
  Restllt:=false;
  end:
  DataMD.qryTmp.Close;
  end:
  如是定期收费则:
  funetion TfmFeeGuide.out:boolcan;
  const
  SQL DATE=′select max(ZACBA02_DATE) from ZAC-BA02_PAYABLE where ZACBA02_LEASEID=′′%kaselD%′′and ZACBA02_FEElD=′′%FeeID%′′and ZAC-BA02_MTNTYP<′′2′′′;
  var
  aSql:string;
  daycount,spaceday:integer;
  Stime,Etime:TDatetime;
  begin
  aSQL=AnsiReplaceStr(SQL_DATE,′%kaseID%′,PassLea-seID);
  aSQL:=AnsiReplaceStr(aSQL,′%FeeID%′,PassFeelD);
  DataMD.qryTmp.SQL.Text:=aSQL;
  DataMD.qryTmp.0pen;
  Stime:=FeeDate.DateTime; Etime:=DataMD.qryTmp.Fields[0].AsDateTime; daycount:=Delav*24:
  spaceday:=DaysBetween(stime,Etime);if spacedav>=daycount thenbegin
  Result:=true;end
  else
  begin
  Result:=false;
  end:
  DataMD.qryTmp.Close:
  end:
  通过以上的数据筛选得到可以收费的租赁合同。然后再将收费数据插入到应收费用表中具体代码如下:
  while not FeeGuidekase.Eof do begin
  //获得合同编号
  PassIJeaseID:=FeeGuideLaseZACBA01_lD.AsString;
  if checkfeetype(feetype)=true then
  begin
  DataMD.qrypayable.Apoend:
  DataMD.qrypayableZACBA02_LEASEID.AsString:=FeeGuide-LaseZACBA01_ID.AsString;
  DataMD.qrypayableZACBA02_FEEID.AsString:=FEEID;
  DataMD.qrypayableZACBA02_FEETYPE.AsString:=FEETYPE;
  DataMD.qrypayableZACBA02_SLIPDATE.AsDateTime:=DataMD.GetSLIPDate;
  DataMD.qrypayableZACBA02_DATE.AsDateTime:=FeeDate.DateTime;
  DataMD.qrypayableZACBA02_AMNT.AsCuency:=AMNT;
  DataMD.qrypayableZACBA02 MTNTYP.AsString:=′O′:
  DataMD.qrypayableZACBA02_GENDATE.AsDateTime:=DataMD.GetSvsTime;
  DataMD.qrypayable.Post;
  end:
  FeeGuideLease.Next;
  end:
  openFeeGuideListForm;
  end:
  end:
  close;
  end:
  这样就得到应收费信息列表,进入该列表还可删除新增收费项目,完全做到人性化收费。
  
  6 结束语
  
  本系统主要将一个大型农产品批发交易市场中由人工管理的物业转换成由计算机管理的一整套合理规范的物业信息化管理系统。使得本来繁琐的合同管理信息化,收费变得简单方便、准确、自动化,它所提供的强大的查询和数据导出功能更使用户在操作的过程中更轻松方便。该系统在南通天一农产品批发市场投入使用后,提高了工作的效率。具有推广实用价值。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘 要:以华文写作在线Web教学平台为实例,介绍了螺旋模型迭代演化的软件开发过程,阐述了该教学平台的功能模块及设计方案。采用ASP.NET、SQL Server 2000等技术以B/S架构方式实现了系统功能设计,在平台的开发过程中强调了螺旋模型的每一轮风险分析、用户需求分析及功能优化。  关键词:螺旋模型;Web教学平台;设计开发;ASP.NET  中图分类号:G434  文献标识码:A  文章编
期刊
浪迹武林三月有余,最大的心得体会就是:有钱走遍天下。没钱寸步难行,想要升级快你就要像喝水一样喝药、像砸砖头一样砸装备,没点钱能行吗?就算不练级,你在游戏里闲逛泡MM,眼看着街上走的不是穿恶魔装就是穿公主裙,你要是不骑个糜鹿、豹子的,都不好意思和人打招呼!当初我就是看看别人身上的+7、+8衣服,再看看自己一身不会发光的破衣烂衫,不由的仰天长叹:都是玩游戏,咋人跟人的差距就这么大呢?真是朱门酒肉臭,路
期刊
(中国矿业大学计算机学院,江苏徐州221008)  摘 要:随着网格技术和应用的不断深入,对网格提出了严格的服务质量(quality of servi。ce,简称Qos)要求,网格计算中的Qos成为研究应用的焦点,缺乏Qos保证逐渐成为制约网格应用的瓶颈之一。论文对网格计算的质量服务进行了研究,描述了网格QoS定义,网格QoS需求和网格QoS的层次模型,同时也介绍了当前研究思路及以后的发展趋势。 
期刊
摘要:本文介绍了GoogleHacking对网站的入侵原理,它主要是利用Google的常用语法来搜索敏感数据进行入侵,并给出了一个攻击例子。根据入侵原理,本文提出了将Robots.txt文件放在网站根目录下的措施,这样能有效的防范GoogleHacking的入侵。  关键词:Google;GoogleHacking;网络安全  中图分类号:TP393  文献标识码:A  文章编号:1009-304
期刊
摘要:探讨了基于互联网的企业ERP系统安全体系的理论基础, 介绍了ERP系统在网络中的安全需求、风险与目标,分析了企业ERP系统的安全体系结构。  关键词:ERP系统;信息; 网络安全  中图分类号:TP317  文献标识码:A  文章编号:1009-3044(2007)01-10059-02
期刊
(河南理工大学计算机学院,河南焦作454100)  摘 要:对RSS的沿革及发展进行论述,对比不同莳期不同版本的RSS技术,就KSS存在的问题和前景进行分析。  关键词:KSS:信息聚合;元数据  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2007)01-10046-02    1 引言    当大家上网时,可能越来越多的发现一个新词汇——RSS。如今多数新闻站点、政府
期刊
摘 要:用户口令的保密性不高,造成口令的泄露以及在MIS系统中存在的应用系统和数据库系统用户权限管理不统一的问题,都给数据库的安全带来安全隐患。通过存储过程、函数、程序包和RBAC技术实现了ORACLE数据库用户口令的安全和前后台用户权限的统一。  关键词:ORACLE数据库;口令;R.BAC;策略;改进  中图分类号:TP309  文献标识码:A  文章编号:1009-3044(2007)01-
期刊
摘要:本文介绍了Asp中的MD5(Message-Digest Algorithm 5)加密技术,分析了它的工作原理及使用过程,并通过具体的使用实例,说明了MD5加密技术在网站开发中的具体实现方法。   关键字:ASP;用户账号;用户密码;MD5;加密技术  中图分类号:TP393  文献标识码:A  文章编号:1009-3044(2007)01-10066-02
期刊
(1.山东烟台南山学院信息管理学院,山东烟台265713;2.山东烟台南山学院基础教学部,山东烟台265713)  摘 要:数据库在Web应用程序中具有相当重要的作用。该文从Web应用程序和数据库的安全性入手,从建立安全模型、数据加密、数据库的备份恢复等几个方面对Web应用程序中的数据库安全性进行了讨论,并提出了Web应用程序中的数据库发展趋势。  关键词:Web应用程序;数据库安全;策略;发展趋
期刊
摘要:提出了一种利用AJAX技术实现图像信息实时发布方法。该方法基于SVG(Scalable Vector Graphic),采用异步通信机制,可以节省带宽,减少传输延迟,而且能够使图像实时更新。实践表明该方案具有良好的实际应用表现,扩大了图像信息发布的应用范围。  关键词:AJAX;实时图像发布;SVG;DOM  中图分类号:TP393  文献标识码:A  文章编号:1009-3044(2007
期刊