| | |
| | | import com.ruoyi.basic.service.ProductService; |
| | | import com.ruoyi.basic.service.StandardProductListService; |
| | | import com.ruoyi.basic.service.StructureItemParameterService; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | public void importPartExcel(List<StructureTestObjectData> list) { |
| | | list.forEach(i -> { |
| | | // 检验对象 |
| | | if(StringUtils.isBlank(i.getSpecimenName())){ |
| | | throw new RuntimeException("检测对象不能为空"); |
| | | } |
| | | StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery() |
| | | .eq(StructureTestObject::getSpecimenName, i.getSpecimenName()) |
| | | .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); |
| | | .eq(StringUtils.isNotBlank(i.getSpecimenNameEn()),StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); |
| | | Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery() |
| | | .eq(Laboratory::getLaboratoryName, i.getLaboratory())); |
| | | if (ObjectUtils.isEmpty(laboratory)) { |
| | | throw new BaseException("未找到该场所:" + i.getLaboratory() + ",请检查是否存在该场所!"); |
| | | } |
| | | StructureTestObject structureTestObject = new StructureTestObject(); |
| | | structureTestObject.setCode(i.getCode()); |
| | | structureTestObject.setLaboratoryId(laboratory.getId()); |
| | | // 如果为空进行新增 |
| | | if(ObjectUtils.isEmpty(structureTestObject1)) { |
| | | StructureTestObject structureTestObject = new StructureTestObject(); |
| | | structureTestObject.setLaboratoryId(laboratory.getId()); |
| | | structureTestObject.setSpecimenName(i.getSpecimenName()); |
| | | structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn()); |
| | | structureTestObject.setCode(i.getCode()); |
| | | structureTestObjectMapper.insert(structureTestObject); |
| | | |
| | | // 产品 |
| | | Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() |
| | | .eq(Product::getName, i.getName()) |
| | | .eq(Product::getNameEn, i.getNameEn())); |
| | | if (ObjectUtils.isEmpty(product)){ |
| | | Product product1 = new Product(); |
| | | product1.setName(i.getName()); |
| | | product1.setNameEn(i.getNameEn()); |
| | | product1.setObjectId(structureTestObject.getId()); |
| | | baseMapper.insert(product1); |
| | | } |
| | | } else { |
| | | structureTestObject1.setCode(i.getCode()); |
| | | structureTestObject1.setLaboratoryId(laboratory.getId()); |
| | | // structureTestObject1.setCode(i.getCode()); |
| | | // structureTestObject1.setLaboratoryId(laboratory.getId()); |
| | | structureTestObjectMapper.updateById(structureTestObject1); |
| | | // 产品 |
| | | Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() |
| | | .eq(Product::getName, i.getName()) |
| | | .eq(Product::getNameEn, i.getNameEn())); |
| | | if (ObjectUtils.isEmpty(product)){ |
| | | Product product1 = new Product(); |
| | | product1.setName(i.getName()); |
| | | product1.setNameEn(i.getNameEn()); |
| | | product1.setObjectId(structureTestObject1.getId()); |
| | | baseMapper.insert(product1); |
| | | } else { |
| | | product.setName(i.getName()); |
| | | product.setNameEn(i.getNameEn()); |
| | | product.setObjectId(structureTestObject1.getId()); |
| | | baseMapper.updateById(product); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(i.getName())){ |
| | | insertProduct(i.getName(),i.getNameEn(),structureTestObject.getId()); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void insertProduct(String name,String nameEN,Integer structureId){ |
| | | // 产品 |
| | | Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() |
| | | .eq(Product::getName, name) |
| | | .eq(Product::getNameEn, nameEN)); |
| | | if (ObjectUtils.isEmpty(product)){ |
| | | product = new Product(); |
| | | product.setName(name); |
| | | product.setNameEn(nameEN); |
| | | } |
| | | product.setObjectId(structureId); |
| | | this.saveOrUpdate(product); |
| | | } |
| | | |
| | | } |