From 6ee9d58d62dbbccf95ce809f358ec9f8d088b705 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 17 十一月 2023 09:16:16 +0800
Subject: [PATCH] Changes15 websocket
---
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 167 insertions(+), 2 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 ccc7afb..0ccd4d3 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,9 +19,11 @@
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;
+import com.chinaztt.mes.basic.dto.ParamPlusDto;
import com.chinaztt.mes.basic.entity.Param;
import com.chinaztt.mes.basic.entity.ParamJoinTemplate;
import com.chinaztt.mes.basic.excel.ParamData;
@@ -29,13 +31,22 @@
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;
import org.apache.commons.lang3.StringUtils;
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;
/**
@@ -50,13 +61,39 @@
private ParamJoinTemplateMapper paramJoinTemplateMapper;
private DictUtils dictUtils;
+ private DictApi dictApi;
+
@Override
- public R<Boolean> fullSave(Param param) {
+ @Transactional(rollbackFor = Exception.class)
+ public R<Boolean> fullSave(ParamPlusDto param) {
int noCount = baseMapper.selectCount(Wrappers.<Param>lambdaQuery().eq(Param::getCode, param.getCode()));
if (noCount > 0) {
return R.failed("缂栧彿閲嶅");
}
- baseMapper.insert(param);
+ List<SysDictItem> second_param = dictUtils.getDict("second_param");
+ List<SysDictItem> third_param = dictUtils.getDict("third_param");
+ Param father=new Param();
+ father.setCode(param.getCode());
+ father.setParameterItem(param.getParameterItem());
+ baseMapper.insert(father);
+ //浜岀骇鍙傛暟
+ param.getSecondId().forEach(s->{
+ Param second=new Param();
+ SysDictItem sysDictItem = second_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(s)))).collect(Collectors.toList()).get(0);
+ second.setParameterItem(sysDictItem.getLabel());
+ second.setCode(father.getCode()+"-"+s);
+ second.setParentId(father.getId());
+ baseMapper.insert(second);
+ //涓夌骇
+ param.getThirdId().forEach(t->{
+ Param third=new Param();
+ SysDictItem sysThirdDictItem = third_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(t)))).collect(Collectors.toList()).get(0);
+ third.setParameterItem(sysThirdDictItem.getLabel());
+ third.setCode(second.getCode()+"-"+t);
+ third.setParentId(second.getId());
+ baseMapper.insert(third);
+ });
+ });
return R.ok();
}
@@ -129,4 +166,132 @@
}
}
+ 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();
+ List<String>secondCode=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(paramFirst.getCode()+"-"+dictTwo.stream().filter(d -> Objects.equals(c.getParamItemTwo(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+"");
+ secondCode.add(second.getCode());
+ 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);
+ String paramItemCode=secondCode.get(secondCode.size()-1);
+ //System.out.println(nums.get()+"鎵�灞炰簩绾�======銆�"+secondIds.get(secondIds.size()-1));
+ third.setParentId(paramItemTwo);
+ third.setParameterItem(c.getParamItemThree());
+ third.setCode(paramItemCode+"-"+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