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 | 157 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 94 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 66bfb6e..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,7 +13,6 @@ 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; @@ -61,8 +60,6 @@ @Resource UserMapper userMapper; - @Resource - ReportMapper reportMapper; /** * 鏌ヨ妫�楠岀敵璇峰崟鍒楄〃 @@ -107,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鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏 @@ -188,36 +192,63 @@ return inspectDetailVo; } - //鏇存柊妫�楠屽崟妫�楠岀粨鏋� + //浣滃簾妫�楠屽崟 @Override @Transactional(rollbackFor = Exception.class) - public boolean updateInspectsById(Integer id) { - //鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀姸鎬佸拰妫�楠岀粨璁� - InspectDetailVo inspectDetailVo = selectInspectsListById(id); - Inspection inspection = Inspection.builder() - .id(id) - .inspectionStatus(inspectDetailVo.getInspectionStatus()) - .build(); + 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