| | |
| | | package com.chinaztt.mes.basic.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.ExcelWriter; |
| | | import com.alibaba.excel.support.ExcelTypeEnum; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | |
| | | 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.util.easyexcel.CustemHandler; |
| | | import com.chinaztt.mes.common.util.easyexcel.EasyExcelUtils; |
| | | 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 org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | 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; |
| | | |
| | | /** |
| | |
| | | public class ParamServiceImpl extends ServiceImpl<ParamMapper, Param> implements ParamService { |
| | | private ParamJoinTemplateMapper paramJoinTemplateMapper; |
| | | private DictUtils dictUtils; |
| | | |
| | | private DictApi dictApi; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | } |
| | | } |
| | | |
| | | private String codeMake() { |
| | | // 固定字符串 GX + 年月日 + 01 |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); |
| | | String yrar = formatter.format(LocalDateTime.now()); |
| | | String code = "GX" + yrar; |
| | | List<String> parameterItem = baseMapper.getNos(code); |
| | | if (CollectionUtil.isEmpty(parameterItem)) { |
| | | code = code + "01"; |
| | | } |
| | | 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); |
| | | }); |
| | | } |
| | | |
| | | } |