ToiletsManagementController.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package cn.com.lzt.toilets.controller;
  2. import cn.com.lzt.toilets.entity.TBToiletHistoryEnergy;
  3. import cn.com.lzt.toilets.entity.TPublicToiletEnergy;
  4. import cn.com.lzt.toilets.entity.TPublicToiletMaterial;
  5. import cn.com.lzt.toilets.service.ToiletsManagementService;
  6. import org.apache.commons.lang.xwork.StringUtils;
  7. import org.apache.log4j.Logger;
  8. import org.jeecgframework.core.common.controller.BaseController;
  9. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  10. import org.jeecgframework.core.common.model.json.DataGrid;
  11. import org.jeecgframework.tag.core.easyui.TagUtil;
  12. import org.jeecgframework.web.system.service.SystemService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.servlet.ModelAndView;
  17. import javax.annotation.Resource;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * @author LiuMengxiang
  24. * @version V1.0
  25. * @Title: Controller
  26. * @Description: 运营智能决策平台
  27. * @date 2021年11月16日20:48:16
  28. */
  29. @Controller
  30. @RequestMapping("/ToiletsManagementController")
  31. public class ToiletsManagementController extends BaseController {
  32. @Resource
  33. private ToiletsManagementService toiletsManagementService;
  34. @Autowired
  35. private SystemService systemService;
  36. /***
  37. * 页面跳转到公厕能耗管理页面
  38. * @author 刘梦祥
  39. * @date 2021年11月16日20:59:40
  40. * @param request
  41. * @return ModelAndView
  42. */
  43. @RequestMapping(params = "publicToiletEnergyIndex")
  44. public ModelAndView publicToiletEnergyIndex(HttpServletRequest request) {
  45. return new ModelAndView("cn/com/lzt/toilet/management/publicToiletEnergyList");
  46. }
  47. /***
  48. * 页面跳转到公厕材耗管理页面
  49. * @author 刘梦祥
  50. * @date 2021年11月16日20:59:56
  51. * @param request
  52. * @return ModelAndView
  53. */
  54. @RequestMapping(params = "publicToiletMaterialList")
  55. public ModelAndView publicToiletMaterial(HttpServletRequest request) {
  56. return new ModelAndView("cn/com/lzt/toilet/management/publicToiletMaterialList");
  57. }
  58. /***
  59. * 页面跳转到公厕数据统计页面
  60. * @author 刘梦祥
  61. * @date 2022年1月4日14:26:38
  62. * @param request
  63. * @return ModelAndView
  64. */
  65. @RequestMapping(params = "publicToiletStatisticlList")
  66. public ModelAndView publicToiletStatisticl(HttpServletRequest request) {
  67. return new ModelAndView("cn/com/lzt/toilet/management/publicToiletStatisticlList");
  68. }
  69. /**
  70. * 初始化请求接口
  71. *
  72. * @param request
  73. * @param response
  74. * @param dataGrid
  75. * @author 刘梦祥
  76. * @date 2021年11月16日20:54:22
  77. */
  78. @RequestMapping(params = "energyDatagrid")
  79. public void energyDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  80. String sqlStr = "SELECT\n" +
  81. "\ttbth.id,\n" +
  82. "\ttbth.toilet_id toiletId,\n" +
  83. "\ttbth.time,\n" +
  84. "\ttbth.water_consumption waterConsumption,\n" +
  85. "\ttbth.electricity_consumption electricityConsumption,\n" +
  86. "\ttbth.person_flow personFlow,\n" +
  87. "\ttbth.liquid_soap liquidSoap,\n" +
  88. "\ttbth.disinfectant,\n" +
  89. "\ttbth.tissue,\n" +
  90. "\ttbth.create_date createDate,\n" +
  91. "\ttbth.type,\n" +
  92. "\ttbth.cleaning,\n" +
  93. "\ttbaa.`name` toiletName,\n" +
  94. "\ttbaa.area_location toiletLocation,\n" +
  95. "\ttbaa.area_region toiletRegion\n" +
  96. "FROM\n" +
  97. "\tt_b_toilet_history tbth\n" +
  98. "LEFT JOIN t_b_archives_area tbaa ON tbaa.id = tbth.toilet_id\n" +
  99. "WHERE\n" +
  100. "\ttbth.type = \"2\"\n";
  101. //公厕名称查询条件封装
  102. if (StringUtils.isNotEmpty(request.getParameter("toiletName"))) {
  103. sqlStr += "and tbaa.`name` like \"%" + request.getParameter("toiletName") + "%\"\n";
  104. }
  105. //所属网络化区域条件封装
  106. if (StringUtils.isNotEmpty(request.getParameter("toiletRegion"))) {
  107. sqlStr += "and tbaa.area_region = \"" + request.getParameter("toiletRegion") + "\"\n";
  108. }
  109. //时间条件封装
  110. if (StringUtils.isNotEmpty(request.getParameter("time_begin1")) && StringUtils.isNotEmpty(request.getParameter("time_end2"))) {
  111. sqlStr += "and tbth.time between \"" + request.getParameter("time_begin1") + "\" and \"" + request.getParameter("time_end2") + "\" \n";
  112. }
  113. if (StringUtils.isNotEmpty(request.getParameter("time_begin")) && StringUtils.isNotEmpty(request.getParameter("time_end"))) {
  114. sqlStr += "and tbth.time between \"" + request.getParameter("time_begin") + "\" and \"" + request.getParameter("time_end") + "\" \n";
  115. }
  116. List<Map<String, Object>> totalData = systemService.findForJdbc(sqlStr);
  117. dataGrid.setTotal(totalData.size());
  118. int limitA = (dataGrid.getPage() - 1) * dataGrid.getRows();
  119. int limitB = (dataGrid.getPage()) * dataGrid.getRows();
  120. sqlStr += " ORDER BY tbth.time DESC LIMIT " + limitA + "," + limitB + ";";
  121. List<Map<String, Object>> returnData = systemService.findForJdbc(sqlStr);
  122. dataGrid.setResults(returnData);
  123. TagUtil.datagrid(response, dataGrid);
  124. }
  125. /**
  126. * 公厕能耗材耗统计
  127. *
  128. * @param request
  129. * @param response
  130. * @param dataGrid
  131. * @author 刘梦祥
  132. * @date 2022年1月4日14:22:48
  133. */
  134. @RequestMapping(params = "energyStatistical")
  135. public void energyStatistical(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  136. String sqlStr = "SELECT\n" +
  137. "\ttbth.id,\n" +
  138. "\ttbth.toilet_id toiletId,\n" +
  139. "\tMIN(tbth.time) minTime,\n" +
  140. "\tMAX(tbth.time) maxTime,\n" +
  141. "\tSUM(tbth.water_consumption) waterConsumption,\n" +
  142. "\tSUM(tbth.electricity_consumption) electricityConsumption,\n" +
  143. "\tSUM(tbth.person_flow) personFlow,\n" +
  144. "\tSUM(tbth.liquid_soap) liquidSoap,\n" +
  145. "\tSUM(tbth.disinfectant) disinfectant,\n" +
  146. "\tSUM(tbth.tissue) tissue,\n" +
  147. "\ttbth.type,\n" +
  148. "\tSUM(tbth.cleaning) cleaning,\n" +
  149. "\ttbaa.`name` toiletName,\n" +
  150. "\ttbaa.area_location toiletLocation,\n" +
  151. "\ttbaa.area_region toiletRegion\n" +
  152. "FROM\n" +
  153. "\tt_b_toilet_history tbth\n" +
  154. "LEFT JOIN t_b_archives_area tbaa ON tbaa.id = tbth.toilet_id\n" +
  155. "WHERE\n" +
  156. "\ttbth.type = \"2\"\n";
  157. //公厕名称查询条件封装
  158. if (StringUtils.isNotEmpty(request.getParameter("toiletName"))) {
  159. sqlStr += "and tbaa.`name` like \"%" + request.getParameter("toiletName") + "%\"\n";
  160. }
  161. //所属网络化区域条件封装
  162. if (StringUtils.isNotEmpty(request.getParameter("toiletRegion"))) {
  163. sqlStr += "and tbaa.area_region = \"" + request.getParameter("toiletRegion") + "\"\n";
  164. }
  165. //时间条件封装
  166. if (StringUtils.isNotEmpty(request.getParameter("time_begin1")) && StringUtils.isNotEmpty(request.getParameter("time_end2"))) {
  167. sqlStr += "and tbth.time between \"" + request.getParameter("time_begin1") + "\" and \"" + request.getParameter("time_end2") + "\" \n";
  168. }
  169. if (StringUtils.isNotEmpty(request.getParameter("time_begin")) && StringUtils.isNotEmpty(request.getParameter("time_end"))) {
  170. sqlStr += "and tbth.time between \"" + request.getParameter("time_begin") + "\" and \"" + request.getParameter("time_end") + "\" \n";
  171. }
  172. sqlStr += "GROUP BY tbth.toilet_id \n";
  173. List<Map<String, Object>> totalData = systemService.findForJdbc(sqlStr);
  174. dataGrid.setTotal(totalData.size());
  175. int limitA = (dataGrid.getPage() - 1) * dataGrid.getRows();
  176. int limitB = (dataGrid.getPage()) * dataGrid.getRows();
  177. sqlStr += " ORDER BY tbth.time DESC LIMIT " + limitA + "," + limitB + ";";
  178. List<Map<String, Object>> returnData = systemService.findForJdbc(sqlStr);
  179. dataGrid.setResults(returnData);
  180. TagUtil.datagrid(response, dataGrid);
  181. }
  182. }