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

---
 /dev/null                                                                                       |   81 -------------
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java               |   22 ++-
 mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java    |   64 +++-------
 mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java                          |    2 
 mes-basic/src/main/resources/mapper/ParamMapper.xml                                             |    6 +
 mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadListener.java     |   21 ---
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java |   88 ++++++--------
 mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureData.java               |   41 ------
 mes-web/src/main/resources/bootstrap.yml                                                        |    2 
 9 files changed, 85 insertions(+), 242 deletions(-)

diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java
index 972fd65..63eef7f 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java
@@ -86,4 +86,6 @@
 	 * @return
 	 */
 	List<ParamDTO> getLastParamById(@org.apache.ibatis.annotations.Param("paramDTO") ParamDTO paramDTO);
+
+    List<String> getNos(String code);
 }
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 ca71185..3ec470e 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
@@ -17,9 +17,6 @@
 package com.chinaztt.mes.basic.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -33,9 +30,6 @@
 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.util.easyexcel.CustemHandler;
-import com.chinaztt.mes.common.util.easyexcel.EasyExcelUtils;
-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;
@@ -43,8 +37,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -163,4 +157,16 @@
 		}
 	}
 
+	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;
+	}
+
 }
diff --git a/mes-basic/src/main/resources/mapper/ParamMapper.xml b/mes-basic/src/main/resources/mapper/ParamMapper.xml
index 7a69747..3f12f92 100644
--- a/mes-basic/src/main/resources/mapper/ParamMapper.xml
+++ b/mes-basic/src/main/resources/mapper/ParamMapper.xml
@@ -117,4 +117,10 @@
 		WHERE A."id" = #{paramDTO.technologyOperationTemplateId}
 		ORDER BY B.sort
 	</select>
+
+    <select id="getNos" resultType="java.lang.String">
+		SELECT parameter_item
+		FROM basic_param
+		WHERE code=#{code}
+    </select>
 </mapper>
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java
index 67f390b..1cb0c7a 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java
@@ -68,29 +68,9 @@
 	 */
 	@PostMapping("/uploadExt")
 	public R uploadExt(@RequestParam("file") MultipartFile file) {
-		//ExcelReader excelReader = null;
-		//try {
-		//	ExcelReaderBuilder excelReaderBuilder = EasyExcel.read(file.getInputStream());
-		//	excelReader = excelReaderBuilder.build();
-		//	List<ReadSheet> sheets = excelReader.excelExecutor().sheetList();
-		//	List<ReadSheet> readSheetList = new ArrayList<>();
-		//	for (ReadSheet sheet : sheets) {
-		//		ReadSheet readSheet = EasyExcel.readSheet(sheet.getSheetName()).registerReadListener(new StructureUploadExtListener(structureService)).build();
-		//		readSheetList.add(readSheet);
-		//	}
-		//	excelReader.read(readSheetList);
-		//} catch (IOException e) {
-		//	e.printStackTrace();
-		//	return R.failed(e.getMessage());
-		//} finally {
-		//	if (excelReader != null) {
-		//		// 杩欓噷鍗冧竾鍒繕璁板叧闂紝璇荤殑鏃跺�欎細鍒涘缓涓存椂鏂囦欢锛屽埌鏃剁鐩樹細宕╃殑
-		//		excelReader.finish();
-		//	}
-		//}
 		ExcelReader excelReader = null;
 		try {
-			excelReader = EasyExcel.read(file.getInputStream(), StructureData.class, new StructureUploadListener(structureService, dictUtils)).build();
+			excelReader = EasyExcel.read(file.getInputStream(), StructureData.class, new StructureUploadListener(structureService)).build();
 			ReadSheet readSheet = EasyExcel.readSheet(0).build();
 			ReadSheet readSheet2 = EasyExcel.readSheet(1).build();
 			excelReader.read(readSheet,readSheet2);
@@ -110,27 +90,27 @@
 	 * 绔栫潃瀵煎叆
 	 *
 	 * @param file
-	 * @return
-	 */
-	@PostMapping("/upload")
-	public R simpleRead(@RequestParam("file") MultipartFile file) {
-		ExcelReader excelReader = null;
-		try {
-			excelReader = EasyExcel.read(file.getInputStream(), StructureData.class, new StructureUploadListener(structureService, dictUtils)).build();
-			ReadSheet readSheet = EasyExcel.readSheet(0).build();
-			ReadSheet readSheet2 = EasyExcel.readSheet(1).build();
-			excelReader.read(readSheet,readSheet2);
-		} catch (IOException e) {
-			e.printStackTrace();
-			return R.failed(e.getMessage());
-		} finally {
-			if (excelReader != null) {
-				// 杩欓噷鍗冧竾鍒繕璁板叧闂紝璇荤殑鏃跺�欎細鍒涘缓涓存椂鏂囦欢锛屽埌鏃剁鐩樹細宕╃殑
-				excelReader.finish();
-			}
-		}
-		return R.ok();
-	}
+//	 * @return
+//	 */
+//	@PostMapping("/upload")
+//	public R simpleRead(@RequestParam("file") MultipartFile file) {
+//		ExcelReader excelReader = null;
+//		try {
+//			excelReader = EasyExcel.read(file.getInputStream(), StructureData.class, new StructureUploadListener(structureService)).build();
+//			ReadSheet readSheet = EasyExcel.readSheet(0).build();
+//			ReadSheet readSheet2 = EasyExcel.readSheet(1).build();
+//			excelReader.read(readSheet,readSheet2);
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//			return R.failed(e.getMessage());
+//		} finally {
+//			if (excelReader != null) {
+//				// 杩欓噷鍗冧竾鍒繕璁板叧闂紝璇荤殑鏃跺�欎細鍒涘缓涓存椂鏂囦欢锛屽埌鏃剁鐩樹細宕╃殑
+//				excelReader.finish();
+//			}
+//		}
+//		return R.ok();
+//	}
 
 	/**
 	 * 鏍规嵁闆朵欢鍙锋煡璇㈤粯璁OM
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureData.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureData.java
index 3b85722..f359e3f 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureData.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureData.java
@@ -25,6 +25,9 @@
 	@ExcelProperty(value = "瀛愪欢鍚嶇О锛堝彲澶氬~锛�")
 	private String sonPartName;
 
+	@ExcelProperty(value = "娑堣�楀伐搴�")
+	private String operationName;
+
 	@ExcelProperty(value = "妯″叿缂栧彿")
 	private String sharpenerNo;
 
@@ -55,45 +58,7 @@
 	@ExcelProperty(value = "鍖呰淇℃伅")
 	private String packingInfo;
 
-	@ExcelProperty(value = "鐖朵欢")
-	private String fatherPartNo;
 
-	@ExcelProperty(value = "绯荤粺鎻忚堪")
-	private String remark;
 
-	@ExcelProperty(value = "鐗堟湰")
-	private String fatherVersion;
 
-	@ExcelProperty(value = "缁撴瀯绫诲瀷")
-	private String structureType;
-
-	@ExcelProperty(value = "鏇夸唬")
-	private String alternativeNo;
-
-	@ExcelProperty(value = "鏇夸唬鎻忚堪")
-	private String alternativeDesc;
-
-	@ExcelProperty(value = "琛岄」鍙�")
-	private String lineItemNo;
-
-	@ExcelProperty(value = "瀛愪欢")
-	private String childPartNo;
-
-	@ExcelProperty(value = "瀛愪欢鐗堟湰")
-	private String childVersion;
-
-	@ExcelProperty(value = "瀛愪欢鎻忚堪")
-	private String childRemark;
-
-	@ExcelProperty(value = "鍗曚綅鏁伴噺")
-	private String qpa;
-
-	@ExcelProperty(value = "鍗曚綅")
-	private String unit;
-
-	@ExcelProperty(value = "鐩樻暟")
-	private String diskNum;
-
-	@ExcelProperty(value = "娑堣�楀伐搴�")
-	private String operationName;
 }
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadExtListener.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadExtListener.java
deleted file mode 100644
index 1345d0a..0000000
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadExtListener.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.chinaztt.mes.technology.excel;
-
-import com.alibaba.excel.context.AnalysisContext;
-import com.alibaba.excel.event.AnalysisEventListener;
-import com.chinaztt.mes.technology.service.StructureService;
-import lombok.extern.slf4j.Slf4j;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Author: liuth
- * @Date: 2020-11-30 9:46
- */
-@Slf4j
-public class StructureUploadExtListener extends AnalysisEventListener<Map<Integer, String>> {
-
-	private static final int BATCH_COUNT = 1000;
-
-	/**
-	 * 琛ㄥご鏁版嵁
-	 */
-	private Map<Integer, String> headMap = new HashMap<>();
-	/**
-	 * 鏁版嵁浣�
-	 */
-	private List<Map<Integer, String>> dataList = new ArrayList<>();
-
-	private StructureService structureService;
-
-	public StructureUploadExtListener(StructureService structureService) {
-		this.structureService = structureService;
-	}
-
-
-	/**
-	 * 閲嶅啓invokeHeadMap鏂规硶锛岃幏鍘昏〃澶达紝濡傛灉鏈夐渶瑕佽幏鍙栫涓�琛岃〃澶村氨閲嶅啓杩欎釜鏂规硶锛屼笉闇�瑕佸垯涓嶉渶瑕侀噸鍐�
-	 * @param headMap   姣忚瑙f瀽鐨勬暟鎹负Map<Integer, String>绫诲瀷锛孖nteger鏄疎xcel鐨勫垪绱㈠紩,String涓篍xcel鐨勫崟鍏冩牸鍊�
-	 * @param context   context鑳借幏鍙栦竴浜涗笢瑗匡紝姣斿context.readRowHolder().getRowIndex()涓篍xcel鐨勮绱㈠紩锛岃〃澶寸殑琛岀储寮曚负0锛�0涔嬪悗鐨勯兘瑙f瀽鎴愭暟鎹�
-	 */
-	@Override
-	public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
-		log.info("瑙f瀽鍒颁竴鏉″ご鏁版嵁锛歿}, currentRowHolder: {}", headMap.toString(), context.readRowHolder().getRowIndex());
-		this.headMap = headMap;
-	}
-
-
-
-	/**
-	 *  閲嶅啓invoke鏂规硶鑾峰緱闄xcel绗竴琛岃〃澶翠箣鍚庣殑鏁版嵁
-	 *  濡傛灉Excel绗簩琛屼篃鏄〃澶达紝閭d箞涔熶細瑙f瀽鍒拌繖閲岋紝濡傛灉涓嶉渶瑕佸氨閫氳繃鍒ゆ柇context.readRowHolder().getRowIndex()璺宠繃
-	 * @param data
-	 * @param analysisContext
-	 */
-	@Override
-	public void invoke(Map<Integer, String> data, AnalysisContext analysisContext) {
-		log.info("瑙f瀽鍒颁竴鏉℃暟鎹細{}, currentRowIndex: {}----", data.toString(), analysisContext.readRowHolder().getRowIndex());
-		dataList.add(data);
-		if (dataList.size() >= BATCH_COUNT) {
-			save();
-			dataList.clear();
-		}
-	}
-
-	/**
-	 * 瑙f瀽鍒版渶鍚庝細杩涘叆杩欎釜鏂规硶锛岄渶瑕侀噸鍐欒繖涓猟oAfterAllAnalysed鏂规硶锛岀劧鍚庨噷闈㈣皟鐢ㄨ嚜宸卞畾涔夊ソ淇濆瓨鏂规硶
-	 * @param analysisContext
-	 */
-	@Override
-	public void doAfterAllAnalysed(AnalysisContext analysisContext) {
-		save();
-		log.info("鎵�鏈夋暟鎹В鏋愬畬鎴愶紒");
-	}
-
-
-	private void save() {
-		structureService.importExcelExt(headMap, dataList);
-	}
-}
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadListener.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadListener.java
index 89d7a99..a923db7 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadListener.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/excel/StructureUploadListener.java
@@ -21,16 +21,14 @@
 	 * 鍋囪杩欎釜鏄竴涓狣AO锛屽綋鐒舵湁涓氬姟閫昏緫杩欎釜涔熷彲浠ユ槸涓�涓猻ervice銆傚綋鐒跺鏋滀笉鐢ㄥ瓨鍌ㄨ繖涓璞℃病鐢ㄣ��
 	 */
 	private StructureService structureService;
-	private DictUtils dictUtils;
 
 	/**
 	 * 濡傛灉浣跨敤浜唖pring,璇蜂娇鐢ㄨ繖涓瀯閫犳柟娉曘�傛瘡娆″垱寤篖istener鐨勬椂鍊欓渶瑕佹妸spring绠$悊鐨勭被浼犺繘鏉�
 	 *
 	 * @param structureService
 	 */
-	public StructureUploadListener(StructureService structureService,DictUtils dictUtils) {
+	public StructureUploadListener(StructureService structureService) {
 		this.structureService = structureService;
-		this.dictUtils = dictUtils;
 	}
 
 	/**
@@ -41,23 +39,6 @@
 	 */
 	@Override
 	public void invoke(StructureData data, AnalysisContext context) {
-		Map<String, String> dicbomtype = dictUtils.getDicKey("bom_type_db");
-		if (StringUtils.isEmpty(data.getAlternativeNo())) {
-			data.setAlternativeNo("*");
-		}
-		//if (StringUtils.isEmpty(data.getChildPartNo()) || StringUtils.isEmpty(data.getChildVersion()) || StringUtils.isEmpty(data.getFatherPartNo()) || StringUtils.isEmpty(data.getFatherVersion())) {
-		//	throw new RuntimeException("缂哄皯闆朵欢鏁版嵁缂栧彿鎴栬�呯増鏈�");
-		//}
-		//if (StringUtils.isEmpty(data.getQpa())) {
-		//	throw new RuntimeException("缂哄皯鏁伴噺");
-		//}
-		//if (StringUtils.isEmpty(data.getLineItemNo())) {
-		//	throw new RuntimeException("缂哄皯琛岄」鍙�");
-		//}
-		//if (StringUtils.isEmpty(data.getOperationName())) {
-		//	throw new RuntimeException("缂哄皯宸ュ簭");
-		//}
-		data.setStructureType(StringUtils.isEmpty(data.getStructureType()) ? "M" : dicbomtype.get(data.getStructureType()));
 		list.add(data);
 		// 杈惧埌BATCH_COUNT浜嗭紝闇�瑕佸幓瀛樺偍涓�娆℃暟鎹簱锛岄槻姝㈡暟鎹嚑涓囨潯鏁版嵁鍦ㄥ唴瀛橈紝瀹规槗OOM
 		if (list.size() >= BATCH_COUNT) {
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
diff --git a/mes-web/src/main/resources/bootstrap.yml b/mes-web/src/main/resources/bootstrap.yml
index 1d6e43d..8947b51 100644
--- a/mes-web/src/main/resources/bootstrap.yml
+++ b/mes-web/src/main/resources/bootstrap.yml
@@ -8,7 +8,7 @@
       #      password: postgres123
       password: root2022
       #      灏勯寮�鍙戞暟鎹簱
-      url: jdbc:postgresql://127.0.0.1:5432/postgres
+      url: jdbc:postgresql://106.13.194.57:9015/postgres
   application:
     name: ztt-mes
   cloud:

--
Gitblit v1.9.3