From c8b01767292b3acaae1cc93618265f8d0e0dbf71 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期六, 26 八月 2023 16:09:24 +0800
Subject: [PATCH] 开发8-26加班人员管理对接权限结束
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 161 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 98 insertions(+), 63 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 c285546..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
@@ -2,8 +2,8 @@
import cn.hutool.core.lang.Snowflake;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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;
@@ -13,9 +13,9 @@
import com.yuanchu.limslaboratory.pojo.vo.InspectDetailVo;
import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
import com.yuanchu.limslaboratory.service.*;
-import com.yuanchu.limslaboratory.utils.MyUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
@@ -60,8 +60,6 @@
@Resource
UserMapper userMapper;
- @Resource
- ReportMapper reportMapper;
/**
* 鏌ヨ妫�楠岀敵璇峰崟鍒楄〃
@@ -82,6 +80,7 @@
* @return
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Integer addInspect(Integer id, InspectionVo inspectionVo) {
/*鏂板妫�楠岀敵璇疯〃*/
Inspection inspection = Inspection.builder()
@@ -105,43 +104,51 @@
.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鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@Override
+ @Transactional(rollbackFor = Exception.class)
public InspectDetailVo selectInspectsListById(Integer id) {
/*灏嗘楠屽崟鍩烘湰淇℃伅鏌ヨ鍑烘潵骞跺皝瑁呭埌RawInspectVo瀵硅薄涓�*/
Inspection inspection = inspectionMapper.selectById(id);
@@ -185,35 +192,63 @@
return inspectDetailVo;
}
- //鏇存柊妫�楠屽崟妫�楠岀粨鏋�
+ //浣滃簾妫�楠屽崟
@Override
- public boolean updateInspectsById(Integer id) {
- //鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀姸鎬佸拰妫�楠岀粨璁�
- InspectDetailVo inspectDetailVo = selectInspectsListById(id);
- Inspection inspection = Inspection.builder()
- .id(id)
- .inspectionStatus(inspectDetailVo.getInspectionStatus())
- .build();
+ @Transactional(rollbackFor = Exception.class)
+ public String delInspect(Integer id) {
+ /*浣滃簾妫�楠屽崟*/
+ Inspection inspection = new Inspection();
+ inspection.setId(id);
+ inspection.setState(0);
inspectionMapper.updateById(inspection);
- //鐢熸垚鎶ュ憡鍗�
- Report report = new Report();
- //鐢熸垚鎶ュ憡鍗曞彿
- String code = MyUtil.getTimeSixNumberCode("BG","BG");
- //鑾峰彇妫�楠岀粨璁�
- String conclusion = "";
- Inspection inspection1 = inspectionMapper.selectById(id);
- if (inspection1.getInspectionStatus().equals(1)) {
- conclusion = "鍚堟牸";
- }else {
- conclusion = "涓嶅悎鏍�";
- }
- report.setCode(code);
- report.setStatus(0);
- report.setConclusion(conclusion);
- report.setInspectionId(id);
- reportMapper.insert(report);
-
- return true;
+ /*浣滃簾妫�楠屾牱鍝�*/
+ InspectionMaterial inspectionMaterial = inspectionMaterialMapper.selectOne(Wrappers.<InspectionMaterial>query().eq("inspection_id", id));
+ inspectionMaterial.setState(0);
+ inspectionMaterialMapper.updateById(inspectionMaterial);
+ /*浣滃簾妫�楠岄」鐩�*/
+ inspectionProductMapper.updat(inspectionMaterial.getId());
+ return "浣滃簾鎴愬姛!";
}
+
+ //淇濆瓨妫�楠岄」鐩矗浠讳汉
+ @Override
+ public String chooseUseProId(Integer id, Integer userProId) {
+ InspectionProduct inspectionProduct = new InspectionProduct();
+ inspectionProduct.setId(id);
+ inspectionProduct.setUserProId(userProId);
+ 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) {
+ //鑾峰彇鐗╂枡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