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