|
@@ -1718,4 +1718,59 @@ public class TimerServiceImpl implements TimerService {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void exportBusinessAnalysis(Map data, HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ final String[] sql = {"SELECT " +
|
|
|
+ " `month`," +
|
|
|
+ " project_name, " +
|
|
|
+ " predict_income, " +
|
|
|
+ " folding_repair, " +
|
|
|
+ " `open`, " +
|
|
|
+ " income, " +
|
|
|
+ " person, " +
|
|
|
+ " person_cost, " +
|
|
|
+ " material, " +
|
|
|
+ " other_cost, " +
|
|
|
+ " cost_sum, " +
|
|
|
+ " taxes, " +
|
|
|
+ " gross_profit, " +
|
|
|
+ " CONCAT(ROUND(gross_margin*100,2),'%') gross_margin, " +
|
|
|
+ " overhead, " +
|
|
|
+ " corporate_income_tax, " +
|
|
|
+ " net_profit," +
|
|
|
+ " monthString," +
|
|
|
+ " level, " +
|
|
|
+ " status, " +
|
|
|
+ " profit_loss, " +
|
|
|
+ " format, " +
|
|
|
+ " customer_system, " +
|
|
|
+ " CONCAT(ROUND(net_margin*100,2),'%') net_margin " +
|
|
|
+ "FROM " +
|
|
|
+ " lanyun_project_analysis_copy1 " +
|
|
|
+ " WHERE 1=1"};
|
|
|
+ if (data.containsKey("startDate") || data.containsKey("endDate")){
|
|
|
+ data.remove("month");
|
|
|
+ }
|
|
|
+ data.forEach((k,v)->{
|
|
|
+ if (k.equals("low") && ObjectUtil.isNotNull(v)){
|
|
|
+ sql[0] = sql[0] + " AND `net_margin` < 0.05" ;
|
|
|
+
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && k.equals("startDate")) {
|
|
|
+ sql[0] = sql[0] + " AND `month` >= \"" + v +"\"" ;
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && k.equals("endDate")) {
|
|
|
+ sql[0] = sql[0] + " AND `month` <= \"" + v +"\"" ;
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && !k.equals("low")){
|
|
|
+ sql[0] = sql[0] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ List<ProjectAnalysis> analysisList = jdbcTemplate.query(sql[0], new ProjectAnalysisMapper());
|
|
|
+
|
|
|
+// Map<String, String> dataMain = new HashMap<>();
|
|
|
+ String fileName = "各项目经营分析NC测试-"+data.get("startDate") + "至" + data.get("endDate");
|
|
|
+
|
|
|
+
|
|
|
+ UtilExcel.exportMapAndListByTemplate(response, null, analysisList, ProjectAnalysis.class, fileName, "NC.xlsx");
|
|
|
+ }
|
|
|
}
|