From 54f3f9d6c99f6890c39ff05b1e251a555709341a Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 08 四月 2025 11:55:36 +0800
Subject: [PATCH] 1.原辅料下单 2.检验对象选择
---
basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java | 51 +++++++++++++++++++++++++++++++++------------------
1 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
index d59f70f..3490bf4 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -7,12 +7,11 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.*;
import com.ruoyi.basic.excel.StructureTestObjectData;
import com.ruoyi.basic.service.*;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.basic.dto.PageTestObjectDto;
-import com.ruoyi.basic.dto.TestItemDto;
import com.ruoyi.basic.mapper.*;
import com.ruoyi.basic.pojo.*;
import com.ruoyi.common.utils.StringUtils;
@@ -56,7 +55,9 @@
private StructureItemParameterService structureItemParameterService;
private WorkShopMapper workShopMapper;
-
+
+ private ModelMapper modelMapper;
+
@Override
public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) {
return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter));
@@ -67,8 +68,7 @@
if (itemParameter.getBsm().equals("") || itemParameter.getBsm() == null) {
itemParameter.setBsm("0");
}
- int insert = structureItemParameterMapper.insert(itemParameter);
- return insert;
+ return structureItemParameterMapper.insert(itemParameter);
}
@Override
@@ -189,25 +189,35 @@
public List<TestItemDto> getItemTree() {
return structureItemParameterMapper.getItemTree();
}
-
+
+ @Override
+ public List<TestItemDto> getItemTreeProduct(StructureTestObjectDto structureTestObjectDto) {
+ return structureItemParameterMapper.getItemTreeProduct(structureTestObjectDto.getObjectType());
+ }
+
+ @Override
+ public List<Model> getProductTypes(ModelDto modelDto) {
+ return modelMapper.selectList(Wrappers.<Model>lambdaQuery().eq(Model::getProductId, modelDto.getProductId()));
+ }
+
+ @Override
+ public List<ProductPart> getPartNoList(ProductPartDto productPartDto) {
+ return productPartMapper.selectList(Wrappers.<ProductPart>lambdaQuery().eq(ProductPart::getProductId, productPartDto.getProductId()));
+ }
+
@Transactional(rollbackFor = Exception.class)
@Override
public void importPartExcel(List<StructureTestObjectData> list) {
- // 闃舵1: 鏁版嵁棰勫鐞�
- // 鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑鏍囨湰淇℃伅
- Set<String> specimenKeys = list.stream()
- .map(i -> i.getSpecimenName() + "|" + i.getSpecimenNameEn())
- .collect(Collectors.toSet());
-
// 闃舵2: 鎵归噺鏌ヨ鐜版湁缁撴瀯娴嬭瘯瀵硅薄
Map<String, StructureTestObject> existStructureTestObjects = structureTestObjectMapper.selectList(
Wrappers.<StructureTestObject>lambdaQuery()
.in(StructureTestObject::getSpecimenName, list.stream().map(StructureTestObjectData::getSpecimenName).collect(Collectors.toSet()))
.in(StructureTestObject::getSpecimenNameEn, list.stream().map(StructureTestObjectData::getSpecimenNameEn).collect(Collectors.toSet()))
+ .in(StructureTestObject::getObjectType, list.stream().map(StructureTestObjectData::getObjectType).collect(Collectors.toSet()))
).stream().collect(Collectors.toMap(
- obj -> obj.getSpecimenName() + "|" + obj.getSpecimenNameEn(),
+ obj -> generateStructureKey(obj.getSpecimenName(), obj.getSpecimenNameEn(), obj.getObjectType()), // 缁熶竴閿敓鎴�
Function.identity(),
- (existing, replacement) -> existing // 澶勭悊閲嶅閿�
+ (existing, replacement) -> existing
));
// 闃舵3: 棰勫鐞嗚溅闂翠俊鎭�
@@ -234,7 +244,7 @@
for (StructureTestObjectData i : list) {
// 澶勭悊缁撴瀯娴嬭瘯瀵硅薄锛堥�昏緫涓嶅彉锛�
- String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn();
+ String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn() + "|" + i.getObjectType();
StructureTestObject structureTestObject = existStructureTestObjects.get(specimenKey);
if (structureTestObject == null) {
@@ -270,6 +280,11 @@
obj.setLaboratoryId(9);
}
+ // 缁熶竴閿敓鎴愭柟娉�
+ private String generateStructureKey(String name, String nameEn, String objectType) {
+ return name + "|" + nameEn + "|" + objectType;
+ }
+
// 澶勭悊浜у搧鏁版嵁
private void processProductData(StructureTestObjectData data,
Integer objectId,
@@ -277,7 +292,7 @@
List<Product> insertList,
List<Product> updateList) {
// 鏋勫缓浜у搧鍞竴鏍囪瘑
- String productKey = data.getName() + "|" + data.getNameEn();
+ String productKey = data.getName() + "|" + data.getNameEn() + "|" + data.getObjectType();
// 妫�鏌ュ唴瀛樹腑鏄惁宸插鐞嗚繃璇ヤ骇鍝�
Optional<Product> existingProduct = findProductInBatchLists(productKey, insertList, updateList);
@@ -364,7 +379,7 @@
List<StructureTestObject> insertedObjects) {
insertedObjects.forEach(obj -> {
- String key = obj.getSpecimenName() + "|" + obj.getSpecimenNameEn();
+ String key = obj.getSpecimenName() + "|" + obj.getSpecimenNameEn() + "|" + obj.getObjectType();
existStructureTestObjects.get(key).setId(obj.getId()); // 鏇存柊缂撳瓨涓殑ID
});
}
@@ -378,7 +393,7 @@
// 闃舵5鍘熸湁浜у搧澶勭悊閫昏緫杩佺Щ鑷虫
pendingProducts.forEach(i -> {
- String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn();
+ String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn() + "|" + i.getObjectType();
StructureTestObject sto = structureTestObjectCache.get(specimenKey);
processProductData(
--
Gitblit v1.9.3