关注微信 欢迎致电:400-8310-286

你在这里

土地测量订单管理系统

1. 概述

此项目是一套针对TerraCorp土地测量公司开发的测量订单管理软件,主要功能是全程跟踪测量订单的生命周期。该软件将由客户或者管理员放置一笔订单 开始,接着由公司调查人员(Researcher)处理该笔订单并实地调查后上传一些最终测量报告所需要的相关文档。一旦文档被调查人员上传后,订单将转 入下一流程由调度人员(Crew Scheduler)处理并分配相应的订单给现场人员(Field Crews)。现场人员将实地处理订单测量工作并上传所有订单相关的文档,然后流转订单流程给绘图人员(Drafting)。绘图人员将基于所有工作流程 中所上传的文档绘制订单测量图并上传,接着订单流转到最后一步,由专业测量员(PLS)查看所有流程中已上传的文档,并最终决定订单是否完成。如果订单完 成,PLS将最终生成PDF订单测量报告以及发票信息,并发送给最终用户,否则PLS将重新流转订单流程到以前的步骤让相关人员重新处理。

2. 需求

2.1 功能需求

  • 权限管理
  • 数据字典管理
  • 订单CRUD
  • 测量订单处理工作流
  • 订单相关文档上传
  • 订单核算
  • 订单处理留言
  • 订单处理日志
  • 订单处理日常邮件
  • 测量订单生成/发送
  • 订单发票生成/发送
  • 现场处理人员分配
  • 公司内部邮件
  • 订单报表
  • 订单报价申请

2.2 业务流程

3. 解决方案

3.1 技术平台

  • 平台: .Net Framework 4
  • 数据库:SQL Server 2008 R2
  • 数据访问:Entity framework 5
  • 系统框架:Spring.net
  • 前端框架:WebForm
  • 第三方控件:Telerik Asp.net Ajax Controls, Telerik Reporting controls, PDF Lib, Google Maps API, QuickBooks API, Highcharts.

3.2 系统代码架构

此架构基于传统三层结构,EF是持久层,Dao是数据访问层,Service是服务层,ASP.net WebFrom作为表现层。简单描述如下

  • 持久层使用微软最前的Entity Framework 5.0框架技术,其中会自动生成Model实体类;
  • IDao作为数据访问层接口,仅允许服务层引用;
  • Dao是数据访问层的接口实现,使用Spring.NET向Service层中注入;
  • IService是服务层接口,仅允许表现层引用;
  • Service服务层接口实现,与Dao层通信,使用Spring.NET向Web层注入;
  • 表现层使用ASP.NET WebForm,并采用Telerik Asp.net Ajax作为基础的开发控件库。并配合其他的一些三方控件完成界面展示。

总体架构图

3.3 系统部署

应用场景

4. 亮点(Featured)

4.1 测量报告生成

该系统的主要功能就是在不同业务流程中由各角色的操作人处理测量工作并上传最终测量文档生成所需要的部分文档内容,最终在业务流程结束后,会由管理员根据 文档的相关内容生成最终的PDF测量报告和发票信息,并邮件给客户,完成订单流程。PDF文档生成使用PDFLib库开发。

4.2 Google 地图路径

该功能用于FieldCrew人员分派流程,管理员可以选择待处理的订单以及选择订单的处理人,并根据订单的位置信息,在地图上将人员需经过的最短路径信 息显示在Google地图上,供管理员决策并指定相关合适的订单处理人员(FieldCrew)。该功能使用Google Maps API库开发。

5. 技术难点

5.1 业务流程

由于该系统是测量行业的订单系统,需要理解相关的行业知识。加上前期客户对业务对象的相关数据项描述得不够清楚,所以在前期需求阶段,需要跟客户不断的沟通,理清业务流程以及相关的行业数据。

5.2 QuickBooks

QuickBooks API是一套远程Web API,用于访问QuickBooks系统中的业务数据,实现二次开发。在TracTerra项目中,客户需要使用QuickBooks API 实现系统间的客户以及发票数据同步。在前期使用时,由于初次接触,需要查阅大量的官方文档,并且熟悉QuickBooks API 的使用方式,以及与Tracterra项目中的异构数据进行同步的问题。

6. 总结

  • 整体项目开发以迭代方式分成需求,计划,设计,编码,测试,重构,项目管理等阶段,并制定每周开发任务,任务结束后,通过skype与客户沟通并确认已完成的开发任务,并与客户一道制定下周计划。
  • 开发期间,与客户积极配合,并制定了一些需求文档以及原型界面。在开发中如果出现与需求有偏差的问题,会及时跟客户邮件沟通,并寻求解决方案。
  • 项目中采用了一些之前未接触过的技术点,所以必须主动配合客户去学习新技术,并达到客户预想的结果。在满足客户需求的前提下追求更优解决方案,保证客户的利益。
备案/许可证编号为:渝ICP备14000366号-1