From afd4b25f5744725c92be40217aae0760289b4671 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 08 四月 2025 11:19:05 +0800 Subject: [PATCH] 标准库添加委托要求功能 --- basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java | 3 + basic-server/src/main/java/com/ruoyi/basic/dto/StructureItemParameterDto.java | 14 +++++++ basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java | 3 + basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java | 36 ++++++++++++++++++ basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 8 +++- basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java | 22 +++++++++- 6 files changed, 80 insertions(+), 6 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/StructureItemParameterDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/StructureItemParameterDto.java new file mode 100644 index 0000000..3113728 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/basic/dto/StructureItemParameterDto.java @@ -0,0 +1,14 @@ +package com.ruoyi.basic.dto; + +import lombok.Data; + +@Data +public class StructureItemParameterDto { + + private String tree; + + /** + * 鏄惁濮旀墭瑕佹眰 0 鍚� 1 鏄� + */ + private String delegateRequestFlag; +} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java index e95ac18..f6cdb2f 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java +++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.StructureItemParameterDto; import com.ruoyi.basic.dto.TestItemDto; import com.ruoyi.basic.pojo.StandardProductList; import com.ruoyi.basic.pojo.StructureItemParameter; @@ -28,7 +29,7 @@ int removeNoSample(@Param("sample") String sample); - List<StructureItemParameter> selectItemParameterBySample(@Param("sample") String sample); + List<StructureItemParameter> selectItemParameterBySample(@Param("structureItemParameterDto") StructureItemParameterDto structureItemParameterDto); List<TestItemDto> getItemTreeProduct(@Param("objectType") String objectType); } diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java index a2b34ba..c88fe58 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java +++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java @@ -246,4 +246,7 @@ @ExcelProperty(value = "妫�娴嬪弬鏁扮紪鍙�",index = 3) @TableField(exist = false) private String parameterNumber; + + @ApiModelProperty(value = "鏄惁濮旀墭瑕佹眰 0 鍚� 1 鏄�") + private String delegateRequestFlag; } \ No newline at end of file diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java index 596aabb..652af35 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java @@ -5,14 +5,19 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.enums.BasicTreeEnums; +import com.ruoyi.basic.enums.TestPorjectTypeEnums; import com.ruoyi.basic.mapper.StandardMethodListMapper; +import com.ruoyi.basic.mapper.StandardMethodMapper; import com.ruoyi.basic.mapper.StandardProductListMapper; import com.ruoyi.basic.mapper.WorkShopMapper; +import com.ruoyi.basic.pojo.StandardMethod; import com.ruoyi.basic.pojo.StandardMethodList; import com.ruoyi.basic.pojo.StandardProductList; import com.ruoyi.basic.pojo.WorkShop; import com.ruoyi.basic.service.StandardMethodListService; import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +25,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author Administrator @@ -37,6 +43,9 @@ @Autowired private WorkShopMapper workShopMapper; + + @Autowired + private StandardMethodMapper standardMethodMapper; @Override @@ -103,6 +112,33 @@ standardMethodListArray = standardMethodListMapper.selectStandardMethodLists(sampleType); } } + // 鍒ゆ柇鏄惁鏄垚鍝�/鍗婃垚鍝� + boolean isProduct = false; + for (int i = 0; i < trees.length; i++) { + if(TestPorjectTypeEnums.FINISHED_PRODUCT.getName().equals(trees[i]) || TestPorjectTypeEnums.SEMI_FINISHED_PRODUCT.getName().equals(trees[i])){ + isProduct = true; + break; + } + } + // 濡傛灉鏄垚鍝�/鍗婃垚鍝� 涓� 妫�楠屾爣鍑嗛噷涓嶅寘鍚鎵樿姹傘�傛煡璇㈠苟娣诲姞鑷抽泦鍚� + boolean isContainDelegateRequest = false; + for (StandardMethodList standardMethodList : standardMethodListArray) { + if("濮旀墭瑕佹眰".equals(standardMethodList.getName())){ + isContainDelegateRequest = true; + break; + } + } + if(isProduct && !isContainDelegateRequest){ + QueryWrapper<StandardMethod> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("name","濮旀墭瑕佹眰"); + queryWrapper.eq("is_use","1"); + List<StandardMethod> standardMethods = standardMethodMapper.selectList(queryWrapper); + standardMethodListArray.addAll(standardMethods.stream().map(item -> { + StandardMethodList standardMethodList = new StandardMethodList(); + BeanUtils.copyProperties(item, standardMethodList); + return standardMethodList; + }).collect(Collectors.toList())); + } map.put("standardMethodList", standardMethodListArray); return map; } diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java index 33a54de..305e77c 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java @@ -75,6 +75,9 @@ @Autowired private StandardProductListSupplierAskBackupRelMapper standardProductListSupplierAskBackupRelMapper; + @Autowired + private StandardMethodMapper standardMethodMapper; + @Override public int upStandardProductList(StandardProductList list) { @@ -383,14 +386,27 @@ if(StringUtils.isEmpty(checkItemQueryTree.toString())){ return map; } + // 鍒ゆ柇鏄惁涓哄鎵樿姹傛爣鍑� + StandardMethod standardMethod = standardMethodMapper.selectById(id); + if(ObjectUtils.isEmpty(standardMethod)){ + return map; + } + StructureItemParameterDto structureItemParameterDto = new StructureItemParameterDto(); + if(standardMethod.getName().equals("濮旀墭瑕佹眰")){ + structureItemParameterDto.setDelegateRequestFlag("1"); + }else { + structureItemParameterDto.setDelegateRequestFlag("0"); + } + structureItemParameterDto.setTree(checkItemQueryTree.toString()); + // 鏍规嵁妫�楠屽璞�/浜у搧鏌ヨ妫�楠岄」 - List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(checkItemQueryTree.toString()); + List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto); // 濡傛灉鏄骇鍝佺殑妫�鏌ラ」涓虹┖鍚戜笂鎺� if(CollectionUtils.isEmpty(structureItemParameterList)){ String query = "[\"" + sampleType + "\"]"; - structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(query); + structureItemParameterDto.setTree(query); + structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto); } - // 鏌ヨ鏍囧噯搴撳凡缁戝畾妫�鏌ラ」鐩� List<StandardProductList> standardProductList = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() .eq(StandardProductList::getStandardMethodListId, id) diff --git a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml index bf8a74d..0dd9fb5 100644 --- a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml @@ -92,7 +92,8 @@ inspection_item_class_en, code, radius_list, - rates + rates, + delegate_request_flag FROM temp_sample A LEFT JOIN @@ -204,8 +205,11 @@ sample is NULL OR sample = '' or sample = '[]' - OR sample LIKE CONCAT('%', #{sample}, '%') + OR sample LIKE CONCAT('%', #{structureItemParameterDto.tree}, '%') ) + <if test="structureItemParameterDto.delegateRequestFlag != null and structureItemParameterDto.delegateRequestFlag !='' "> + AND delegate_request_flag = #{structureItemParameterDto.delegateRequestFlag} + </if> order by id asc </select> -- Gitblit v1.9.3