From 3c34085a21511610477f555cebf3f6fa42272402 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 07 十一月 2023 18:32:53 +0800
Subject: [PATCH] 产品结构导入数据

---
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java |   88 ++++++++++++++++++--------------------------
 1 files changed, 36 insertions(+), 52 deletions(-)

diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java
index 8f54259..a6243fe 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java
@@ -48,6 +48,7 @@
 import com.chinaztt.ztt.common.core.util.R;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
@@ -257,58 +258,41 @@
 
 	@Override
 	public void importExcel(List<StructureData> list) {
-		list.forEach(System.out::println);
-		System.out.println("================================");
-		return;
-		//if (CollectionUtil.isEmpty(list)) {
-		//	return;
-		//}
-		//List<String> uinck = new ArrayList<>();
-		//for (StructureData data : list) {
-		//	Part part = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, data.getFatherPartNo()).eq(Part::getEngChgLevel, data.getFatherVersion()));
-		//	if (part == null) {
-		//		throw new RuntimeException("闆朵欢鍙�:" + data.getFatherPartNo() + "涓嶅瓨鍦�");
-		//	}
-		//	Structure structure = baseMapper.selectOne(Wrappers.<Structure>lambdaQuery()
-		//			.eq(Structure::getPartId, part.getId())
-		//			.eq(Structure::getBomTypeDb, data.getStructureType())
-		//			.eq(Structure::getAlternativeNo, data.getAlternativeNo()));
-		//	if (structure == null) {
-		//		structure = new Structure();
-		//		structure.setPartId(part.getId());
-		//		structure.setVersion(data.getFatherVersion());
-		//		structure.setAlternativeDesc(data.getAlternativeDesc());
-		//		structure.setActive(true);
-		//		structure.setBomTypeDb(data.getStructureType());
-		//		structure.setIfsSync(false);
-		//		structure.setAlternativeNo(data.getAlternativeNo());
-		//		baseMapper.insert(structure);
-		//	}
-		//	if (uinck.contains(structure.getId() + "_" + data.getLineItemNo())) {
-		//		throw new RuntimeException("闆朵欢鍙�:" + part.getPartNo() + "琛岄」鍙烽噸澶�");
-		//	}
-		//	Part childPart = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, data.getChildPartNo()).eq(Part::getEngChgLevel, data.getChildVersion()));
-		//	if (childPart == null) {
-		//		throw new RuntimeException("闆朵欢鍙�:" + data.getChildPartNo() + "涓嶅瓨鍦�");
-		//	}
-		//	StructureComponent component = new StructureComponent();
-		//	component.setStructureId(structure.getId());
-		//	component.setPartId(childPart.getId());
-		//	component.setPlanningMethod(childPart.getPlanningMethod());
-		//	component.setQpa(new BigDecimal(data.getQpa()));
-		//	component.setLineItemNo(Integer.valueOf(data.getLineItemNo()));
-		//	component.setDiscNum(StringUtils.isEmpty(data.getDiskNum()) ? null : new Long(data.getDiskNum()));
-		//	//鏌ヨ宸ュ簭 濡傛灉鏈夊涓幏鍙栫涓�涓�
-		//	List<Operation> operationList = operationMapper.selectList(Wrappers.<Operation>lambdaQuery()
-		//			.eq(Operation::getName, data.getOperationName())
-		//			.eq(Operation::getActive, true).orderByAsc(Operation::getId));
-		//	if (CollectionUtil.isEmpty(operationList)) {
-		//		throw new RuntimeException("宸ュ簭" + data.getOperationName() + "涓嶅瓨鍦�");
-		//	}
-		//	component.setOperationId(operationList.get(0).getId());
-		//	structureComponentMapper.insert(component);
-		//	uinck.add(structure.getId() + "_" + data.getLineItemNo());
-		//}
+		if (CollectionUtil.isEmpty(list)) {
+			return;
+		}
+		for (StructureData data : list) {
+			List<Part> parts = partMapper.selectList(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, data.getPartNo()));
+			Part part = parts.get(0);
+			if (part == null) {
+				throw new RuntimeException("闆朵欢鍙�:" + data.getPartNo() + "涓嶅瓨鍦�");
+			}
+			Structure structure = baseMapper.selectOne(Wrappers.<Structure>lambdaQuery().eq(Structure::getPartId, part.getId()));
+			if (structure == null) {
+				structure = new Structure();
+				BeanUtils.copyProperties(data, structure);
+				structure.setPartId(part.getId());
+				structure.setActive(true);
+				structure.setBomTypeDb("M");
+				structure.setIfsSync(false);
+				structure.setAlternativeNo("*");
+				baseMapper.insert(structure);
+			}
+			List<Part> childParts = partMapper.selectList(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, data.getSonPartNo()));
+			Part childPart = childParts.get(0);
+			if (childPart == null) {
+				throw new RuntimeException("闆朵欢鍙�:" + data.getSonPartNo() + "涓嶅瓨鍦�");
+			}
+			List<Operation> operations = operationMapper.selectList(Wrappers.<Operation>lambdaQuery().eq(Operation::getName, data.getOperationName()));
+			Operation operation = operations.get(0);
+			StructureComponent component = new StructureComponent();
+			component.setStructureId(structure.getId());
+			component.setPartId(childPart.getId());
+			component.setPlanningMethod(childPart.getPlanningMethod());
+			component.setQpa(new BigDecimal(1));// todo: 浜у搧缁撴瀯瀵煎叆鏁伴噺,杩樼己涓�涓鍙�
+			component.setOperationId(operation.getId());
+			structureComponentMapper.insert(component);
+		}
 	}
 
 	@Override

--
Gitblit v1.9.3