From db9c8218576c7af0ed61b39f93f2e6a14bddeee9 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 08 十一月 2023 15:07:14 +0800 Subject: [PATCH] Changes11 --- mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java | 136 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 0 deletions(-) diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java index edbbd62..738492e 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java @@ -19,6 +19,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -30,6 +31,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 +40,13 @@ 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.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -51,6 +60,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 +166,129 @@ } } + 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<SysDictItem> type = dictUtils.getDict("technology_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())); + } + }); + + Optional.ofNullable(p.getParamType()).ifPresent(t -> { + int size = type.stream().filter(d -> Objects.equals(p.getParamType(), d.getLabel())).collect(Collectors.toList()).size(); + if (size < 1) { + throw new RuntimeException(("瀛楀吀涓棤姝ゅ弬鏁扮被鍨�,璇锋鏌ュ悗鍐嶆瀵煎叆锛岀被鍨嬩负锛�---------銆�" + p.getParamType())); + } + }); + }); + + List<List<ParamTemplate>>listParamTemplates = new ArrayList<List<ParamTemplate>>(); + for (int j = 0; j < count.size()-1; j++) { + List<ParamTemplate> paramTemplateLists = new ArrayList<>(); + for (int i = count.get(j); i < count.get(j+1); i++) { + paramTemplateLists.add(paramTemplates.get(i)); + } + listParamTemplates.add(paramTemplateLists); + } + List<List<Param>>paramList=new ArrayList<>(); + AtomicInteger nums = new AtomicInteger(); + List<Long>secondIds=new ArrayList(); + for (int i = 0; i < listParamTemplates.size(); i++) { + List<ParamTemplate> l = listParamTemplates.get(i); + List<Param>paramList1=new ArrayList<>(); + ParamTemplate paramTemplate = l.get(0); + Param paramFirst=new Param(); + paramFirst.setCode("ZS-CS"+IdWorker.getIdStr()); + //涓�绾у弬鏁� + String paramItem = paramTemplate.getParamItem(); + paramFirst.setParameterItem(paramItem); + if(l.size()<=1){ + Optional.ofNullable(paramTemplate.getParamType()).ifPresent(o->{ + List<SysDictItem> collect = type.stream().filter(t -> Objects.equals(paramTemplate.getParamType(), t.getLabel())).collect(Collectors.toList()); + paramFirst.setType(collect.get(0).getValue()); + }); + paramFirst.setParameterFormat(paramTemplate.getParamFormat()); + paramFirst.setUnit(paramTemplate.getUnit()); + } + paramFirst.setId(IdWorker.getId()); + paramList1.add(paramFirst); + if(l.size()>1){ + for (int k = 0; k < l.size(); k++) { + ParamTemplate c = l.get(k); + if(c.getParamItemTwo()!=null){ + Param second=new Param(); + second.setId(IdWorker.getId()); + secondIds.add(second.getId()); + second.setCode(dictTwo.stream().filter(d -> Objects.equals(c.getParamItemTwo(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); + second.setParameterItem(c.getParamItemTwo()); + if(c.getParamItemThree()==null){ + second.setType(type.stream().filter(d -> Objects.equals(c.getParamType(), d.getLabel())).collect(Collectors.toList()).get(0).getValue()); + second.setParameterFormat(c.getParamFormat()); + second.setUnit(c.getUnit()); + } + second.setParentId(paramList1.get(0).getId()); + paramList1.add(second); + } + if (c.getParamItemThree()!=null){ + Param third=new Param(); + third.setId(IdWorker.getId()); + long paramItemTwo = secondIds.get(secondIds.size()-1); + //System.out.println(nums.get()+"鎵�灞炰簩绾�======銆�"+secondIds.get(secondIds.size()-1)); + third.setParentId(paramItemTwo); + third.setParameterItem(c.getParamItemThree()); + third.setCode(dictThree.stream().filter(d -> Objects.equals(c.getParamItemThree(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); + third.setType(type.stream().filter(d -> Objects.equals(c.getParamType(), d.getLabel())).collect(Collectors.toList()).get(0).getValue()); + third.setParameterFormat(c.getParamFormat()); + third.setUnit(c.getUnit()); + paramList1.add(third); + } + } + } + paramList.add(paramList1); + } + paramList.forEach(p->{ + p.forEach(cc->{ + baseMapper.insert(cc); + }); + }); + } + } -- Gitblit v1.9.3