没有想到上一个问题还没有完全结束,解决了之后我们又发现了新的问题。
关于上一个问题请移步山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(8)_About??的博客-CSDN博客
问题是什么呢,我们发现中心库可以看到全部科室库申请的订单,这一点没有问题;但是不同的科室库之间也能看到彼此的订单。比如说科室库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();
这次改动说大不大说小不小,但是它给了我们一个启示,那就是在现实条件下的开发,问题可能出在各种方面,要更细致地设计,规划,开发和测试。