From c5138faa1c4771bfbc19de5b257e7c129c081cb8 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期一, 28 八月 2023 13:30:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 93 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 75 insertions(+), 18 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 571f2dc..4f5f9c1 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
@@ -60,6 +60,12 @@
@Resource
UserMapper userMapper;
+ @Resource
+ RawMaterialMapper rawMaterialMapper;
+
+ @Resource
+ LinkDetectionMapper linkDetectionMapper;
+
/**
* 鏌ヨ妫�楠岀敵璇峰崟鍒楄〃
@@ -72,10 +78,40 @@
return inspectionMapper.selectInspectsList(page, message);
}
+ //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�
+ @Override
+ public List<Integer> chooseVer(String name, String mcode, String specifications) {
+ Integer specificationId = getSpecificationId(name, mcode, specifications);
+ return productMapper.chooseVersion(specificationId);
+ }
+
+ //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�-->鏌ョ湅璇ョ増鏈笅鎴戜滑瑕佸仛鐨勯」鐩姹�
+ @Override
+ public List<Map<String, Object>> lookProByVer(String name, String mcode, String specifications, Integer version, String experiment) {
+ Integer specificationId = getSpecificationId(name, mcode, specifications);
+ /*濡傛灉璇曢獙椤圭洰涓虹┖鍒欐槸鎴愬搧妫�楠屾垨鑰呭師鏉愭枡妫�楠屽垯鏄睍绀鸿鐗堟湰鐨勬墍鏈夐」鐩楠岃姹傚弬鏁�*/
+ if (ObjectUtils.isEmpty(experiment)) {
+ return productMapper.pageProductInformation(specificationId, version);
+ }
+ /*濡傛灉涓嶄负绌哄垯鏄鎵樻楠�,鍙睍绀烘垜浠妫�楠岀殑椤圭洰瑕佹眰鍙傛暟*/
+ //鑾峰彇璇曢獙椤圭洰淇℃伅(缁撴瀯,瀵肩嚎澶栧緞)
+ List<String> experiments = Arrays.stream(experiment.split(",")).collect(Collectors.toList());
+ //鏍规嵁鍨嬪彿id鍜岄」鐩俊鎭煡璇㈤」鐩俊鎭�
+ List<Map<String, Object>> products = new ArrayList<>();
+ for (String exper : experiments) {
+ List<Map<String, Object>> list = productMapper.selFath(specificationId, exper, version);
+ if (ObjectUtils.isEmpty(list)) {
+ Map<String, Object> project = productMapper.selNam(specificationId, exper, version);
+ products.add(project);
+ }
+ products.addAll(list);
+ }
+ return products;
+ }
+
/**
* 鏂板妫�楠岀敵璇疯〃
- *
- * @param id
+ * @param id 鐢ㄦ埛id
* @param
* @return
*/
@@ -91,6 +127,21 @@
.userId(id)
.build();
inspectionMapper.insert(inspection);
+ /*濡傛灉鏄師鏉愭枡妫�楠�,鏂板涔嬪悗瑕佹洿鏀瑰師鏉愭枡鎶ユ鐨勭姸鎬佸拰妫�楠屼汉,妫�楠屾棩鏈�*/
+ if (inspectionVo.getType()==0) {
+ RawMaterial rawMaterial = new RawMaterial();
+ rawMaterial.setId(inspectionVo.getId());
+ rawMaterial.setType(1);
+ rawMaterial.setSurveyor(userMapper.selectById(id).getName());
+ rawMaterialMapper.updateById(rawMaterial);
+ }
+ /*濡傛灉鏄鎵樻楠�,鏂板涔嬪悗瑕佹洿鏀瑰鎵樻姤妫�鐨勭姸鎬�*/
+ else if (inspectionVo.getType()==2){
+ LinkDetection linkDetection = new LinkDetection();
+ linkDetection.setId(inspectionVo.getId());
+ linkDetection.setInspectionStatus(2);
+ linkDetectionMapper.updateById(linkDetection);
+ }
/*鏂板妫�楠屾牱鍝佽〃*/
InspectionMaterial inspectionMaterial = InspectionMaterial.builder()
.code(inspectionVo.getMcode())
@@ -106,7 +157,7 @@
/*鏂板妫�楠岄」鐩〃*/
//鏍规嵁鏍峰搧鍚嶇О缂栧彿浠ュ強鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿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());
@@ -115,16 +166,17 @@
for (String experiment : experiments) {
List<Product> productList1 = productMapper.selectList(Wrappers.<Product>query()
.eq("specifications_id", specificationId)
- .eq("father", experiment));
+ .eq("father", experiment)
+ .eq("version", inspectionVo.getVersion()));
if (ObjectUtils.isEmpty(productList1)) {
Product product = productMapper.selectOne(Wrappers.<Product>query()
.eq("specifications_id", specificationId)
.isNull("father")
- .eq("name", experiment));
+ .eq("name", experiment)
+ .eq("version", inspectionVo.getVersion()));
products.add(product);
} else products.addAll(productList1);
}
-
//灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩�
ArrayList<InspectionProduct> list = new ArrayList<>();
for (Product product : products) {
@@ -137,13 +189,27 @@
.build();
list.add(rawInsProduct);
}
-
//妫�楠岄」鐩壒閲忔坊鍔�
inspectionProductService.saveBatch(list);
return inspection.getId();
}
- //todo:鏈畬
- return null;
+ //濡傛灉璇曢獙椤圭洰涓虹┖鍒欐寜鐓у瀷鍙穒d鍦ㄦ爣鍑嗗簱閲岄潰鍏ㄩ儴鍖归厤
+ List<Product> productList = productMapper.selectList(Wrappers.<Product>query().eq("specifications_id", specificationId));
+ //灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩�
+ 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(inspectionMaterial.getId())
+ .build();
+ list.add(rawInsProduct);
+ }
+ //妫�楠岄」鐩壒閲忔坊鍔�
+ inspectionProductService.saveBatch(list);
+ return inspection.getId();
}
//鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@@ -219,15 +285,6 @@
inspectionProductMapper.updateById(inspectionProduct);
return "淇濆瓨鎴愬姛!";
}
-
-
- //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�
- @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) {
--
Gitblit v1.9.3