Java tutorial
package com.jeecg.controller.giftbook; import com.jeecg.entity.giftbook.TruckEntity; import com.jeecg.entity.giftbook.TruckLocationEntity; import com.jeecg.service.giftbook.TruckLocationServiceI; import com.jeecg.service.giftbook.TruckServiceI; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.hibernate.Criteria; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Conjunction; import org.hibernate.criterion.Criterion; 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.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.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.io.UnsupportedEncodingException; import java.util.Date; import java.util.List; import java.util.Map; /** * @Title: Controller * @Description: truck * @author onlineGenerator * @date 2018-01-08 20:56:14 * @version V1.0 * */ @Controller @RequestMapping("/apiTruckController") public class ApiTruckController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(ApiTruckController.class); @Autowired private TruckServiceI truckService; @Autowired private TruckLocationServiceI truckLocationService; @Autowired private SystemService systemService; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } /** * truck ? * * @return */ @RequestMapping(params = "truck") public ModelAndView truck(HttpServletRequest request) { return new ModelAndView("com/buss/giftbook/truckList"); } /** * easyui AJAX? * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") @ResponseBody public Object datagrid(TruckEntity truck, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { dataGrid.setField("id,userid,vehicleType,licensePlate,describes,phone"); CriteriaQuery cq = new CriteriaQuery(TruckEntity.class, dataGrid); //? // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, truck, request.getParameterMap()); try { if (truck.getVehicleType() != null && truck.getVehicleType().equals("1")) cq.eq("vehicleType", ""); else { cq.notEq("vehicleType", ""); } truck.setVehicleType(null); //? } catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.truckService.getDataGridReturn(cq, true); List<TruckEntity> trucks = dataGrid.getResults(); for (TruckEntity item : trucks) { // String hql="from TruckLocation where truckId='"+item.getId()+"' and createDate=max(createDate) "; String hql = "from TruckLocationEntity where TRUCK_ID='" + item.getId() + "' and createDate=(select max(e.createDate) from TruckLocationEntity e where truckId='" + item.getId() + "') "; TruckLocationEntity entity = truckLocationService.singleResult(hql); if (entity != null) item.setTruckLocation(entity); } // TagUtil.datagrid(response, dataGrid); return AjaxReturnTool.retJsonp(AjaxReturnTool.hanlderPage(dataGrid), request, response); } /** * truck * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TruckEntity truck, HttpServletRequest request) { AjaxJson j = new AjaxJson(); truck = systemService.getEntity(TruckEntity.class, truck.getId()); message = "truck?"; try { truckService.delete(truck); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "truck"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * ?truck * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids, HttpServletRequest request) { AjaxJson j = new AjaxJson(); message = "truck?"; try { for (String id : ids.split(",")) { TruckEntity truck = systemService.getEntity(TruckEntity.class, id); truckService.delete(truck); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } } catch (Exception e) { e.printStackTrace(); message = "truck"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck * * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(TruckEntity truck, TruckLocationEntity entity, HttpServletRequest request) { AjaxJson j = new AjaxJson(); truck.setCreateDate(new Date()); message = "truck?"; try { Serializable id = truckService.save(truck); if (id != null) { truck.setId((String) id); j.setResult(1); j.setObj(truck); // TruckLocationEntity entity=new TruckLocationEntity(); if (entity != null && entity.getDtid() != null) { entity.setCreateDate(new Date()); entity.setTruckId((String) id); truckLocationService.save(entity); } } else j.setResult(0); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "truck"; j.setResult(0); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck * * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(TruckEntity truck, HttpServletRequest request) { AjaxJson j = new AjaxJson(); message = "truck?"; TruckEntity t = truckService.get(TruckEntity.class, truck.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(truck, t); truckService.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "truck"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * truck? * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(TruckEntity truck, HttpServletRequest req) { if (StringUtil.isNotEmpty(truck.getId())) { truck = truckService.getEntity(TruckEntity.class, truck.getId()); req.setAttribute("truckPage", truck); } return new ModelAndView("com/buss/giftbook/truck-add"); } /** * truck? * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(TruckEntity truck, HttpServletRequest req) { if (StringUtil.isNotEmpty(truck.getId())) { truck = truckService.getEntity(TruckEntity.class, truck.getId()); req.setAttribute("truckPage", truck); } return new ModelAndView("com/buss/giftbook/truck-update"); } /** * * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { return new ModelAndView("com/buss/giftbook/truckUpload"); } /** * excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public void exportXls(TruckEntity truck, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { response.setContentType("application/vnd.ms-excel"); String codedFileName = null; OutputStream fOut = null; try { codedFileName = "truck"; // ?????? 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(TruckEntity.class, dataGrid); org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, truck, request.getParameterMap()); List<TruckEntity> trucks = this.truckService.getListByCriteriaQuery(cq, false); workbook = ExcelExportUtil .exportExcel( new ExcelTitle("truck", ":" + ResourceUtil.getSessionUserName().getRealName(), "?"), TruckEntity.class, trucks); 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(TruckEntity truck, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { response.setContentType("application/vnd.ms-excel"); String codedFileName = null; OutputStream fOut = null; try { codedFileName = "truck"; // ?????? 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", ":" + ResourceUtil.getSessionUserName().getRealName(), "?"), TruckEntity.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<TruckEntity> listTruckEntitys = (List<TruckEntity>) ExcelImportUtil .importExcelByIs(file.getInputStream(), TruckEntity.class, params); for (TruckEntity truck : listTruckEntitys) { truckService.save(truck); } j.setMsg("??"); } catch (Exception e) { j.setMsg("?"); logger.error(ExceptionUtil.getExceptionMessage(e)); } finally { try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } }