|
@@ -326,13 +326,15 @@ public class TimerServiceImpl implements TimerService {
|
|
|
@Override
|
|
|
public Map<String, Object> projectAnalysisGroup(Map<String, Object> data){
|
|
|
final String[] sql = {"","",""};
|
|
|
+ /*分页*/
|
|
|
int pageStart = (Integer.parseInt(data.get("page").toString()) - 1) * (Integer.parseInt(data.get("num").toString())-1);
|
|
|
- int pageEnd = Integer.parseInt(data.get("num").toString()) - 1;
|
|
|
+ int pageSize = Integer.parseInt(data.get("num").toString()) - 1;
|
|
|
log.info("pageStart:{}",pageStart);
|
|
|
- log.info("pageEnd:{}",pageEnd);
|
|
|
+ log.info("pageEnd:{}",pageSize);
|
|
|
data.remove("page");
|
|
|
data.remove("num");
|
|
|
if (!data.containsKey("month")){
|
|
|
+ /*sql获取第一层按月求和数据*/
|
|
|
sql[0] = "SELECT " +
|
|
|
" `month`, " +
|
|
|
" sum( predict_income ) predict_income," +
|
|
@@ -354,6 +356,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
"FROM " +
|
|
|
" lanyun_project_analysis " +
|
|
|
" WHERE 1=1 " ;
|
|
|
+ /*sql获取第一层合计数据*/
|
|
|
sql[1]= "SELECT " +
|
|
|
" '合计' as `month` , " +
|
|
|
" sum( predict_income ) predict_income," +
|
|
@@ -375,11 +378,11 @@ public class TimerServiceImpl implements TimerService {
|
|
|
"FROM " +
|
|
|
" lanyun_project_analysis " +
|
|
|
"WHERE 1=1 " ;
|
|
|
+ /*sql获取第一层数据总数*/
|
|
|
sql[2] = "SELECT " +
|
|
|
- " COUNT(*) total_count " +
|
|
|
+ " COUNT(*) total_count " +
|
|
|
"FROM " +
|
|
|
- " lanyun_project_analysis " +
|
|
|
- " WHERE 1=1 " ;
|
|
|
+ " ( SELECT `month` FROM lanyun_project_analysis WHERE 1 = 1 " ;
|
|
|
if (ObjectUtil.isNotNull(data.get("startDate"))) {
|
|
|
sql[0] = sql[0] + " AND `month` >= \"" + data.get("startDate") +"\" " ;
|
|
|
sql[1] = sql[1] + " AND `month` >= \"" + data.get("startDate") +"\" " ;
|
|
@@ -392,10 +395,13 @@ public class TimerServiceImpl implements TimerService {
|
|
|
sql[0] = sql[0] +
|
|
|
" GROUP BY " +
|
|
|
" `month`" +
|
|
|
- " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+ " order by `month` DESC LIMIT " + pageStart + "," + pageSize;
|
|
|
+ sql[2] = sql[2] +
|
|
|
+ " GROUP BY `month` ) t1 ";
|
|
|
|
|
|
log.info("sql[1]:{}",sql[1]);
|
|
|
}else {
|
|
|
+ /*sql获取第二层月明细数据*/
|
|
|
sql[0] = "SELECT " +
|
|
|
" `month`," +
|
|
|
" project_name, " +
|
|
@@ -417,6 +423,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
"FROM " +
|
|
|
" lanyun_project_analysis " +
|
|
|
" WHERE 1=1";
|
|
|
+ /*sql获取第二层合计数据*/
|
|
|
sql[1] = "SELECT " +
|
|
|
" '合计' as `month`, " +
|
|
|
" sum( predict_income ) predict_income," +
|
|
@@ -438,6 +445,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
" FROM " +
|
|
|
" lanyun_project_analysis " +
|
|
|
" WHERE 1=1 ";
|
|
|
+ /*sql获取第二层数据总数*/
|
|
|
sql[2] = "SELECT " +
|
|
|
" COUNT(*) total_count " +
|
|
|
" FROM " +
|
|
@@ -466,7 +474,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
}
|
|
|
});
|
|
|
sql[1] = sql[1] + " GROUP BY `month` ";
|
|
|
- sql[0] = sql[0] + " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+ sql[0] = sql[0] + " order by `month` DESC LIMIT " + pageStart + "," + pageSize;
|
|
|
sql[2] = sql[2] + " GROUP BY `month` ";
|
|
|
log.info("sql[0]:{}",sql[0]);
|
|
|
|