From eeb8d7faa8d25b3ca9fe75ef28f035c49af5b06d Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期二, 11 三月 2025 11:05:38 +0800 Subject: [PATCH] Merge branch 'dev' into dev_zj --- basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java | 89 +++++++++++++++++++++++++++++++++----------- 1 files changed, 66 insertions(+), 23 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java index f63a161..fc2ec38 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java @@ -2,25 +2,35 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.dto.PageTestObjectDto; import com.ruoyi.basic.dto.TestItemDto; import com.ruoyi.basic.mapper.*; import com.ruoyi.basic.pojo.*; import com.ruoyi.basic.service.CapacityScopeService; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.service.StandardProductListService; import com.ruoyi.basic.service.StructureItemParameterService; +import com.ruoyi.system.mapper.SysDictTypeMapper; +import com.ruoyi.system.service.ISysDictTypeService; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; /** @@ -33,7 +43,9 @@ @AllArgsConstructor public class CapacityScopeServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements CapacityScopeService { - private LaboratoryMapper laboratoryMapper; + private StandardProductListMapper standardProductListMapper; + + private ThreadPoolTaskExecutor threadPoolTaskExecutor; private StructureItemParameterMapper structureItemParameterMapper; @@ -41,19 +53,38 @@ private ProductMapper productMapper; - private StructureTestObjectPartMapper structureTestObjectPartMapper; - - private ProductPartMapper productPartMapper; - private StandardProductListService standardProductListService; private StandardTreeMapper standardTreeMapper; private StructureItemParameterService structureItemParameterService; + private ISysDictTypeService sysDictTypeService; + @Override public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) { - return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); + IPage<StructureItemParameter> parameterIPage = structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); + //鏌ヨ瀛楀吀 + Map<String, List<SysDictData>> dictMaps = sysDictTypeService.selectEnumListByCategory(Arrays.asList("妫�楠岄」绫诲瀷", "鏄惁", "妫�楠屽�肩被鍨�", "鍗曚綅")); + parameterIPage.getRecords().forEach(ele->{ + ele.setInspectionItemTypeTwo(getLabelByValue(dictMaps.get("妫�楠岄」绫诲瀷"),ele.getInspectionItemType())); + ele.setUpdateBsm(getLabelByValue(dictMaps.get("鏄惁"),ele.getBsm())); + ele.setInspectionValueTypeTwo(getLabelByValue(dictMaps.get("妫�楠屽�肩被鍨�"),ele.getInspectionValueType())); + }); + return parameterIPage; + } + + /** + * 鏍规嵁value鑾峰彇瀛楀吀 + * @param dictList + * @param value + * @return + */ + private String getLabelByValue(List<SysDictData> dictList, String value){ + if(dictList.isEmpty()){ + return ""; + } + return dictList.stream().filter(ele-> Objects.equals(ele.getDictValue(),value)).map(SysDictData::getDictLabel).findFirst().orElse(""); } @Override @@ -71,15 +102,35 @@ } @Override + @Transactional(rollbackFor = Exception.class) public int upItemParameter(StructureItemParameter itemParameter) { + //鑳藉姏鑼冨洿鏇存柊锛屽悓鏃舵洿鏂板搴旂殑鏍囧噯搴� + StructureItemParameter oldParameter = structureItemParameterMapper.selectById(itemParameter.getId()); + //鍒ゆ柇妫�楠岄」銆佹楠屽瓙椤广�佸崟浣嶆槸鍚︽湁淇敼锛屾湁灏卞悓鏃朵慨鏀规爣鍑嗗簱瀵瑰簲鐨勬暟鎹� + if( + !StringUtils.equals(itemParameter.getInspectionItem(),oldParameter.getInspectionItem()) || + !StringUtils.equals(itemParameter.getInspectionItemSubclass(),oldParameter.getInspectionItemSubclass()) || + !StringUtils.equals(itemParameter.getInspectionItemEn(),oldParameter.getInspectionItemEn()) || + !StringUtils.equals(itemParameter.getInspectionItemSubclassEn(),oldParameter.getInspectionItemSubclassEn()) || + !StringUtils.equals(itemParameter.getUnit(),oldParameter.getUnit()) + ){ + CompletableFuture.runAsync(() -> { + LambdaUpdateWrapper<StandardProductList> updateWrapper = Wrappers.<StandardProductList>lambdaUpdate() + .set(StandardProductList::getInspectionItem, itemParameter.getInspectionItem()) + .set(StandardProductList::getInspectionItemEn, itemParameter.getInspectionItemEn()) + .set(StandardProductList::getInspectionItemSubclass, itemParameter.getInspectionItemSubclass()) + .set(StandardProductList::getInspectionItemSubclassEn, itemParameter.getInspectionItemSubclassEn()) + .set(StandardProductList::getUnit, itemParameter.getUnit()) + .eq(StandardProductList::getStructureItemParameterId,itemParameter.getId()); + standardProductListMapper.update(null,updateWrapper); + },threadPoolTaskExecutor); + } return structureItemParameterMapper.updateById(itemParameter); } @Override public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) { - String partNo = pageTestObjectDto.getPartNo(); - pageTestObjectDto.setPartNo(null); - return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo); + return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto)); } @Override @@ -88,27 +139,19 @@ if(count.compareTo(0L) > 0){ throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); } - return structureTestObjectMapper.insert(testObject); } @Override public int delTestObject(Integer id) { - // 浜у嚭妫�楠屽璞′骇鍝佺淮鎶� - structureTestObjectPartMapper.delete(Wrappers.<StructureTestObjectPart>lambdaQuery() - .eq(StructureTestObjectPart::getTestObjectId, id)); - - // 鍒犻櫎浜у搧缁存姢鐨勯浂浠剁粦瀹� List<Product> products = productMapper.selectList(Wrappers.<Product>lambdaQuery() .eq(Product::getObjectId, id)); List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList()); - productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery() - .in(ProductPart::getProductId, productIds)); - // 鍒犻櫎浜у搧缁存姢 - productMapper.delete(Wrappers.<Product>lambdaQuery() - .in(Product::getId, productIds)); - + if (productIds.size()>0) { + productMapper.delete(Wrappers.<Product>lambdaQuery() + .in(Product::getId, productIds)); + } return structureTestObjectMapper.deleteById(id); } -- Gitblit v1.9.3