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参数必须是形参表中的最后一个参 ...
随机推荐
- SQL语句常用约束类型
常用五类约束: not null:非空约束,指定某列不为空 unique: 唯一约束,指定某列和几列组合的数据不能重复 primary key:主键约束,指定某列的数据不能重复.唯一 forei ...
- Android 各种路径详细说明
存储分类: 内部存储路径, 内部缓存存储路径, 外部存储路径, 外部缓存存储路径 在有些手机上内部划出一个内部的sdcard路径和内部存储路径,当有sdcard时候,就有了六个路径 内部存储空间中的应 ...
- Confluence 6 Microsoft SQL Server 设置准备
在开始前,请检查: 请查看 Supported Platforms 页面来获得 Confluence 系统支持的 SQL Server 数据库版本.你需要在安装 Confluence 之前升级你的 O ...
- Confluence 6 站点高级自定义
你可以继续编辑的全局布局文件来继续更新你的主面板.请查看 Customizing the Confluence Dashboard 页面来获得更多有关的信息.你需要具有一些基本的Velocity 知识 ...
- vue 树状图数据的循环 递归循环
在main.js中注册一个子组件 在父组件中引用 树状图的数据格式 绑定一个数据传入子组件,子组件props接收数据 子组件中循环调用组件,就实现了递归循环
- Guideline 5.2.1 - Legal - Intellectual Property 解决方案
最近在上架公司公司项目的时候遇到这个问题什么5.2.1 然后去了解发现最近不少人都遇到了这个问题.先说一下 我上架的APP是一个医疗的APP然后说需要什么医疗资质,估计是账号的公司资质不够吧.后面和苹 ...
- IPv4和IPv6简单对比介绍(转载)
原链接:https://baijiahao.baidu.com/s?id=1570208896149974&wfr=spider&for=pc 在配置计算机网络,特别是内网的时候,有时 ...
- 断路器Feign
Feign是自带断路器,需要在配置文件中开启断路器 改造消费者项目(FeignDemo) 1.在application.yml配置文件中开启断路器 eureka: client: service-ur ...
- metaclass(元类)
一.创建类的执行流程 二.元类的认识 什么是元类呢?在Python3中继承type的就是元类 二.元类的示例 方式一: # 方式一 class MyType(type): '''继承type的就是元类 ...
- 【python】spark+kafka使用
网上用python写spark+kafka的资料好少啊 自己记录一点踩到的坑~ spark+kafka介绍的官方网址:http://spark.apache.org/docs/latest/strea ...