| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package cn.com.lzt.garbageweight;
- 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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.daju.mix.dao.entity.TBGarbageWeight;
- import com.daju.mix.dao.service.ITBGarbageWeightService;
- import com.google.common.collect.Lists;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.util.ExceptionUtil;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.web.system.pojo.base.DictEntity;
- import org.jeecgframework.web.system.service.SystemService;
- import org.joda.time.LocalDateTime;
- import org.springframework.stereotype.Controller;
- import org.springframework.transaction.annotation.Transactional;
- 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.io.InputStream;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.concurrent.ConcurrentHashMap;
- import java.util.stream.Collectors;
- /**
- * @projectName: daju
- * @Title: GarbageweightController
- * @Description: 作业报表管理-垃圾重量统计
- * @author: Future
- * @date: 2021/8/13 16:02
- * @version: v1.0
- **/
- @Controller
- @RequestMapping("/garbageWeightController")
- public class GarbageWeightController {
- /**
- * 日 志
- **/
- private static final Logger logger = Logger.getLogger(GarbageWeightController.class);
- private static final String BASE_PATH = "cn/com/lzt/garbageweight/";
- private static final String Dic_Code_rubbishType = "rubbishType";
- private static final List<String> WER_Garbage = Lists.newArrayList("湿垃圾","厨余垃圾", "餐厨垃圾");
- private static final List<String> DRY_Refuse = Lists.newArrayList("干垃圾", "装修垃圾分拣残渣", "一般工业垃圾");
- @Resource
- private ITBGarbageWeightService itbGarbageWeightService;
- @Resource
- private SystemService systemService;
- @RequestMapping(params = "view")
- public ModelAndView index() {
- return new ModelAndView(BASE_PATH.concat("index"));
- }
- /**
- * @return void
- * @author: Future
- * @version: v1.0
- * @Description: 分页查询 垃圾重量统计
- * @date: 2021/8/14 10:26
- * @Param [tbGarbageWeight, response, dataGrid]
- **/
- @RequestMapping(params = "datagrid")
- public void datagrid(TBGarbageWeight tbGarbageWeight, HttpServletRequest request,HttpServletResponse response, DataGrid dataGrid) throws Exception {
- try {
- //空对象判断
- Optional.ofNullable(tbGarbageWeight).orElseThrow(() -> new Exception("垃圾重量统计对象不能为null"));
- //条件
- LambdaQueryWrapper<TBGarbageWeight> queryWrapper = new LambdaQueryWrapper<>();
- String query_weighTime_begin = request.getParameter("weighTime_begin1");
- String query_weighTime_end = request.getParameter("weighTime_end2");
- queryWrapper
- .like(StringUtils.isNotBlank(tbGarbageWeight.getPlate()), TBGarbageWeight::getPlate, tbGarbageWeight.getPlate())
- .eq(StringUtils.isNotBlank(tbGarbageWeight.getGarbageType()), TBGarbageWeight::getGarbageType, tbGarbageWeight.getGarbageType())
- .eq(StringUtils.isNotBlank(tbGarbageWeight.getAreaRegion()), TBGarbageWeight::getAreaRegion, tbGarbageWeight.getAreaRegion());
- if(StringUtil.isNotEmpty(query_weighTime_begin) && StringUtil.isNotEmpty(query_weighTime_end)){
- queryWrapper.between(TBGarbageWeight::getWeighTime, new SimpleDateFormat("yyyy-MM-dd").parse(query_weighTime_begin), new SimpleDateFormat("yyyy-MM-dd").parse(query_weighTime_end));
- }
- Page<TBGarbageWeight> list = itbGarbageWeightService.page(new Page<>(dataGrid.getPage(), dataGrid.getRows()), queryWrapper);
- TagUtil.datagrid(response, dataGrid, list);
- }catch (Exception e){
- }
- }
- /**
- * @return java.lang.String
- * @author: Future
- * @version: v1.0
- * @Description: 导出excel 使模板
- * @date: 2021/8/14 11:32
- * @Param [request, response, dataGrid, modelMap]
- **/
- @RequestMapping(params = "exportXlsByT")
- public String exportXlsByT(TBGarbageWeight tbGarbageWeight,HttpServletRequest request, HttpServletResponse response
- , DataGrid dataGrid, ModelMap modelMap) {
- modelMap.put(NormalExcelConstants.FILE_NAME, "垃圾重量明细报表");
- modelMap.put(NormalExcelConstants.CLASS, TBGarbageWeight.class);
- modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("垃圾重量明细报表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
- "导出信息"));
- modelMap.put(NormalExcelConstants.DATA_LIST, new ArrayList<>());
- return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
- }
- /**
- * 导入功能跳转
- *
- * @return
- */
- @RequestMapping(params = "upload")
- public ModelAndView upload(HttpServletRequest req) {
- req.setAttribute("controller_name", "garbageWeightController");
- return new ModelAndView("common/upload/common_excel_upload");
- }
- @SuppressWarnings("unchecked")
- @RequestMapping(params = "importExcel", method = RequestMethod.POST)
- @ResponseBody
- @Transactional(rollbackFor = Exception.class)
- 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.setHeadRows(1);
- params.setNeedSave(true);
- try {
- // 获取垃圾类型的字典数据
- List<DictEntity> rubbishType = systemService.queryDict("", "rubbishType", "");
- Map<String, String> rubbishTypeCollect = rubbishType.stream().collect(Collectors.toMap(DictEntity::getTypename, DictEntity::getTypecode));
- List<DictEntity> areaRegion = systemService.queryDict("", "areaRegion", "");
- Map<String, String> areaRegionCollect = areaRegion.stream().collect(Collectors.toMap(DictEntity::getTypename, DictEntity::getTypecode));
- // delete-刘梦祥-2021年12月16日19:54:25(导入数据同步导出数据字典映射规则,删除原本的错误逻辑)
- /*List<Map<String, String>> plateAndAreaRegion = itbGarbageWeightService.getPlateAndAreaRegion();
- Map<String, String> map= new ConcurrentHashMap<>();
- plateAndAreaRegion.forEach(stringStringMap -> {
- for (String key : stringStringMap.keySet()) {
- map.put(stringStringMap.get("plate"),stringStringMap.get("area_region"));
- System.out.println(stringStringMap.get("plate")+"---"+stringStringMap.get("area_region"));
- }
- });*/
- List<TBGarbageWeight> tbGarbageWeightList = ExcelImportUtil.importExcel(
- file.getInputStream(), TBGarbageWeight.class, params);
- tbGarbageWeightList.forEach(tbGarbageWeight -> {
- // 垃圾类型是否包含
- if (WER_Garbage.contains(tbGarbageWeight.getGarbageType())) {
- tbGarbageWeight.setGarbageType(rubbishTypeCollect.get("湿垃圾"));
- } else if (DRY_Refuse.contains(tbGarbageWeight.getGarbageType())) {
- tbGarbageWeight.setGarbageType(rubbishTypeCollect.get("干垃圾"));
- } else {
- tbGarbageWeight.setGarbageType("类型缺失!");
- }
- // 区域划分
- if(StringUtil.isNotEmpty(areaRegionCollect.get(tbGarbageWeight.getAreaRegion()))){
- tbGarbageWeight.setAreaRegion(areaRegionCollect.get(tbGarbageWeight.getAreaRegion()));
- }else{
- tbGarbageWeight.setAreaRegion("类型缺失!");
- }
- // 时间写入
- if(tbGarbageWeight.getWeighTime() != null){
- tbGarbageWeight.setWeighTime(tbGarbageWeight.getWeighTime());
- }
- });
- itbGarbageWeightService.saveBatch(tbGarbageWeightList,10);
- j.setMsg("文件导入成功!");
- } catch (Exception e) {
- j.setMsg("文件导入失败!" + e.getMessage());
- logger.error(ExceptionUtil.getExceptionMessage(e));
- } finally {
- try {
- file.getInputStream().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return j;
- }
- /**
- * 导出excel
- *
- * @param request
- * @param response
- */
- @RequestMapping(params = "exportXls")
- public String exportXls(TBGarbageWeight tbGarbageWeight, HttpServletRequest request, HttpServletResponse response
- , DataGrid dataGrid, ModelMap modelMap) {
- List<TBGarbageWeight> tbGarbageWeightList = itbGarbageWeightService.list();
- List<DictEntity> rubbishType = systemService.queryDict("", "rubbishType", "");
- Map<String, String> rubbishTypeCollect = rubbishType.stream().collect(Collectors.toMap(DictEntity::getTypecode, DictEntity::getTypename));
- List<DictEntity> areaRegion = systemService.queryDict("", "areaRegion", "");
- Map<String, String> areaRegionCollect = areaRegion.stream().collect(Collectors.toMap(DictEntity::getTypecode, DictEntity::getTypename));
- tbGarbageWeightList.forEach(tbGarbageWeight1 -> {
- tbGarbageWeight1.setGarbageType(rubbishTypeCollect.get(tbGarbageWeight1.getGarbageType()));
- tbGarbageWeight1.setAreaRegion(areaRegionCollect.get(tbGarbageWeight1.getAreaRegion()));
- });
- modelMap.put(NormalExcelConstants.FILE_NAME, "垃圾重量明细报表");
- modelMap.put(NormalExcelConstants.CLASS, TBGarbageWeight.class);
- modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("垃圾重量明细报表", "导出人:"+ ResourceUtil.getSessionUser().getRealName(),
- "导出信息"));
- modelMap.put(NormalExcelConstants.DATA_LIST, tbGarbageWeightList);
- return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
- }
- }
|