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

---
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/FactoryController.java                |    2 
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/BomServiceImpl.java       |    3 
 mes-technology/src/main/resources/mapper/StructureMapper.xml                                    |    1 
 mes-poc/src/main/java/com/chinaztt/mes/service/impl/PocServiceImpl.java                         |   11 ---
 mes-basic/src/main/java/com/chinaztt/mes/basic/excel/DivisionData.java                          |    6 +
 mes-technology/src/main/java/com/chinaztt/mes/technology/entity/Structure.java                  |    2 
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java                |    3 
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/DivisionServiceImpl.java            |   14 ++++
 mes-technology/src/main/java/com/chinaztt/mes/technology/controller/StructureController.java    |    8 ++
 mes-technology/src/main/java/com/chinaztt/mes/technology/entity/StructureComponent.java         |    1 
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java                  |   21 +++++-
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CompanyController.java                |    8 +-
 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/StructureServiceImpl.java |   49 +++++++++++++++-
 13 files changed, 101 insertions(+), 28 deletions(-)

diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CompanyController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CompanyController.java
index eb35f55..50a4e4d 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CompanyController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CompanyController.java
@@ -19,23 +19,22 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.chinaztt.mes.basic.entity.Company;
+import com.chinaztt.mes.basic.service.CompanyService;
 import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
 import com.chinaztt.ztt.admin.api.entity.SysDictItem;
 import com.chinaztt.ztt.admin.api.feign.RemoteDictService;
 import com.chinaztt.ztt.common.core.util.R;
 import com.chinaztt.ztt.common.log.annotation.SysLog;
-import com.chinaztt.mes.basic.entity.Company;
-import com.chinaztt.mes.basic.service.CompanyService;
 import com.chinaztt.ztt.common.security.annotation.Inner;
-import org.springframework.security.access.prepost.PreAuthorize;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.util.List;
 
 
@@ -228,4 +227,5 @@
 		companyService.getFile(id, response);
 	}
 
+
 }
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/FactoryController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/FactoryController.java
index d863e4f..e81da0c 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/FactoryController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/FactoryController.java
@@ -175,4 +175,6 @@
 	public List<Factory> loadFactory() {
 		return factoryService.list();
 	}
+
+
 }
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
index c2b8a24..2a63237 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
@@ -59,6 +59,19 @@
 	private final ParamService paramService;
 
 	private DictUtils dictUtils;
+
+
+
+	@ApiOperation(value = "鍒嗛〉妯℃澘鏌ヨ", notes = "鍒嗛〉鏌ヨ")
+	@GetMapping("/pageInModel")
+	@PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')")
+	public R getParamPageInModel(Page page, ParamDTO param) {
+		QueryWrapper<Param> gen = QueryWrapperUtil.gen(param);
+		gen.lambda().eq(Param::getParentId,0L);
+		return R.ok(paramService.page(page, gen));
+	}
+
+
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
@@ -92,7 +105,7 @@
 				oneMap.put("paramItem",pojo.get("parameterItem"));
 				oneMap.put("paramItemTwo","");
 				oneMap.put("paramItemThree","");
-				oneMap.put("oneId",pojo.get("id"));
+				oneMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
 				oneMap.put("paramType",StringUtils.defaultString((String) pojo.get("type"),""));
 				oneMap.put("paramFormat",StringUtils.defaultString((String) pojo.get("parameterFormat"),""));
 				oneMap.put("unit",StringUtils.defaultString((String) pojo.get("unit"),""));
@@ -122,9 +135,9 @@
 					Map<String,Object> allMap = new HashMap<>();
 					allMap.put("code",pojo.get("code"));
 					allMap.put("paramItem",StringUtils.defaultString((String) pojo.get("parameterItem"),""));
-					allMap.put("oneId",pojo.get("id"));
-					allMap.put("twoId",second.get("id"));
-					allMap.put("threeId",t.getId());
+					allMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
+					allMap.put("twoId",StringUtils.defaultString( String.valueOf(second.get("id")) ,""));
+					allMap.put("threeId",StringUtils.defaultString(String.valueOf(t.getId()),""));
 					allMap.put("paramItemTwo",StringUtils.defaultString((String) second.get("parameterItem"),""));
 					allMap.put("paramItemThree",StringUtils.defaultString(t.getParameterItem(),""));
 					allMap.put("paramType",StringUtils.defaultString(t.getType(),""));
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/DivisionData.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/DivisionData.java
index 047b9fc..bdf20d2 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/DivisionData.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/DivisionData.java
@@ -1,8 +1,6 @@
 package com.chinaztt.mes.basic.excel;
 
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.baomidou.mybatisplus.annotation.Unique;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -25,4 +23,8 @@
 	 */
 	@ExcelProperty("鍏徃鍚嶇О")
 	private String companyName;
+
+	@ExcelProperty("宸ュ巶鍚嶇О")
+	private String factoryName;
+
 }
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/DivisionServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/DivisionServiceImpl.java
index ba3b912..be123fa 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/DivisionServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/DivisionServiceImpl.java
@@ -23,15 +23,18 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chinaztt.mes.basic.entity.Company;
 import com.chinaztt.mes.basic.entity.Division;
+import com.chinaztt.mes.basic.entity.Factory;
 import com.chinaztt.mes.basic.excel.DivisionData;
 import com.chinaztt.mes.basic.mapper.CompanyMapper;
 import com.chinaztt.mes.basic.mapper.DivisionMapper;
+import com.chinaztt.mes.basic.mapper.FactoryMapper;
 import com.chinaztt.mes.basic.service.DivisionService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 閮ㄩ棬
@@ -43,7 +46,7 @@
 @AllArgsConstructor
 public class DivisionServiceImpl extends ServiceImpl<DivisionMapper, Division> implements DivisionService {
        private CompanyMapper companyMapper;
-
+		private FactoryMapper factoryMapper;
 	/**
      * Description: 鍒嗛〉
      *
@@ -60,11 +63,13 @@
 
 	@Override
 	public void importWorkstationExcel(List<DivisionData> list) {
+		list.forEach(System.out::println);
 		if (CollectionUtil.isEmpty(list)) {
 			return;
 		}
 		List<Company> companyList = companyMapper.selectList(null);
-		 for (DivisionData data :list){
+		List<Factory> factories = factoryMapper.selectList(null);
+		for (DivisionData data :list){
 			 QueryWrapper<Division>QueryWrapper = new QueryWrapper<>();
 			 QueryWrapper.lambda().eq(Division::getDivisionNo,data.getDivisionNo());
 			 Division division1 = baseMapper.selectOne(QueryWrapper);
@@ -78,6 +83,11 @@
 				 division.setCompanyId(companyList.get(i).getId());
 				}
 			}
+			List<Factory> collect = factories.stream().filter(f -> f.getFactoryName().equals(data.getFactoryName())).collect(Collectors.toList());
+			if(collect.size() > 0){
+				division.setFactoryId(collect.get(0).getId());
+				division.setFactoryName(collect.get(0).getFactoryName());
+			}
 			if (division.getCompanyId()==null){
 				log.error("鍏徃:" + data.getCompanyName() + "涓嶅瓨鍦�");
 				continue ;
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
index e48e36f..c39ae5c 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
@@ -85,7 +85,8 @@
 			}
 			Post post = new Post();
 			BeanUtils.copyProperties(data, post);
-			post.setPostName(data.getWorkShops()+"-"+data.getPostName());
+			//TODO: data.getDivisionName()+"-"+   宀椾綅缁勫悎 閮ㄩ棬+宀椾綅
+			post.setPostName(data.getPostName());
 			for (int i = 0; i <companies.size() ; i++) {
 				if (companies.get(i).getCompanyName().equals(data.getCompanyName())){
 					post.setCompanyId(companies.get(i).getId());
diff --git a/mes-poc/src/main/java/com/chinaztt/mes/service/impl/PocServiceImpl.java b/mes-poc/src/main/java/com/chinaztt/mes/service/impl/PocServiceImpl.java
index 10b83eb..da29bb3 100644
--- a/mes-poc/src/main/java/com/chinaztt/mes/service/impl/PocServiceImpl.java
+++ b/mes-poc/src/main/java/com/chinaztt/mes/service/impl/PocServiceImpl.java
@@ -1,12 +1,8 @@
 package com.chinaztt.mes.service.impl;
 
-import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.chinaztt.mes.basic.dto.ParamDTO;
 import com.chinaztt.mes.basic.entity.*;
 import com.chinaztt.mes.basic.mapper.*;
-import com.chinaztt.mes.basic.util.DictUtils;
 import com.chinaztt.mes.common.numgen.NumberGenerator;
 import com.chinaztt.mes.dto.ParamReveiveDTO;
 import com.chinaztt.mes.dto.ProductTreeDTO;
@@ -23,11 +19,8 @@
 import com.chinaztt.mes.plan.service.CustomerOrderService;
 import com.chinaztt.mes.plan.service.CustomerService;
 import com.chinaztt.mes.plan.service.ManufacturingOrderService;
-import com.chinaztt.mes.plan.service.MasterProductionScheduleService;
-import com.chinaztt.mes.plan.state.auditstate.constant.AuditStateStringValues;
 import com.chinaztt.mes.plan.state.orderstate.constant.CustomerOrderStateStringValues;
 import com.chinaztt.mes.production.dto.OperationTaskDTO;
-import com.chinaztt.mes.production.entity.OperationTask;
 import com.chinaztt.mes.production.mapper.OperationTaskMapper;
 import com.chinaztt.mes.production.service.OperationTaskService;
 import com.chinaztt.mes.service.PocService;
@@ -42,15 +35,11 @@
 import com.chinaztt.mes.technology.state.bom.constant.BomStates;
 import com.chinaztt.mes.technology.state.document.constant.DocumentStateStringValues;
 import com.chinaztt.mes.technology.state.routing.constant.RoutingStates;
-import com.chinaztt.ztt.admin.api.entity.SysDictItem;
-import com.sun.corba.se.spi.orbutil.threadpool.Work;
 import lombok.AllArgsConstructor;
-import lombok.CustomLog;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.print.Doc;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
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 1cb0c7a..cace20d 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
@@ -32,9 +32,11 @@
 import com.chinaztt.ztt.admin.api.feign.RemoteDictService;
 import com.chinaztt.ztt.common.core.util.R;
 import com.chinaztt.ztt.common.log.annotation.SysLog;
+import com.chinaztt.ztt.common.security.util.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -60,6 +62,8 @@
 	private final StructureService structureService;
 	private final DictUtils dictUtils;
 
+	private RedisTemplate redisTemplate;
+
 	/**
 	 * 妯潃瀵煎叆鐨勫鍏ユ柟寮�
 	 *
@@ -68,6 +72,10 @@
 	 */
 	@PostMapping("/uploadExt")
 	public R uploadExt(@RequestParam("file") MultipartFile file) {
+		String key = "syncStructure_lock" + SecurityUtils.getUser().getId();
+		if (redisTemplate.hasKey(key)) {
+			throw new RuntimeException("鏈夊鍏ヤ换鍔℃鍦ㄥ鐞�");
+		}
 		ExcelReader excelReader = null;
 		try {
 			excelReader = EasyExcel.read(file.getInputStream(), StructureData.class, new StructureUploadListener(structureService)).build();
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/Structure.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/Structure.java
index 9fd2503..52048b5 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/Structure.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/Structure.java
@@ -149,4 +149,6 @@
 	private String dryingTemperature;
 
 	private String packingInfo;
+
+	private String custom;
 }
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/StructureComponent.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/StructureComponent.java
index dd6cf63..c46c882 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/StructureComponent.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/entity/StructureComponent.java
@@ -111,4 +111,5 @@
 	private String specs;
 
 	private String partModel;
+
 }
diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/BomServiceImpl.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/BomServiceImpl.java
index cacfed0..bb92df5 100644
--- a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/BomServiceImpl.java
+++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/BomServiceImpl.java
@@ -286,6 +286,7 @@
 		StructureTree root = getRootNode(partId);
 		//閫氳繃浜у搧缁撴瀯鏌ュ伐搴�
 		Map<Long, Integer> cache = new HashMap<>(80);
+
 		getStructureByPartId(root, partId, cache, version, alternativeNo, bomType, bomLayers);
 		return root;
 	}
@@ -617,7 +618,7 @@
 					if (bomLayers == 999) {
 						getStructureByPartId(child, component.getPartId(), cache, "ALL", "ALL", bomType, bomLayers);
 						// 鍒ゆ柇鍒扮鍑犲眰浜嗭紝鍒堕�犵被鍨嬩负1-宸插埗閫狅紝璁″垝鏂规硶涓篜-铏氭嫙浠�
-					} else if (bomLayers > 0 && (part.getMaterialType().equals("1") && !part.getPlanningMethod().equals(
+					} else if (bomLayers > 0 && (part.getMaterialType().equals("1") && part.getPlanningMethod().equals(
 							"A"))) {
 						getStructureByPartId(child, component.getPartId(), cache, "ALL", "ALL", bomType, bomLayers);
 					}
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 a6243fe..eef703c 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
@@ -17,6 +17,7 @@
 package com.chinaztt.mes.technology.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.lang.Console;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
@@ -46,9 +47,13 @@
 import com.chinaztt.mes.technology.mapper.StructureMapper;
 import com.chinaztt.mes.technology.service.StructureService;
 import com.chinaztt.ztt.common.core.util.R;
+import com.chinaztt.ztt.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
@@ -58,6 +63,7 @@
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
 
 
 /**
@@ -79,6 +85,10 @@
 	private NumberGenerator<Structure> numberGenerator;
 	private DictUtils dictUtils;
 	private IfsFeignClient ifsFeignClient;
+
+	private RedisTemplate redisTemplate;
+	@Autowired
+	private ThreadPoolTaskExecutor threadPoolTaskExecutor;
 
 	/**
 	 * @Author: Hans
@@ -257,7 +267,20 @@
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void importExcel(List<StructureData> list) {
+		String key = "syncStructure_lock" + SecurityUtils.getUser().getId();
+		if (redisTemplate.hasKey(key)) {
+			throw new RuntimeException("鏈夊鍏ヤ换鍔℃鍦ㄥ鐞�");
+		}
+		CompletableFuture.runAsync(()->{
+			asyncImport(list);
+			redisTemplate.delete(key);
+		},threadPoolTaskExecutor);
+	}
+
+
+	void asyncImport(List<StructureData> list){
 		if (CollectionUtil.isEmpty(list)) {
 			return;
 		}
@@ -265,14 +288,17 @@
 			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() + "涓嶅瓨鍦�");
+				log.error("闆朵欢鍙�:" + data.getPartNo() + "涓嶅瓨鍦�");
+				return;
 			}
 			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.setMaster(false);
+				structure.setVersion("1");
+				//structure.setActive(true);
 				structure.setBomTypeDb("M");
 				structure.setIfsSync(false);
 				structure.setAlternativeNo("*");
@@ -281,7 +307,8 @@
 			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() + "涓嶅瓨鍦�");
+				log.error("闆朵欢鍙�:" + data.getSonPartNo() + "涓嶅瓨鍦�");
+				return;
 			}
 			List<Operation> operations = operationMapper.selectList(Wrappers.<Operation>lambdaQuery().eq(Operation::getName, data.getOperationName()));
 			Operation operation = operations.get(0);
@@ -289,8 +316,21 @@
 			component.setStructureId(structure.getId());
 			component.setPartId(childPart.getId());
 			component.setPlanningMethod(childPart.getPlanningMethod());
+			QueryWrapper<StructureComponent> queryWrapper = new QueryWrapper<>();
+			queryWrapper.lambda().select(StructureComponent::getLineItemNo).eq(StructureComponent::getStructureId,structure.getId()).orderByDesc(StructureComponent::getLineItemNo);
+			List<StructureComponent> structureComponents = structureComponentMapper.selectList(queryWrapper);
 			component.setQpa(new BigDecimal(1));// todo: 浜у搧缁撴瀯瀵煎叆鏁伴噺,杩樼己涓�涓鍙�
+			Console.log("鍊�===銆�"+structureComponents);
+			if(structureComponents.size()<1){
+				component.setLineItemNo(1);
+			}else {
+				Integer lineItemNo = structureComponents.get(0).getLineItemNo();
+				component.setLineItemNo(lineItemNo+1);
+			}
 			component.setOperationId(operation.getId());
+			component.setPlanningMethod("A");
+			component.setSpecs(childPart.getSpecs());
+			component.setPartModel(childPart.getPartModel());
 			structureComponentMapper.insert(component);
 		}
 	}
@@ -441,6 +481,9 @@
 		Structure structure = baseMapper.selectById(component.getStructureId());
 		structure.setIfsSync(false);
 		validate(structure.getPartId(), component.getPartId());
+		Part part = partMapper.selectById(component.getPartId());
+		component.setPartModel(part.getPartModel());
+		component.setSpecs(part.getSpecs());
 		structureComponentMapper.insert(component);
 		// 瀵规帴ifs
 //		List<StructureDTO> structureDTOS = structureMapper.getStructureDtoByIds(Arrays.asList(component.getStructureId()));
diff --git a/mes-technology/src/main/resources/mapper/StructureMapper.xml b/mes-technology/src/main/resources/mapper/StructureMapper.xml
index ecba329..02a4982 100644
--- a/mes-technology/src/main/resources/mapper/StructureMapper.xml
+++ b/mes-technology/src/main/resources/mapper/StructureMapper.xml
@@ -47,6 +47,7 @@
 		<result property="dryingTime" column="drying_time"/>
 		<result property="dryingTemperature" column="drying_temperature"/>
 		<result property="packingInfo" column="packing_info"/>
+		<result property="custom" column="custom"/>
 	</resultMap>
 
 	<resultMap id="structureComponentMap" type="com.chinaztt.mes.technology.dto.StructureComponentDTO">

--
Gitblit v1.9.3