| | |
| | | */ |
| | | package org.sxkj.system.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.sxkj.system.entity.Region; |
| | | import org.sxkj.system.excel.DeptImportExcel; |
| | | import org.sxkj.system.excel.RegionExcel; |
| | | import org.sxkj.system.excel.RegionImportExcel; |
| | | import org.sxkj.system.excel.RegionImporter; |
| | | import org.sxkj.system.param.RegionAddParam; |
| | | import org.sxkj.system.param.RegionExportParam; |
| | | import org.sxkj.system.param.RegionPageParam; |
| | | import org.sxkj.system.service.IRegionService; |
| | | import org.sxkj.system.util.excel.RegionSheetWriteHandler; |
| | | import org.sxkj.system.vo.RegionVO; |
| | | import org.sxkj.system.vo.TreeVo; |
| | | import org.sxkj.system.wrapper.RegionWrapper; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.io.IOException; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | @ApiOperation(value = "修改", notes = "传入region") |
| | | @ApiLog("行政区划数据修改") |
| | | public R update(@Valid @RequestBody Region region) { |
| | | region.setUpdateTime(DateUtil.now()); |
| | | return R.status(regionService.updateById(region)); |
| | | } |
| | | |
| | |
| | | @ApiLog("行政区划数据新增或修改") |
| | | public R submit(@Valid @RequestBody RegionAddParam region) { |
| | | Region regionEntity = Objects.requireNonNull(BeanUtil.copy(region, Region.class)); |
| | | regionEntity.setUpdateTime(DateUtil.now()); |
| | | regionEntity.setCreateTime(DateUtil.now()); |
| | | return R.status(regionService.submit(regionEntity)); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "导入行政区划", notes = "传入excel") |
| | | public R importRegion(MultipartFile file, Integer isCovered) { |
| | | RegionImporter regionImporter = new RegionImporter(regionService, isCovered == 1); |
| | | ExcelUtil.save(file, regionImporter, RegionExcel.class); |
| | | ExcelUtil.save(file, regionImporter, RegionImportExcel.class); |
| | | return R.success("操作成功"); |
| | | } |
| | | |
| | |
| | | @GetMapping("export-region") |
| | | @ApiOperationSupport(order = 11) |
| | | @ApiOperation(value = "导出行政区划", notes = "传入user") |
| | | public void exportRegion(@ApiIgnore @RequestParam Map<String, Object> region, HttpServletResponse response) { |
| | | QueryWrapper<Region> queryWrapper = Condition.getQueryWrapper(region, Region.class); |
| | | List<RegionExcel> list = regionService.exportRegion(queryWrapper); |
| | | public void exportRegion(RegionExportParam region, HttpServletResponse response) { |
| | | List<RegionExcel> list = regionService.exportRegion(region); |
| | | ExcelUtil.export(response, "行政区划数据" + DateUtil.time(), "行政区划数据表", list, RegionExcel.class); |
| | | } |
| | | |
| | |
| | | * 导出模板 |
| | | */ |
| | | @GetMapping("export-template") |
| | | @ApiOperationSupport(order = 12) |
| | | @ApiOperationSupport(order = 16) |
| | | @ApiOperation(value = "导出模板") |
| | | public void exportUser(HttpServletResponse response) { |
| | | List<RegionExcel> list = new ArrayList<>(); |
| | | ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionExcel.class); |
| | | public void exportUser(HttpServletResponse response) throws IOException { |
| | | // 设置响应头 |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding(StandardCharsets.UTF_8.name()); |
| | | String fileName = URLEncoder.encode("行政区划模板", StandardCharsets.UTF_8.name()); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | |
| | | // 准备空数据列表 |
| | | List<RegionImportExcel> list = new ArrayList<>(); |
| | | |
| | | // 使用EasyExcel导出,并注册RegionSheetWriteHandler |
| | | EasyExcel.write(response.getOutputStream(), RegionImportExcel.class) |
| | | .registerWriteHandler(new RegionSheetWriteHandler()) |
| | | .sheet("行政区划表") |
| | | .doWrite(list); |
| | | } |
| | | |
| | | /** |