gongchunyi
14 小时以前 15a71ada8f34d31285400e9502182c62d2996708
fix: 取消直接连表,物料属性单查字典项过滤后当参数传递
已修改4个文件
88 ■■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductDeviationWarningMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductDeviationWarningServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductDeviationWarningMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductDeviationWarningMapper.java
@@ -8,20 +8,23 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 检验项偏差预警主表 Mapper 接口
 * </p>
 *
 * @author
 * @author
 * @since 2025-03-28 02:18:02
 */
public interface InsProductDeviationWarningMapper extends BaseMapper<InsProductDeviationWarning> {
    /**
     * 查看预警列表
     *
     * @param page
     * @return
     */
    IPage<InsProductDeviationWarningDto> selectDeviationWarningPage(@Param("page") Page page, @Param("ew") QueryWrapper<InsProductDeviationWarningDto> ew);
    IPage<InsProductDeviationWarningDto> selectDeviationWarningPage(@Param("page") Page page, @Param("ew") QueryWrapper<InsProductDeviationWarningDto> ew, @Param("dictValues") List<String> dictValues);
}
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductDeviationWarningServiceImpl.java
@@ -1,14 +1,23 @@
package com.ruoyi.inspect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.inspect.dto.InsProductDeviationWarningDto;
import com.ruoyi.inspect.pojo.InsProductDeviationWarning;
import com.ruoyi.inspect.mapper.InsProductDeviationWarningMapper;
import com.ruoyi.inspect.service.InsProductDeviationWarningService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.inspect.dto.InsProductDeviationWarningDto;
import com.ruoyi.inspect.mapper.InsProductDeviationWarningMapper;
import com.ruoyi.inspect.pojo.InsProductDeviationWarning;
import com.ruoyi.inspect.service.InsProductDeviationWarningService;
import com.ruoyi.system.mapper.SysDictDataMapper;
import com.ruoyi.system.service.ISysDictDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
 * <p>
@@ -21,14 +30,22 @@
@Service
public class InsProductDeviationWarningServiceImpl extends ServiceImpl<InsProductDeviationWarningMapper, InsProductDeviationWarning> implements InsProductDeviationWarningService {
    @Autowired
    private SysDictDataMapper sysDictDataMapper;
    /**
     * 查看预警列表
     *
     * @param page
     * @param deviationWarningDto
     * @return
     */
    @Override
    public IPage<InsProductDeviationWarningDto> selectDeviationWarningPage(Page page, InsProductDeviationWarningDto deviationWarningDto) {
        return baseMapper.selectDeviationWarningPage(page, QueryWrappers.queryWrappers(deviationWarningDto));
        List<SysDictData> sysDictDataList = sysDictDataMapper.selectDictDataByType("material_prop_type");
        List<String> list = Arrays.asList("03Package", "04Dlan");
        List<String> dictValues = sysDictDataList.stream().map(SysDictData::getDictValue).filter(dictValue -> !list.contains(dictValue)).collect(Collectors.toList());
        return baseMapper.selectDeviationWarningPage(page, QueryWrappers.queryWrappers(deviationWarningDto), dictValues);
    }
}
inspect-server/src/main/resources/mapper/InsProductDeviationWarningMapper.xml
@@ -31,21 +31,27 @@
        LEFT JOIN ins_product ip ON ip.id = ipdw.ins_product_id
        LEFT JOIN structure_item_parameter sip ON sip.id = ip.structure_item_parameter_id
        LEFT JOIN ins_order io ON io.id = isa.ins_order_id
        LEFT JOIN structure_test_object sto ON sip.sample LIKE CONCAT('%"', sto.specimen_name, '"%')
        LEFT JOIN structure_test_object sto
        ON sip.sample LIKE CONCAT('%"', sto.specimen_name, '"%')
        LEFT JOIN ifs_inventory_quantity ifs ON ifs.id = io.ifs_inventory_id
        LEFT JOIN sys_dict_data dict
        ON dict.dict_type = 'material_prop_type'
        AND dict.dict_value = ifs.material_prop
        AND dict.dict_value NOT IN ('04Dlan', '03Package')
        WHERE
        sto.object_type != 3 -- 过滤条件:排除 object_type 为 3 的记录
        WHERE sto.object_type != 3
        <if test="dictValues != null and dictValues.size() > 0">
            AND ifs.material_prop IN
            <foreach collection="dictValues" item="value" open="(" separator="," close=")">
                #{value}
            </foreach>
        </if>
        <if test="dictValues == null or dictValues.size() == 0">
            AND 1 = 0
        </if>
        <if test="ew.sqlFirst != null">
            ${ew.sqlFirst}
        </if>
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            AND ${ew.customSqlSegment}
        </if>
        AND (ifs.material_prop IS NULL OR dict.dict_value IS NOT NULL)
        ) t
        ORDER BY t.detection_time DESC
    </select>
</mapper>
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
@@ -1,19 +1,19 @@
package com.ruoyi.system.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDictData;
/**
 * 字典表 数据层
 *
 *
 * @author ruoyi
 */
public interface SysDictDataMapper
{
public interface SysDictDataMapper {
    /**
     * 根据条件分页查询字典数据
     *
     *
     * @param dictData 字典数据信息
     * @return 字典数据集合信息
     */
@@ -21,7 +21,7 @@
    /**
     * 根据字典类型查询字典数据
     *
     *
     * @param dictType 字典类型
     * @return 字典数据集合信息
     */
@@ -29,8 +29,8 @@
    /**
     * 根据字典类型和字典键值查询字典数据信息
     *
     * @param dictType 字典类型
     *
     * @param dictType  字典类型
     * @param dictValue 字典键值
     * @return 字典标签
     */
@@ -38,7 +38,7 @@
    /**
     * 根据字典数据ID查询信息
     *
     *
     * @param dictCode 字典数据ID
     * @return 字典数据
     */
@@ -46,7 +46,7 @@
    /**
     * 查询字典数据
     *
     *
     * @param dictType 字典类型
     * @return 字典数据
     */
@@ -54,7 +54,7 @@
    /**
     * 通过字典ID删除字典数据信息
     *
     *
     * @param dictCode 字典数据ID
     * @return 结果
     */
@@ -62,7 +62,7 @@
    /**
     * 批量删除字典数据信息
     *
     *
     * @param dictCodes 需要删除的字典数据ID
     * @return 结果
     */
@@ -70,7 +70,7 @@
    /**
     * 新增字典数据信息
     *
     *
     * @param dictData 字典数据信息
     * @return 结果
     */
@@ -78,7 +78,7 @@
    /**
     * 修改字典数据信息
     *
     *
     * @param dictData 字典数据信息
     * @return 结果
     */
@@ -86,7 +86,7 @@
    /**
     * 同步修改字典类型
     *
     *
     * @param oldDictType 旧字典类型
     * @param newDictType 新旧字典类型
     * @return 结果