package cn.com.lzt.sign.controller; import cn.com.lzt.sign.entity.TBDecision; import cn.com.lzt.sign.service.TBDecisionService; import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.vo.datatable.SortDirection; import org.jeecgframework.web.system.pojo.base.TSBaseUser; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.logging.Logger; @Controller @RequestMapping("/tBDecisionController") public class TBDecisionController extends ActivitiToolsController { private static final Logger logger = Logger.getLogger(String.valueOf(TBDecisionController.class)); @Autowired private TBDecisionService tBDecisionService; @Autowired private SystemService systemService; /** * 列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/sign/tbdecision/tBDecisionList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") public void datagrid(TBDecision tBDecision, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws ParseException { CriteriaQuery cq = new CriteriaQuery(TBDecision.class, dataGrid); //查询条件组装器 // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBDecision); /*try{ //自定义追加查询条件 TSUser user = ResourceUtil.getSessionUser(); cq.add(Restrictions.eq("createBy",user.getUserName())); }catch (Exception e) { throw new BusinessException(e.getMessage()); }*/ // cq.add(); String dataStrBegin = request.getParameter("decisionDateBegin"); String decisionContType = request.getParameter("decisionContType"); String decisionType = request.getParameter("decisionType"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if(StringUtils.isNotEmpty(dataStrBegin)){ try{ Date beginDate = sdf.parse(dataStrBegin+" 00:00:00"); Date endDate = sdf.parse(dataStrBegin+" 23:59:59"); cq.gt("decisionDate",beginDate); cq.lt("decisionDate",endDate); cq.add(); }catch (Exception e){ System.err.println("辅助决策筛选条件日期时间转换失败!"); } } if(StringUtils.isNotEmpty(decisionContType)){ cq.eq("decisionContType",decisionContType); cq.add(); } if(StringUtils.isNotEmpty(decisionType)){ cq.like("decisionType","%"+decisionType+"%"); cq.add(); } cq.addOrder("createDate", SortDirection.desc); cq.add(); this.tBDecisionService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } @RequestMapping(params = {"exportXlsOrder"}) public void exportXlsOrder(String id, HttpServletRequest request, HttpServletResponse response, ModelMap map) throws IOException { DataGrid dataGrid = new DataGrid(); TBDecision tBDecision = new TBDecision(); CriteriaQuery cq = new CriteriaQuery(TBDecision.class, dataGrid); HqlGenerateUtil.installHql(cq, tBDecision, request.getParameterMap()); this.tBDecisionService.getDataGridReturn(cq, true); List details = dataGrid.getResults(); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("辅助决策"); HSSFRow row2 = sheet.createRow(0); row2.createCell(0).setCellValue("序号"); row2.createCell(1).setCellValue("辅助决策编码"); row2.createCell(2).setCellValue("辅助决策内容"); row2.createCell(3).setCellValue("数据支撑"); row2.createCell(4).setCellValue("业务类型 "); row2.createCell(5).setCellValue("决策类型"); row2.createCell(6).setCellValue("信息接收人"); row2.createCell(7).setCellValue("日期 "); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 1; i < details.size() + 1; i++) { HSSFRow row3 = sheet.createRow(i); TBDecision decision = details.get(i -1); row3.createCell(0).setCellValue(i); row3.createCell(1).setCellValue(decision.getDecisionCode()); row3.createCell(2).setCellValue(decision.getDecisionCont()); row3.createCell(3).setCellValue(decision.getDecisionBrace()); row3.createCell(4).setCellValue(decision.getDecisionContType()); row3.createCell(5).setCellValue(decision.getDecisionType()); if(null!=decision.getDecisionUserId() && !"".equals(decision.getDecisionUserId())){ TSBaseUser tsBaseUser = this.systemService.getEntity(TSBaseUser.class, decision.getDecisionUserId()); row3.createCell(6).setCellValue(tsBaseUser.getRealName()); }else{ row3.createCell(6).setCellValue(""); } row3.createCell(7).setCellValue(sdf.format(decision.getDecisionDate()) ); } ServletOutputStream servletOutputStream = response.getOutputStream(); response.reset(); String fileName = "辅助决策"; response.setHeader("Content-disposition", "attachment; filename="+new String(fileName.getBytes("GBK"),"ISO-8859-1")+".xls"); response.setContentType("application/octet-stream"); wb.write((OutputStream) servletOutputStream); servletOutputStream.close(); } }