StringBuffer 可变参数拼接
@RequestMapping(value="/getFundsCount",method=RequestMethod.POST)
public Result getFundsCount(HttpServletRequest request,String depcode) {
//获取用户信息
String tokenuser = redisTemplate.opsForValue().get(request.getHeader("usertoken"));
LoginUser user = (LoginUser) JSONUtil.toBean(tokenuser, LoginUser.class);
String usertype = user.getUsertype();
Map<String,Object> map = new HashMap<String,Object>();
//数量默认值是0
String Notmanagecount = "";
String Rejectcount = "";
String Projectcount = "";
String Fundsidcount = ""; //count返回值long
StringBuffer sqlNotmanagecount = new StringBuffer("SELECT count(*) notmanagecount FROM djjf_project_funds where status=");
StringBuffer sqlRejectcount = new StringBuffer("SELECT count(*) rejectcount FROM djjf_project_funds f LEFT JOIN djjf_review r "
+"ON f.fundsid = r.objectid WHERE f.status=05 AND r.status=02 AND r.creusertype=");
//查询总项目个数
String sqlProjectcount = "SELECT count(*) projectcount FROM djjf_project";
String sqlFundsidcount = "SELECT COUNT(*)fundsidcount FROM djjf_project_funds"; if("jdorg.user".equals(usertype)) {
/*String stq=sqlNotmanagecount.append("'01'").toString();*/
sqlNotmanagecount.append("'01'");
sqlRejectcount.append("'jdorg.user'");//可变参数字符串拼接
if(depcode!=null&&!"".equals(depcode)) {
sqlNotmanagecount.append(" and depcode=").append("'"+depcode+"'");
sqlRejectcount.append(" and f.depcode=").append("'"+depcode+"'");
}
List<Map<String,Object>> countNotmanagecount = baseServerImpi.findListObjectBySql(sqlNotmanagecount.toString());
Notmanagecount = String.valueOf(countNotmanagecount.get().get("notmanagecount"));
//被驳回
List<Map<String,Object>> countRejectcount = baseServerImpi.findListObjectBySql(sqlRejectcount.toString());
Rejectcount = String.valueOf(countRejectcount.get().get("rejectcount")); }else if("jdleader.user".equals(usertype)) { sqlNotmanagecount.append("'02'");
sqlRejectcount.append("'jdleader.user'");
if(depcode!=null&&!"".equals(depcode)) {
sqlNotmanagecount.append(" and depcode=").append("'"+depcode+"'");
sqlRejectcount.append(" and f.depcode=").append("'"+depcode+"'");
}
List<Map<String,Object>> countNotmanagecount = baseServerImpi.findListObjectBySql(sqlNotmanagecount.toString());
Notmanagecount = String.valueOf(countNotmanagecount.get().get("notmanagecount"));
//被驳回
List<Map<String,Object>> countRejectcount = baseServerImpi.findListObjectBySql(sqlRejectcount.toString());
Rejectcount = String.valueOf(countRejectcount.get().get("rejectcount"));
}
//项目总数
List<Map<String,Object>> countProjectcount = baseServerImpi.findListObjectBySql(sqlProjectcount);
Projectcount = String.valueOf(countProjectcount.get().get("projectcount"));
//经费总数
List<Map<String,Object>> countFundsidcount = baseServerImpi.findListObjectBySql(sqlFundsidcount);
Fundsidcount = String.valueOf(countFundsidcount.get().get("fundsidcount"));
//将数量放入map
map.put("notmanagecount",Notmanagecount);
map.put("rejectcount",Rejectcount);
map.put("projectcount", Projectcount);
map.put("fundsidcount", Fundsidcount);
return Result.ok().put("result", map);
}
StringBuffer 可变参数拼接的更多相关文章
- 字符串化#、拼接字符##和可变参数宏(...和_ _VA_ARGS_ _)
宏定义的使用与注意事项 ##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思.出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( &q ...
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
数据类型: C#:String与StringBuilder Java:String与StringBuffer 第一个不习惯是string的第一个字母必须大写了. 第二个不习惯是int得写成Intege ...
- Swift开发第十篇——可变参数函数&初始化方法顺序
本篇分为两部分: 一.Swift中的可变参数函数 二.初始化方法的顺序 一.Swift中的可变参数函数 可变参数函数指的是可以接受任意多个参数的函数,在 OC 中,拼接字符串的函数就属于可变参数函数 ...
- PHP基础语法: echo,var_dump, 常用函数:随机数:拆分字符串:explode()、rand()、日期时间:time()、字符串转化为时间戳:strtotime()可变参数的函数:PHP里数组长度表示方法:count($attr[指数组]);字符串长度:strlen($a)
PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 a. 1.substr; //用于输出字符串中,需要的某一部分 <?PHP $a="learn php"; ...
- volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域
1.volatile: 要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. 当设置了成按照C99标准运行之后,使用volatile变量之后的程序运行的时间将比register的 ...
- 五分钟学Java:可变参数究竟是怎么一回事?
在逛 programcreek 的时候,我发现了一些专注基础但不容忽视的主题.比如说:Java 的可变参数究竟是怎么一回事?像这类灵魂拷问的主题,非常值得深入地研究一下. 我以前很不重视基础,觉得不就 ...
- 可变参数__VA_ARGS__使用
1. 调试功能一般会使用到宏+可变参数的方式 1.1 ##__VA_ARGS__ 之详细解析 例如: case A. #define my_print1(...) printf(__V ...
- C可变参数的函数
我们实现一个简单的printf函数(可变参数) #include <stdio.h> #include <stdarg.h> void myprintf(const char ...
- c#编程基础之函数可变参数
可变参数:int sum (params int[] values)int sum (string name,params int[] values) 注意:params参数必须是形参表中的最后一个参 ...
随机推荐
- 洛谷P5072 [Ynoi2015]盼君勿忘 [莫队]
传送门 辣鸡卡常题目浪费我一下午-- 思路 显然是一道莫队. 假设区间长度为\(len\),\(x\)的出现次数为\(k\),那么\(x\)的贡献就是\(x(2^{len-k}(2^k-1))\),即 ...
- Confluence 6 为翻译显示用户界面的键(Key)名称
这个功能在你使用 Confluence 用户界面为 Confluence 创建翻译的时候会非常有用.当你打开主面板的时候,在你访问的 URL 的最后面添加下面的文字:can add the follo ...
- 浅谈java中bigInteger用法
1.赋值: BigInteger a=new BigInteger("1"); BigInteger b=BigInteger.valueOf(1); 2.运算: ① add(); ...
- LabView(控件部分)
1.虚拟仪器的概述: 虚拟仪器是基于计算机的的仪器,计算机和仪器的密切结合是目前仪器的一个发展方向,大概有两种结合方式,一种是将计算机装入仪器中,实例就是只能化的仪器,流行的嵌入式系统的仪器,另一种就 ...
- 解决npm install过程中报错:unable to verify the first certificate
今天使用npm安装开发包时遇到“unable to verify the first certificate”(无法验证第一证书)这个问题 原因:2014年2月27日,npm不再支持自签名证书.因为n ...
- Spring声明式事务@Transactional 详解,事务隔离级别和传播行为
@Transactional注解支持9个属性的设置,这里只讲解其中使用较多的三个属性:readOnly.propagation.isolation.其中propagation属性用来枚举事务的传播行为 ...
- 使用vue-cli 引入bootstrap.min.css文件报错
可以在index.html 里面引入boostrap.min.css文件 将bootstrap.min.css文件放置于static/css/文件夹中 然后再index.html文件中引入便可 < ...
- 如何使用Scrapy框架实现网络爬虫
现在用下面这个案例来演示如果爬取安居客上面深圳的租房信息,我们采取这样策略,首先爬取所有租房信息的链接地址,然后再根据爬取的地址获取我们所需要的页面信息.访问次数多了,会被重定向到输入验证码页面,这个 ...
- 常见的HTTP响应状态码解析
概要 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果.借助于状态码,浏览器(或者说用户)可以知道服务器是正常的处理了请求,还是出现了错误. 状态码以3位数字和原因短语组成,例如 200 ...
- Django 基模板布局设置
Django 基模板布局设置 基模板 定义基础模板一般分为三块,css部分,body部分,js部分 将基础统一的部分写在基础模板中 差异部分直接 引用 {% block css %}{% endblo ...