首页 > 代码库 > 模块管理常规功能自定义系统的设计与实现(34--终级阶段 综合查询[1])

模块管理常规功能自定义系统的设计与实现(34--终级阶段 综合查询[1])

综合查询(1)


        前面已经架构好了一个销售管理系统,看看功能也挺多,也基本够用了。但是仔细分析一下就会发现,前面的设计都是属于数据操纵方面的,虽然有导航、筛选功能,但是对于统计分析来说还是远远不够用的。为了能够进行灵活的统计分析和查询,经过多次的改进,生成了我现在的综合查询体系。

        整个综合查询体系包括以下几个方面的内容:
        1、字段的选择;
        2、查询条件的设置;
        3、基准模块的选择;
        4、聚合字段类型的设置;
        5、多级分组的设置;
        6、综合查询方案的管理;
        7、图表分析;
        8、数据导出;

        整个综合查询中使用的表和字段定义与模块使用的完全一样,也是靠表间的上下级关系和所选择的字段来生成sql语句,但是要比模块操作的sql要更加复杂。对于许多人来说,这也许是你们见过的功能最强大的综合查询。

        下面展示一下综合查询的主页面,介绍一下主页面。



在上图界面中:

        1、最左边一块是一个导航区域,放置了当前选择的字段,还可以放置条件模块的具体值;
        2、中间上面是一个toolbar ,里面包括查询方案的combo,里面放置了各种已经设置好的查询方案,“字段选择”按钮,是用来选择你要显示的字段的。“基准模块”是用于来确认你所选择的若干个模块中哪个作为主模块。后面还有保存,另存,删除都是方案的操作按钮。
        3、下面一块为一个日期期间设定的菜单,后面跟着若干个模块,或者模块中的某个字段,可以用来设计查询条件。
        4、再下面是条件显示grid,显示当前所设置的条件项目和条件值,以及满足条件的记录的个数。
        5、下面一块是结果grid,在结果grid上面有一个toolbar,上面有的功能为:分组设置,是否显示明细,是否显示汇总,数据导出,打印和图表操作。最后还有一个grid自动列宽适应的按钮。

看上去很普通的一个界面,下面来分别讲讲各个部分有何功能。

        一、字段的选择:一个查询方案的首要选择是字段,可以选择一个模块或几个模块中的字段。只有一个要求:所有的模块必须都有相互关系。如果二个模块找不到任何相关联的关系,那么就会是一个笛卡尔积了。在选择好了字段以后,会自动判断是否有这种情况的发生。选择字段的界面如下:



        在上图中,你在左边模块列表中选择了一个模块,中间区域就会出来该模块的所有字段,并且会将已经选中的字段打勾。如果你点击右边的已选中的一个字段,那么中间区域也会自动展示该字段所在的模块的所有字段。上图中我们选择了订单中的5个字段,和订单明细列表中的7个字段。
        下面来看看我单击右边的订单“商品”字段后的界面样子。




        上面不同的字段,用不同的颜色来表示,黑色表示字符串型的,蓝色表示数值型,黄色表示日期型,绿色表示布尔型。    
        上面提到了不能够选择二个毫无关系的模块,下面我另外加个二个附件类型的字段,看看保存的时候有什么提示。


  
          点击“确定返回” 按钮,就会弹出如下对话框:



       第一步字段选择操作起来绝对简单,另外还可以对每个字段设置筛选条件,这个以后再说。再贴一张图,是选择了这些字段后的查询结果。以“订单明细”作为基准模块。(最上面的一张是以“订单”作为基准模块的)。



在上图中,单击“无锡太乙公司”显示如下: