From 22594e714c57c9e243fe9973515ea9467d71c2db Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 07 十一月 2023 18:35:11 +0800
Subject: [PATCH] Changes11

---
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java |   99 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 97 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..2e1a7e6 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
@@ -22,6 +22,7 @@
 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 +30,21 @@
 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.stream.Collectors;
 
 /**
@@ -50,13 +59,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(""+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(""+t);
+				third.setParentId(second.getId());
+				baseMapper.insert(third);
+			});
+		});
 		return R.ok();
 	}
 
@@ -129,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);
+		});
+	}
+
 }

--
Gitblit v1.9.3