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

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

综合查询(3)--查询条件的设置2


        不仅仅对于模块才有这样方便的条件选择方式,对模块的字段也可以设置。例如对于“省份”中有个字段是“所属区域”,这个字段不是一个manyToOne字段,而是一个字符串字段,里面就是存着“东北地区”、“华北地区”等等这样的具体的字符串值。对于这样的字段也很容易将其放在toolbar上供选择。在模块字段中找到“所属区域”这个字段,修改字段的属性,让这个字段可以加到综合查询的toolbar上。


        单击“省份所属区域”,会出现如下的选择窗口:



对于数据库中的任何字段,都可以这样进行选择。
sql where 语句为:
    where
        (
            _t9011.tf_departmentId like ‘001030%‘ 
            or _t9011.tf_departmentId like ‘001020%‘
        ) 
        and _t6010.tf_customerId in (
            ‘1‘,‘2‘,‘3‘,‘4‘,‘5‘
        ) 
        and (
            _t7016.tf_tradeId like ‘10%‘ 
            or _t7016.tf_tradeId like ‘1106%‘ 
            or _t7016.tf_tradeId like ‘1105%‘ 
            or _t7016.tf_tradeId like ‘1104%‘ 
            or _t7016.tf_tradeId like ‘1103%‘ 
            or _t7016.tf_tradeId like ‘1102%‘ 
            or _t7016.tf_tradeId like ‘12%‘
        ) 
        and _t7010.tf_district in (
            ‘华北地区‘,‘华东地区‘,‘华南地区‘
        )

这是窗口中选择条件的办法,还可以将选择条件的列表放到左边的导航区域中进行选择。


        
下面把导航页转到行业:



        正准备着手加入的功能:对于数值,可以选择一个区间的选择,虽然可以在字段中加入。以上即为通过选择模块的值和模块字段的值来为当前的查询设置条件。对于同一个模块中,选择的条件是是“或者”,对于不同模块或不同字段之间,条件是“并且”。

        下面来看看如何为每一个选中的字段加入筛选值。在选择字段的时候,每个字段都可以加入筛选值,具体请看:



        在上图中为订单明细中的“数量”设置了一个条件,显示所有数量大于3的订单明细。



        这个方法确实灵活度很高,但是会有sql 注入的风险。为了能够尽量的防止sql注入,会在生成sql的时候加入一些处理。

下面看看这个查询导出的excel。



        如果输入了错误的条件,则会提示如下: