package cn.com.lzt.toilets.controller; import cn.com.lzt.toilets.entity.TBToiletHistoryEnergy; import cn.com.lzt.toilets.entity.TPublicToiletEnergy; import cn.com.lzt.toilets.entity.TPublicToiletMaterial; import cn.com.lzt.toilets.service.ToiletsManagementService; import org.apache.commons.lang.xwork.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * @author LiuMengxiang * @version V1.0 * @Title: Controller * @Description: 运营智能决策平台 * @date 2021年11月16日20:48:16 */ @Controller @RequestMapping("/ToiletsManagementController") public class ToiletsManagementController extends BaseController { @Resource private ToiletsManagementService toiletsManagementService; @Autowired private SystemService systemService; /*** * 页面跳转到公厕能耗管理页面 * @author 刘梦祥 * @date 2021年11月16日20:59:40 * @param request * @return ModelAndView */ @RequestMapping(params = "publicToiletEnergyIndex") public ModelAndView publicToiletEnergyIndex(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/toilet/management/publicToiletEnergyList"); } /*** * 页面跳转到公厕材耗管理页面 * @author 刘梦祥 * @date 2021年11月16日20:59:56 * @param request * @return ModelAndView */ @RequestMapping(params = "publicToiletMaterialList") public ModelAndView publicToiletMaterial(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/toilet/management/publicToiletMaterialList"); } /*** * 页面跳转到公厕数据统计页面 * @author 刘梦祥 * @date 2022年1月4日14:26:38 * @param request * @return ModelAndView */ @RequestMapping(params = "publicToiletStatisticlList") public ModelAndView publicToiletStatisticl(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/toilet/management/publicToiletStatisticlList"); } /** * 初始化请求接口 * * @param request * @param response * @param dataGrid * @author 刘梦祥 * @date 2021年11月16日20:54:22 */ @RequestMapping(params = "energyDatagrid") public void energyDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String sqlStr = "SELECT\n" + "\ttbth.id,\n" + "\ttbth.toilet_id toiletId,\n" + "\ttbth.time,\n" + "\ttbth.water_consumption waterConsumption,\n" + "\ttbth.electricity_consumption electricityConsumption,\n" + "\ttbth.person_flow personFlow,\n" + "\ttbth.liquid_soap liquidSoap,\n" + "\ttbth.disinfectant,\n" + "\ttbth.tissue,\n" + "\ttbth.create_date createDate,\n" + "\ttbth.type,\n" + "\ttbth.cleaning,\n" + "\ttbaa.`name` toiletName,\n" + "\ttbaa.area_location toiletLocation,\n" + "\ttbaa.area_region toiletRegion\n" + "FROM\n" + "\tt_b_toilet_history tbth\n" + "LEFT JOIN t_b_archives_area tbaa ON tbaa.id = tbth.toilet_id\n" + "WHERE\n" + "\ttbth.type = \"2\"\n"; //公厕名称查询条件封装 if (StringUtils.isNotEmpty(request.getParameter("toiletName"))) { sqlStr += "and tbaa.`name` like \"%" + request.getParameter("toiletName") + "%\"\n"; } //所属网络化区域条件封装 if (StringUtils.isNotEmpty(request.getParameter("toiletRegion"))) { sqlStr += "and tbaa.area_region = \"" + request.getParameter("toiletRegion") + "\"\n"; } //时间条件封装 if (StringUtils.isNotEmpty(request.getParameter("time_begin1")) && StringUtils.isNotEmpty(request.getParameter("time_end2"))) { sqlStr += "and tbth.time between \"" + request.getParameter("time_begin1") + "\" and \"" + request.getParameter("time_end2") + "\" \n"; } if (StringUtils.isNotEmpty(request.getParameter("time_begin")) && StringUtils.isNotEmpty(request.getParameter("time_end"))) { sqlStr += "and tbth.time between \"" + request.getParameter("time_begin") + "\" and \"" + request.getParameter("time_end") + "\" \n"; } List> totalData = systemService.findForJdbc(sqlStr); dataGrid.setTotal(totalData.size()); int limitA = (dataGrid.getPage() - 1) * dataGrid.getRows(); int limitB = (dataGrid.getPage()) * dataGrid.getRows(); sqlStr += " ORDER BY tbth.time DESC LIMIT " + limitA + "," + limitB + ";"; List> returnData = systemService.findForJdbc(sqlStr); dataGrid.setResults(returnData); TagUtil.datagrid(response, dataGrid); } /** * 公厕能耗材耗统计 * * @param request * @param response * @param dataGrid * @author 刘梦祥 * @date 2022年1月4日14:22:48 */ @RequestMapping(params = "energyStatistical") public void energyStatistical(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String sqlStr = "SELECT\n" + "\ttbth.id,\n" + "\ttbth.toilet_id toiletId,\n" + "\tMIN(tbth.time) minTime,\n" + "\tMAX(tbth.time) maxTime,\n" + "\tSUM(tbth.water_consumption) waterConsumption,\n" + "\tSUM(tbth.electricity_consumption) electricityConsumption,\n" + "\tSUM(tbth.person_flow) personFlow,\n" + "\tSUM(tbth.liquid_soap) liquidSoap,\n" + "\tSUM(tbth.disinfectant) disinfectant,\n" + "\tSUM(tbth.tissue) tissue,\n" + "\ttbth.type,\n" + "\tSUM(tbth.cleaning) cleaning,\n" + "\ttbaa.`name` toiletName,\n" + "\ttbaa.area_location toiletLocation,\n" + "\ttbaa.area_region toiletRegion\n" + "FROM\n" + "\tt_b_toilet_history tbth\n" + "LEFT JOIN t_b_archives_area tbaa ON tbaa.id = tbth.toilet_id\n" + "WHERE\n" + "\ttbth.type = \"2\"\n"; //公厕名称查询条件封装 if (StringUtils.isNotEmpty(request.getParameter("toiletName"))) { sqlStr += "and tbaa.`name` like \"%" + request.getParameter("toiletName") + "%\"\n"; } //所属网络化区域条件封装 if (StringUtils.isNotEmpty(request.getParameter("toiletRegion"))) { sqlStr += "and tbaa.area_region = \"" + request.getParameter("toiletRegion") + "\"\n"; } //时间条件封装 if (StringUtils.isNotEmpty(request.getParameter("time_begin1")) && StringUtils.isNotEmpty(request.getParameter("time_end2"))) { sqlStr += "and tbth.time between \"" + request.getParameter("time_begin1") + "\" and \"" + request.getParameter("time_end2") + "\" \n"; } if (StringUtils.isNotEmpty(request.getParameter("time_begin")) && StringUtils.isNotEmpty(request.getParameter("time_end"))) { sqlStr += "and tbth.time between \"" + request.getParameter("time_begin") + "\" and \"" + request.getParameter("time_end") + "\" \n"; } sqlStr += "GROUP BY tbth.toilet_id \n"; List> totalData = systemService.findForJdbc(sqlStr); dataGrid.setTotal(totalData.size()); int limitA = (dataGrid.getPage() - 1) * dataGrid.getRows(); int limitB = (dataGrid.getPage()) * dataGrid.getRows(); sqlStr += " ORDER BY tbth.time DESC LIMIT " + limitA + "," + limitB + ";"; List> returnData = systemService.findForJdbc(sqlStr); dataGrid.setResults(returnData); TagUtil.datagrid(response, dataGrid); } }