mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
@@ -17,20 +17,16 @@ package com.chinaztt.mes.basic.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.basic.dto.ParamDTO; import com.chinaztt.mes.basic.dto.ParamPlusDto; import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.mes.basic.excel.ParamData; import com.chinaztt.mes.basic.excel.ParamUploadListener; import com.chinaztt.mes.basic.service.ParamService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.common.util.JsonUtil; import com.chinaztt.mes.common.util.StringUtils; import com.chinaztt.mes.common.util.easyexcel.EasyExcelUtils; import com.chinaztt.mes.common.util.easyexcel.ExcelListener; import com.chinaztt.mes.common.util.easyexcel.template.ParamTemplate; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.ztt.admin.api.entity.SysDictItem; @@ -43,7 +39,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -224,7 +219,8 @@ public R upload(@RequestParam("file") MultipartFile file) { try { // EasyExcel.read(file.getInputStream(), ParamTemplate.class, new ExcelListener<ParamTemplate>()).sheet().doRead(); EasyExcelUtils.readModelExcel(ParamTemplate.class,file); List<ParamTemplate> paramTemplates = EasyExcelUtils.readModelExcel(ParamTemplate.class, file); paramService.importExcelPlus(paramTemplates); } catch (IOException e) { e.printStackTrace(); } mes-basic/src/main/java/com/chinaztt/mes/basic/service/ParamService.java
@@ -21,12 +21,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaztt.mes.basic.dto.ParamPlusDto; import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.mes.basic.excel.ParamData; import com.chinaztt.mes.basic.dto.ParamPlusDto; import com.chinaztt.mes.common.util.easyexcel.template.ParamTemplate; import com.chinaztt.ztt.common.core.util.R; import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -89,4 +89,5 @@ */ String checkItemRepeat(Param param); void importExcelPlus(List<ParamTemplate> paramTemplates); } mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java
@@ -30,6 +30,8 @@ import com.chinaztt.mes.basic.mapper.ParamMapper; import com.chinaztt.mes.basic.service.ParamService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.common.feign.DictApi; import com.chinaztt.mes.common.util.easyexcel.template.ParamTemplate; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.common.core.util.R; import lombok.AllArgsConstructor; @@ -39,7 +41,10 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; /** @@ -53,6 +58,8 @@ public class ParamServiceImpl extends ServiceImpl<ParamMapper, Param> implements ParamService { private ParamJoinTemplateMapper paramJoinTemplateMapper; private DictUtils dictUtils; private DictApi dictApi; @Override @Transactional(rollbackFor = Exception.class) @@ -169,4 +176,52 @@ return code; } @Override @Transactional(rollbackFor = Exception.class) public void importExcelPlus(List<ParamTemplate> paramTemplates) { //äºçº§åæ°id 133 //ä¸çº§åæ° 134 List<SysDictItem> dictTwo = dictUtils.getDict("second_param"); List<SysDictItem> dictThree = dictUtils.getDict("third_param"); List<Integer> count = new ArrayList<Integer>(); int num = 0; for (int i = 0; i < paramTemplates.size(); i++) { if (StringUtils.isNotEmpty(paramTemplates.get(i).getParamItem())) { count.add(num); } num++; } count.add(paramTemplates.size()); System.out.println(count); List<List<ParamTemplate>> list = new ArrayList<>(); paramTemplates.forEach(p -> { Optional.ofNullable(p.getParamItemTwo()).ifPresent(t -> { int size = dictTwo.stream().filter(d -> Objects.equals(p.getParamItemTwo(), d.getLabel())).collect(Collectors.toList()).size(); if (size < 1) { throw new RuntimeException(("åå ¸ä¸æ æ¤äºçº§åæ°,è¯·æ£æ¥å忬¡å¯¼å ¥ï¼åæ°ä¸ºï¼---------ã" + p.getParamItemTwo())); } }); Optional.ofNullable(p.getParamItemThree()).ifPresent(t -> { int size = dictThree.stream().filter(d -> Objects.equals(p.getParamItemThree(), d.getLabel())).collect(Collectors.toList()).size(); if (size < 1) { throw new RuntimeException(("åå ¸ä¸æ æ¤ä¸çº§åæ°,è¯·æ£æ¥å忬¡å¯¼å ¥ï¼åæ°ä¸ºï¼---------ã" + p.getParamItemThree())); } }); }); for (int i = 0; i < paramTemplates.size(); i++) { for (int j = 0; j < count.size(); j++) { if(i==count.get(j)-1){ }else { } } } list.forEach(l->{ System.out.println("======================"); l.forEach(System.out::println); }); } } mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java
@@ -517,6 +517,10 @@ } } public void asyncExcel(MultipartFile file,Map<String, String> dicmattype,Map<String, String> dicunit){ File file1 = MultipartFileToFile.multipartFileToFile(file); CsvReader reader = CsvUtil.getReader(); mes-common/src/main/java/com/chinaztt/mes/common/feign/DictApi.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.chinaztt.mes.common.feign; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.common.core.util.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; /** * @Author å¼ å®¾ * @Date 2023/11/7 */ @FeignClient( value = "ztt-upms-biz" ) public interface DictApi { @PostMapping("/dict/item") R insertDict(SysDictItem sysDictItem); } mes-common/src/main/java/com/chinaztt/mes/common/util/easyexcel/ExcelListener.java
@@ -27,6 +27,7 @@ public void invoke(T classType, AnalysisContext analysisContext) { System.out.println("å¯¼å ¥çæ°æ®--"+classType); dataList.add(classType); } @Override