package cn.com.lzt.message.data.controller; import cn.com.lzt.message.data.dao.MessageDataDao; import cn.com.lzt.message.data.dto.MessageStatisReceiveDto; import cn.com.lzt.message.data.dto.MessageStatisSendDto; import cn.com.lzt.message.regular_receiver_group.entity.MRegularReceiverGroupEntity; import cn.com.lzt.message.template.entity.MMessageTemplateEntity; import org.apache.commons.lang.xwork.StringUtils; import org.hibernate.criterion.Restrictions; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.exception.BusinessException; 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.pojo.base.TSDepart; 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.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; @Controller @RequestMapping("/mMessageDataController") public class MMessageDataController extends BaseController { @Autowired private SystemService systemService; @Autowired private MessageDataDao messageDataDao; /** *分组选择跳转 * @return */ @RequestMapping(params = "messageRegularReceiverGroup") public ModelAndView messageRegularReceiverGroup(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/message/data/messageRegularReceiverGroup"); } /** * 分组选择数据 */ @RequestMapping(params = "messageRegularReceiverGroupDatagrid") public void messageRegularReceiverGroupDatagrid(MRegularReceiverGroupEntity mRegularReceiverGroupEntity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(MRegularReceiverGroupEntity.class, dataGrid); //查询条件组装器 // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, mRegularReceiverGroupEntity); try{ //自定义追加查询条件 String groupName = mRegularReceiverGroupEntity.getGroupName(); if(StringUtils.isNotBlank(groupName)){ cq.add(Restrictions.like("groupName",groupName+"%")); } }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); systemService.getDataGridReturn(cq, false); TagUtil.datagrid(response, dataGrid); /* String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); MiniDaoPage listUserAndUserPersonnelDto = arrangeDutyOperateService.getUserAndUserPersonnelPage(userAndUserPersonnelDto, dataGrid.getPage(), dataGrid.getRows(), authSql); dataGrid.setTotal(listUserAndUserPersonnelDto.getTotal()); dataGrid.setResults(listUserAndUserPersonnelDto.getResults()); TagUtil.datagrid(response, dataGrid);*/ } /** *模板选择跳转 * @return */ @RequestMapping(params = "messageTemplate") public ModelAndView messageTemplate(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/message/data/messageTemplate"); } /** * 模板选择数据 */ @RequestMapping(params = "messageTemplateDatagrid") public void messageTemplateDatagrid(MMessageTemplateEntity mMessageTemplate, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(MMessageTemplateEntity.class, dataGrid); //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, mMessageTemplate); try{ cq.add(Restrictions.eq("status",MMessageTemplateEntity.STATUS_ON)); //自定义追加查询条件 }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); systemService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } /** *部门选择跳转 * @return */ @RequestMapping(params = "getDepart") public ModelAndView getDepart(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/message/data/dep"); } /** * 部门选择数据 */ @RequestMapping(params = "getDepartDatagrid") public void getDepartDatagrid(TSDepart tsDepart, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { List list =messageDataDao.getDepart(tsDepart.getDepartname()); dataGrid.setResults(list); TagUtil.datagrid(response, dataGrid); } /** * 接收统计跳转 * @return */ @RequestMapping(params = "statisReceive") public ModelAndView statisReceive(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/message/data/statisReceive"); } /** * 接收统计数据 */ @RequestMapping(params = "statisReceiveDatagrid") @ResponseBody public List statisReceiveDatagrid( @RequestParam(value = "title",required = false) String title ,@RequestParam(value="startTime",required = false) String startTime ,@RequestParam(value="endTime",required = false) String endTime ) { List list=messageDataDao.statisReceive(title,startTime,endTime); return list; } /** * 接收统计跳转 * @return */ @RequestMapping(params = "statisSend") public ModelAndView statisSend(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/message/data/statisSend"); } /** * 接收统计数据 */ @RequestMapping(params = "statisSendDatagrid") @ResponseBody public List statisSendDatagrid( @RequestParam(value = "groupBy",required = false) String groupBy ,@RequestParam(value="noticeType",required = false) String noticeType ,@RequestParam(value="startTime",required = false) String startTime ,@RequestParam(value="endTime",required = false) String endTime ,@RequestParam(value="depName",required = false) String depName ,@RequestParam(value="realname",required = false) String realname ) throws ParseException { if(StringUtils.isNotBlank(endTime)){ Calendar c = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); c.setTime(format.parse(endTime)); c.add(Calendar.MONTH,1); endTime=format.format(c.getTime()); } List list= null; if(StringUtils.equals(groupBy,"noticeType")){ list = messageDataDao.statisSendGroupBySendType(noticeType,startTime,endTime); }else if(StringUtils.equals(groupBy,"dep")){ list = messageDataDao.statisSendGroupByDep(depName,startTime,endTime); }else if(StringUtils.equals(groupBy,"user")){ list = messageDataDao.statisSendGroupByUser(realname,startTime,endTime); } return list; } }