chenrui
2025-04-07 165050015b3bc1a8a41eed7851d29e2e8d3db187
成品下单人员权限修改
已修改5个文件
66 ■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
@@ -88,7 +88,19 @@
    private String sampleStr;
    /**
     * 是否是全部
     */
    private String isOrderAll;
    /**
     * 是否是检验人员标记
     */
    private Boolean checkUserFlag;
    /**
     * 检验人员
     */
    private Long checkUserId;
}
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -27,7 +27,7 @@
public interface InsOrderMapper extends BaseMapper<InsOrder> {
    //获取检验下单数据
    IPage<SampleOrderDto> selectInsOrderPage(@Param("page") IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory, @Param("isOrderAll") String isOrderAll);
    IPage<SampleOrderDto> selectInsOrderPage(@Param("page") IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("otherParam") SampleOrderDto otherParam);
    String getLaboratoryCode(@Param("name") String name);
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -91,7 +91,8 @@
    //获取检验下单数据
    @Override
    public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
        //todo: 只看我判断全部,个人,组织的权限
        // TODO 针对人员做权限处理 目前先对检验人员做数据处理  如果是检验人员只能查询到检验项目是自己或者订单分派人是自己的订单,不是检验人员的暂时全查
        boolean checkUserFlag = isCheckUser(SecurityUtils.getUserId().intValue());
        String laboratory = null;
        // 判断是否是全部
        String isOrderAll = null;
@@ -99,7 +100,12 @@
            isOrderAll = "1";
            sampleOrderDto.setState(null);
        }
        return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll);
        SampleOrderDto otherParam = new SampleOrderDto();
        otherParam.setLaboratory(laboratory);
        otherParam.setIsOrderAll(isOrderAll);
        otherParam.setCheckUserFlag(checkUserFlag);
        otherParam.setCheckUserId(SecurityUtils.getUserId());
        return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
    }
@@ -1032,6 +1038,22 @@
        }
    }
    /**
     * 判断是否为检验人员
     * @param userId
     * @return
     */
    public boolean isCheckUser(Integer userId) {
        List<User> userList = userMapper.selectQualityUserList();
        for (User user : userList) {
            if(userId.equals(user.getId())){
                return true;
            }
        }
        return false;
    }
}
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -96,11 +96,28 @@
        GROUP BY ins_sample_id
        ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
        where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id)  = '')
        <if test="isOrderAll != null and isOrderAll != ''">
        <if test="otherParam.isOrderAll != null and otherParam.isOrderAll != ''">
            AND io.state in (1, 4)
        </if>
        <if test="laboratory!=null and laboratory!=''">
            AND io.laboratory=#{laboratory}
        <if test="otherParam.laboratory!=null and otherParam.laboratory!=''">
            AND io.laboratory=#{otherParam.laboratory}
        </if>
        <if test="otherParam.checkUserFlag != null and otherParam.checkUserFlag and otherParam.checkUserId != null ">
            AND io.id IN (
                SELECT DISTINCT
                ins_sample_id AS orderId
                FROM
                ins_sample_user
                WHERE
                user_id = #{otherParam.checkUserId} UNION
                SELECT
                T2.ins_order_id AS orderId
                FROM
                ins_product T1
                JOIN ins_sample T2 ON T1.ins_sample_id = T2.id
                WHERE
                T1.check_user_id = #{otherParam.checkUserId}
            )
        </if>
        GROUP BY io.id,type
        order by type desc,io.id desc
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
@@ -77,7 +77,8 @@
               u1.name_en,
               u1.depart_lims_id
        from user u1
        WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id not in (1, 15, 16, 17))
        WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id in (4))
--         WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id not in (1, 15, 16, 17))
        and u1.status = '0'
    </select>