From af389156a78401b1e51807efe90b7310fc4c20f6 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 10 十一月 2023 19:50:28 +0800
Subject: [PATCH] Changes11

---
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java |  355 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 317 insertions(+), 38 deletions(-)

diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java
index a83cb8b..f9f487b 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java
@@ -24,6 +24,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -34,11 +35,13 @@
 import com.chinaztt.mes.basic.entity.Part;
 import com.chinaztt.mes.basic.entity.Template;
 import com.chinaztt.mes.basic.mapper.BasicParamTemplateMapper;
+import com.chinaztt.mes.basic.mapper.ParamJoinTemplateMapper;
 import com.chinaztt.mes.basic.mapper.ParamMapper;
 import com.chinaztt.mes.basic.mapper.PartMapper;
 import com.chinaztt.mes.basic.util.DictUtils;
 import com.chinaztt.mes.common.handler.StateMachineHandler;
 import com.chinaztt.mes.common.numgen.NumberGenerator;
+import com.chinaztt.mes.common.util.JsonUtil;
 import com.chinaztt.mes.common.util.StateResult;
 import com.chinaztt.mes.technology.dto.*;
 import com.chinaztt.mes.technology.entity.*;
@@ -51,6 +54,7 @@
 import com.chinaztt.mes.technology.state.routing.constant.RoutingEvents;
 import com.chinaztt.mes.technology.state.routing.constant.RoutingStateStringValues;
 import com.chinaztt.mes.technology.state.routing.constant.RoutingStates;
+import com.chinaztt.ztt.admin.api.entity.SysDictItem;
 import com.chinaztt.ztt.common.core.util.R;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -99,7 +103,7 @@
 	private StateMachinePersister<RoutingStates, RoutingEvents, Routing> persister;
 	private NumberGenerator<Routing> numberGenerator;
 	private NumberGenerator<RoutingOperationTemplate> newNumberGenerator;
-
+	private ParamJoinTemplateMapper paramJoinTemplateMapper;
 
 	@Override
 	public IPage<List<RoutingDTO>> getPage(Page page, QueryWrapper<RoutingDTO> ew) {
@@ -316,23 +320,100 @@
 				newOperationTemplate.setRoutingOperationId(op.getId());
 				newOperationTemplate.setSystemNo(newNumberGenerator.generateNumberWithPrefix(RoutingOperationTemplate.DIGIT, RoutingOperationTemplate.PREFIX, RoutingOperationTemplate::getSystemNo));
 				routingOperationTemplateMapper.insert(newOperationTemplate);
-				//閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟
-				List<ParamDTO> paramList = paramMapper.getParam(operationTemplate.getId());
-				if (paramList != null) {
-					for (ParamDTO param : paramList) {
+				List<ParamDTO> templateParamPlus = paramMapper.getTemplateParamPlus(operationTemplate.getId());
+				//templateParamPlus.forEach(l->{
+				//	System.out.println("寰楀埌鐨勬暟鎹�=======================銆�"+JsonUtil.jsonToString(l));
+				//});
+				//涓�绾�
+				List<ParamDTO> first = templateParamPlus.stream().filter(t -> Objects.equals(t.getTemplateParentId(), 0L)).collect(Collectors.toList());
+				//first.forEach(f->{
+				//	System.out.println("涓�绾ф暟鎹�========================銆�"+JsonUtil.jsonToString(f));
+				//});
+				first.forEach(f->{
+						Long firstId=f.getId();
 						RoutingOperationParam routingOperation = new RoutingOperationParam();
-						routingOperation.setCode(param.getCode());
-						routingOperation.setParameterItem(param.getParameterItem());
 						routingOperation.setRoutingId(op.getRoutingId());
 						routingOperation.setOperationId(op.getOperationId());
-						routingOperation.setType(param.getType());
-						routingOperation.setUnit(param.getUnit());
 						routingOperation.setRoutingOperationId(op.getId());
 						routingOperation.setOperationTemplateId(newOperationTemplate.getId());
-						routingOperation.setParamValue(param.getDefaultValue());
+						routingOperation.setCode(f.getCode());
+						routingOperation.setParameterItem(f.getParameterItem());
+						routingOperation.setType(f.getType());
+						routingOperation.setUnit(f.getUnit());
+						routingOperation.setParamValue(f.getDefaultValue());
+						routingOperation.setParentId(0L);
 						routingOperationParamMapper.insert(routingOperation);
-					}
-				}
+					List<ParamDTO> second = templateParamPlus.stream()
+							.filter(t -> Objects.equals(firstId, t.getTemplateParentId())).collect(Collectors.toList());
+					//second.forEach(s->{
+					//	System.out.println("寰楀埌鐨勪簩绾�==================銆�"+JsonUtil.jsonToString(second));
+					//});
+					//浜岀骇
+					second.forEach(s->{
+						long secondId = s.getId();
+						RoutingOperationParam routingOperationSecond = new RoutingOperationParam();
+						routingOperationSecond.setRoutingId(op.getRoutingId());
+						routingOperationSecond.setOperationId(op.getOperationId());
+						routingOperationSecond.setRoutingOperationId(op.getId());
+						routingOperationSecond.setOperationTemplateId(newOperationTemplate.getId());
+						routingOperationSecond.setCode(s.getCode());
+						routingOperationSecond.setParameterItem(s.getParameterItem());
+						routingOperationSecond.setType(s.getType());
+						routingOperationSecond.setUnit(s.getUnit());
+						routingOperationSecond.setParamValue(s.getDefaultValue());
+						routingOperationSecond.setParentId(routingOperation.getId());
+						routingOperationParamMapper.insert(routingOperationSecond);
+						//涓夌骇
+						List<ParamDTO> third = templateParamPlus.stream()
+								.filter(t -> Objects.equals(secondId, t.getTemplateParentId())).collect(Collectors.toList());
+						//third.forEach(t->{
+						//	System.out.println("寰楀埌鐨勪笁绾�==============銆�"+JsonUtil.jsonToString(t));
+						//});
+						third.forEach(t->{
+							RoutingOperationParam routingOperationThird = new RoutingOperationParam();
+							routingOperationThird.setRoutingId(op.getRoutingId());
+							routingOperationThird.setOperationId(op.getOperationId());
+							routingOperationThird.setRoutingOperationId(op.getId());
+							routingOperationThird.setOperationTemplateId(newOperationTemplate.getId());
+							routingOperationThird.setCode(t.getCode());
+							routingOperationThird.setParameterItem(t.getParameterItem());
+							routingOperationThird.setType(t.getType());
+							routingOperationThird.setUnit(t.getUnit());
+							routingOperationThird.setParamValue(t.getDefaultValue());
+							routingOperationThird.setParentId(routingOperationSecond.getId());
+							routingOperationParamMapper.insert(routingOperationThird);
+						});
+					});
+
+				});
+				//QueryWrapper<ParamJoinTemplate>gen=new QueryWrapper<>();
+				//gen.lambda().eq(ParamJoinTemplate::getParentId,0)
+				//		.eq(ParamJoinTemplate::getTechnologyOperationTemplateId,operationTemplate.getId());
+				//List<ParamJoinTemplate> paramJoinTemplates = paramJoinTemplateMapper.selectList(gen);
+				//paramJoinTemplates.forEach(p->{
+				//	RoutingOperationParam routingOperation = new RoutingOperationParam();
+				//	routingOperation.setRoutingId(op.getRoutingId());
+				//	routingOperation.setOperationId(op.getOperationId());
+				//	routingOperation.setRoutingOperationId(op.getId());
+				//	routingOperation.setOperationTemplateId(newOperationTemplate.getId());
+				//});
+				//閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟
+				//List<ParamDTO> paramList = paramMapper.getParam(operationTemplate.getId());
+				////if (paramList != null) {
+				//	for (ParamDTO param : paramList) {
+				//		RoutingOperationParam routingOperation = new RoutingOperationParam();
+				//		routingOperation.setCode(param.getCode());
+				//		routingOperation.setParameterItem(param.getParameterItem());
+				//		routingOperation.setRoutingId(op.getRoutingId());
+				//		routingOperation.setOperationId(op.getOperationId());
+				//		routingOperation.setType(param.getType());
+				//		routingOperation.setUnit(param.getUnit());
+				//		routingOperation.setRoutingOperationId(op.getId());
+				//		routingOperation.setOperationTemplateId(newOperationTemplate.getId());
+				//		routingOperation.setParamValue(param.getDefaultValue());
+				//		routingOperationParamMapper.insert(routingOperation);
+				//	}
+				//}
 			}
 		}
 	}
@@ -992,14 +1073,18 @@
 	}
 
 	@Override
-	public List<RoutingOperationParam> getOperationTemplateParam(RoutingDTO routingDTO) {
+	public List<Map<String, Object>> getOperationTemplateParam(RoutingDTO routingDTO) {
+		System.out.println("========>"+routingDTO);
 		List<RoutingOperationParam> routingOperationParamList = routingOperationParamMapper.selectList(Wrappers.<RoutingOperationParam>lambdaQuery()
-				.eq(RoutingOperationParam::getRoutingOperationId, routingDTO.getRoutingOperationId()).eq(RoutingOperationParam::getOperationTemplateId, routingDTO.getOperationTemplateId())
+				.eq(RoutingOperationParam::getRoutingOperationId, routingDTO.getRoutingOperationId())
+				.eq(RoutingOperationParam::getOperationTemplateId, routingDTO.getOperationTemplateId())
+				.eq(RoutingOperationParam::getParentId,0)
 				.orderByAsc(RoutingOperationParam::getId));
 		if (!CollectionUtil.isNotEmpty(routingOperationParamList)) {
 			routingOperationParamList = new ArrayList<>();
 		}
-		return routingOperationParamList;
+		List<SysDictItem> dict = dictUtils.getDict("technology_param");
+		return getTree(routingOperationParamList,dict);
 	}
 
 	@Override
@@ -1021,10 +1106,10 @@
 	}
 
 	@Override
-	public List<RoutingOperationTemplate> addOperationTemplate(RoutingDTO routingDTO) {
+	public List<Map<String, Object>> addOperationTemplate(RoutingDTO routingDTO) {
+		System.out.println("----------------------->" + routingDTO);
 		List<RoutingOperationTemplate> routingOperationTemplateList = new ArrayList<>();
 		for (Template template : routingDTO.getRoutingOperationTemplateList()) {
-			List<ParamDTO> paramList = paramMapper.getParam(template.getId());
 			RoutingOperationTemplate newRoutingOperationTemplate = new RoutingOperationTemplate();
 			newRoutingOperationTemplate.setSystemNo(newNumberGenerator.generateNumberWithPrefix(RoutingOperationTemplate.DIGIT, RoutingOperationTemplate.PREFIX, RoutingOperationTemplate::getSystemNo));
 			newRoutingOperationTemplate.setRoutingOperationId(routingDTO.getRoutingOperationId());
@@ -1034,25 +1119,93 @@
 			newRoutingOperationTemplate.setDataType(template.getDataType());
 			newRoutingOperationTemplate.setOperationTemplateType(template.getTemplateType());
 			routingOperationTemplateMapper.insert(newRoutingOperationTemplate);
+			List<ParamDTO> templateParamPlus = paramMapper.getTemplateParamPlus(template.getId());
+			//templateParamPlus.forEach(l->{
+			//	System.out.println("寰楀埌鐨勬暟鎹�=======================銆�"+JsonUtil.jsonToString(l));
+			//});
+			//涓�绾�
+			List<ParamDTO> first = templateParamPlus.stream().filter(t -> Objects.equals(t.getTemplateParentId(), 0L)).collect(Collectors.toList());
+			//first.forEach(f->{
+			//	System.out.println("涓�绾ф暟鎹�========================銆�"+JsonUtil.jsonToString(f));
+			//});
+			first.forEach(f -> {
+				Long firstId = f.getId();
+				RoutingOperationParam routingOperation = new RoutingOperationParam();
+				routingOperation.setRoutingId(routingDTO.getId());
+				routingOperation.setOperationId(routingDTO.getOperationId());
+				routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId());
+				routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId());
+				routingOperation.setCode(f.getCode());
+				routingOperation.setParameterItem(f.getParameterItem());
+				routingOperation.setType(f.getType());
+				routingOperation.setUnit(f.getUnit());
+				routingOperation.setParamValue(f.getDefaultValue());
+				routingOperation.setParentId(0L);
+				routingOperationParamMapper.insert(routingOperation);
+				List<ParamDTO> second = templateParamPlus.stream()
+						.filter(t -> Objects.equals(firstId, t.getTemplateParentId())).collect(Collectors.toList());
+				//second.forEach(s->{
+				//	System.out.println("寰楀埌鐨勪簩绾�==================銆�"+JsonUtil.jsonToString(second));
+				//});
+				//浜岀骇
+				second.forEach(s -> {
+					long secondId = s.getId();
+					RoutingOperationParam routingOperationSecond = new RoutingOperationParam();
+					routingOperationSecond.setRoutingId(routingDTO.getId());
+					routingOperationSecond.setOperationId(routingDTO.getOperationId());
+					routingOperationSecond.setRoutingOperationId(routingDTO.getRoutingOperationId());
+					routingOperationSecond.setOperationTemplateId(newRoutingOperationTemplate.getId());
+					routingOperationSecond.setCode(s.getCode());
+					routingOperationSecond.setParameterItem(s.getParameterItem());
+					routingOperationSecond.setType(s.getType());
+					routingOperationSecond.setUnit(s.getUnit());
+					routingOperationSecond.setParamValue(s.getDefaultValue());
+					routingOperationSecond.setParentId(routingOperation.getId());
+					routingOperationParamMapper.insert(routingOperationSecond);
+					//涓夌骇
+					List<ParamDTO> third = templateParamPlus.stream()
+							.filter(t -> Objects.equals(secondId, t.getTemplateParentId())).collect(Collectors.toList());
+					//third.forEach(t->{
+					//	System.out.println("寰楀埌鐨勪笁绾�==============銆�"+JsonUtil.jsonToString(t));
+					//});
+					third.forEach(t -> {
+						RoutingOperationParam routingOperationThird = new RoutingOperationParam();
+						routingOperationThird.setRoutingId(routingDTO.getId());
+						routingOperationThird.setOperationId(routingDTO.getOperationId());
+						routingOperationThird.setRoutingOperationId(routingDTO.getRoutingOperationId());
+						routingOperationThird.setOperationTemplateId(newRoutingOperationTemplate.getId());
+						routingOperationThird.setCode(t.getCode());
+						routingOperationThird.setParameterItem(t.getParameterItem());
+						routingOperationThird.setType(t.getType());
+						routingOperationThird.setUnit(t.getUnit());
+						routingOperationThird.setParamValue(t.getDefaultValue());
+						routingOperationThird.setParentId(routingOperationSecond.getId());
+						routingOperationParamMapper.insert(routingOperationThird);
+					});
+				});
+
+			});
 			//閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟
-			if (paramList != null) {
-				for (ParamDTO param : paramList) {
-					RoutingOperationParam routingOperation = new RoutingOperationParam();
-					routingOperation.setCode(param.getCode());
-					routingOperation.setParameterItem(param.getParameterItem());
-					routingOperation.setRoutingId(routingDTO.getId());
-					routingOperation.setOperationId(routingDTO.getOperationId());
-					routingOperation.setType(param.getType());
-					routingOperation.setUnit(param.getUnit());
-					routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId());
-					routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId());
-					routingOperation.setParamValue(param.getDefaultValue());
-					routingOperationParamMapper.insert(routingOperation);
-				}
-			}
-			routingOperationTemplateList.add(newRoutingOperationTemplate);
+			//if (paramList != null) {
+			//	for (ParamDTO param : paramList) {
+			//		RoutingOperationParam routingOperation = new RoutingOperationParam();
+			//		routingOperation.setCode(param.getCode());
+			//		routingOperation.setParameterItem(param.getParameterItem());
+			//		routingOperation.setRoutingId(routingDTO.getId());
+			//		routingOperation.setOperationId(routingDTO.getOperationId());
+			//		routingOperation.setType(param.getType());
+			//		routingOperation.setUnit(param.getUnit());
+			//		routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId());
+			//		routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId());
+			//		routingOperation.setParamValue(param.getDefaultValue());
+			//		routingOperationParamMapper.insert(routingOperation);
+			//	}
+			//}
+			//	routingOperationTemplateList.add(newRoutingOperationTemplate);
+			//}
+			//return routingOperationTemplateList;
 		}
-		return routingOperationTemplateList;
+		return getOperationTemplateParam(routingDTO);
 	}
 
 	@Override
@@ -1070,23 +1223,144 @@
 	}
 
 	@Override
-	public List<RoutingOperationParam> addOperationTemplateParam(RoutingDTO routingDTO) {
+	public List<Map<String,Object>> addOperationTemplateParam(RoutingDTO routingDTO) {
+		System.out.println("DTo++++=======>"+routingDTO);
 		List<RoutingOperationParam> routingOperationParamList = new ArrayList<>();
 		for (RoutingOperationParam routingOperationParam : routingDTO.getRoutingOperationParam()) {
+			System.out.println("========================>"+routingOperationParam);
+			long firstId=routingOperationParam.getId();
 			int count = routingOperationParamMapper.selectCount(Wrappers.<RoutingOperationParam>lambdaQuery().eq(RoutingOperationParam::getRoutingOperationId, routingDTO.getRoutingOperationId())
 					.eq(RoutingOperationParam::getOperationTemplateId, routingDTO.getOperationTemplateId()).eq(RoutingOperationParam::getCode, routingOperationParam.getCode()));
 			if (count > 0) {
 				continue;
 			}
+			//绗竴绾у埆
 			routingOperationParam.setRoutingOperationId(routingDTO.getRoutingOperationId());
 			routingOperationParam.setOperationTemplateId(routingDTO.getOperationTemplateId());
 			routingOperationParam.setRoutingId(routingDTO.getId());
 			routingOperationParam.setOperationId(routingDTO.getOperationId());
 			routingOperationParamMapper.insert(routingOperationParam);
-			routingOperationParamList.add(routingOperationParam);
+			QueryWrapper<Param>secondParamQ = new QueryWrapper<Param>();
+			System.out.println("浜岀骇==============銆�");
+			secondParamQ.lambda().eq(Param::getParentId,firstId);
+			List<Param> second=paramMapper.selectList(secondParamQ);
+			//浜岀骇
+			if(second.size()>0){
+				second.forEach(s->{
+					RoutingOperationParam secondParam=new RoutingOperationParam();
+					secondParam.setRoutingOperationId(routingDTO.getRoutingOperationId());
+					secondParam.setOperationTemplateId(routingDTO.getOperationTemplateId());
+					secondParam.setRoutingId(routingDTO.getId());
+					secondParam.setOperationId(routingDTO.getOperationId());
+					secondParam.setCode(s.getCode());
+					secondParam.setParameterItem(s.getParameterItem());
+					secondParam.setType(s.getType());
+					secondParam.setUnit(s.getUnit());
+					secondParam.setParentId(routingOperationParam.getId());
+					routingOperationParamMapper.insert(secondParam);
+					QueryWrapper<Param>thirdParamQ = new QueryWrapper<Param>();
+					thirdParamQ.lambda().eq(Param::getParentId,s.getId());
+					List<Param> thirdList = paramMapper.selectList(thirdParamQ);
+					//涓夌骇
+					if(thirdList.size()>0){
+						thirdList.forEach(t->{
+							RoutingOperationParam third=new RoutingOperationParam();
+							third.setRoutingOperationId(routingDTO.getRoutingOperationId());
+							third.setOperationTemplateId(routingDTO.getOperationTemplateId());
+							third.setRoutingId(routingDTO.getId());
+							third.setCode(t.getCode());
+							third.setParameterItem(t.getParameterItem());
+							third.setType(t.getType());
+							third.setUnit(t.getUnit());
+							third.setOperationId(routingDTO.getOperationId());
+							third.setParentId(secondParam.getId());
+							routingOperationParamMapper.insert(third);
+						});
+					}
+				});
+			}
 		}
-		return routingOperationParamList;
+		List<SysDictItem> dict = dictUtils.getDict("technology_param");
+
+		QueryWrapper<RoutingOperationParam>queryWrapper=new QueryWrapper<>();
+		queryWrapper.lambda().eq(RoutingOperationParam::getParentId,0)
+				.eq(RoutingOperationParam::getRoutingId,routingDTO.getId())
+				.eq(RoutingOperationParam::getOperationTemplateId,routingDTO.getOperationTemplateId())
+				.eq(RoutingOperationParam::getRoutingOperationId,routingDTO.getRoutingOperationId());
+		List<RoutingOperationParam> list = routingOperationParamMapper.selectList(queryWrapper);
+		return getTree(list,dict);
 	}
+
+	public List<Map<String,Object>> getTree(List records,List<SysDictItem> dict){
+		List<Map<String,Object>> all = new ArrayList<>();
+		records.forEach(l->{
+			System.out.println("涓�绾ф暟鎹�--"+l);
+			Map pojo = JsonUtil.jsonToPojo(JsonUtil.jsonToString(l), Map.class);
+			Optional.ofNullable(pojo.get("type")).ifPresent(o->{
+				pojo.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),pojo.get("type"))).collect(Collectors.toList()).get(0).getLabel());
+			});
+			QueryWrapper<RoutingOperationParam>queryWrapper=new QueryWrapper<>();
+			queryWrapper.lambda().eq(RoutingOperationParam::getParentId,pojo.get("id"));
+			List<RoutingOperationParam> secondList = routingOperationParamMapper.selectList(queryWrapper);
+			//娌℃湁children鐩存帴娣诲姞
+			if(secondList.isEmpty()){
+				Map<String,Object> oneMap = new HashMap<>();
+				oneMap.put("code",pojo.get("code"));
+				oneMap.put("paramItem",pojo.get("parameterItem"));
+				oneMap.put("paramItemTwo","");
+				oneMap.put("paramItemThree","");
+				oneMap.put("oneId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
+				oneMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("type"),""));
+				oneMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterFormat"),""));
+				oneMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("unit"),""));
+				oneMap.put("parentId",pojo.get("parentId"));
+				oneMap.put("paramValue",pojo.get("paramValue"));
+				all.add(oneMap);
+			}
+			secondList.forEach(s->{
+				System.out.println("浜岀骇鏁版嵁--"+s);
+				Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class);
+				Optional.ofNullable(second.get("type")).ifPresent(o->{
+					second.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),second.get("type"))).collect(Collectors.toList()).get(0).getLabel());
+				});
+				QueryWrapper<RoutingOperationParam>queryWrapperSecond=new QueryWrapper<>();
+				queryWrapperSecond.lambda().eq(RoutingOperationParam::getParentId,second.get("id"));
+				List<RoutingOperationParam> third = routingOperationParamMapper.selectList(queryWrapperSecond);
+				if(third.isEmpty()){
+					RoutingOperationParam p = new RoutingOperationParam();
+					p.setType(s.getType());
+					//p.setParameterFormat(null);
+					p.setUnit(s.getUnit());
+					p.setParamValue(s.getParamValue());
+					p.setParentId(s.getParentId());
+					third.add(p);
+				}
+				third.forEach(t->{
+					System.out.println("涓夌骇鏁版嵁--"+t);
+					Optional.ofNullable(t.getType()).ifPresent(o->{
+						t.setType(dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),t.getType())).collect(Collectors.toList()).get(0).getLabel());
+					});
+					Map<String,Object> allMap = new HashMap<>();
+					allMap.put("code",pojo.get("code"));
+					allMap.put("paramItem", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterItem"),""));
+					allMap.put("oneId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
+					allMap.put("twoId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(second.get("id")) ,""));
+					allMap.put("threeId", com.chinaztt.mes.common.util.StringUtils.defaultString(String.valueOf(t.getId()),""));
+					allMap.put("paramItemTwo", com.chinaztt.mes.common.util.StringUtils.defaultString((String) second.get("parameterItem"),""));
+					allMap.put("paramItemThree", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterItem(),""));
+					allMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getType(),""));
+					//allMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterFormat(),""));
+					allMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getUnit(),""));
+					allMap.put("parentId",t.getParentId());
+					allMap.put("paramValue",t.getParamValue());
+					all.add(allMap);
+				});
+			});
+		});
+		return all;
+	}
+
+
 
 	@Override
 	public boolean deleteOperationTemplateParam(Long id) {
@@ -1095,9 +1369,14 @@
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public R updateRoutingTemplateParamById(RoutingDTO routing) {
 		for (RoutingOperationParam routingOperationParam : routing.getRoutingOperationParam()) {
-			routingOperationParamMapper.updateById(routingOperationParam);
+			UpdateWrapper<RoutingOperationParam>updateWrapper=new UpdateWrapper<>();
+			updateWrapper.lambda()
+					.set(RoutingOperationParam::getParamValue,routingOperationParam.getParamValue())
+					.eq(RoutingOperationParam::getId,routingOperationParam.getId());
+			routingOperationParamMapper.update(null,updateWrapper);
 		}
 		return R.ok();
 	}

--
Gitblit v1.9.3