快捷出纳窗校验说明 - DigitalPlatform/dp2 GitHub Wiki

一、一般情况下,快捷出纳窗的校验

快捷出纳窗借还图书时,系统的校验分为前端校验和服务器校验两部分:前端校验和服务器端校验。

1.前端校验

所谓前端校验,是指用户扫入一个读者证条码号或者图书证条码号时,dp2内务前端根据校验函数校验条码是否符合定义。

前端校验是根据【系统管理】窗的【条码校验】属性页所配置的规则来进行的。

前端校验的开关在于【帮助】-【参数配置】-【快捷出纳窗】的“校验输入的条码号”选项。勾选该选项时,打开前端校验;不勾选时不进行前端校验。

前端校验不仅校验读者证条码或者图书册条码是否符合规范,同时,在借书界面,系统会根据证条码规则和册条码规则判定所扫入的条码是一个证条码还是图书册条码。这样就可以连续为多个读者办理借书,而避免每更换一个读者时,去点【借】字。

当前端校验到不合规则的读者或者册条码时,会弹出一个报错对话框说明“当前条码不合法,是否停止操作”。点击【是】,表示同意系统停止处理;点击【否】时,是让系统继续尝试借还。系统处理后会返回具体的报错信息,如果是因为馆藏地与工作台不对应,会报错“图书的馆藏地为A,无法在B借”或者“图书的馆藏地为A,无法在B还”;如果是其他原因也会在任务显示区域文字说明。

2.服务器端校验

服务器端校验是指在前端校验后,系统将数据传输到服务器后,由服务器端返回的校验。服务器端校验是在library.xml中元素下的属性值为“True”的前提下,根据【系统管理】窗的【条码校验】属性页所配置的规则来进行的。如果属性值不为“True”,服务器端将不进行校验。

相比服务器端校验,前端校验速度更快,并且和服务器端校验规则相同。所以一般都建议用户在借还时采用前端校验。

3.前端校验与服务器端校验

当用户勾选了【帮助】-【参数配置】-【快捷出纳窗】的“校验输入的条码号”选项时,快捷出纳窗扫入条码后,首先是内务前端根据校验函数对条码进行校验。校验通过后,前端把数据提交服务器(服务器端校验打开时),相应的服务器API再次对条码进行校验。由于两次校验的函数相同,自然第二次服务器端的校验也会通过。

如果用户没有勾选【帮助】-【参数配置】-【快捷出纳窗】的“校验输入的条码号”选项,不会进行前端校验,在服务器端校验条件具备的情况下,只进行服务器端校验。

如果【帮助】-【参数配置】-【快捷出纳窗】的“校验输入的条码号”选项没有勾选,服务器端属性值不为“True”,或者没有配置条码校验规则,系统将不进行任何条码校验。

二、配置了按馆藏还书脚本时,借还中的校验

有些用户由于实际情况,存在几个馆藏地物理位置间隔较远,想要限制读者哪里借的图书只能在哪里还。

基于这种需求,dp2系统可以在馆藏地配置借还书脚本,让处于该馆藏的图书只能在某些工作台还书。操作借还的馆员登录内务的时候,需要在登录界面的【工作台号】一栏输入对应的工作台后,才能办理对应馆藏地图书的借或者还(是借还是还得看脚本的配置)。

当馆员在快捷出纳窗操作借还时,存在几种情况:

1.各馆藏校验函数通配的情况下(所有馆藏地的校验函数配置在一个validator元素下),当工作台与图书馆藏地不对应时借还

条码是否合法 前端校验开关情况 服务器端校验开关情况 扫入条码后系统处理结果
合法 直接报工作台不对
合法 直接报工作台不对
合法 直接报工作台不对
合法 直接报工作台不对
不合法 先弹出条码不合法对话框,点【否】后报工作台不合法
不合法 直接报工作台不对
不合法 先弹出条码不合法对话框,点【否】后报工作台不合法
不合法 直接报工作台不对

2.各馆藏地校验函数配置在不同validator元素下,当工作台与图书馆藏地不对应时借还

如果各馆藏地的校验规则无法进行通配,只能将不同馆藏的校验函数配置到不同的validator元素下,那么馆员的内务前端需要配置本馆藏所对应的附加馆藏地(在【帮助】-【参数配置】-【全局】-【附加馆藏地】配置)。使馆员在工作台登录后,内务框架窗口的馆代码可以选择到对应的附加馆藏地。从而在快捷出纳窗的借还校验过程中,让系统能够根据当前的馆代码对应到自己的validator元素,获得校验规则。附加馆藏地选择后,下次登录内务会一直保存着。

条码是否合法 前端校验开关情况 服务器端校验开关情况 扫入条码后系统处理结果
合法 直接报工作台不对
合法 直接报工作台不对
合法 直接报工作台不对
合法 直接报工作台不对
不合法 先弹出条码不合法对话框,点【否】后报工作台不合法
不合法 直接报工作台不对
不合法 先弹出条码不合法对话框,点【否】后报工作台不合法
不合法 直接报工作台不对

从上表可以看出,馆藏分别配置validator元素时,借还中的校验现象与统配是一样的。但在实际操作中,如果各馆藏的校验规则不同,识别到的条码中对于本馆藏来说或不合法的几率就增加。也就是说这种配置下,当其他馆藏的图书被不对应的工作台借还时,首先系统会发现这不是本工作台所管辖的图书,拒绝处理(条码不合法对话框就是这个意思),如果想看这本书应该在哪里还,就只能点对话中的【否】,然后系统才会报图书对应的馆藏地。

所以,一般尽量把所有馆藏地的校验函数都配置到同一个validator元素下


从读者服务和时代发展的大趋势来讲,图书流通要越来越方便读者,所以以上这种限制读者在某个馆藏借还图书的管理不符合读者利益。从读者角度出发,建议:

1,在条件允许的情况下,不要限制读者还书的地点。不管读者到哪个前台还书,都先办理还书手续,然后馆员安排定期统一将书归到原来的馆藏地。

2,当其他预取的读者要求跨区借书时,可以通过公众号预约图书,然后馆员采用备书模块备书后,通过统一调度将图书送到读者所在的区域,再为读者办理借书手续。

3,另外,如果各馆藏区域的图书需要分开管理,在图书是册条码上建议直接用前缀来区分。