蛙蛙请教:做一个小OA遇到的几个常见问题,最近做一个律师协会的办公系统,昨天我把所有的资料拿到家里分析了一下,弄到11点多了才睡觉,整理了一些需要解决的问题,希望那果农得到大家的帮助问题1:左边的导航树要根据权限自动生成,使用treeview组件分析:我想这个问题是很经典的问题,因为treeview可以根据xml配置文件生成各个节点,所以我想能不能根据登陆者的权限来让treeview动态加载xml配置文件来生成树。可是xml文件放在哪里呢,web.config里面吗?如果管理xml配置文件呢?比如说要给某个程序添加一项任务,就要改动xml文件,这个怎么操作呢,最后还得保证xml配置文件的安全性。不知道我分析的对不对。问题2:统计报表要实现打印分析:在web上打印报表是个老生常谈的问题,一般由水晶报表来解决,或者用css配合webbrowse控件来实现网页局部表格打印。我想用后者来实现,可是如果打印的页面在一个frame里面,在这里页面里我只打印一个table,这样可以实现吗?问题3:自定义流程的实现分析:比如说律师事务所的申请,要经过哪几个环节,每个环节需要什么权限,每个环节需要填写那些表单,上传那些附件,每个环节要实现那些操作,比如说审核,通过,驳回,跳跃等。我想定义一个流程所包括的信息是怎样持久化的呀,是每个流程通过加载一个xml配置文件来自描述自己呢,还是怎么实现呀。还有一个问题就是一个流程都需要有哪些配置信息呢,数据结构怎么设计呀,我是怎么想也想不出怎样才能设置出通用性,可扩展的流程的数据结构。问题4:表单的自定义分析:因为流程的各个环节会填写不同的表单,这些表单由表单名,字段名,字段类型,字段约束,表单处理页等构成。可是这些表单提交的信息要持久化到数据库的话,怎么建立一个合适的数据库来保存这些信息呀,还有处理每个表单的页面也应该能自动生成吧,不会处理一个表单就要开发一套相应的业务逻辑,再在数据库里加一个表吧。问题5:大附件上传分析:因为有公文流转的模块,再加上系统有分布式的特点,有些大的文件(几十M甚至上百M)的,用普通的上传方式容易超时或出一些其它问题,我看了一些人都是用ftp或者xmlhttp+stream来解决的。可是这两个好像都得写相应的组件吧,asp.net首先没有直接控制ftp的类,xmlhttp+stream我以前用客户端js做了一个小程序,确实是能上传大文件,但有的浏览器在客户端不能建立adodb.stream对象,而且还得把网站加入可信任站点等,也不是很好的办法。这个问题也许我考虑了太多了,特别大的文件不是很多。问题6:office文档的在线编辑和保存分析:网上好多这些控件了,什么noke,iweboffice,eweboffice等等,但我都感觉功能太强了,用不了,而且价格太贵了,自主研发一套又太不经济,大多都是引用office空间,或者用javascript建立word.application对象结合vba等操作的。其实这个问题我就想在iframe里打开word算了,如果需要编辑后再保存到服务器的话,可以在客户端打开服务端文件,修改后用stream获取内存对象再上传到服务端,实在没时间做了就让客户把word文件下载下来,修改后以附件的形式再上传回去,呵呵。(总之,就是为了节省开发成本)问题7:模板管理分析:添加word模板并制定到相关流程的相关环节,有一些制式的文件需要用模板来管理,用户在流程中需要填写这些制式的文件,怎么做到统一的模板管理呀?我想就做好一个空白word文件,流出表格空白的地方,然后上传上去,客户在某个流程需要填写某个word表格的话,下载下来,填好后上传上去。问题8:文件的安全性处理分析:决不能让非授权用户直接打url地址就能访问上传的word等的文件,那样就没什么安全可言了,但是如果你把所有用户上传的文件都保存到数据库的话,一个是性能问题,一个是数据库负载问题会很严重。我想把用户上传的文件加密,授权用户查看的时候再解密,非授权用户下载下来的word是乱码。不知道大家有没有做过这方面的研究,我是一点也不了解,麻烦大家给提供些资料。问题9:套表打印分析:因为律师执业证要实现套表打印,但我这个系统是基于asp.net的,有没有相关的组件提供呀,如果没有我就疯了问题10:用户权限的数据库结构设计分析:包括基本权限,对每个流程的权限,每个流程某个环节的具体权限,比如说只读全,修改全,填写全,审批全等等,我想不出什么好的数据结构来持久化这些信息,怎么就和用户角色关联起来了呀。我想建立一个用户表,角色组表,角色表,权限表,总之这个问题我想的很负责,有没有简化的办法呀

解决方案 »

  1.   

    呵呵,如果上面的问题你能全部解决的说,教教我啊
    在一定的成本限定下完美地解决上面的问题,
    我觉得基本上属于不可能个人觉得你上面提的问题很不错的,
    我做OA时,也是因为开发时间的原因,
    采用的是 C/S(结合MIDAS), B/S 结合的方式实现的,
    流程定义是自己写的 workflow ocx
    对B/S不好处理的部分全部用 ocx 实现如果有更好的解决方案,请多交流
      

  2.   

    对了,我问一下,.net可以写ocx吗?好像不可以吧
      

  3.   

    http://community.csdn.net/Expert/topic/3420/3420621.xml?temp=.8389856可以参考下
      

  4.   

    关于目录树的问题,还是建议把树结构以链表的形式放在数据库中,这样比较灵活,你可以直抵解动态加载信息,也可以以XML为中间媒介分步加载,处理的方法就多了,同时可以很好的整合用户权限管理,这部分在我的系统中早就得到了很好的解决了。
    关于和流程相结合的问题,我也正在苦思冥想,由于结构不定型,还没想出模型,请大家帮着一起想想。