From f1d445b9d51abb020cbcd4a61b4edd36fbe75216 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期六, 26 八月 2023 15:57:38 +0800 Subject: [PATCH] 新增检验修改 --- 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