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

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

功能更新(2)  对百分比字段的操作

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

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

      综合查询中,有一个总计数,上面显示共有24条合同,这24个合同的平均已支付比例为27%,这个数字就是用上面的方法做出来的。在分类汇总之中更加能显示出效果。

模块治理常规功能自定义系统的设计与实现(52-功能更新[2] 对百分比字段的操作)
        在上面的例子中,我选择了二级分类汇总,第一级为预算类型,第二级为发包方式,可以看到在总计下面,是第一级的分组,然后缩进显示的是第二级的分类汇总。对于已支付比例这个字段的值,都是根据下级的数据汇总到上级以后再进行计算的。
现在来说一下我对于这个百分比字段的设计。
模块治理常规功能自定义系统的设计与实现(52-功能更新[2] 对百分比字段的操作)

          在字段的设置中,又增加了二个属性,分别是百分比分子和百分比分母,如果在综合查询中加入这个百分比字段,那么就会自动加入分子字段和分母字段,在总计和分类汇总的进修对分子和分母分别进行汇总,然后再生成汇总的百分比的值。
        当前的百分比只支持单个的分子字段和分母字段,以后我会考虑加入自定义字段,可以自己定义一个组合字段,可以用组合字段来做为分子或分母。
        根据以上的定义,再经过前后台的解释执行,百分比或比率的汇总和分类汇总基本解决了。下面贴一张数据打印的pdf 的截图。

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