上一节介绍了如何选择查询字段,这一节来看看如何设置查询条件。对于这个销售管理系统中的“订单”模块而言,可以设置的查询条件可以想到的有:需要按业务员查询、按产品查询、按产品分类查询,按年度、月度等的日期查询,再而可以按市、按省、按省的所属区域、按客户的所属行业和等级来查询。对于以上按照模块父模块相关信息来设置条件的方法,设计得也是非常简单。在上一节介绍中,在toolbar中有一个“部门”,是用来设置部门条件的。现在我们来看看如何加入一个模块,使其可直接设置条件。
比如我现在要根据“客户单位”进行查询,需要在toolbar中将“客户单位”加进来,那么我只要在模块管理中,选中“客户单位”,修改一个属性即可。
设置好以后,刷新网页,进入综合查询,界面如下:
可以看到上图中在toolbar中加入了一个“客户单位”的按钮,按下之后,就可以选择客户单位。
上图中每一个客户的条件是“or”,部门和客户之间的条件为and.
看一下生成的sql 的where子句。
where ( _t9011.tf_departmentId like ‘001030%‘ //部门 or _t9011.tf_departmentId like ‘001020%‘ ) and _t6010.tf_customerId in ( ‘1‘,‘2‘,‘3‘,‘4‘,‘5‘ //客户 )
按下行业按钮。
综合查询的界面如下(下图中我又选了一个制造业)。
上图可以看出,经过三个条件的约束,在此订单明细作为基准模块的时候,一共有2个订单,6条订单明细。
再来看看条件grid中的“记录数”的相关信息,第一条“部门”的记录数为25,表示选中了这二个部门以后订单明细有25条。第二个客户单位后的记录数10表示,在上面的25条之中,再选择了5个客户单位后,订单明细为10条,第三个记录表示是在上面10条之中再选择了这些行业的单位,一共有6条订单明细记录。
上述的三个条件记录是可以互换位置的,只要用鼠标选中一行,然后拖到另一行上面就可以了,现在我把三个条件的记录改为行业,客户单位,部门,来看看结果。
再改变一下,再看看截图
来看看现在的sql where 子句
where _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 ( _t9011.tf_departmentId like ‘001030%‘ //部门 or _t9011.tf_departmentId like ‘001020%‘ )
模块管理常规功能自定义系统的设计与实现(35--终级阶段 综合查询[2]),布布扣,bubuko.com
模块管理常规功能自定义系统的设计与实现(35--终级阶段 综合查询[2])
原文:http://blog.csdn.net/jfok/article/details/25362469