From 01d08428dd6cd9dc518a9a2ecbcb1f0e82788068 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 09 十一月 2023 13:54:47 +0800
Subject: [PATCH] Changes11

---
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 46 insertions(+), 3 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 532d7c0..e6d3666 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
@@ -46,6 +46,7 @@
 import com.chinaztt.mes.technology.excel.RoutingExcelData;
 import com.chinaztt.mes.technology.mapper.*;
 import com.chinaztt.mes.technology.service.RoutingService;
+import com.chinaztt.mes.technology.state.bom.constant.BomStateStringValues;
 import com.chinaztt.mes.technology.state.routing.RoutingStateMachineConfig;
 import com.chinaztt.mes.technology.state.routing.constant.RoutingEvents;
 import com.chinaztt.mes.technology.state.routing.constant.RoutingStateStringValues;
@@ -167,6 +168,10 @@
 		int noCount = baseMapper.selectCount(Wrappers.<Routing>lambdaQuery().eq(Routing::getRoutingNo, routingDTO.getRoutingNo()));
 		if (noCount > 0) {
 			throw new RuntimeException("缂栧彿閲嶅");
+		}
+		Bom bom = bomMapper.selectById(routingDTO.getBomId());
+		if(Objects.equals(BomStateStringValues.DRAFT,bom.getState())){
+			throw new RuntimeException("BOM鐘舵�佹湭閫氳繃锛�");
 		}
 		//涓昏〃涓�愰浂浠跺彿銆戙�併�愬伐鑹虹増鏈�戙�併�愭浛浠c�戝�肩殑缁勫悎椤诲敮涓�銆�
 		noCount = baseMapper.selectCount(Wrappers.<Routing>lambdaQuery().eq(Routing::getPartId, routingDTO.getPartId())
@@ -1065,22 +1070,60 @@
 	}
 
 	@Override
-	public List<RoutingOperationParam> addOperationTemplateParam(RoutingDTO routingDTO) {
+	public boolean 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.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.setOperationId(routingDTO.getOperationId());
+							third.setParentId(secondParam.getId());
+							routingOperationParamMapper.insert(third);
+						});
+					}
+				});
+			}
+			//
+			//routingOperationParamList.add(routingOperationParam);
 		}
-		return routingOperationParamList;
+		return true;
 	}
 
 	@Override

--
Gitblit v1.9.3