From 15e31c6e6550f9e8bf6fb1df5ca5ad4cc726b64f Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期六, 26 八月 2023 13:30:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 69 insertions(+), 32 deletions(-)
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
index 9187912..571f2dc 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.lang.Snowflake;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -103,39 +104,46 @@
.build();
inspectionMaterialMapper.insert(inspectionMaterial);
/*鏂板妫�楠岄」鐩〃*/
- //鑾峰彇鐗╂枡id
- Material material = materialMapper.selectOne(Wrappers.<Material>query()
- .eq("name", inspectionVo.getName())
- .eq("code", inspectionVo.getMcode()));
- //鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
- String specification = inspectionVo.getSpecifications();
- String[] split = specification.split("-");
- String stName = split[0];
- String spName = split[1];
- //鑾峰彇瑙勬牸id
- Standard standard = standardService.getOne(Wrappers.<Standard>query()
- .eq("name", stName)
- .eq("material_id", material.getId()));
- //鑾峰彇鍨嬪彿id
- Specifications specifications = specificationsService.getOne(Wrappers.<Specifications>query()
- .eq("name", spName)
- .eq("standard_id", standard.getId()));
- //鏍规嵁鍨嬪彿id鏌ヨ椤圭洰淇℃伅
- List<Product> productList = productMapper.selectList(Wrappers.<Product>query().eq("specifications_id", specifications.getId()));
- ArrayList<InspectionProduct> list = new ArrayList<>();
- for (Product product : productList) {
- InspectionProduct rawInsProduct = InspectionProduct.builder()
- .name(product.getName())
- .unit(product.getUnit())
- .required(product.getRequired())
- .internal(product.getInternal())
- .inspectionMaterialId(material.getId())
- .build();
- list.add(rawInsProduct);
+ //鏍规嵁鏍峰搧鍚嶇О缂栧彿浠ュ強鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id
+ Integer specificationId = getSpecificationId(inspectionVo.getName(), inspectionVo.getMcode(), inspectionVo.getSpecifications());
+ //濡傛灉璇曢獙椤圭洰瀛楁涓嶄负绌�
+ if (ObjectUtils.isNotEmpty(inspectionVo.getExperiment())) {
+ //鑾峰彇璇曢獙椤圭洰淇℃伅(缁撴瀯,瀵肩嚎澶栧緞)
+ List<String> experiments = Arrays.stream(inspectionVo.getExperiment().split(",")).collect(Collectors.toList());
+ //鏍规嵁鍨嬪彿id鍜岄」鐩俊鎭煡璇㈤」鐩俊鎭�
+ List<Product> products = new ArrayList<>();
+ for (String experiment : experiments) {
+ List<Product> productList1 = productMapper.selectList(Wrappers.<Product>query()
+ .eq("specifications_id", specificationId)
+ .eq("father", experiment));
+ if (ObjectUtils.isEmpty(productList1)) {
+ Product product = productMapper.selectOne(Wrappers.<Product>query()
+ .eq("specifications_id", specificationId)
+ .isNull("father")
+ .eq("name", experiment));
+ products.add(product);
+ } else products.addAll(productList1);
+ }
+
+ //灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩�
+ ArrayList<InspectionProduct> list = new ArrayList<>();
+ for (Product product : products) {
+ InspectionProduct rawInsProduct = InspectionProduct.builder()
+ .name(product.getName())
+ .unit(product.getUnit())
+ .required(product.getRequired())
+ .internal(product.getInternal())
+ .inspectionMaterialId(inspectionMaterial.getId())
+ .build();
+ list.add(rawInsProduct);
+ }
+
+ //妫�楠岄」鐩壒閲忔坊鍔�
+ inspectionProductService.saveBatch(list);
+ return inspection.getId();
}
- //妫�楠岄」鐩壒閲忔坊鍔�
- inspectionProductService.saveBatch(list);
- return inspection.getId();
+ //todo:鏈畬
+ return null;
}
//鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@@ -213,5 +221,34 @@
}
+ //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�
+ @Override
+ public List<Map<String, Object>> chooseVer(String name, String mcode, String specifications) {
+ Integer specificationId = getSpecificationId(name, mcode, specifications);
+ return null;
+ }
+
+
+ /*鏍规嵁鏍峰搧鍚嶇О,鏍峰搧缂栧彿,鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id*/
+ private Integer getSpecificationId(String name, String mcode, String specification) {
+ //鑾峰彇鐗╂枡id
+ Material material = materialMapper.selectOne(Wrappers.<Material>query()
+ .eq("name", name)
+ .eq("code", mcode));
+ //鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
+ String[] split = specification.split("-");
+ String stName = split[0];
+ String spName = split[1];
+ //鑾峰彇瑙勬牸id
+ Standard standard = standardService.getOne(Wrappers.<Standard>query()
+ .eq("name", stName)
+ .eq("material_id", material.getId()));
+ //鑾峰彇鍨嬪彿id
+ Specifications specifications = specificationsService.getOne(Wrappers.<Specifications>query()
+ .eq("name", spName)
+ .eq("standard_id", standard.getId()));
+ return specifications.getId();
+ }
+
}
--
Gitblit v1.9.3