diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java index c2c2b113..e55b901f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java @@ -157,22 +157,6 @@ public class MarketStandardController { return Result.OK("修改成功!"); } - /** - * 导入 - * - * @param file - * @return - */ - @AutoLog(value = "外部标准库-市场法规清单-导入") - @ApiOperation(value = "外部标准库-市场法规清单-导入", notes = "外部标准库-市场法规清单-导入") - @ApiOperationSupport(order = 7) - @PostMapping(value = "/importExcel") - @RequiresPermissions("marketStandard:importExcel") - public Result importExcel(@RequestParam("file") @ApiParam("文件") MultipartFile file) { - List errorMessages = marketStandardService.importExcel(file); - return Result.OK(errorMessages); - } - /** * 发布 * diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java index bfbbaca5..43eb9316 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java @@ -56,4 +56,35 @@ public class MarketStandardDetailController { return lawsMarketStandardDetailService.getList(manifestId,manifestVersion); } + /** + * 导入 + * + * @param file + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-导入") + @ApiOperation(value = "外部标准库-市场法规清单-导入", notes = "外部标准库-市场法规清单-导入") + @ApiOperationSupport(order = 7) + @PostMapping(value = "/importExcel") + @RequiresPermissions("marketStandard:importExcel") + public Result importExcel(@RequestParam("file") @ApiParam("文件") MultipartFile file) { + List errorMessages = lawsMarketStandardDetailService.importExcel(file); + return Result.OK(errorMessages); + } + + /** + * 下载模板 + * + * @param + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-下载模板") + @ApiOperation(value = "外部标准库-市场法规清单-下载模板", notes = "外部标准库-市场法规清单-下载模板") + @ApiOperationSupport(order = 7) + @GetMapping(value = "/downloadTemplate") + @RequiresPermissions("marketStandard:importExcel") + public void downloadTemplate(HttpServletResponse response) { + lawsMarketStandardDetailService.downloadTemplate(response); + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java index fdc80a6c..4e644a98 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java @@ -3,6 +3,10 @@ package com.jero.modules.laws.marketStandard.service; import com.jero.common.api.vo.Result; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * @author ThinkBook @@ -18,4 +22,16 @@ public interface ILawsMarketStandardDetailService extends IService getList(String manifestId,String manifestVersion); + + /** + * 导入Excel + * @param file + * @return + */ + List importExcel(MultipartFile file); + + /** + * 下载模板 + */ + void downloadTemplate(HttpServletResponse response); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java index a596617b..449288fb 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java @@ -68,11 +68,4 @@ public interface ILawsMarketStandardService extends IService * @param marketStandardDetailVO */ void edit(MarketStandardDetailVO marketStandardDetailVO); - - /** - * 导入Excel - * @param file - * @return - */ - List importExcel(MultipartFile file); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java index ee1e5a2a..e7699e00 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java @@ -10,13 +10,19 @@ import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMappe import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.word.WordExportUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.*; import java.util.stream.Collectors; /** @@ -28,6 +34,9 @@ import java.util.stream.Collectors; public class LawsMarketStandardDetailServiceImpl extends ServiceImpl implements ILawsMarketStandardDetailService { + @Value("${jero.path.template}") + private String templatePath; + @Resource private ILawsMarketStandardService marketStandardService; @@ -57,6 +66,50 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl list = list(queryLawsMarketStandardDetail); return Result.OK(list); } + + + @Override + public List importExcel(MultipartFile file) { + List list = new ArrayList<>(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setStartRows(4); + params.setNeedSave(true); + try { + return ExcelImportUtil.importExcel(file.getInputStream(), LawsMarketStandardDetail.class, params); + } catch (Exception e) { + log.error(e.getMessage(),e); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return list; + } + + @Override + public void downloadTemplate(HttpServletResponse response) { + String templateName = "导入模板-市场法规清单.xlsx"; + // 模板存放地址 + String templateUrl = templatePath + File.separator + templateName; + try (InputStream inputStream = new BufferedInputStream(new FileInputStream(templateUrl)); + OutputStream outputStream = response.getOutputStream() + ) { + byte[] buf = new byte[1024]; + int len; + while ((len = inputStream.read(buf)) > 0) { + outputStream.write(buf, 0, len); + } + response.flushBuffer(); + } catch (Exception e) { + log.error("下载模板异常" + e.getMessage()); + response.setStatus(404); + e.printStackTrace(); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java index 2adcac97..ba2df6e5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -84,7 +84,15 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl{ + for (int i1 = 0; i1 < str.length; i1++) { + i.like("ms.country", str[i1]); + if(i1 != str.length - 1){ + i.or(); + } + } + }); } queryWrapper.eq(StringUtils.isNotBlank(marketStandard.getDrivePosition()), "ms.drive_position", marketStandard.getDrivePosition()); @@ -172,27 +180,6 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl importExcel(MultipartFile file) { - List list = new ArrayList<>(); - ImportParams params = new ImportParams(); - params.setTitleRows(4); - params.setHeadRows(1); - params.setNeedSave(true); - try { - return ExcelImportUtil.importExcel(file.getInputStream(), LawsMarketStandardDetail.class, params); - } catch (Exception e) { - log.error(e.getMessage(),e); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return list; - } - @Override public ModelAndView export(HttpServletResponse response, LawsMarketStandard marketStandard, String fileName, String sheetName, HttpServletRequest req) { QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/laws-single-startup/src/main/resources/application-dev.yml b/laws-single-startup/src/main/resources/application-dev.yml index 6cd2448a..5ac3497d 100644 --- a/laws-single-startup/src/main/resources/application-dev.yml +++ b/laws-single-startup/src/main/resources/application-dev.yml @@ -216,6 +216,7 @@ jero: #文件上传根目录 设置 upload: D://opt//upFiles img: /upFiles/ + template: D://opt//template #webapp文件路径 webapp: D://opt//webapp uploadCos: 1 diff --git a/template/导入模板-市场法规清单.xlsx b/template/导入模板-市场法规清单.xlsx new file mode 100644 index 00000000..7183995b Binary files /dev/null and b/template/导入模板-市场法规清单.xlsx differ