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

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

上一节介绍了如何选择查询字段,这一节来看看如何设置查询条件。对于这个销售管理系统中的“订单”模块而言,可以设置的查询条件可以想到的有:需要按业务员查询、按产品查询、按产品分类查询,按年度、月度等的日期查询,再而可以按市、按省、按省的所属区域、按客户的所属行业和等级来查询。对于以上按照模块父模块相关信息来设置条件的方法,设计得也是非常简单。在上一节介绍中,在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‘    //客户
        )

“客户单位”的编码是不分级,再来看看行业这个模块,这个模块是分级的。先把“行业”加入到条件设置toolbar。

按下行业按钮。

综合查询的界面如下(下图中我又选了一个制造业)。

上图可以看出,经过三个条件的约束,在此订单明细作为基准模块的时候,一共有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])

时间: 2024-08-10 00:07:42

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

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

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

模块管理常规功能自定义系统的设计与实现(33--权限设计[3])

权限设计(3) 三.字段的只读权限.对于可以修改记录的操作员,可以进一步限制哪些字段对于他是不可修改的.这个功能很少用到,是用户提出来的,我就顺便加了进去.实现这个功能也很简单建立只读字段角色,然后加入模块的字段,最后再将角色加到操作员上即可.前台在解释生成edit form 的时候,将这个字段的只读属性置为true即可.后台Hibernate在新增或保存的时候,可以把只读字段过滤掉,不能保存或不能修改即可. 四.字段的可视权限.有时候某些字段你不希望被某些群组的操作员看到,那么就设置一个隐藏字

模块管理常规功能自定义系统的设计与实现(28--多个模块之间的关联[4])

多个模块之间的关联(4) 前面搭建了客户以及客户父模块的一个分支,另一个分支是产品线,还有一个是业务员,然后这三条线归并到订单之上. 前面我贴了我要搭建系统的一张图,现在贴一下数据库的表和其之间的关系情况. 上图中表和我设计的简易销售管理系统是完全一致的.再看一下的模块图,稍微记下下其中的关系,对于看懂下面的内容很有必要. 对于业务员,产品,订单三条分支我建立的过程就不介绍了.现在来看看架构好的菜单: 再看看加好的各个模块的页面: 1.部门和业务员: 2.商品类别 3.商品 4?订单 订单明细

模块管理常规功能自定义系统的设计与实现(52--功能更新[2] 对百分比字段的操作)

功能更新(2)  对百分比字段的操作 百分比数据,或者是比率数据是一个比较难处理的字段,难点并不在于单条记录之中,而是在于汇总和分类汇总的时候. 先来看看我系统中的一个模块中的一个比率字段: 上图中的  已支付比例,这个字段是  已支付金额 / 结算金额,这个字段在此合同模块中可以作为一个计算字段来保存在数据库中,甚至可以不保存在数据库中,直接在bean里作为一个计算的属性. 现在问题就来了,如果要计算所有合同的已支付比例,那么就不是简单加起来的问题了,要把分子和分母分别加起来再除才会得到总计的

模块管理常规功能自定义系统的设计与实现(29--多个模块之间的关联[5])

多个模块之间的关联(5) 系统全部架构好了,下面来看看一个很远的关系,"省份","订单"之间的关联.在省份模块里显示该省的订单的个数以及金额和收款情况.跟前面的设计一样,给省份增加"附加字段". 然后把选入的字段加入到 grid 当中. 再来看看子模块市下面的菜单: 下面显示一下选择了订单菜单项的界面. 其他导航 以上为模块间关系的一个例子.上面有个缺点就是,我要看某个省份2013年度的订单汇总,在省份模块里就没有办法做到,这个问题放到以后去解决

模块管理常规功能自定义系统的设计与实现(23--二个模块之间的关联[1])

"省"."市"二个模块之间的关联的操作(1) 一. "市"模块定义好了,我们先来新增1个市,看看和"省"的关联操作. 上面显示了"市"的模块界面,在导航栏中为省份的导航,我们看到只有"江苏省"一个,其他的在哪里呢. 一个模块的父模块的导航有一个选项,叫"显示无记录的项目",此选项默认不选中,也就是说省里面还没有市的话,那个省将不放在导航列表中,看下图. 二.记录拖放操

模块管理常规功能自定义系统的设计与实现(22--第二个模块的加入)

模块"市"的设计与加入 现在重复加入"省"模块的过程,来加入市的模块. 1.建立数据表City CREATE TABLE [dbo].[City]( [tf_cityId] [nvarchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL, [tf_provinceId] [nvarchar](2) COLLATE Chinese_PRC_CI_AS NOT NULL, [tf_name] [nvarchar](50) COLLATE

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

综合查询(4)--查询条件的设置3 这节来看看日期字段如何设置查询条件.我对日期字段做了一个分类,使其可以按年,年季,年月,年月日的几种方式来设置条件.另外每一个模块可以设置一个日期字段,当该模块作为查询的基准模块时,在条件设置toolbar 上第一个菜单即是日期选择菜单,选择的值将会作为该日期字段的条件.例如对于"订单"模块,为其设置了日期字段为"tf_date". 在综合查询的模块中显示为以下: 上图是选中了基准模块为"订单"时,查询期间选择

模块管理常规功能自定义系统的设计与实现(24--二个模块之间的关联[2])

父子模块之间关联操作(2) 上一节介绍了子模块中对父模块的一些相关操作.这一节来看看父模块中对子模块可以进行什么样的操作. 一.进入子模块的时候,限定父模块值.选择一个"省"记录,查看省下面的所有市的记录. 在选择了"江苏省"记录之后,按toolbar上面的"市",会进入市模块的界面.(在前一节的基础上,我又给河北省和浙江省增加了市,在下面的界面中将会看不到) 二.加入子模块的记录和聚合字段.上节中介绍了可以将父模块中的字段加入到子模块的grid

模块管理常规功能自定义系统的设计与实现(21--第二阶段设计目标)

第二阶段设计目标 前面的章节讲了建立单个模块的各种功能,从现在开始要加入若干个具有关联的模块,使其协同工作.我设计了一个简易的销售管理系统,系统的结构如下图所示,从本节开始将逐步的搭建此系统. 在上图中,各模块之间都能通过一定的路径产生联系,而具有关联的二个模块具有直接的关系,例如省是市的父模块,市是省的子模块:客户单位是市的子模块也是省的子模块.这种上下级关系将会是处理的重点.各模块间的关系要明确,不能出现关系不明确或者循环引用的模块,那样权限的设置将会有问题. 例如有如下模块结构: 在上图中