<%@ page language="java" import="java.util.*,com.fiberhome.bcs.appprocess.common.util.*"
contentType="application/uixml+xml; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="../Public/utility.jsp"%>
<%
StringBuilder sb=new StringBuilder();
sb.append("{\"users\":[");
String dbid=request.getSession().getAttribute("dbid").toString();
//缓存用户信息
String sql="select dbo.FXT_GetPinYin(a.fullname) as username_py,a.username as userid,a.fullname as username,rtrim(ltrim(a.email)) as email,a.telephone,a.mobilephone,b.duty,b.org,c.xb,c.guid,c.zp,a.orderid "+
"from sys_user a left join sys_orgmenber b on a.username = b.member "+
"left join xt_ygda c on a.username = c.XM "+
"where b.ispriduty = 1 and a.ison=1 order by a.username";
List<TableRow> rows = aa.query(dbid,sql,null);
String email="";
for (TableRow row : rows){
email=row.getField("email","");
email=Utility.checkEmail(email)?email:"";
sb.append("{")
.append("\"guid\":\""+row.getField("guid","")+"\",")
.append("\"userid\":\""+row.getField("userid","")+"\",")
.append("\"username\":\""+row.getField("username","")+"\",")
.append("\"username_py\":\""+row.getField("username_py","")+"\",")
.append("\"org\":\""+row.getField("org","")+"\",")
.append("\"email\":\""+email+"\",")
.append("\"telephone\":\""+row.getField("telephone","")+"\",")
.append("\"mobilephone\":\""+row.getField("mobilephone","").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", "")+"\",")
.append("\"duty\":\""+row.getField("duty","")+"\",")
.append("\"xb\":\""+row.getField("xb","")+"\",")
.append("\"zp\":\""+row.getField("zp","")+"\",")
.append("\"xh\":\""+row.getField("orderid","")+"\",")
.append("},");
}
sb.append("],");
//缓存部门信息
sb.append("\"orgs\":[");
sql="select orgname,suporg,orgtype,cast(orderid AS VARCHAR) as xh,guid,"+
"usercount=(select count(1) from sys_user a left join sys_orgmenber b on a.username=b.member "+
"where b.ispriduty = 1 and a.ison=1 and b.org=VXT_SysOrg.orgname) from VXT_SysOrg order by VXT_SysOrg.orgname";
rows = aa.query(dbid,sql,null);
for (TableRow row : rows){
sb.append("{")
.append("\"orgname\":\""+row.getField("orgname","").replace("\n"," ").replace("\r"," ")+"\",")
.append("\"suporg\":\""+row.getField("suporg","").replace("\n"," ").replace("\r"," ")+"\",")
.append("\"orgtype\":\""+row.getField("orgtype","").replace("\n"," ").replace("\r"," ")+"\",")
.append("\"xh\":\""+row.getField("xh","")+"\",")
.append("\"usercount\":\""+row.getField("usercount","")+"\",")
.append("\"guid\":\""+row.getField("guid","")+"\",")
.append("},");
}
sb.append("]}");
//System.out.println("cachedata4:"+sb.toString());
%>
<%=sb.toString()%>

cacheData的更多相关文章

  1. 一步步搭建自己的博客 .NET版(2、评论功能)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  2. 一步步开发自己的博客 .NET版(5、Lucenne.Net 和 必应站内搜索)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  3. Android,适合Restful网络请求封装

    借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...

  4. Glide源码导读

    最近比较无聊,为了找点事干,就花了两天时间把Glide的源码大概看了一下.刚开始看Glide的源码头脑还是比较乱的,因为作者引入了几个概念,又大量用了泛型,如果不了解这些概念读起代码来就比较痛苦,我也 ...

  5. 【WP8.1】WebView笔记

    之前在WP8的时候做过WebBrowser相关的笔记,在WP8.1的WebView和WebBrowser有些不一样,在这里做一些笔记 下面分为几个部分 1.禁止缩放 2.JS通知后台C#代码(noti ...

  6. 【移动前端开发实践】从无到有(统计、请求、MVC、模块化)H5开发须知

    前言 不知不觉来百度已有半年之久,这半年是996的半年,是孤军奋战的半年,是跌跌撞撞的半年,一个字:真的是累死人啦! 我所进入的团队相当于公司内部创业团队,人员基本全部是新招的,最初开发时连数据库都没 ...

  7. Curator Cache

    1.Curator Cache 与原生ZooKeeper Wacher区别 原生的ZooKeeper Wacher是一次性的:一个Wacher一旦触发就会被移出,如果你想要反复使用Wacher,就要在 ...

  8. 借助 Lucene.Net 构建站内搜索引擎(下)

    前言:上一篇我们学习了Lucene.Net的基本概念.分词以及实现了一个最简单的搜索引擎,这一篇我们开始开发一个初具规模的站内搜索项目,通过开发站内搜索模块,我们可以方便地在项目中集成站内搜索功能.本 ...

  9. yii2缓存的介绍和使用

    作者:白狼 出处:http://www.manks.top/yii2_cache.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律 ...

随机推荐

  1. hibernate课程 初探单表映射2-3 session简介

    hibernate流程: 1 配置对象Configurateion 读取 hibernate.cfg.xml 2 会话工厂SessionFactory 读取 user.hbm.xml(创建销毁相当耗费 ...

  2. 《Head First 设计模式》之装饰者模式——饮料加工

    装饰者模式(Decorator) ——动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 特点:建立拥有共同超类的装饰者与被装饰者来实现功能的动态扩展 原则:对扩展开放,对 ...

  3. Authentication to host '***‘' for user 'root' using method 'mysql_native_password' failed with message: Reading from the stream has failed.

    如下场景: 一个页面中需要用户填入文字信息,并上传图片,上传图片是单独调用上传文件接口的,当用户上传图片后,马上点保存,就会报错. Authentication to host '***‘' for ...

  4. Vue系列:关于侵权前言

    因为一开始学习 Vue 的时候,秉持的是"好记性不如烂笔头"的思想,所以这些知识点都是当时查阅然后选择性摘录下来的. 当时并没有很刻意去记录原文出处(现在我知错了..),所以..如 ...

  5. Java正则表达式—小应用—简易爬虫

         在上一篇中,学习了正则表达式的四个功能.即匹配.分割.替换.获取. 利用获取功能,可以实现简单的网页爬虫. 4,获取:将字符串中的符合规则的子串取出. 获取功能的操作步骤: 1,将正则表达式 ...

  6. ArcMap中提取影像数据边界

    1.前言 客户手里有一些经过裁剪的不规则多边形影像数据(如图例所示),希望能批量获取该类影像的边界信息,即影像对应的面信息,边界线信息.这里我们提供一种利用镶嵌数据集Footprint图层的方法来获取 ...

  7. iOS-加载数据的实现-MJRefresh

    使用CocoaPods加载三方库: pod 'MJRefresh' MJRefresh类结构图: 具体实现方法和效果图: The drop-down refresh 01-Default self.t ...

  8. MyBatis源码探索

    每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的.SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获 ...

  9. 定时器new Timer().schedule()的使用

    Timer是一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.实际上是个线程,定时调度所拥有的TimerTasks. TimerTask是一个抽象类,它的子类由 ...

  10. 解决“SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问……”【转】

    SQL Server 阻止了对组件 /'Ad Hoc Distributed Queries/' 的访问 在Sql Server中查询一下Excel文件的时候出现问题: SELECT *  FROM ...