Fixiaobai
2023-11-07 22594e714c57c9e243fe9973515ea9467d71c2db
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;
@@ -37,7 +39,12 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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;
/**
@@ -51,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)
@@ -155,4 +164,64 @@
      }
   }
   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);
      });
   }
}