From 3a4ec5e2eae59901979f4309acb44eebacb75c56 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 25 八月 2023 17:45:18 +0800 Subject: [PATCH] 委托报检修改 --- 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