2019独角兽企业重金招聘Python工程师标准>>>

flex前台页面:

<?xml version="1.0" encoding="utf-8"?>
<ui:UIApplication xmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"xmlns:mx="library://ns.adobe.com/flex/mx"xmlns:ui="com.ydtf.ipcc.ui.*"width="900" height="100%"creationComplete="application1_creationCompleteHandler(event)"><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><fx:Script><![CDATA[import com.ydtf.cloud.proto.Stat.Sqtj;import com.ydtf.cloud.proto.Stat.SqtjList;import com.ydtf.eccms.utility.NetHelper;import com.ydtf.ipcc.svc.ServiceCaller;import com.ydtf.ipcc.svc.ServiceInterface;import mx.collections.ArrayCollection;import mx.events.FlexEvent;[Bindable]private var inPatameter:Sqtj=new Sqtj();//查询参数[Bindable]private var dpFlat:ArrayCollection = new ArrayCollection();protected function application1_creationCompleteHandler(event:FlexEvent):void{callServer_sel(getInParameter());}private function getInParameter():Sqtj{inPatameter.kssj=tjsj.text+"000000";inPatameter.jzsj=jztjsj.text+"235959";return inPatameter;}private function callServer_sel(inParameter:Sqtj):void{         var req:Sqtj=new Sqtj();req=inParameter;var rep:SqtjList=new SqtjList();ServiceInterface.addServiceUrl(NetHelper.getServiceURL());var sc:ServiceCaller =new ServiceCaller(ServiceInterface.getInstance());sc.protoCall2("com.ydtf.cloud.service.stat.StatService","querySqtj",req,rep,queryBack,null,"gbk");}private function queryBack(rep:SqtjList,obj:Object):void{dpFlat=handlerBack(rep.items);jg.source=dpFlat;jg.refresh();getDataADG();}private function handlerBack(array:Array):ArrayCollection{var sqtjAC:ArrayCollection=new ArrayCollection();for(var i:int=0;i<array.length;i++){var obj:Object=new Object();obj.id=array[i].id;obj.tjlb=array[i].tjlb;obj.jgbm=array[i].jgbm;obj.sjjgbm=array[i].sjjgbm;obj.jgmc=array[i].jgmc;obj.sjjgmc=array[i].sjjgmc;obj.xjsqs=array[i].xjsqs;obj.xjtgs=array[i].xjtgs;obj.xjkts=array[i].xjkts;obj.xjtgl=(array[i].xjtgl).toFixed(2);obj.dzsqs=array[i].dzsqs;obj.dztgs=array[i].dztgs;obj.dztgl=(array[i].dztgl).toFixed(2);obj.ccsqs=array[i].ccsqs;obj.cctgs=array[i].cctgs;obj.cctgl=(array[i].cctgl).toFixed(2);obj.zmsqs=array[i].zmsqs;obj.zmtgs=array[i].zmtgs;obj.zmtgl=(array[i].zmtgl).toFixed(2);sqtjAC.addItem(obj);          }return sqtjAC;}protected function query_clickHandler(event:MouseEvent):void{callServer_sel(getInParameter());}private function modifyADG():void{var temp:Sqtj=new Sqtj();var obj:Object  = sqtj_ADG.selectedItem ;}public function getDataADG():void{var temp:Sqtj=new Sqtj();var obj:Object = sqtj_ADG.dataProvider.source.source;}public function summaryOfSummaryCalculationBegin(value:Object, field:SummaryField2):Object{var obj:Object=new Object();obj.xjtgl=1;return obj;}]]></fx:Script>                                                                                     <s:VGroup width="100%" height="100%"><ui:UIAppControlBar width="100%" height="48" titleLabel="|资源服务申请统计"/><s:HGroup><s:Label paddingTop="4" text="开始时间"/><mx:DateField id="tjsj" width="130" formatString="YYYYMMDD" textAlign="center"/><s:Label paddingTop="4" text="截至时间"/><mx:DateField id="jztjsj" width="130" formatString="YYYYMMDD" textAlign="center"/> <s:Button label="查询" id="query" click="query_clickHandler(event)"/></s:HGroup><s:Scroller width="100%" height="100%"><s:VGroup width="100%" height="100%"><mx:AdvancedDataGrid id="sqtj_ADG" width="100%" height="100%" initialize="jg.refresh();" ><mx:dataProvider><mx:GroupingCollection2 id="jg" source="{dpFlat}"><mx:Grouping><mx:GroupingField name="sjjgmc"><mx:summaries><mx:SummaryRow summaryPlacement="group"><mx:fields><mx:SummaryField2 dataField="xjsqs" summaryOperation="SUM"/><mx:SummaryField2 dataField="xjtgs" summaryOperation="SUM"/><mx:SummaryField2 dataField="xjkts" summaryOperation="SUM"/><mx:SummaryField2 dataField="xjtgl" summaryOperation="ISummaryCalculator"/><mx:SummaryField2 dataField="dzsqs" summaryOperation="SUM"/><mx:SummaryField2 dataField="dztgs" summaryOperation="SUM"/><mx:SummaryField2 dataField="dztgl" summaryOperation="ISummaryCalculator"/><mx:SummaryField2 dataField="ccsqs" summaryOperation="SUM"/><mx:SummaryField2 dataField="cctgs" summaryOperation="SUM"/><mx:SummaryField2 dataField="cctgl" summaryOperation="ISummaryCalculator"/><mx:SummaryField2 dataField="zmsqs" summaryOperation="SUM"/><mx:SummaryField2 dataField="zmtgs" summaryOperation="SUM"/><mx:SummaryField2 dataField="zmtgl" summaryOperation="ISummaryCalculator"/></mx:fields></mx:SummaryRow></mx:summaries></mx:GroupingField></mx:Grouping></mx:GroupingCollection2></mx:dataProvider><mx:groupedColumns>                                               <mx:AdvancedDataGridColumn dataField="jgmc" headerText="机构名称"/><mx:AdvancedDataGridColumnGroup headerText="虚机申请统计"><mx:AdvancedDataGridColumn dataField="xjsqs" headerText="申请数"/><mx:AdvancedDataGridColumn dataField="xjtgs" headerText="通过数"/><mx:AdvancedDataGridColumn dataField="xjkts" headerText="开通数"/><mx:AdvancedDataGridColumn dataField="xjtgl" headerText="通过率(%)"/></mx:AdvancedDataGridColumnGroup><mx:AdvancedDataGridColumnGroup headerText="IP地址申请统计"><mx:AdvancedDataGridColumn dataField="dzsqs" headerText="申请数"/><mx:AdvancedDataGridColumn dataField="dztgs" headerText="通过数"/><mx:AdvancedDataGridColumn dataField="dztgl" headerText="通过率(%)"/></mx:AdvancedDataGridColumnGroup><mx:AdvancedDataGridColumnGroup headerText="存储申请统计"><mx:AdvancedDataGridColumn dataField="ccsqs" headerText="申请数"/><mx:AdvancedDataGridColumn dataField="cctgs" headerText="通过数"/><mx:AdvancedDataGridColumn dataField="cctgl" headerText="通过率(%)"/></mx:AdvancedDataGridColumnGroup><mx:AdvancedDataGridColumnGroup headerText="桌面申请统计"><mx:AdvancedDataGridColumn dataField="zmsqs" headerText="申请数"/><mx:AdvancedDataGridColumn dataField="zmtgs" headerText="通过数"/><mx:AdvancedDataGridColumn dataField="zmtgl" headerText="通过率(%)"/></mx:AdvancedDataGridColumnGroup></mx:groupedColumns></mx:AdvancedDataGrid></s:VGroup></s:Scroller></s:VGroup>
</ui:UIApplication>

java后台服务:

public SqtjList querySqtj(String strdata)  throws Exception {Sqtj server = (Sqtj) MessageUtil.convert2Message(strdata,Sqtj.getDefaultInstance());SqtjList.Builder result = SqtjList.newBuilder();String kssj=server.getKssj();String jzsj=server.getJzsj();if(kssj==""){kssj="00000000000000";}if(jzsj==""){jzsj="99999999999999";}Connection conn = null;PreparedStatement ps = null;ResultSet res = null; String execSql="select org.*,"+"nvl(t1.xjsqs,0) xjsqs,"+"nvl(t2.xjkts,0) xjtgs,"+"nvl(t2.xjkts,0) xjkts,"+"nvl(t2.xjkts / t1.xjsqs,0) xjtgl,"+"0 dzsqs,0 dztgs,0 dztgl,0 ccsqs,0 cctgs,0 cctgl,"+"nvl(t3.zmsqs,0) zmsqs,"+"nvl(t4.zmtgs,0) zmtgs,"+"nvl(t4.zmtgs / t3.zmsqs,0) zmtgl "+"from (select d1.jgbm,d1.jgmc,d1.sjjgbm,d2.jgmc,d2.sjjgmc from "+"(select orgid jgbm,orgname jgmc,decode(parentdeptid,-1,0,parentdeptid)sjjgbm from sys_orginfo)d1,"+"(select orgid jgbm,orgname jgmc,decode(parentdeptid,-1,0,parentdeptid)sjjgbm from sys_orginfo)d2 "+"where d1.sjjgbm=d2.jgbm) org,"+"(select orgid jgbm, count(distinct transactionid) xjsqs "+"from flow_workflow_rec t "+"where t.applytime between ? and ? "+"group by orgid) t1,"+"(select orgid jgbm, count(distinct transactionid) xjkts "+"from flow_workflow_rec "+"where nodeid = 10000005 "+"and applytime between ? and ? "+"group by orgid) t2,"+"(select to_number(jgbm) jgbm, count(sqid) zmsqs "+"from mh_zmsq t "+"where t.sqsj between ? and ? "+"group by to_number(jgbm)) t3,"+"(select to_number(jgbm) jgbm, count(sqid) zmtgs "+"from mh_zmsq t "+"where ip is not null "+"and t.sqsj between ? and ? "+"group by to_number(jgbm)) t4 "+"where org.jgbm = t1.jgbm(+) "+"and org.jgbm = t2.jgbm(+) "+"and org.jgbm = t3.jgbm(+) "+"and org.jgbm = t4.jgbm(+)";try{        conn = dbPool.getConnection();ps = conn.prepareStatement(execSql);ps.setString(1, kssj);ps.setString(2, jzsj);ps.setString(3, kssj);ps.setString(4, jzsj);ps.setString(5, kssj);ps.setString(6, jzsj);ps.setString(7, kssj);ps.setString(8, jzsj);res = ps.executeQuery();while(res.next()){Sqtj.Builder sqtj = Sqtj.newBuilder();sqtj.setJgbm(res.getString("JGBM"));sqtj.setSjjgbm(res.getString("SJJGBM"));sqtj.setJgmc(res.getString("JGMC"));sqtj.setSjjgmc(res.getString("SJJGMC"));sqtj.setXjsqs(res.getInt("XJSQS"));sqtj.setXjtgs(res.getInt("XJTGS"));sqtj.setXjkts(res.getInt("XJKTS"));sqtj.setXjtgl(res.getFloat("XJTGL"));sqtj.setDzsqs(res.getInt("DZSQS"));sqtj.setDztgs(res.getInt("DZTGS"));sqtj.setDztgl(res.getFloat("DZTGL"));sqtj.setCcsqs(res.getInt("CCSQS"));sqtj.setCctgs(res.getInt("CCTGS"));sqtj.setCctgl(res.getFloat("CCTGL"));sqtj.setZmsqs(res.getInt("ZMSQS"));sqtj.setZmtgs(res.getInt("ZMTGS"));sqtj.setZmtgl(res.getFloat("ZMTGL"));result.addItems(sqtj);}}finally{     dbPool.dbClose(ps, res);if(conn != null)dbPool.closeConnection();}return result.build();       }

运行效果图:

转载于:https://my.oschina.net/hbhgwjy1212/blog/95568

Flex4 在advanceddatagrid组件中以“树形结构”显示数据相关推荐

  1. elementui组件中,树形组件的使用

    项目场景: elementui组件中,树形组件的使用 问题描述: 通过树形结构展示,点击勾选数据.没有展开树结构的情况下,勾选树节点时,其叶子节点全部被勾选,@check-change="h ...

  2. 多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法)

    一.问题研究的背景和意义 在Web应用程序开发领域,基于Ajax技术的JavaScript树形组件已经被广泛使用,它用来在Html页面上展现具有层次结构的数据项.目前市场上常见的JavaScript框 ...

  3. Excel表格中建立树形结构

    Excel表格中建立树形结构 2010-04-05 17:56:37|  分类: 开发笔记 |字号 订阅 有时在excel表格中需要建立树形结构,如下图所示. 对动物.植物进行分类. 动物.植物类中分 ...

  4. linux 如何以树形结构显示文件目录结构

    linux 如何以树形结构显示文件目录结构 1.linux 如何显示文件信息 一般可用 ls 命令来查看文件的信息: ls [OPTION]- [FILE]- 如: ls 显示所有文件 ls -1 显 ...

  5. 树形结构的数据与一维数组数据的相互转换

    在我们做项目时,我们有时需要树形结构的数据进行数据的树形层级展示,或者需要把返回的数据结构数据进行拆解成单层数组形式.下面我们就来总结下这两种方法. 数组转树形结构: var data = [{&qu ...

  6. tree命令-以树形结构显示目录下的内容

    一.命令详解 1.1[功能说明] tree命令功能是以树形结构列出指定目录下的所有内容,包括所有文件.子目录及子目录里的目录和文件. 1.2 [语法格式] [root@7bfe451a2fe1:~]# ...

  7. Microsoft Excel 教程:如何在 Excel 中使用迷你图显示数据趋势?

    欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中使用迷你图显示数据趋势. 迷你图是工作表单元格中直观表示数据的微型 ...

  8. 把数据转换为在内存中Tree(树形结构)。_备战秋招:一文搞定数据库常见面试题...

    点击上方"蓝字",关注了解更多 1.数据库范式 第一范式:列不可分,eg:[联系人](姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF: 第 ...

  9. 解决 mysql 树形结构插入数据查询死循环问题

    在项目中,大家可能会遇到这样一个问题,就是当你操作那些具有上下级的树的表的时候,如果是单纯的父子级关系,可能不会碰见这个问题,但是如果这个看起来具有树形结构的表形成闭环的时候,问题就来了,我遇到的结果 ...

最新文章

  1. 深入理解分布式缓存设计
  2. mxnet is not presented
  3. python3下载图片
  4. canopen和1939区别_CAN 和 CANopen的区别和联系
  5. Zookeeper的api的简单使用(转载)
  6. web前端开发面试题(答案)
  7. cmd文件 c语言的段,对于TMS320F2812的CMD文件的理解
  8. array用法 numpy_Numpy统计计算、数组比较,看这篇就够了
  9. 用 git 维护 vim 代码
  10. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器
  11. LINUX下用C遍历一个目录的代码
  12. 第二届上汽零束SOA平台开发者大会揭幕,智能汽车生态加速落地
  13. 网络配置问题Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.
  14. 网站关键词选择的四大步骤
  15. 推荐PC端一款非常好用的解压缩软件
  16. OpenHarmony 3.2 Release HDF的IDL文件初探(上)
  17. 英语人机考试计算机算分吗,揭秘 | 英语“人机对话”听说考试提分策略 注意事项,收藏备用 !...
  18. 目标和学习方法的重要性
  19. 微信每日早安推送,快来给你女友做爱心提醒吧,自定义推送名称,企业号通知非订阅号测试号,后台python,精简无第三方网站注册、无第三方接口,无基础快速上不了手
  20. Jzxx.oj:4068: 数组元素的查找新

热门文章

  1. Flink状态管理和容错机制介绍
  2. 初识 Proxysql
  3. 团队作业——Alpha冲刺 4/12
  4. mysql的联表删除
  5. lsof 功能使用详解
  6. swoole 安装测试
  7. 设计中最困难的部分是决定设计什么
  8. 【同124】LeetCode 543. Diameter of Binary Tree
  9. 再看网路层分组的转发
  10. 1、视觉slam简介