Java tutorial
package com.jeecg.controller.giftbook; import com.jeecg.entity.giftbook.TruckRouteEntity; import com.jeecg.service.giftbook.TruckRouteServiceI; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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.core.constant.Globals; import org.jeecgframework.core.entity.AjaxJson; import org.jeecgframework.core.util.*; import org.jeecgframework.poi.excel.ExcelExportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ExcelTitle; import org.jeecgframework.poi.excel.entity.ImportParams; 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.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.io.Serializable; import java.util.Date; import java.util.List; import java.util.Map; /** * @Title: Controller * @Description: truck_route * @author onlineGenerator * @date 2018-01-08 20:55:45 * @version V1.0 * */ @Controller @RequestMapping("/apiTruckRouteController") public class ApiTruckRouteController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(ApiTruckRouteController.class); @Autowired private TruckRouteServiceI truckRouteService; @Autowired private SystemService systemService; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } /** * truck_route ? * * @return */ @RequestMapping(params = "truckRoute") public ModelAndView truckRoute(HttpServletRequest request) { return new ModelAndView("com/buss/giftbook/truckRouteList"); } /** * easyui AJAX? * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") @ResponseBody public Object datagrid(TruckRouteEntity truckRoute, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { dataGrid.setField("id,startAddr,endAddr,info,licensePlate,phone,addr,latLng"); CriteriaQuery cq = new CriteriaQuery(TruckRouteEntity.class, dataGrid); //? org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, truckRoute, request.getParameterMap()); try { cq.eq("type", truckRoute.getType()); //? } catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.truckRouteService.getDataGridReturn(cq, true); // TagUtil.datagrid(response, dataGrid); return AjaxReturnTool.retJsonp(AjaxReturnTool.hanlderPage(dataGrid), request, response); } /** * truck_route * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TruckRouteEntity truckRoute, HttpServletRequest request) { AjaxJson j = new AjaxJson(); truckRoute = systemService.getEntity(TruckRouteEntity.class, truckRoute.getId()); message = "truck_route?"; try { truckRouteService.delete(truckRoute); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "truck_route"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * ?truck_route * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids, HttpServletRequest request) { AjaxJson j = new AjaxJson(); message = "truck_route?"; try { for (String id : ids.split(",")) { TruckRouteEntity truckRoute = systemService.getEntity(TruckRouteEntity.class, id); truckRouteService.delete(truckRoute); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } } catch (Exception e) { e.printStackTrace(); message = "truck_route"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck_route * * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(TruckRouteEntity truckRoute, HttpServletRequest request) { AjaxJson j = new AjaxJson(); message = "?"; try { truckRoute.setCreateDate(new Date()); Serializable id = truckRouteService.save(truckRoute); if (id != null) { truckRoute.setId((String) id); j.setObj(truckRoute); j.setResult(1); } else j.setResult(0); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = ""; j.setResult(0); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck_route * * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(TruckRouteEntity truckRoute, HttpServletRequest request) { AjaxJson j = new AjaxJson(); message = "truck_route?"; TruckRouteEntity t = truckRouteService.get(TruckRouteEntity.class, truckRoute.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(truckRoute, t); truckRouteService.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "truck_route"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck_route? * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(TruckRouteEntity truckRoute, HttpServletRequest req) { if (StringUtil.isNotEmpty(truckRoute.getId())) { truckRoute = truckRouteService.getEntity(TruckRouteEntity.class, truckRoute.getId()); req.setAttribute("truckRoutePage", truckRoute); } return new ModelAndView("com/buss/giftbook/truckRoute-add"); } /** * truck_route? * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(TruckRouteEntity truckRoute, HttpServletRequest req) { if (StringUtil.isNotEmpty(truckRoute.getId())) { truckRoute = truckRouteService.getEntity(TruckRouteEntity.class, truckRoute.getId()); req.setAttribute("truckRoutePage", truckRoute); } return new ModelAndView("com/buss/giftbook/truckRoute-update"); } /** * * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { return new ModelAndView("com/buss/giftbook/truckRouteUpload"); } /** * excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public void exportXls(TruckRouteEntity truckRoute, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { response.setContentType("application/vnd.ms-excel"); String codedFileName = null; OutputStream fOut = null; try { codedFileName = "truck_route"; // ?????? if (BrowserUtils.isIE(request)) { response.setHeader("content-disposition", "attachment;filename=" + java.net.URLEncoder.encode(codedFileName, "UTF-8") + ".xls"); } else { String newtitle = new String(codedFileName.getBytes("UTF-8"), "ISO8859-1"); response.setHeader("content-disposition", "attachment;filename=" + newtitle + ".xls"); } // HSSFWorkbook workbook = null; CriteriaQuery cq = new CriteriaQuery(TruckRouteEntity.class, dataGrid); org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, truckRoute, request.getParameterMap()); List<TruckRouteEntity> truckRoutes = this.truckRouteService.getListByCriteriaQuery(cq, false); workbook = ExcelExportUtil.exportExcel( new ExcelTitle("truck_route", ":" + ResourceUtil.getSessionUserName().getRealName(), "?"), TruckRouteEntity.class, truckRoutes); fOut = response.getOutputStream(); workbook.write(fOut); } catch (Exception e) { } finally { try { fOut.flush(); fOut.close(); } catch (IOException e) { } } } /** * excel ? * * @param request * @param response */ @RequestMapping(params = "exportXlsByT") public void exportXlsByT(TruckRouteEntity truckRoute, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { response.setContentType("application/vnd.ms-excel"); String codedFileName = null; OutputStream fOut = null; try { codedFileName = "truck_route"; // ?????? if (BrowserUtils.isIE(request)) { response.setHeader("content-disposition", "attachment;filename=" + java.net.URLEncoder.encode(codedFileName, "UTF-8") + ".xls"); } else { String newtitle = new String(codedFileName.getBytes("UTF-8"), "ISO8859-1"); response.setHeader("content-disposition", "attachment;filename=" + newtitle + ".xls"); } // HSSFWorkbook workbook = null; workbook = ExcelExportUtil.exportExcel( new ExcelTitle("truck_route", ":" + ResourceUtil.getSessionUserName().getRealName(), "?"), TruckRouteEntity.class, null); fOut = response.getOutputStream(); workbook.write(fOut); } catch (Exception e) { } finally { try { fOut.flush(); fOut.close(); } catch (IOException e) { } } } @SuppressWarnings("unchecked") @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// ? ImportParams params = new ImportParams(); params.setTitleRows(2); params.setSecondTitleRows(1); params.setNeedSave(true); try { List<TruckRouteEntity> listTruckRouteEntitys = (List<TruckRouteEntity>) ExcelImportUtil .importExcelByIs(file.getInputStream(), TruckRouteEntity.class, params); for (TruckRouteEntity truckRoute : listTruckRouteEntitys) { truckRouteService.save(truckRoute); } j.setMsg("??"); } catch (Exception e) { j.setMsg("?"); logger.error(ExceptionUtil.getExceptionMessage(e)); } finally { try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } }