山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(9)

在基于vue+springboot的医院耗材管理系统开发中,团队发现科室库之间能查看彼此订单的问题。原来由于初期仅建立一个科室库,未考虑权限设置。为解决此问题,代码进行了修改,现在科室库只能查看自身订单。关键改动在于后端根据科室id过滤数据,确保数据安全。这个经历提醒我们在实际开发中要更细致地考虑各种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 没有想到上一个问题还没有完全结束,解决了之后我们又发现了新的问题。

        关于上一个问题请移步山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(8)_About??的博客-优快云博客

        问题是什么呢,我们发现中心库可以看到全部科室库申请的订单,这一点没有问题;但是不同的科室库之间也能看到彼此的订单。比如说科室库A下订单后,科室库B也可以看到该订单的详情,这一点就出现了问题。

        至于为什么会出现这个问题,是因为当初写代码和测试的时候我们只建立了一个科室库,导致完全没有人想到要在不同的科室库之间设置权限,我们测试添加功能的时候,添加了另外的几个科室库,才发现了这个问题

        经过我们的讨论,我们认为科室库不应该看到其他科室库的订单,所以基于此我们进行了一些改动。

        改动的关键点是根据科室的id进行判断,在后端查看订单时,科室库只能看到与自己id相同的数据,避免了上述问题。

        如图

          代码如下:

前端代码如下:

handleViewCollect(index, row) {
      this.$router.push({
        path: '/cms/relocationDetail',
        query: {collectNo: row.collectNo, collectStatus: row.collectStatus}
      })
    },

/**
     * 获取移库单基本信息
     * 移库第一层数据
     */
    getDataCollect() {
      const billCode = this.$route.query.collectNo;
 
      fetchBill({
        pageNum: 1,
        pageSize: 50,
        keyword: billCode,
        printType: 5
      }).then(res => {
        if (res.data && res.data.list.length !== 0) {
          this.dataCollect = res.data.list[0];
        } else {
          Message.error('获取移库单基本信息失败');
        }
      });
    },


  后端代码如下:

  @ApiOperation("获取指定领用申请单信息")
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<ReagentCollect> getItem(@PathVariable Long id) {
        ReagentCollect collect = collectService.getItem(id);
        return CommonResult.success(collect);
    }
ReagentCollectDetail getItem(Long id);
 
    /**
     * 获取所有领用详细信息列表
     */
 
    List<ReagentCollectDetail> list();
  

这次改动说大不大说小不小,但是它给了我们一个启示,那就是在现实条件下的开发,问题可能出在各种方面,要更细致地设计,规划,开发和测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值