1. @RequestMapping(value="/getFundsCount",method=RequestMethod.POST)
  2. public Result getFundsCount(HttpServletRequest request,String depcode) {
  3. //获取用户信息
  4. String tokenuser = redisTemplate.opsForValue().get(request.getHeader("usertoken"));
  5. LoginUser user = (LoginUser) JSONUtil.toBean(tokenuser, LoginUser.class);
  6. String usertype = user.getUsertype();
  7. Map<String,Object> map = new HashMap<String,Object>();
  8. //数量默认值是0
  9. String Notmanagecount = "";
  10. String Rejectcount = "";
  11. String Projectcount = "";
  12. String Fundsidcount = "";
  13.  
  14. //count返回值long
  15. StringBuffer sqlNotmanagecount = new StringBuffer("SELECT count(*) notmanagecount FROM djjf_project_funds where status=");
  16. StringBuffer sqlRejectcount = new StringBuffer("SELECT count(*) rejectcount FROM djjf_project_funds f LEFT JOIN djjf_review r "
  17. +"ON f.fundsid = r.objectid WHERE f.status=05 AND r.status=02 AND r.creusertype=");
  18. //查询总项目个数
  19. String sqlProjectcount = "SELECT count(*) projectcount FROM djjf_project";
  20. String sqlFundsidcount = "SELECT COUNT(*)fundsidcount FROM djjf_project_funds";
  21.  
  22. if("jdorg.user".equals(usertype)) {
  23. /*String stq=sqlNotmanagecount.append("'01'").toString();*/
  24. sqlNotmanagecount.append("'01'");
  25. sqlRejectcount.append("'jdorg.user'");//可变参数字符串拼接
  26. if(depcode!=null&&!"".equals(depcode)) {
  27. sqlNotmanagecount.append(" and depcode=").append("'"+depcode+"'");
  28. sqlRejectcount.append(" and f.depcode=").append("'"+depcode+"'");
  29. }
  30. List<Map<String,Object>> countNotmanagecount = baseServerImpi.findListObjectBySql(sqlNotmanagecount.toString());
  31. Notmanagecount = String.valueOf(countNotmanagecount.get().get("notmanagecount"));
  32. //被驳回
  33. List<Map<String,Object>> countRejectcount = baseServerImpi.findListObjectBySql(sqlRejectcount.toString());
  34. Rejectcount = String.valueOf(countRejectcount.get().get("rejectcount"));
  35.  
  36. }else if("jdleader.user".equals(usertype)) {
  37.  
  38. sqlNotmanagecount.append("'02'");
  39. sqlRejectcount.append("'jdleader.user'");
  40. if(depcode!=null&&!"".equals(depcode)) {
  41. sqlNotmanagecount.append(" and depcode=").append("'"+depcode+"'");
  42. sqlRejectcount.append(" and f.depcode=").append("'"+depcode+"'");
  43. }
  44. List<Map<String,Object>> countNotmanagecount = baseServerImpi.findListObjectBySql(sqlNotmanagecount.toString());
  45. Notmanagecount = String.valueOf(countNotmanagecount.get().get("notmanagecount"));
  46. //被驳回
  47. List<Map<String,Object>> countRejectcount = baseServerImpi.findListObjectBySql(sqlRejectcount.toString());
  48. Rejectcount = String.valueOf(countRejectcount.get().get("rejectcount"));
  49. }
  50. //项目总数
  51. List<Map<String,Object>> countProjectcount = baseServerImpi.findListObjectBySql(sqlProjectcount);
  52. Projectcount = String.valueOf(countProjectcount.get().get("projectcount"));
  53. //经费总数
  54. List<Map<String,Object>> countFundsidcount = baseServerImpi.findListObjectBySql(sqlFundsidcount);
  55. Fundsidcount = String.valueOf(countFundsidcount.get().get("fundsidcount"));
  56. //将数量放入map
  57. map.put("notmanagecount",Notmanagecount);
  58. map.put("rejectcount",Rejectcount);
  59. map.put("projectcount", Projectcount);
  60. map.put("fundsidcount", Fundsidcount);
  61. return Result.ok().put("result", map);
  62. }

StringBuffer 可变参数拼接的更多相关文章

  1. 字符串化#、拼接字符##和可变参数宏(...和_ _VA_ARGS_ _)

    宏定义的使用与注意事项 ##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思.出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( &q ...

  2. C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举

    数据类型: C#:String与StringBuilder Java:String与StringBuffer 第一个不习惯是string的第一个字母必须大写了. 第二个不习惯是int得写成Intege ...

  3. Swift开发第十篇——可变参数函数&初始化方法顺序

    本篇分为两部分: 一.Swift中的可变参数函数 二.初始化方法的顺序 一.Swift中的可变参数函数 可变参数函数指的是可以接受任意多个参数的函数,在 OC 中,拼接字符串的函数就属于可变参数函数 ...

  4. PHP基础语法: echo,var_dump, 常用函数:随机数:拆分字符串:explode()、rand()、日期时间:time()、字符串转化为时间戳:strtotime()可变参数的函数:PHP里数组长度表示方法:count($attr[指数组]);字符串长度:strlen($a)

    PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 a. 1.substr;  //用于输出字符串中,需要的某一部分 <?PHP $a="learn php"; ...

  5. volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域

    1.volatile: 要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. 当设置了成按照C99标准运行之后,使用volatile变量之后的程序运行的时间将比register的 ...

  6. 五分钟学Java:可变参数究竟是怎么一回事?

    在逛 programcreek 的时候,我发现了一些专注基础但不容忽视的主题.比如说:Java 的可变参数究竟是怎么一回事?像这类灵魂拷问的主题,非常值得深入地研究一下. 我以前很不重视基础,觉得不就 ...

  7. 可变参数__VA_ARGS__使用

    1. 调试功能一般会使用到宏+可变参数的方式 1.1 ##__VA_ARGS__      之详细解析 例如: case A. #define my_print1(...)    printf(__V ...

  8. C可变参数的函数

    我们实现一个简单的printf函数(可变参数) #include <stdio.h> #include <stdarg.h> void myprintf(const char ...

  9. c#编程基础之函数可变参数

    可变参数:int sum (params int[] values)int sum (string name,params int[] values) 注意:params参数必须是形参表中的最后一个参 ...

随机推荐

  1. python 启动虚拟环境

    假设你有两个Python项目-A和B,这两个项目都需要使用同一个第三方模块-tensorflow.如果这两个项目使用相同的tensorflow版本,也许不会有什么问题. 但是,当A和B项目使用不同的t ...

  2. Confluence 6 创建一个主题

    如果你希望创建你自己的主题,你需要写一个 Confluence 插件.请参考我们开发文档中的下面页面 开始使用 插件开发. 请参考开发者指南的页面来 写一个 Confluence 主题. 使用 主题插 ...

  3. vue-cli3初尝试之路径别名配置

    let path = require('path') function resolve(dir) { return path.join(__dirname, dir) } module.exports ...

  4. JavaScript(JS)之Javascript对象

    简介: 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array.Date.RegExp都是Jav ...

  5. hdu4990 转移矩阵

    找了半天错发现m有可能是1.. /* 如果n是奇数,就进行(n/2)次转移,然后取F[2],反之取F[1] */ #include<bits/stdc++.h> using namespa ...

  6. RabbitMQ疑惑释义

    MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间 ...

  7. 阿里云人脸识别测试接口出错 返回Body:{ "errno": 3002, "err_msg": "ILLEGAL_PARAMETERS", "request_id": "672cba83-cf93-4ef4-9ce5-d87e51601632" }

    错误信息如下 返回Body:{ "errno": 3002, "err_msg": "ILLEGAL_PARAMETERS", ...... ...

  8. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

  9. hive内group by取第一条数据,Hive中row_number的使用

    1.hive的分组和组内排序---语法 语法: row_number() over (partition by 字段a order by 计算项b desc ) rank rank是排序的别名 par ...

  10. Visual Studio 2017离线安装失败:安装程序清单签名验证失败

    解决办法: 方法1:运行gpeidit.msc,然后  Windows 设置-安全设置->本地策略-安全选项-系统机密->将FIPS兼容算法用于加密.哈希和签名-设置禁用 方法2:删除vs ...