|
@@ -324,8 +324,8 @@ public class TimerServiceImpl implements TimerService {
|
|
|
|
|
|
@SneakyThrows
|
|
|
@Override
|
|
|
- public List<ProjectAnalysis> projectAnalysisGroup(Map<String, Object> data){
|
|
|
- final String[] sql = {"",""};
|
|
|
+ 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());
|
|
|
int pageEnd = Integer.parseInt(data.get("page").toString()) * Integer.parseInt(data.get("num").toString());
|
|
|
data.remove("page");
|
|
@@ -352,17 +352,6 @@ public class TimerServiceImpl implements TimerService {
|
|
|
"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") +"\" " ;
|
|
|
- } else if (ObjectUtil.isNotNull(data.get("endDate"))) {
|
|
|
- sql[0] = sql[0] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
- sql[1] = sql[1] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
- }
|
|
|
- sql[0] = sql[0] +
|
|
|
- " GROUP BY " +
|
|
|
- " `month`" +
|
|
|
- " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
sql[1]= "SELECT " +
|
|
|
" '合计' as `month` , " +
|
|
|
" sum( predict_income ) predict_income," +
|
|
@@ -383,6 +372,25 @@ public class TimerServiceImpl implements TimerService {
|
|
|
" SUM( net_profit )/ SUM( income ) net_margin " +
|
|
|
"FROM " +
|
|
|
" lanyun_project_analysis " ;
|
|
|
+ sql[2] = "SELECT " +
|
|
|
+ " COUNT(*) total_count " +
|
|
|
+ "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") +"\" " ;
|
|
|
+ sql[2] = sql[2] + " AND `month` >= \"" + data.get("startDate") +"\" " ;
|
|
|
+ } else if (ObjectUtil.isNotNull(data.get("endDate"))) {
|
|
|
+ sql[0] = sql[0] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
+ sql[1] = sql[1] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
+ sql[2] = sql[2] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
+ }
|
|
|
+ sql[0] = sql[0] +
|
|
|
+ " GROUP BY " +
|
|
|
+ " `month`" +
|
|
|
+ " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+
|
|
|
}else {
|
|
|
sql[0] = "SELECT " +
|
|
|
" `month`," +
|
|
@@ -426,7 +434,11 @@ public class TimerServiceImpl implements TimerService {
|
|
|
" FROM " +
|
|
|
" lanyun_project_analysis " +
|
|
|
" WHERE 1=1 ";
|
|
|
-
|
|
|
+ sql[2] = "SELECT " +
|
|
|
+ " COUNT(*) total_count " +
|
|
|
+ " FROM " +
|
|
|
+ " lanyun_project_analysis " +
|
|
|
+ " WHERE 1=1 ";
|
|
|
if (data.containsKey("startDate") || data.containsKey("endDate")){
|
|
|
data.remove("month");
|
|
|
}
|
|
@@ -434,29 +446,41 @@ public class TimerServiceImpl implements TimerService {
|
|
|
if (k.equals("low") && ObjectUtil.isNotNull(v)){
|
|
|
sql[0] = sql[0] + " AND `net_margin` < 0.05" ;
|
|
|
sql[1] = sql[1] + " AND `net_margin` < 0.05" ;
|
|
|
+ sql[2] = sql[2] + " AND `net_margin` < 0.05" ;
|
|
|
} else if (ObjectUtil.isNotNull(v) && k.equals("startDate")) {
|
|
|
sql[0] = sql[0] + " AND `month` >= \"" + v +"\"" ;
|
|
|
sql[1] = sql[1] + " AND `month` >= \"" + v +"\"" ;
|
|
|
+ sql[2] = sql[2] + " AND `month` >= \"" + v +"\"" ;
|
|
|
} else if (ObjectUtil.isNotNull(v) && k.equals("endDate")) {
|
|
|
sql[0] = sql[0] + " AND `month` <= \"" + v +"\"" ;
|
|
|
sql[1] = sql[1] + " AND `month` <= \"" + v +"\"" ;
|
|
|
+ sql[2] = sql[2] + " AND `month` <= \"" + v +"\"" ;
|
|
|
} else if (ObjectUtil.isNotNull(v) && !k.equals("low")){
|
|
|
sql[0] = sql[0] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
sql[1] = sql[1] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
+ sql[2] = sql[2] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
}
|
|
|
});
|
|
|
sql[1] = sql[1] + " GROUP BY `month` ";
|
|
|
sql[0] = sql[0] + " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+ sql[2] = sql[2] + " GROUP BY `month` ";
|
|
|
+
|
|
|
}
|
|
|
// Class.forName(driver);
|
|
|
// Connection connection = DriverManager.getConnection(url, username, password);
|
|
|
// Statement statement = connection.createStatement();
|
|
|
List<ProjectAnalysis> analysisList = jdbcTemplate.query(sql[0], new ProjectAnalysisMapper());
|
|
|
List<ProjectAnalysis> analysisSum= jdbcTemplate.query(sql[1], new ProjectAnalysisMapper());
|
|
|
+ List<Map<String, Object>> result = jdbcTemplate.queryForList(sql[2]);
|
|
|
+ int totalCount = 0;
|
|
|
+ if (result.size() >0) {
|
|
|
+ totalCount = Integer.parseInt(result.get(0).get("total_count").toString());
|
|
|
+ }
|
|
|
analysisList.add(analysisSum.get(0));
|
|
|
log.info("results:{}",analysisList);
|
|
|
+ Map<String, Object> map = UtilMap.map("totalCount, data", totalCount, analysisList);
|
|
|
if (ObjectUtil.isNotNull(analysisList)&&analysisList.size()>0){
|
|
|
- return analysisList;
|
|
|
+ return map;
|
|
|
}
|
|
|
else {
|
|
|
return null;
|