宁夏回族自治区土地和矿业权网上交易系统—项目研发总结
项目名称:宁夏回族自治区土地和矿业权网上交易系统
技术架构:C#、WCF、HTML、CSS、JavaScript、JQuery、Ajax
开发工具:Visual Studio、SQL Server、Photoshop
完成模块功能:土地交易、采矿权交易、探矿权交易、申购、报价、出价等模块
完成起止时间:2017年04月01日~2017年6月30日
一、项目概要
(1)系统主界面
主要包括客户的登录、切换用户、显示所有交易资源列表、资源类别(全部、土地交易、采矿权交易、探矿权交易)或在行政区下拉菜单指定行政区进行筛选、进入交易大厅链接进入交易大厅、我的交易、我的收藏、分页、获取系统时间、首页、地图浏览、使用帮助、退出等功能。
(2)数据新增
主要新增的表有挂牌信息、客户信息、公告信息,以此有些是直接在需要界面里新增保存该数据的内容来完成项目的需求
(3)土地交易
主要包括挂牌公告、正在挂牌、结果公示、预公告、其他公告、高级搜索以及分页这些功能,它的核心模块主要是挂牌这一类工作。挂牌公告在以下它的功能效果是:点击地块详情可以对该地块资源基本信息进行浏览包括挂牌编号,土地权属单位,土地位置,所属行政区等等。进入地块详情界面之后会出现不同几个界面:出价记录、出让公告、查看现场图、地图、下载出让文件、以及返回主机面这些功能要点,这些功能要点大多数都有所完成,都是设计项目要求的要点事项设计出来的各个界面,然而有多个界面是直接用WCF里的控件属性就可满足项目的要求了…
(4)采矿权交易
要点功能和土地交易几乎完全一致,主要是交易类型不同罢了,他们的基本需求都差不多,于是项目数要求做出土地交易的功能即可
(5)探矿权交易
要点功能和土地交易几乎完全一致,主要是交易类型不同罢了,他们的基本需求都差不多,于是项目数要求做出土地交易的功能即可
(6)我要申购
主要有几个相应的流程:申购符合否→阅读申购规则→选择竞买方式(单独申请或联合申请)→填写竞买申请书→选择激纳保证金银行→获得保证金随机账号,这几个流程该流程主要是绑定相应数据和填写客户资料
(7)我要出价
主要是在我的交易里进行出价,它分别有两种方式竞得该地块:限时竞价、按保障性住房比例、这两种方式各有不同,显示竞价在相应的时间内进行报价,报价高者获得该地块、保障性住房比例是对比例进行比较、比例高者获得该地块
(8)我的文档
我的文档里面包含我的竞买申请书、资格确认书,成交确认(通知)书这三个功能
(9)我的消息
显示用户所有消息列表,包含我的消息、我的出价记录、我的登录情况。资源对应的各个时期,网上交易的土地是否成交,是否中止等信息显示在栏目下
(10)支付管理
支付管理包含“保证金交纳情况”和“到帐查询”:如果用户交纳了保证金,系统会自动发送相关信息,您可以在保证金交纳情况里查看到;到账查询可以查询您的保证金的到账情况
(11)个人资料
显示竞买人基本信息,企业用户显示单位名称、组织机构代码证等信息,个人用户显示姓名、身份证号等信息,注意的是竞买人的个人资料直接从数字证书中获取,不能被修改
二、项目流程
总体模块流程图
我要申购和出价流程
三、数据库表设计
四、功能实现
4.1业务功能:挂牌信息
挂牌信息主要包括挂牌新增数据、挂牌信息状态的功能模块
4.1-1 功能实现
(一)挂牌信息:新增挂牌信息模块界面
(1)点击预公告按钮显示预公告的信息,分别显示出公告编号、标题、发布间等信息
(2)点击其他公告显示其他公告信息
(3)点击“挂牌信息”登录系统按钮跳出该信息模块
(4)点击挂牌公告出现挂牌公告的相关信息
(5)点击正在挂牌出现正在挂牌的相关信息
(6)点击结果公告出现结果公告的相关信息
(7)点击高级搜索根据条件查出对应的信息
(8)以下根据交易类别进行分类,分别有土地交易、采矿权交易、探矿权交易,该项目主要以土地交易为主,另外两个基本一致
(9)以下图是采矿权交易
(10)以下图是探矿权交易
(二)地块信息
(10)点击地块详情,进入对应地块的基本信息,点击地块详情可以对该地块资源基本信息进行浏览包括挂牌编号,土地权属单位,土地位置,所属行政区等等。进入地块详情界面之后会出现不同几个界面:出价记录、出让公告、查看现场图、地图、下载出让文件、以及返回主机面这些功能要点
(11)点击出价记录,显示记录数据
(12)点击出让公告,它对的数据是对应模块的相关信息,目的是能让客户详细的了解到当地块的信息
(13)点击出让须知,公告是告知客户该土地的重要性和关于法力问题的告知
(14)点击图片浏览,是关于地图浏览那一块,目前只实现了图片轮播的功能
(15)点击其他公告,其他公告在整个项目中只有一条数据
(三)主界面功能:
(1)系统登录后的主界面,在没有用户登录之前是没有信息的,只有预约公告和其他公告,下图,点击上方的首页按钮,在你在任何界面想跳回首页都是可以的,还有单击dgv中单元格:进入交易大厅可以入用户信息的相应界面,主界面还有地图浏览和使用帮助以及安全退出功能按钮,界面的按全部、土地交易、采矿权加以、探矿权交易并加上行政区域的条件进行查看
(2)系统登录后的主界面,点击使用帮助按钮出现图,是用帮助在项目书里并没有说明要求什么功能的出现,他只是在用户遇到在操作该系统不会的情况下来进行了解
4.1-2 表和关系
(一)新增挂牌信息
(二)新增公告信息
(三)地块详情
4.1-2 经典代码
(1)UIL层代码:按交易类型查出对应数据并进行分页
BLL层代码:按交易类型查出对应数据并进行分页
数据库代码:按交易类型查出对应数据并进行分页
(2)UIL层动态画出相应的信息,并按交易类型进行分类。如:交易状态、四个按钮等
2.功能代码:
UIL层代码:用代码创建四个控件或者可以说是四个动态按钮
UIL层,用代码生成字体
(3)倒计时和进度条
UIL层代码
4.2业务功能2名称:客户信息
4.2-1 功能实现
客户信息.主要包括:新增客户基本信息,客户的类型,客户明细信息。
(一)新增客户基本信息:是客户根据自己个人或公司填写基本信息的实现界面。
(1)填写客户信息后,点击“新增”按钮新增成功一名客户的基本信息
(2)在没有项目中没有客户登录之前基本是没有什么数据的,只有预公告、其他公告有一点的数据,在登录模块也是显示:游客,你好!欢迎使用本系统这些字题…
(3)在没有项登录之前,点击我的交易、我的收藏、土地交易等都是没有数据的
(4)在登录模块显示了,客户自己的名称以及问候的字体,也对应的有了客户的信息和其他的基本信息
(4)如下面两图,客户的类型,他在填写客户信息时就根据实际情况去完成他的信息,有所不同如有:个人用户、企业用户,个人用户的名称是自己的名字证件号是客户自己的身份证号,企业用户的是单位名称,证件号是组织机构代码证。
例:(4-1)个人用户信息
例:(4-2)个人用户信息
(5)点击下图切换账号按钮显示用户登录界面,在切不同用户,填写对应的用户名和密码即可
(6)上图填写完用户名和密码后点击登录按钮显示下面的界面,用户2的对应基本信息
(7)登录用户2之后,它的客户类型是企业用户,在客户明细信息里把他们区别开来
4.2-2 表和关系
(1)新增客户信息:
(2)登录功能数据库代码:
(2)登录功能表
4.2-2 经典代码
(1)例如一个公司不只是一个用户,可以根据不同用户在这进行切换
代码:
切换账号代码:
4.3业务功能3名称:申购交易
申购交易:明显是我要申购,申购后进行交易
4.3-1 功能实现
(一)我要出价功能模块,按流程的进行:申购符合否→阅读申购规则→选择竞买方式(单独申请或联合申请)→填写竞买申请书→选择激纳保证金银行→获得保证金随机账号的步骤进行,里面涉及到拍买地块的要求和要点和进行审核客户并确认该客户的竞买资格等信息
(1)我要申购的界面,他首先的确认该地块是正在挂牌的状态下才画出:我要申购的按钮
(2)点击我要申购按钮相应的跳到阅读申购规则的界面
(3)点击同意按钮,在客户认真的阅读该申请说明后点击同意按钮跳到下图,如下界面是竞买方式的选择,它分别有:单独申请、联合申请两种选择
(4)点击联合申请后跳到图4,该界面是联合申请,在dgv的某一空格,对应得客户填写自己的个人信息后离开该行的dgv之后会相应的显示客户的基本信息,该界面还有添加、删除、全部重置等功能按钮,客户还应该认真做出决定,注意红色字体
(4)点击单独申请或经过图是的联合申请声明后跳到以下图5的界面,本界面是填写竞买申请书的界面,竞买申请书右边可以上下拉伸,它的功能是方便客户舒适的看里面的内容
(5)点击同意按钮后转到图6的界面,选择激纳保证金银行,经过客户审核无误点击提交
(6)点击图6的确认无误,提交按钮后转到获得保证金随机账号,它是根据前缀加当前时间的时、分、秒的数据进行显示出来,
(7)点击打印后进行下一步的保存随机账号的数据和打印,打印功能还没有完成
(二)点击主界面的我的交易按钮,显示出状态是正在挂牌和客户本就进行购买过的结果公示,还有高级搜索,它分别也有几个动态生成的按钮,如:我要出价
(1)点击图9的我要出价按钮出现图10,客户对该地块的基本信息,还有距离挂牌截止时间倒计时,计算出亩均价,亩均价是经过土地面积和当前最高价进行计算得出
(2)点击图11图中的出价(小写)进行填写客户自己想理想出的价格,填写完后点击快速出价进行出价,客户应注意的是:单位是以万元为单位的
(3)按出价幅度出价,它可以进行倍数选择或者填写进行出价,点击确定出价后跳到系统的四分钟的倒计时进行限时竞价出价,点击YES同意四分钟限时竞价后点击确定,点击NO退出限时竞价的界面,返回上一层界面
(4)点击下图,最后一分钟的限时出价时间,一旦一分钟过后由最高出价这获得该地块,目前还没有做到项目的多人竞价的状态进行对比来竞买地块
(5)下图在限时竞价的最后一分钟过后跳出该提示,竞买成功,关闭进行一步步退回主界面
(6)下图按保障性住房比例进行竞买土地,按比例,谁高谁得的方法
(7)下图按保障性住房比例进行竞买土地,按比例,谁高谁得的方法,诺点击否取消比例竞买
(7)点击界面的按用户自己的比例进行累加,累加高者获得该地块
目前的功能实现就是这些,对与项目的高要求也许还没有进行下一步的了解……
4.3-2 表和关系
(1)我要申购中绑定的数据源:
(2)我的交易中绑定的数据源:
4.3-2 经典代码
(1)编辑DGV行离开时得到对应行的数据:
UIL层代码
(2)自定义生成保证金随机账号:
数据库的代码:
BLL层代码:
UIL层代码
(3)计算亩均价:用当前最高价 / (土地面积 * 666.666)
UIL层代码:
(4)快速出价和按幅度出价:
UIL层代码
(5)四分钟倒计时:
UIL层代码:
五、技术总结
从学习C#和WCF基础开始,到三个月的项目实训,接近有半年的时间,经过在做项目的过程中,自己深受很大的启发,同时遇到问题一时半天解决不了也是偶尔发生,从中把自己的愚蠢思维给突破了不少,同时也了解了团队合作的重要性、理解和争议时该怎么解决,可否认的一点,同桌他的思维确实比我好,很多时候不能不接受他意见,在做这个项目也懂得了很多道理以及技术。
第一次看完需求文档的后觉得自己的脑海中是一片空白,处在很懵的状态,经过几次询问老师时,他分我说不要着急去建立表,设计数据库等,先理清项目的重要信息,项目的要求你是怎么做的,项目的重要意义是什么,主外键和业务表、基础表的关系先得理清了,那时你就知道怎么做了;于是按老师说的去做,重复地看项目需求文档书,不断地分析做笔记,自己又在不停的思考,项目书的重点字段是那些,功能应该怎么实现,经过几天伤脑的苦想并和同桌共同讨论下开始了建数据库的表,开始很难下手去建表,同桌说先不管他,建好有后肯定是会有改动的,于是和同桌一起建立表,觉得不合适的和他进行了辩解,很多时候建了又删掉删后又新增过。经过三个星期的分析,总把大部分的表给建立了起来,同时理清了主外键的关系,接下来开始界面的设计,由于之前学的物流系统时模板已经几乎完成的了,在刚开始设计界面的时候,对与客户端里的控件并不是很熟悉,有很多控件不会用,经过三番四次的把控件一个个地拖到界面里看并进行理解意思他的作用是什么,对整个控件和属性从陌生到熟悉,慢慢地可以使用上合适的控件和属性了,当时只是还有很多不够全面的东西没有完善,还有很多地方还需要编写代码并调用属性方法等。
由于合作人的个人原因,他没法跟我一起做项目开发了,从起开始就要独立完成该项目了,听了老师的意见并接受了老师的意见。独立在做项目期间难免会遇到问题,当遇到问题时,有时会失去自信心,自己在琢磨了许久都没能解决问题,同时我知道转牛角尖不是办法的,这时,我只能找老师解决问题了,但很多时候找到思维好一点或做在旁边的同学解决问题,当老师或同学帮我看问题时,每次都很认真地看着和听他们是怎找错和发现错的并怎么去尝试解决的。实训项目当中,有时自己做到蒙了,一个很简单常见的错都把自己搞晕的,事实证明,对控件代码没有重复去运用去理解远远是不够的,每打一段代码都得理解他的含义和作用是什么。
总结自己在做项目实训的过程中,从开始的分析项目需求文档时一头雾水到理解并按要求地设计数据库和客户端的界面设计功能;接着,从一个只会抄写代码到自己尝试去试编写代码到编写代码成功;然后,时而遇到问题或编写代码总是出错的过程到先是自己解决,解决不了找同学或老师的帮助下解决问题;这些,其实最大的收获是把自己以前不会的不熟悉的不了解的知识学会了,同时将自己的编程思维提升了不少。