From 934f0bc7c1f73674fbbfd2301425a14087c09eac Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 06 三月 2025 15:58:45 +0800 Subject: [PATCH] 能力范围调整 --- basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 7 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 6bc9025..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,6 +2,7 @@ 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; @@ -12,15 +13,24 @@ 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; @@ -47,9 +59,32 @@ 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 @@ -67,7 +102,29 @@ } @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); } @@ -82,20 +139,19 @@ if(count.compareTo(0L) > 0){ throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); } - return structureTestObjectMapper.insert(testObject); } @Override public int delTestObject(Integer id) { - // 鍒犻櫎浜у搧缁存姢鐨勯浂浠剁粦瀹� List<Product> products = productMapper.selectList(Wrappers.<Product>lambdaQuery() .eq(Product::getObjectId, id)); List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList()); // 鍒犻櫎浜у搧缁存姢 - 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