zss
2025-03-06 934f0bc7c1f73674fbbfd2301425a14087c09eac
能力范围调整
已修改10个文件
已添加2个文件
226 ■■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/pom.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/pom.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
@@ -105,8 +105,11 @@
    }
    @ApiOperation(value = "通过检验标准查询检验项目")
    @GetMapping("/selectStandardProductListByMethodId")
    public Result selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
    @PostMapping("/selectStandardProductListByMethodId")
    public Result selectStandardProductListByMethodId(@RequestBody Map<String,Object> map ) {
        Integer id =(Integer) map.get("id");
        String tree = (String)map.get("tree");
        Integer page = (Integer)map.get("page");
        return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page));
    }
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
@@ -30,11 +30,11 @@
    List<StandardMethodList> getStandardMethodListBySample(String sampleType);
    List<StandardProductList> selectStandardProductListByTree(String tree, String sample, String model, String trees, String laboratory);
    List<StandardProductList> selectStandardProductListByTree(@Param("tree") String tree, @Param("sample") String sample, @Param("model") String model, @Param("trees") String trees, @Param("laboratory") String laboratory);
    List<StandardProductList> selectStandardProductListByTree2(String tree, String sample, String model, String trees, String laboratory);
    List<StandardProductList> selectStandardProductListByTree2(@Param("tree") String tree, @Param("sample") String sample, @Param("model") String model, @Param("trees") String trees, @Param("laboratory") String laboratory);
    List<StandardProductList> selectStandardProductListByTree3(String tree, String sample, String model, String trees, String laboratory);
    List<StandardProductList> selectStandardProductListByTree3(@Param("tree") String tree, @Param("sample") String sample, @Param("model") String model, @Param("trees") String trees, @Param("laboratory") String laboratory);
    List<SampleTypeDto> getStandardTree2();
@@ -42,7 +42,7 @@
    String getLaboratory(String str);
    Integer getStructureItemParameterId(String sampleType, String item, String itemChild, String inspectionItemClass);
    Integer getStructureItemParameterId(@Param("sampleType") String sampleType, @Param("item") String item, @Param("itemChild") String itemChild, @Param("inspectionItemClass") String inspectionItemClass);
    List<ProductDto> selectPList(String name);
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java
@@ -36,6 +36,9 @@
    @ApiModelProperty(value = "检验对象")
    private String sample;
    @TableField(exist = false)
    private String samples;
    @ApiModelProperty(value = "单价(元)")
    private String price;
@@ -69,8 +72,16 @@
    @ApiModelProperty(value = "检验项类型")
    private String inspectionItemType;
    @ApiModelProperty(value = "检验项类型")
    @TableField(exist = false)
    private String inspectionItemTypeTwo;
    @ApiModelProperty(value = "检验值类型")
    private String inspectionValueType;
    @ApiModelProperty(value = "检验值类型")
    @TableField(exist = false)
    private String inspectionValueTypeTwo;
    @ApiModelProperty(value = "检验次数")
    private Integer checkoutNumber;
@@ -81,9 +92,17 @@
    @ApiModelProperty(value = "特殊标识")
    private String bsm;
    @ApiModelProperty(value = "特殊标识")
    @TableField(exist = false)
    private String updateBsm;
    @ApiModelProperty(value = "原始记录模板")
    private Integer templateId;
    @ApiModelProperty(value = "原始记录模板")
    @TableField(exist = false)
    private String templateName;
    @ApiModelProperty(value = "创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
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);
    }
basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -10,6 +10,7 @@
    </delete>
    <select id="selectItemParameterList" resultType="com.ruoyi.basic.pojo.StructureItemParameter">
        select * from (select A.id,
        st.name as template_name,
        inspection_item,
        inspection_item_en,
        inspection_item_subclass,
@@ -50,6 +51,7 @@
        END AS samples
        from structure_item_parameter) A
        left join structure_test_object sto on samples = specimen_name
        LEFT JOIN  standard_template st ON  template_id = st.id
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>)B
cnas-device/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ruoyi</artifactId>
        <groupId>com.ruoyi</groupId>
        <version>3.8.9</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>cnas-device</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <!--业务模块-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>inspect-server</artifactId>
        </dependency>
    </dependencies>
</project>
cnas-personnel/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ruoyi</artifactId>
        <groupId>com.ruoyi</groupId>
        <version>3.8.9</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>cnas-personnel</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <!-- é€šç”¨å·¥å…·-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common</artifactId>
        </dependency>
        <!-- æ ¸å¿ƒæ¨¡å—-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-framework</artifactId>
        </dependency>
        <!-- ç³»ç»Ÿæ¨¡å—-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-system</artifactId>
        </dependency>
        <!-- ç³»ç»Ÿæ¨¡å—-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>inspect-server</artifactId>
        </dependency>
    </dependencies>
</project>
pom.xml
@@ -277,6 +277,20 @@
                <version>${ruoyi.version}</version>
            </dependency>
            <!--cnas设备管理-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>cnas-device</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>
            <!--cnas人员-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>cnas-personnel</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>
            <!-- minio -->
            <dependency>
@@ -393,6 +407,8 @@
        <module>cnas-manage</module>
        <module>cnas-process</module>
        <module>cnas-require</module>
        <module>cnas-device</module>
        <module>cnas-personnel</module>
    </modules>
    <packaging>pom</packaging>
ruoyi-admin/pom.xml
@@ -104,6 +104,18 @@
            <groupId>com.ruoyi</groupId>
            <artifactId>cnas-require</artifactId>
        </dependency>
        <!--cnas设备管理-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>cnas-device</artifactId>
        </dependency>
        <!--cnas人员-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>cnas-personnel</artifactId>
        </dependency>
    </dependencies>
    <build>
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
@@ -2,6 +2,9 @@
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysDictType;
@@ -103,4 +105,6 @@
     * @return ç»“æžœ
     */
    public boolean checkDictTypeUnique(SysDictType dictType);
    Map<String, List<SysDictData>> selectEnumListByCategory(List<String> asList);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -235,4 +236,16 @@
        }
        return UserConstants.UNIQUE;
    }
    @Override
    public Map<String, List<SysDictData>> selectEnumListByCategory(List<String> categoryList) {
        Map<String,List<SysDictData>> resultList = new HashMap<>();
        if(!categoryList.isEmpty()){
            for (String category : categoryList) {
                List<SysDictData> enums = selectDictDataByName(category);
                resultList.put(category,enums);
            }
        }
        return resultList;
    }
}