package cn.com.lzt.provider.controller; import cn.afterturn.easypoi.entity.vo.NormalExcelConstants; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.com.lzt.provider.service.impl.ProviderServiceImpl; import com.daju.common.util.DataPage; import com.daju.mix.dao.entity.TBArchivesProvider; import com.xcgl.utils.OrderNumTools; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.tag.core.easyui.TagUtil; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; 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.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author :sahib.kio.m * @date :Created in 2021/7/30 上午11:39 */ @Controller @RequestMapping("/providerController") public class ProviderController { @Resource private ProviderServiceImpl providerService; @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/provider/providerList"); } @RequestMapping(params = "goAdd") public ModelAndView goAdd(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/provider/providerList-add"); } @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(HttpServletRequest request) { String id = request.getParameter("id"); TBArchivesProvider common = providerService.getById(id); request.setAttribute("common", common); return new ModelAndView("cn/com/lzt/provider/providerList-update"); } @RequestMapping(params = "datagrid") public void datagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { Map param = new HashMap<>(); for (String key : request.getParameterMap().keySet()) { param.put(key, request.getParameter(key)); } DataPage result = providerService.DefendList(param); TagUtil.datagrid(response, dataGrid, result); } @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(TBArchivesProvider common, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "档案添加成功"; j.setSuccess(true); try { common.setCode(OrderNumTools.generateNextBillCode("DAFWS", 5, "t_b_archives_provider", "code", 5)); providerService.save(common); } catch (Exception e) { e.printStackTrace(); message = "档案添加失败"; j.setSuccess(false); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(TBArchivesProvider common, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "档案修改成功"; j.setSuccess(true); try { providerService.updateById(common); } catch (Exception e) { e.printStackTrace(); message = "档案修改失败"; j.setSuccess(false); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TBArchivesProvider common, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "档案删除成功"; try { providerService.removeById(common); } catch (Exception e) { e.printStackTrace(); message = "档案删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } @RequestMapping(params = "nupload") public ModelAndView nupload(HttpServletRequest req) { req.setAttribute("controller_name", "providerController"); return new ModelAndView("common/upload/common_excel_upload"); } @RequestMapping(params = "exportXlsByT") public String exportXlsByT(ModelMap modelMap) { List providers = providerService.list(); modelMap.put(NormalExcelConstants.FILE_NAME,"服务商档案"); modelMap.put(NormalExcelConstants.CLASS, TBArchivesProvider.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("服务商档案", "导出人:"+ ResourceUtil.getSessionUser().getRealName(), "导出信息")); modelMap.put(NormalExcelConstants.DATA_LIST, providers); return NormalExcelConstants.EASYPOI_EXCEL_VIEW; } @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); try { List list = ExcelImportUtil.importExcel(file.getInputStream(),TBArchivesProvider.class,params); for (TBArchivesProvider provider : list) { provider.setCode(OrderNumTools.generateNextBillCode("DAFWS", 5, "t_b_archives_provider", "code", 5)); providerService.save(provider); } j.setMsg("文件导入成功!"); } catch (Exception e) { j.setMsg("文件导入失败!"); }finally{ try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } }